Commit Graph

119224 Commits

Author SHA1 Message Date
Marc Glisse 70a6aea0ad tree-ssa-forwprop.c (forward_propagate_into_cond): Don't use boolean_type_node for vectors.
2012-10-02  Marc Glisse  <marc.glisse@inria.fr>

	* tree-ssa-forwprop.c (forward_propagate_into_cond): Don't use
	boolean_type_node for vectors.

From-SVN: r191968
2012-10-02 08:52:44 +00:00
Robert Dewar 9b16cb57de par_sco.adb, [...]: Change name Conditional_Expression to If_Expression.
2012-10-02  Robert Dewar  <dewar@adacore.com>

	* par_sco.adb, sem_ch3.adb, layout.adb, exp_ch7.adb, exp_imgv.adb,
	exp_util.adb, exp_util.ads, exp_attr.adb, sinfo.adb, sinfo.ads,
	exp_ch9.adb, style.ads, scos.ads, debug.adb, einfo.ads, scng.adb,
	checks.adb, checks.ads, sem.adb, par-ch4.adb, sem_util.adb, types.h,
	sem_res.adb, expander.adb, scans.ads, par.adb, exp_ch2.adb,
	gnat1drv.adb, stylesw.ads, sem_elab.adb, exp_ch4.adb, exp_ch4.ads,
	exp_ch6.adb, sem_ch4.adb, sem_ch4.ads, sem_ch6.adb,
	opt.ads, sem_eval.adb, sem_eval.ads, exp_intr.adb, sprint.adb,
	sprint.ads, styleg.ads: Change name Conditional_Expression to
	If_Expression.
	* gcc-interface/trans.c (gnat_to_gnu): Replace
	N_Conditional_Expression by N_If_Expression.
	* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r191967
2012-10-02 10:48:27 +02:00
Arnaud Charlet cb42ba5d66 [multiple changes]
2012-10-02  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Expon): Use expression with actions
	for x ** 4.

2012-10-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb: (Analyze_Iterator_Specification): If container
	has a variable indexing aspect, the element is a variable and
	is modifiable in the loop. This check is also performed when the
	loop is expanded, but it must be done in semantic analysis when
	expansion is disabled, for example for ASIS usage.

2012-10-02  Ed Schonberg  <schonberg@adacore.com>

	* lib-xref.adb (Generate_Reference): If a child subprogram
	has no previous spec, treat a reference to its formals (such
	as a parameter association) as coming from source in order to
	generate the proper references and enable gps navigation between
	reference and declaration.

From-SVN: r191965
2012-10-02 10:40:05 +02:00
Robert Dewar 4b1c4f20d8 checks.adb (Apply_Arithmetic_Overflow_Checked_Suppressed): New name for Apply_Arithmetic_Overflow_Normal
2012-10-02  Robert Dewar  <dewar@adacore.com>

	* checks.adb (Apply_Arithmetic_Overflow_Checked_Suppressed):
	New name for Apply_Arithmetic_Overflow_Normal
	(Apply_Arithmetic_Overflow_Minimized_Eliminated):
	Add handling for conditional expressions
	(Is_Signed_Integer_Arithmetic_Op): Now includes conditional
	expressions (Minimize_Eliminate_Overflow_Checks): Handle
	conditional expressions.
	* checks.ads: Minor comment fixes.
	* exp_ch4.adb (Expand_N_Case_Expression): Call
	Apply_Arithmetic_Overflow_Check (Expand_N_Conditional_Expression):
	Call Apply_Arithmetic_Overflow_Check
	* s-bignum.adb (Normalize): Remove incorrect precondition.
	* sem_res.adb (Resolve_Case_Expression): Set Do_Overflow_Check
	flag (Resolve_Conditional_Expression): Set Do_Overflow_Check flag.
	* sinfo.adb: Add Do_Overflow_Check for conditional expressions.
	* sinfo.ads: Minor documentation updates.

From-SVN: r191964
2012-10-02 10:37:54 +02:00
Arnaud Charlet 2492305bcc [multiple changes]
2012-10-02  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Expand_N_Case_Expression): Do not introduce
	indirections when the type of the alternatives is an access type:
	more efficient, and removes anomalies when an alternative is
	statically null.

2012-10-02  Robert Dewar  <dewar@adacore.com>

	* aspects.ads: Minor comment addition (Invariant is a GNAT aspect).

From-SVN: r191963
2012-10-02 10:31:49 +02:00
Robert Dewar 9a6dc47083 exp_ch7.adb, [...]: Minor reformatting.
2012-10-02  Robert Dewar  <dewar@adacore.com>

	* exp_ch7.adb, sem_dim.adb, sem_dim.ads, prj-part.adb, checks.adb,
	freeze.adb, sem_ch4.adb, sem_ch13.adb: Minor reformatting.

2012-10-02  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Fix
	typo preventing proper processing of Overflow_Checks pragmas
	for general case.

2012-10-02  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Mod): Fix crash in ELIMINATED overflow
	checks mode when bignum mode is used.

2012-10-02  Robert Dewar  <dewar@adacore.com>

	* stylesw.ads, gnat_ugn.texi: Document new style rule for NOT IN.
	* par-ch4.adb (P_Relational_Operator): Add style check for NOT IN.
	* style.ads, styleg.adb, styleg.ads (Check_Not_In): New procedure.

From-SVN: r191962
2012-10-02 10:22:53 +02:00
Arnaud Charlet 07ef182e37 [multiple changes]
2012-10-02  Vincent Pucci  <pucci@adacore.com>

	* sem_attr.adb (Analyze_Attribute): Check dimension for attribute
	Old before it gets expanded.
	* sem_dim.adb (Analyze_Dimension_Has_Etype): Correctly propagate
	dimensions for identifier.

2012-10-02  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch5.adb (Expand_Iterator_Loop): Handle properly the case
	where the iterator type is derived locally from an instantiation
	of Ada.Iterators_Interface.
	* exp_ch7.adb (Establish_Transient_Scope): Do not create a
	transient scope if within the expansion of an iterator loop,
	because a transient block already exists.

2012-10-02  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb: Use absolute path for configuration pragmas files
	* make.adb (Configuration_Pragmas_Switch.Absolute_Path): Moved
	to Makeutl.
	* makeutl.ads, makeutl.adb (Absolute_Path): New function, moved from
	make.adb.

2012-10-02  Vincent Celier  <celier@adacore.com>

	* prj-part.adb (Post_Parse_Context_Clause): Resurrect Boolean
	parameter In_Limited.  Check for circularity also if In_Limited
	is True.
	(Parse_Single_Project): Call Post_Parse_Context_Clause with
	In_Limited parameter.

From-SVN: r191961
2012-10-02 10:19:14 +02:00
Arnaud Charlet 2a7b8e181b [multiple changes]
2012-10-02  Bob Duff  <duff@adacore.com>

	* checks.adb (Apply_Predicate_Check): Disable check in -gnatc mode.

2012-10-02  Vincent Pucci  <pucci@adacore.com>

	* sem_ch6.adb (Analyze_Function_Call): Dimension propagation
	for function calls moved to Analyze_Dimension_Call.
	* sem_dim.adb (Analyze_Dimension_Call): Properly propagate the
	dimensions from the returned type for function calls.

2012-10-02  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb: Take into account any configuration pragma file
	in the project files for gnat pretty/stub/metric.

2012-10-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Check_Indexing_Functions): Refine several tests
	on the legality of indexing aspects: Constant_Indexing functions
	do not have to return a reference type, and given an indexing
	aspect Func, not all overloadings of Func in the current scope
	need to be indexing functions.

2012-10-02  Vasiliy Fofanov  <fofanov@adacore.com>

	* gnat_ugn.texi: Adjust docs for overflow checks to be VMS-friendly.

2012-10-02  Vincent Celier  <celier@adacore.com>

	* switch-m.adb (Normalize_Compiler_Switches): Recognize switches
	-gnatox and -gnatoxx when x=0/1/2/3.

From-SVN: r191960
2012-10-02 10:16:40 +02:00
Arnaud Charlet 5f49133f81 [multiple changes]
2012-10-02  Vincent Pucci  <pucci@adacore.com>

	* sem_ch4.adb (Analyze_Indexed_Component_Form): Dimension
	analysis for indexed components added.
	* sem_ch6.adb (Analyze_Function_Call): Dimension propagation
	for function calls added.
	* sem_dim.adb (Analyze_Dimension): Call to
	Analyze_Dimension_Has_Etype when N is a function call.
	(Analyze_Dimension_Call): Don't propagate anymore the dimensions
	for function calls since this is now treated separately in
	Analyze_Dimension_Has_Etype.
	(Analyze_Dimension_Has_Etype): For
	attribute references, propagate the dimensions from the prefix.
	* sem_dim.ads (Copy_Dimensions): Fix comment.

2012-10-02  Hristian Kirtchev  <kirtchev@adacore.com>

	* checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine.
	(Apply_Parameter_Aliasing_And_Validity_Checks): This routine
	has been split into two.
	(Apply_Parameter_Validity_Checks): New routine.
	* exp_ch6.adb (Expand_Call): Add checks to verify that actuals
	do not overlap. The checks are made on the caller side to overcome
	issues of parameter passing mechanisms.
	* freeze.adb (Freeze_Entity): Update call to
	Apply_Parameter_Aliasing_And_Validity_Checks.

From-SVN: r191959
2012-10-02 10:13:09 +02:00
Ed Schonberg 4856cc2a7d sem_ch4.adb (Is_Empty_Range): Use bounds of index type to determine whether an array is empty when...
2012-10-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Is_Empty_Range): Use bounds of index type
	to determine whether an array is empty when optimizing
	a quantified expression over a null range. Use of RM_Size
	was incorrect. Analyze condition before constant-folding the
	expression to catch potential errors. Modify the error message
	to avoid mathematical terminology.

From-SVN: r191958
2012-10-02 10:10:54 +02:00
Arnaud Charlet 538dbb562f [multiple changes]
2012-10-02  Robert Dewar  <dewar@adacore.com>

	* usage.adb, gnat_rm.texi, vms_data.ads: Add entry for
	/OVERFLOW_CHECKS=?? generating -gnato?? for control
	of extended overflow checking.
	* ug_words: Add entry for -gnato?? for /OVERFLOW_CHECKS=??
	* gnat_ugn.texi: Add documentation for -gnato?? for control of overflow
	checking mode.

2012-10-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Analyze_Quantified_Expression): If the iterator in
	a quantified expression is statically known to be null (e.g. a
	array with an empty index type) emit a warning.

From-SVN: r191957
2012-10-02 10:08:18 +02:00
Arnaud Charlet c7e152b57d [multiple changes]
2012-10-02  Robert Dewar  <dewar@adacore.com>

	* sem_dim.adb: Minor code reorganization.
	* sem_dim.ads: Add comment.

2012-10-02  Robert Dewar  <dewar@adacore.com>

	* checks.ads, exp_ch4.adb, checks.adb
	(Minimize_Eliminate_Overflow_Checks): Add Top_Level parameter to avoid
	unnecessary conversions to Bignum.
	Minor reformatting.

2012-10-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Process_PPCs): Generate invariant checks for a
	return value whose type is an access type and whose designated
	type has invariants. Ditto for in-out parameters and in-parameters
	of an access type.
	* exp_ch3.adb (Build_Component_Invariant_Call): Add invariant check
	for an access component whose designated type has invariants.

From-SVN: r191956
2012-10-02 10:04:47 +02:00
Uros Bizjak 0c609a2144 target.h (struct gtm_jmpbuf): Merge x86_64 and ia32 declarations some more.
* config/x86/target.h (struct gtm_jmpbuf): Merge x86_64
	and ia32 declarations some more.
	* config/x86/sjlj.S (_ITM_beginTransaction): Move ret to common code.

From-SVN: r191955
2012-10-02 09:50:36 +02:00
Christophe Lyon c8ae7abfab check_GNU_style.sh: Remove temporay file upon exit.
2012-10-02   Christophe Lyon  <christophe.lyon@linaro.org>

       * check_GNU_style.sh: Remove temporay file upon exit.

From-SVN: r191954
2012-10-02 09:41:28 +02:00
GCC Administrator e9453c6a3f Daily bump.
From-SVN: r191952
2012-10-02 00:18:43 +00:00
Benjamin Kosnik e0372a2f31 gnu-versioned-namespace.ver: Add more typeinfo/vtable exports.
2012-10-01  Benjamin Kosnik  <bkoz@redhat.com>

	* config/abi/pre/gnu-versioned-namespace.ver: Add more
	typeinfo/vtable exports.

From-SVN: r191949
2012-10-01 23:58:37 +00:00
Jason Merrill 7a7fc98064 decl.c (check_initializer): Set DECL_NONTRIVIALLY_INITIALIZED_P for a constructor call.
* decl.c (check_initializer): Set DECL_NONTRIVIALLY_INITIALIZED_P
	for a constructor call.
	(decl_jump_unsafe): So don't bother checking
	type_has_nontrivial_default_init.
	* call.c (set_up_extended_ref_temp): Set
	DECL_NONTRIVIALLY_INITIALIZED_P.

From-SVN: r191948
2012-10-01 19:57:18 -04:00
Jason Merrill a1ffba987b replaceo
From-SVN: r191947
2012-10-01 19:57:12 -04:00
Jason Merrill 43f4447e6c cp-tree.h (TYPE_FUNCTION_OR_TEMPLATE_DECL_CHECK): New.
* cp-tree.h (TYPE_FUNCTION_OR_TEMPLATE_DECL_CHECK): New.
	(DECL_FRIEND_P, DECL_ANTICIPATED): Use it.
	(TYPE_FUNCTION_OR_TEMPLATE_DECL_P): New.
	* name-lookup.c (hidden_name_p): Use it.

From-SVN: r191946
2012-10-01 19:57:05 -04:00
Jason Merrill fe230d3c7d cp-tree.h (DECL_PRETTY_FUNCTION_P): Just look at the name.
* cp-tree.h (DECL_PRETTY_FUNCTION_P): Just look at the name.
	* decl.c (cp_make_fname_decl): Adjust.

From-SVN: r191945
2012-10-01 19:56:57 -04:00
Paolo Carlini decf0e27a0 re PR libstdc++/54757 (FAIL: ext/random/beta_distribution/cons/default.cc (test for excess errors))
2012-10-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/54757
	* include/ext/random (rice_distribution<>::operator()): Use std::hypot
	only if _GLIBCXX_USE_C99_MATH_TR1.
	* include/ext/random.tcc (rice_distribution<>::__generate_impl):
	Likewise.

From-SVN: r191944
2012-10-01 23:10:02 +00:00
Cary Coutant 6b391f4937 MAINTAINERS: Add myself as dwarf debugging code maintainer.
2012-10-01  Cary Coutant  <ccoutant@google.com>

	* MAINTAINERS: Add myself as dwarf debugging code maintainer.

From-SVN: r191943
2012-10-01 15:22:00 -07:00
Michael Meissner e518aa08f7 Fix powerpc breakage
From-SVN: r191942
2012-10-01 21:47:36 +00:00
Dehao Chen 84df911b45 re PR middle-end/54759 (segfault for gcc.dg/vect/pr49093.c on Solaris)
2012-10-01  Dehao Chen  <dehao@google.com>

	PR middle-end/54759
	* gcc/tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Use
	LOCATION_LOCUS to compare with UNKNOWN_LOCATION.
	(slpeel_tree_peel_loop_to_edge): Likewise.
	* gcc/tree-vectorizer.c (vectorize_loops): Likewise.

From-SVN: r191931
2012-10-01 16:33:23 +00:00
Daniel Krugler 83ddb39f04 type_traits (result_of): Provide "SFINAE-friendly" (see N3436) implementation.
2012-10-01  Daniel Krugler  <daniel.kruegler@googlemail.com>

	* include/std/type_traits (result_of): Provide "SFINAE-friendly"
	(see N3436) implementation.
	* testsuite/20_util/result_of/sfinae_friendly_1.cc: New.
	* testsuite/20_util/result_of/sfinae_friendly_2.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Tweak
	dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r191930
2012-10-01 16:02:57 +00:00
Andrew MacLeod cd8b6dc554 re PR target/54087 (__atomic_fetch_add does not use xadd instruction)
2012-10-01  Andrew MacLeod  <amacleod@redhat.com>

	PR target/54087
	* optabs.c (expand_atomic_fetch_op_no_fallback): New.  Factored code
	from expand_atomic_fetch_op.
	(expand_atomic_fetch_op):  Try atomic_{add|sub} operations in terms of
	the other one if direct opcode fails.
	* testsuite/gcc.dg/pr54087.c:  New testcase for atomic_sub -> 
	atomic_add when atomic_sub fails.

From-SVN: r191929
2012-10-01 15:50:09 +00:00
Uros Bizjak 992103ad69 re PR rtl-optimization/54457 ([x32] Fail to combine 64bit index + constant)
PR rtl-optimization/54457
        * simplify-rtx.c (simplify_subreg):
	Simplify (subreg:M (op:N ((x:N) (y:N)), 0)
     	to (op:M (subreg:M (x:N) 0) (subreg:M (x:N) 0)), where
	the outer subreg is effectively a truncation to the original mode M.

testsuite/ChangeLog:

        PR rtl-optimization/54457
        * gcc.target/i386/pr54457.c: New test.

From-SVN: r191928
2012-10-01 17:00:41 +02:00
Richard Guenther 4f39564266 builtins.def (ATTR_MATHFN_FPROUNDING): Do not use no-vops with -frounding-math.
2012-10-01  Richard Guenther  <rguenther@suse.de>

	* builtins.def (ATTR_MATHFN_FPROUNDING): Do not use no-vops
	with -frounding-math.
	* builtin-attrs.def (ATTR_PURE_NOTHROW_NOVOPS_LIST): Remove.
	(ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST): Likewise.

From-SVN: r191925
2012-10-01 14:15:00 +00:00
Eric Botcazou 1fc1ef37ec tree.h (copy_mem_ref_info): Delete.
* tree.h (copy_mem_ref_info): Delete.
	* tree-ssa-address.c (copy_mem_ref_info): Likewise.
	(maybe_fold_tmr): Copy flags manually.
	* tree-ssa-loop-im.c (simple_mem_ref_in_stmt): Rewrite.

From-SVN: r191924
2012-10-01 13:40:35 +00:00
Vincent Pucci ba9144840f sem_aggr.adb (New_Copy_Tree_And_Copy_Dimensions): New routine.
2012-10-01  Vincent Pucci  <pucci@adacore.com>

	* sem_aggr.adb (New_Copy_Tree_And_Copy_Dimensions): New routine.
	(Resolve_Record_Aggregate): New_Copy_Tree calls replaced by
	New_Copy_Tree_And_Copy_Dimensions calls. Move_Dimensions call
	replaced by Copy_Dimensions call.
	* sem_dim.adb (Analyze_Dimension_Component_Declaration): Don't
	remove the dimensions of expression in component declaration anymore.
	(Copy_Dimensions): New routine.
	(Move_Dimensions): Add call to Copy_Dimensions.
	* sem_dim.ads (Copy_Dimensions): New routine.
	(Move_Dimensions): Spec moved to body of Sem_Dim.

From-SVN: r191922
2012-10-01 15:23:22 +02:00
Arnaud Charlet 804fc056d5 [multiple changes]
2012-10-01  Ed Schonberg  <schonberg@adacore.com>

	* checks.adb (Apply_Predicate_Check): If the predicate is a
	static one and the operand is static, evaluate the predicate at
	compile time.
	* sem_eval.ads, sem_eval.adb (Eval_Static_Predicate_Check): new
	procedure, to evaluate a static predicate check whenever possible.
	* sem_res.adb (Resolve_Type_Conversion): Apply predicate check
	on the conversion if the target type has predicates.

2012-10-01  Vincent Pucci  <pucci@adacore.com>

	* sem_dim.adb (Has_Symbols): Complain if parameter Symbol has been
	provided by the user in the dimension output call.

From-SVN: r191921
2012-10-01 15:21:34 +02:00
Arnaud Charlet a91e9ac73d [multiple changes]
2012-10-01  Robert Dewar  <dewar@adacore.com>

	* checks.adb (Apply_Divide_Checks): New name for
	Apply_Divide_Check (Minimize_Eliminate_Overflow_Checks):
	Add code to handle division (and rem and mod) properly.
	(Apply_Division_Check): New procedure (Apply_Divide_Checks):
	Use Apply_Division_Check (Apply_Divide_Checks): Use
	Apply_Arithmetic_Overflow_Minimized_Eliminated.
	* checks.ads (Apply_Divide_Checks): New name for
	Apply_Divide_Check, also add clearer documentation for this
	routine and put in alfa order.
	* exp_ch4.adb (Apply_Divide_Checks): New name for
	Apply_Divide_Check.
	* s-bignum.adb (To_Bignum): Handle largest negative integer
	properly.
	* sem.adb (Analyze): Handle overflow suppression correctly
	(Analyze_List): Handle overflow suppression correctly
	* sem_res.adb (Analyze_And_Resolve): Handle overflow suppression
	correctly.

2012-10-01  Vasiliy Fofanov  <fofanov@adacore.com>

	* s-oscons-tmplt.c, g-socket.ads: Revert previous change, breaks VMS.

From-SVN: r191920
2012-10-01 15:18:22 +02:00
Arnaud Charlet 6cb3037c69 [multiple changes]
2012-10-01  Robert Dewar  <dewar@adacore.com>

	* checks.adb (Minimize_Eliminate_Overflow_Checks): Changes
	for exponentiation.
	* exp_ch4.adb (Expand_N_Op_Expon): Changes for Minimize/Eliminate
	overflow checks.
	* s-bignum.adb (Compare): Fix bad precondition.

2012-10-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Build_Derived_Record_Type): If the derived
	type has new discriminantss that constrain inherited ones, use
	the discriminant type in the original declaration to check for
	conformance, because in the presence of array components with a
	smaller range that are constrained by the origina discriminant,
	the compiler will have created a narrower subtype for that
	discriminant.

From-SVN: r191919
2012-10-01 15:15:21 +02:00
Robert Dewar f619427812 checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated): Handle case of appearing in range in membership test.
2012-10-01  Robert Dewar  <dewar@adacore.com>

	* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
	Handle case of appearing in range in membership test.
	* exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
	New procedure (Expand_N_In): Use
	Expand_Membership_Minimize_Eliminate_Overflow.
	* rtsfind.ads: Add RE_Bignum_In_LLI_Range.
	* s-bignum.ads, s-bignum.adb (Bignum_In_LLI_Range): New function.
	* sinfo.ads, sinfo.adb (No_Minimize_Eliminate): New flag.

2012-10-01  Robert Dewar  <dewar@adacore.com>

	* uintp.ads: Minor reformatting.

From-SVN: r191918
2012-10-01 15:12:26 +02:00
Ulrich Weigand e0df453331 * gcc.dg/lower-subreg-1.c: Disable on arm*-*-* targets.
From-SVN: r191917
2012-10-01 12:24:04 +00:00
Ed Schonberg 3a0919e2fc checks.adb: Improve warning message.
2012-10-01  Ed Schonberg  <schonberg@adacore.com>

	* checks.adb: Improve warning message.

From-SVN: r191915
2012-10-01 12:24:00 +02:00
Arnaud Charlet 456cbfa531 [multiple changes]
2012-10-01  Robert Dewar  <dewar@adacore.com>

	* checks.adb: Minor reformatting.

2012-10-01  Javier Miranda  <miranda@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration): Suppress tag
	assignment for initializations that are aggregates.

2012-10-01  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
	New procedure.

From-SVN: r191914
2012-10-01 12:22:31 +02:00
Arnaud Charlet d79059a3c4 [multiple changes]
2012-10-01  Robert Dewar  <dewar@adacore.com>

	* checks.adb (Minimize_Eliminate_Checks): Changes from testing.
	(Apply_Arithmetic_Overflow_Minimized_Eliminated): Changes
	from testing.
	* sinfo.ads: Remove note on not setting Entity field in overflow
	case since this is no longer true.
	* Makefile.rtl: Add s-bignum.o

2012-10-01  Thomas Quinot  <quinot@adacore.com>

	* Make-generated.in: Correction to previous change for s-oscons
	target.

2012-10-01  Thomas Quinot  <quinot@adacore.com>

	* s-bignum.adb (Allocate_Bignum): Reorganize to kill strict
	aliasing warning.

From-SVN: r191913
2012-10-01 12:20:28 +02:00
Arnaud Charlet acad3c0a0c [multiple changes]
2012-10-01  Robert Dewar  <dewar@adacore.com>

	* checks.adb (Overflow_Check_Mode): New function
	(Apply_Overflow_Check): New procedure (Is_Check_Suppressed):
	Moved here from Sem, Overflow_Check case now specially treated.
	* checks.ads (Overflow_Check_Mode): New function
	(Is_Check_Suppressed): Moved here from Sem (more logical)
	* exp_ch4.adb (Substitute_Valid_Check): Suppress warning about
	optimization if we are in MINIMIZED or ELIMINATED overflow
	checking mode and within an assertiom expression.
	* rtsfind.ads: Add entries for Bignum stuff.
	* s-bignum.ads, s-bignum.adb: New files.
	* sem.ads, sem.adb (Is_Check_Suppressed): Moved to Checks, more logical.
	* sem_prag.adb (Process_Suppress_Unsuppress): New behavior for
	Unsuppress of Overflow_Check (sets Checked instead of Minimized)
	* sem_res.adb: Update comments.
	* sinfo.ads (N_Op): Add documentation on overflow handling.
	* tbuild.ads, tbuild.adb (Convert_To_And_Rewrite): New procedure.
	* types.ads (Minimized_Or_Eliminated): New subtype.

2012-10-01  Eric Botcazou  <ebotcazou@adacore.com>

	* layout.adb (Layout_Type): Do not set twice the address size
	on an access-to-unconstrained array if Debug_Flag_6 is set.

From-SVN: r191912
2012-10-01 12:17:59 +02:00
Arnaud Charlet d976bf74f0 [multiple changes]
2012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch3.adb (Analyze_Declarations): Remove the specialized
	code which prevents freezing when the declarative list contains
	a _postconditions body. This is no longer needed because the
	body is now inserted at the end of the declarations.
	* sem_ch6.adb (Insert_After_Last_Declaration): New routine.
	(Insert_Before_First_Source_Declaration): Removed.
	(Process_PPCs): Insert the _postconditions body at the end of
	the declarative list to prevent premature freezing of types that
	appear in the declarations.

2012-10-01  Robert Dewar  <dewar@adacore.com>

	* sem_aggr.adb, sem_dim.adb: Minor reformatting.

From-SVN: r191911
2012-10-01 12:08:51 +02:00
Arnaud Charlet 0929eaeb01 [multiple changes]
2012-10-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Process_Convention, Process_Import_Or_Interface):
	Adjust test so that when the pragma comes from an aspect
	specification it only applies to the entity in the original
	declaration.

2012-10-01  Thomas Quinot  <quinot@adacore.com>

	* gnat_ugn.texi: Document new command line switch -fada-spec-parent.

2012-10-01  Thomas Quinot  <quinot@adacore.com>

	* s-oscons-tmplt.c, g-socket.ads: Minor code improvement: use gcc
	builtin __alignof__ to get the alignment of struct fd_set.

2012-10-01  Vincent Pucci  <pucci@adacore.com>

	* exp_ch6.adb (Expand_Call): Remove call to
	Remove_Dimension_In_Call.
	* sem_aggr.adb (Resolve_Array_Aggregate): Analyze dimension of
	components in array aggregate.
	(Resolve_Aggr_Expr): Propagate dimensions from the original expression
	Expr to the new created expression New_Expr when resolving the
	expression of a component in record aggregates.
	(Resolve_Record_Aggregate): Analyze
	dimension of components in record (or extension) aggregate.
	* sem_ch6.adb (Analyze_Subprogram_Specification): Analyze
	dimension of formals with default expressions in subprogram
	specification.
	* sem_ch8.adb (Analyze_Expanded_Name): Analyze dimension of
	expanded names.
	(Find_Selected_Component): Analyze dimension of selected component.
	* sem_dim.adb: Several dimension error messages reformatting.
	(Dimensions_Msg_Of): New flag Description_Needed in order to
	differentiate two different sort of dimension error messages.
	(Dim_Warning_For_Numeric_Literal): New routine.
	(Exists): New routine.
	(Move_Dimensions): Routine spec moved to spec file.
	* sem_dim.ads (String_From_Numeric_Literal): New routine.
	(Analyze_Dimension): Analyze dimension only when the
	node comes from source.  Dimension analysis for expanded names added.
	(Analyze_Dimension_Array_Aggregate): New routine.
	(Analyze_Dimension_Call): New routine.
	(Analyze_Dimension_Component_Declaration): Warning if default
	expression is a numeric literal.
	(Analyze_Dimension_Extension_Or_Record_Aggregate): New routine.
	(Analyze_Dimension_Formals): New routine.
	(Analyze_Dimension_Object_Declaration): Warning if default
	expression is a numeric literal.
	(Symbol_Of): Return either the dimension subtype symbol or the
	dimension symbol built by From_Dim_To_Str_Of_Unit_Symbols.
	* sem_dim.ads (Analyze_Dimension_Array_Aggregate): New routine.
	(Analyze_Dimension_Call): New routine.
	(Analyze_Dimension_Extension_Or_Record_Aggregate): New routine.
	(Analyze_Dimension_Formals): New routine.
	(Move_Dimensions): Moved from sem_dim.adb.
	* s-dimmks.ads: Turn off the warnings for dimensioned object
	declaration.  Dimensioned subtypes sorted in alphabetical
	order. New subtypes Area, Speed, Volume.
	* s-dmotpr.ads: Turn off the warnings for dimensioned object
	declaration.
	* sem_res.adb (Resolve_Call): Analyze dimension for calls.

2012-10-01  Thomas Quinot  <quinot@adacore.com>

	* Make-generated.in: Minor cleanup of all targets: use
	MOVE_IF_CHANGE to put generated files in place, to avoid useless
	recompilations.

2012-10-01  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Expand_Dispatching_Call): For functions returning
	interface types add an implicit conversion to the returned object
	to force the displacement of the pointer to the returned object
	to reference the corresponding secondary dispatch table. This
	is needed to handle well combined calls involving secondary
	dispatch tables (for example Obj.Prim1.Prim2).
	* exp_ch4.adb (Expand_Allocator_Expression): Declare internal
	access type as access to constant or access to variable depending
	on the context. Found working in this ticket.

2012-10-01  Ed Schonberg  <schonberg@adacore.com>

	* checks.adb (Apply_Predicate_Check): Do not apply check to
	actual of predicate checking procedure, to prevent infinite
	recursion.

From-SVN: r191910
2012-10-01 12:07:24 +02:00
Marc Glisse 5f6e1c559b simplify-rtx.c (simplify_binary_operation_1): Detect the identity.
2012-10-01  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* simplify-rtx.c (simplify_binary_operation_1) <VEC_SELECT>:
	Detect the identity.
	<VEC_CONCAT>: Handle VEC_SELECTs from the same vector.

gcc/testsuite/
	* gcc.target/i386/vect-rebuild.c: New testcase.

From-SVN: r191909
2012-10-01 09:53:26 +00:00
Arnaud Charlet 3c321286b4 Make-lang.in: Update dependencies.
* gcc-interface/Make-lang.in: Update dependencies.
	(GCC_LINK): Add -static-libstdc++.

From-SVN: r191908
2012-10-01 11:46:39 +02:00
Arnaud Charlet fd96b9fccf trans.c (gigi): Adjust previous change to avoid a typecast that discards a const qualifier.
* gcc-interface/trans.c (gigi): Adjust previous change to avoid a
	typecast that discards a const qualifier.

From-SVN: r191907
2012-10-01 11:45:13 +02:00
Arnaud Charlet 15f0f591b8 a-catizo.adb, [...]: Minor reformatting.
2012-10-01  Arnaud Charlet  <charlet@adacore.com>

	* a-catizo.adb, a-stwiun.adb, a-cdlili.adb, a-cihama.adb, a-direct.adb,
	a-coinve.adb, a-calend.adb, a-ciorse.adb, a-coorma.adb, a-cfdlli.adb,
	a-stzunb-shared.adb, a-cfhase.adb, bindgen.adb, ceinfo.adb, a-tags.adb,
	einfo.adb, checks.adb, eval_fat.adb, a-cborma.adb, a-stwifi.adb,
	a-tifiio.adb, a-textio.adb, a-cidlli.adb, a-strunb-shared.adb,
	a-cimutr.adb, a-calcon.adb, a-exexpr-gcc.adb, a-ciormu.adb,
	a-stzunb.adb, a-stzsea.adb, a-ngelfu.adb, a-stzfix.adb,
	a-cihase.adb, a-cohama.adb, a-exetim-posix.adb, a-dirval-vms.adb,
	a-caldel-vms.adb, a-coorse.adb, errout.adb,
	a-except.adb, butil.adb, a-dirval-mingw.adb, a-cforma.adb,
	a-except-2005.adb, a-wtedit.adb, cstand.adb, a-stwiun-shared.adb,
	a-cbhama.adb, a-direio.adb, clean.adb, a-cborse.adb, back_end.adb,
	binde.adb, a-exexda.adb, a-comutr.adb, a-ciorma.adb, a-cobove.adb,
	a-coormu.adb, a-teioed.adb, a-convec.adb, a-wtenau.adb, exp_aggr.adb,
	a-ztedit.adb, a-cohase.adb, a-exetim-mingw.adb, bcheck.adb,
	a-dynpri.adb, a-cfhama.adb, a-calfor.adb, a-cbdlli.adb,
	a-crdlli.adb, a-cbmutr.adb, a-sequio.adb, a-ngcoar.adb, a-cforse.adb,
	a-strunb.adb, a-calend-vms.adb, a-clrefi.adb, a-cofove.adb,
	a-ztenau.adb, a-strfix.adb, a-cbhase.adb, a-stzsup.adb: Minor
	reformatting.

From-SVN: r191905
2012-10-01 11:41:22 +02:00
Arnaud Charlet cf427f02bb [multiple changes]
2012-10-01  Vincent Pucci  <pucci@adacore.com>

	* s-gearop.adb (Vector_Matrix_Product): Dimensions check fixed. Index
	of Left in S evaluation fixed.

2012-10-01  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Analyze_Declarations): Avoid
	premature freezing caused by the internally generated subprogram
	_postconditions.
	* checks.adb (Expr_Known_Valid): Float literals are assumed to be valid
	in VM targets.

2012-10-01  Thomas Quinot  <quinot@adacore.com>

	* sinput.ads, sinput.adb, sinput-l.adb sinput-c.adb (Sinput): New
	Instances table, tracking all generic instantiations. Source file
	attribute Instance replaces previous Instantiation attribute with an
	index into the Instances table.
	(Iterate_On_Instances): New generic procedure.
	(Create_Instantiation_Source): Record instantiations in Instances.
	(Tree_Read, Tree_Write): Read/write the instance table.
	* scils.ads, scos.adb (SCO_Instance_Table): New table, contains
	information copied from Sinput.Instance_Table, but self-contained
	within the SCO data structures.
	* par_sco.ads, par_sco.adb (To_Source_Location): Move to library level.
	(Record_Instance): New subprogram, used by...
	(Populate_SCO_Instance_Table): New subprogram to fill
	the SCO instance table from the Sinput one (called by SCO_Output).
	* opt.ads (Generate_SCO_Instance_Table): New option.
	* put_scos.adb (Write_Instance_Table): New subprogram, used by...
	(Put_SCOs): Dump the instance table at the end of SCO information
	if requested.
	* get_scos.adb (Get_SCOs): Read SCO_Instance_Table.
	* types.h: Add declaration for Instance_Id.
	* back_end.adb (Call_Back_End): Pass instance ids in source file
	information table.
	(Scan_Back_End_Switches): -fdebug-instances sets
	Opt.Generate_SCO_Instance_Table.
	* gcc-interface/gigi.h: File_Info_Type includes instance id.
	* gcc-interface/trans.c: Under -fdebug-instances, set instance
	id in line map from same in file info.

2012-10-01  Thomas Quinot  <quinot@adacore.com>

	* sem_elab.adb: Minor reformatting
	(Check_Elab_Call): Minor fix to debugging code
	(add special circuit for the valid case where a 'Access attribute
	reference is passed to Check_Elab_Call).

2012-10-01  Thomas Quinot  <quinot@adacore.com>

	* exp_ch3.adb: Minor reformatting.

From-SVN: r191904
2012-10-01 11:21:46 +02:00
Arnaud Charlet d85be3ba3b [multiple changes]
2012-10-01  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch3.ads (Build_Array_Invariant_Proc): moved to body.
	* exp_ch3.adb (Build_Array_Invariant_Proc,
	Build_Record_Invariant_Proc): transform into functions.
	(Insert_Component_Invariant_Checks): for composite types that have
	components with specified invariants, build a checking procedure,
	and make into the invariant procedure of the composite type,
	or incorporate it into the user- defined invariant procedure if
	one has been created.
	* sem_ch3.adb (Array_Type_Declaration): Checking for invariants
	on the component type is defered to the expander.

2012-10-01  Thomas Quinot  <quinot@adacore.com>

	* xsnamest.adb, namet.h, sem_ch10.adb, s-oscons-tmplt.c,
	xoscons.adb: Minor reformatting.

2012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>

	* checks.adb (Apply_Parameter_Aliasing_And_Validity_Checks):
	Do not process subprogram renaminds because a) those cannot
	have PPC pragmas b) the renamed entity already has the PPCs.
	(Build_PPC_Pragma): Prepend a PPC pragma for consistency with
	Process_PPCs.
	* sem_ch6.adb (Last_Implicit_Declaration): Removed.
	(Process_PPCs): Insert a post condition body at the start of the
	declarative region of the related subprogram. This way the body
	will not freeze anything it shouldn't.

From-SVN: r191903
2012-10-01 10:49:03 +02:00
Arnaud Charlet c5a26133df [multiple changes]
2012-10-01  Robert Dewar  <dewar@adacore.com>

	* freeze.adb, sem_ch6.adb, opt.ads, sem_ch13.adb,
	exp_ch3.adb: Minor reformatting.

2012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>

	* checks.adb (Build_PPC_Pragma): A PPC pragma can now be properly
	associated with a subprogram body.

From-SVN: r191902
2012-10-01 10:45:43 +02:00
Ed Schonberg 9e1902a9e7 aspects.ads: Type_Invariant'class is a valid aspect.
2012-10-01  Ed Schonberg  <schonberg@adacore.com>

	* aspects.ads: Type_Invariant'class is a valid aspect.
	* sem_ch6.adb (Is_Public_Subprogram_For): with the exception of
	initialization procedures, subprograms that do not come from
	source are not public for the purpose of invariant checking.
	* sem_ch13.adb (Build_Invariant_Procedure): Handle properly the
	case of a non-private type in a package without a private part,
	when the type inherits invariants from its ancestor.

2012-10-01  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch3.adb (Build_Record_Invariant_Proc): new procedure to
	generate a checking procedure for record types that may have
	components whose types have type invariants declared.

From-SVN: r191901
2012-10-01 10:39:43 +02:00
Arnaud Charlet e8dde87597 [multiple changes]
2012-10-01  Vincent Pucci  <pucci@adacore.com>

	* system-solaris-sparcv9.ads, system-mingw.ads, system-vms_64.ads: Flag
	Support_Atomic_Primitives set to True.

2012-10-01  Robert Dewar  <dewar@adacore.com>

	* impunit.adb: Ada.Locales is a language defined unit.

2012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>

	* checks.adb (Apply_Parameter_Aliasing_Checks): Removed.
	(Apply_Parameter_Aliasing_And_Validity_Checks): New routine.
	(Apply_Parameter_Validity_Checks): Removed.
	* checks.ads (Apply_Parameter_Aliasing_Checks): Removed.
	(Apply_Parameter_Aliasing_And_Validity_Checks): New routine.
	(Apply_Parameter_Validity_Checks): Removed.
	* exp_ch6.adb (Expand_Call): Remove the generation of parameter
	aliasing checks.
	* freeze.adb: Remove with and use clauses for Validsw.
	(Freeze_Entity): Update the guard and generation of aliasing
	and scalar initialization checks for subprogram parameters.
	* opt.ads: Add new flags Check_Aliasing_Of_Parameters and
	Check_Validity_Of_Parameters along with comments on usage.
	* sem_attr.adb (Analyze_Attribute): Pragma Overlaps_Storage is
	no longer an Ada 2012 feature.
	* sem_ch4.adb: Remove with and use clauses for Checks and Validsw.
	(Analyze_Call): Remove the generation of aliasing checks for
	subprogram parameters.
	* sem_ch13.adb: Remove with and use clauses for Validsw.
	(Analyze_Aspect_Specifications): Remove the generation of scalar
	initialization checks.
	* switch-c.adb (Scan_Front_End_Switches): Add processing for
	-gnateA and -gnateV.
	* usage.adb (Usage): Add information on switches -gnateA and
	-gnateV. Remove information on validity switches 'l', 'L',
	'v' and 'V'.
	* validsw.adb (Reset_Validity_Check_Options): Remove the
	reset of flags Validity_Check_Non_Overlapping_Params
	and Validity_Check_Valid_Scalars_On_Params.
	(Save_Validity_Check_Options): Remove the processing
	for flags Validity_Check_Non_Overlapping_Params
	and Validity_Check_Valid_Scalars_On_Params.
	(Set_Validity_Check_Options): Remove the processing
	for flags Validity_Check_Non_Overlapping_Params and
	Validity_Check_Valid_Scalars_On_Params.
	* validsw.ads: Remove flags Validity_Check_Non_Overlapping_Params
	and Validity_Check_Valid_Scalars_On_Params along with their
	comments on usage.

From-SVN: r191900
2012-10-01 10:37:25 +02:00