Commit Graph

104090 Commits

Author SHA1 Message Date
Jason Merrill 534ecb1751 tree.c (build_vec_init_expr): Split out from...
* tree.c (build_vec_init_expr): Split out from...
	(build_array_copy): ...here.
	* init.c (perform_member_init): Use it.
	* cp-tree.h: Declare it.
	* cp-gimplify.c (cp_gimplify_init_expr): Don't gimplify the slot for
	VEC_INIT_EXPR and AGGR_INIT_EXPR here.  Drop pre/post parameters.
	(cp_gimplify_expr): Handle array default-initialization via
	VEC_INIT_EXPR.

From-SVN: r165976
2010-10-26 14:10:53 -04:00
Jason Merrill 73c982bc87 varasm.c (constructor_static_from_elts_p): Don't require a CONSTRUCTOR to have elements to be suitable for static...
* varasm.c (constructor_static_from_elts_p): Don't require a
	CONSTRUCTOR to have elements to be suitable for static
	initialization.  Allow ARRAY_TYPE as well.

From-SVN: r165975
2010-10-26 13:57:44 -04:00
Jason Merrill 701c0df13e pt.c (lookup_template_class): push_tinst_level around call to coerce_template_parms.
* pt.c (lookup_template_class): push_tinst_level around call to
	coerce_template_parms.

From-SVN: r165974
2010-10-26 13:57:30 -04:00
Janus Weil 2c80712872 re PR fortran/42647 ([F03] Missed initialization/dealloc of allocatable scalar DT with allocatable component)
2010-10-26  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42647
	* trans.h (gfc_deallocate_scalar_with_status): New prototype.
	* trans.c (gfc_deallocate_scalar_with_status): New function for
	deallocation of allocatable scalars.
	* trans-array.c (structure_alloc_comps): Call it here ...
	* trans-decl.c (gfc_trans_deferred_vars): ... here ...
	* trans-stmt.c (gfc_trans_deallocate): ... and here.

2010-10-26  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42647
	* gfortran.dg/allocatable_scalar_9.f90: Extended.
	* gfortran.dg/allocatable_scalar_10.f90: New.
	* gfortran.dg/class_19.f03: Extended.

From-SVN: r165973
2010-10-26 19:38:42 +02:00
Jan Hubicka 530f3a1bf6 re PR lto/45736 (ICE: in cgraph_remove_unreachable_nodes, at ipa.c:245 with -flto and attribute((constructor)))
PR middle-end/45736
	* cgraph.c (cgraph_set_readonly_flag): Rename to...
	(cgraph_set_const_flags) ... this one; get also looping argument;
	clear constructor/destructor flags.
	(cgraph_set_pure_flag): Likewise.
	(cgraph_set_looping_const_or_pure_flag): Remove.
	(cgraph_can_remove_if_no_direct_calls_and_refs): Do not try
	to optimize away static ctors/dtors; it does not work on inline clones;
	external functions can always be rmeoved.
	(cgraph_will_be_removed_from_program_if_no_direct_calls): Assert on inline
	clones; in LTO external functions always can go.
	(cgraph_used_from_object_file_p): Handle EXTERNAL functions correctly.
	(cgraph_mark_address_taken_node): Assert that we are not taking address of
	inline clone.
	(cgraph_can_remove_if_no_direct_calls_p): We always eventually remove
	external functions.
	* ipa-cp.c (ipcp_cloning_candidate_p): Do not clone functions with address taken.
	(ipcp_initialize_node_lattices): Only local functions can be handled without cloning.
	* cgraph.h (cgraph_set_readonly_flag,
	cgraph_set_looping_const_or_pure_flag): Remove.
	(cgraph_set_const_flag): Declare.
	(cgraph_set_pure_flag): Update.
	* ipa-pure-const (propagate_pure_const, local_pure_const): Update
	flags setting code.
	* ipa.c (cgraph_remove_unreachable_nodes): Fix formating; do not look at inline
	clones; fix handling of external definitions.
	(cgraph_postorder): Do not look at inline clones in the first pass.
	(function_and_variable_visibility): Drop constructors/destructor
	flags at pure and const functions.
	* tree-profile.c (tree_profiling): Update.
	* ipa-inline.c (cgraph_clone_inlined_nodes): Always clone functions with
	address taken; external functions do not account to whole program size.
	(cgraph_decide_inlining): Likewise; do not try to inline functions already
	inlined.
	* testsuite/gcc.dg/lto/pr45736_0.c: New function.

From-SVN: r165972
2010-10-26 16:40:16 +00:00
Jie Zhang 0d600fce5b invoke.texi: Improve documentation of -fstrict-volatile-bitfields.
* doc/invoke.texi: Improve documentation of
	-fstrict-volatile-bitfields.

From-SVN: r165971
2010-10-26 16:13:04 +00:00
Ira Rosen 75264e61bd re PR tree-optimization/46167 (ICE: SIGSEGV in flow_bb_inside_loop_p (cfgloop.c:776) with -O -ftree-vectorize)
PR tree-optimization/46167
	* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check that there
	is basic block for the statement.

From-SVN: r165970
2010-10-26 15:53:28 +00:00
Jason Merrill 883fff6cf7 * tree.c (stabilize_expr): Handle xvalues properly.
From-SVN: r165969
2010-10-26 11:02:54 -04:00
Jason Merrill 2dfa30b4c8 * call.c (build_over_call): Use argarray[0] for 'this' argument.
From-SVN: r165968
2010-10-26 11:02:47 -04:00
Jason Merrill d70a517942 * decl.c (finish_function): Don't look at function_depth.
From-SVN: r165967
2010-10-26 11:02:39 -04:00
Paul Koning 6e2f8c15bc pdp11.c (pdp11_f_format, [...]): Update to current definition of struct_real_format.
* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Update to
current definition of struct_real_format.

From-SVN: r165966
2010-10-26 11:00:54 -04:00
H.J. Lu f28e93a8a5 Properly align parameters on stack for x86.
gcc/

2010-10-26  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/44948
	* config/i386/i386.c (ix86_old_function_arg_boundary): New.
	(ix86_function_arg_boundary): Always align parameters on stack
	in 64bit and align parameters with alignment >= 16byte on stack 
	in 32bit.  Warn alignment change.

gcc/testsuite/

2010-10-26  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/44948
	* g++.dg/abi/param2.C: Add -Wno-psabi for ilp32 x86.
	* g++.dg/vect/pr33860a.cc: Likewise.
	* gcc.c-torture/compile/20070522-1.c: Likewise.
	* gcc.dg/compat/struct-align-1_x.c: Likewise.
	* gcc.dg/compat/struct-align-1_y.c: Likewise.
	* gcc.dg/compat/struct-align-2_x.c: Likewise.
	* gcc.dg/compat/struct-align-2_y.c: Likewise.
	* gcc.dg/pr44136.c: Likewise.

	* gcc.c-torture/compile/pr33617.c: Add -Wno-psabi for x86.
	* gcc.dg/compat/vector-1_x.c: Likewise.
	* gcc.dg/compat/vector-1_y.c: Likewise.
	* gcc.dg/compat/vector-2_x.c: Likewise.
	* gcc.dg/compat/vector-2_y.c: Likewise.
	* gcc.dg/pr43300.c: Likewise.

	* gcc.dg/compat/vector-1a_x.c: Add -Wno-psabi.
	* gcc.dg/compat/vector-1a_y.c: Likewise.
	* gcc.dg/compat/vector-1b_x.c: Likewise.
	* gcc.dg/compat/vector-1b_y.c: Likewise.
	* gcc.dg/compat/vector-2a_x.c: Likewise.
	* gcc.dg/compat/vector-2a_y.c: Likewise.
	* gcc.dg/compat/vector-2b_x.c: Likewise.
	* gcc.dg/compat/vector-2b_y.c: Likewise.
	* gcc.target/i386/pr39162.c: Likewise.
	* gcc.target/i386/pr40906-2.c: Likewise.
	* gcc.target/i386/sse-5.c: Likewise.

	* gcc.dg/pr35442.c: Prune ABI change warnings.

	* gcc.c-torture/execute/pr38151.x: New.
	* gcc.target/i386/pr44948-1a.c: Likewise.
	* gcc.target/i386/pr44948-1b.c: Likewise.
	* gcc.target/i386/pr44948-2a.c: Likewise.
	* gcc.target/i386/pr44948-2b.c: Likewise.

From-SVN: r165965
2010-10-26 06:56:42 -07:00
Ian Lance Taylor 76d8a30aaf re PR middle-end/45687 (possible wrong code bug)
gcc/:
	PR middle-end/45687
	* ipa-prop.c (ipa_modify_call_arguments): Correct type of MEM_REF
	offset.
gcc/testsuite:
	* gcc.c-torture/execute/20101025-1.c: New test.

From-SVN: r165964
2010-10-26 13:39:37 +00:00
Arnaud Charlet 7675ad4f6a [multiple changes]
2010-10-26  Robert Dewar  <dewar@adacore.com>

	* exp_ch5.adb, exp_prag.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
	sem_dist.adb, exp_ch7.adb, exp_util.adb, exp_attr.adb, exp_ch9.adb,
	sem_ch10.adb, checks.adb, sem_prag.adb, par-endh.adb, sem_ch12.adb,
	exp_smem.adb, sem_attr.adb, exp_ch4.adb, exp_ch6.adb, exp_ch8.adb,
	sem_ch6.adb, exp_disp.adb, exp_aggr.adb, exp_dist.adb, sem_ch13.adb,
	par-ch3.adb, par-ch5.adb, exp_strm.adb, exp_ch3.adb: Minor reformatting
	* opt.ads: Minor comment fix.

2010-10-26  Vincent Celier  <celier@adacore.com>

	* gnat_ugn.texi: Document option -s for gnatlink.

From-SVN: r165963
2010-10-26 15:20:47 +02:00
Robert Dewar dc718e52b9 opt.ads: Move documentation on checksum stuff here from prj-nmsc
2010-10-26  Robert Dewar  <dewar@adacore.com>

	* opt.ads: Move documentation on checksum stuff here from prj-nmsc
	* prj-nmsc.adb (Process_Project_Level_Array_Attributes): Move
	documentation on checksum versions to opt.ads.

From-SVN: r165962
2010-10-26 15:17:23 +02:00
Vincent Celier b251750b22 opt.ads (Checksum_Accumulate_Token_Checksum): New Boolean flag, defaulted to True.
2010-10-26  Vincent Celier  <celier@adacore.com>

	* opt.ads (Checksum_Accumulate_Token_Checksum): New Boolean flag,
	defaulted to True.
	(Checksum_GNAT_6_3): New name of Old_Checksums
	(Checksum_GNAT_5_03): New name of Old_Old_Checksums
	* prj-nmsc.adb (Process_Project_Level_Array_Attributes): Adapt to new
	names of Opt flags.
	Set Checksum_Accumulate_Token_Checksum to False if GNAT version is 5.03
	or before.
	* scng.adb (Accumulate_Token_Checksum_GNAT_6_3): New name of procedure
	Accumulate_Token_Checksum_Old.
	(Accumulate_Token_Checksum_GNAT_5_03): New name of procedure
	Accumulate_Token_Checksum_Old_Old.
	(Nlit): Call Accumulate_Token_Checksum only if
	Opt.Checksum_Accumulate_Token_Checksum is True.
	(Scan): Ditto

From-SVN: r165961
2010-10-26 15:15:05 +02:00
Robert Dewar f2264ac2cd sem_ch13.adb (Build_Invariant_Procedure): New calling sequence.
2010-10-26  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Build_Invariant_Procedure): New calling sequence.
	(Build_Invariant_Procedure): Properly handle analysis of invariant
	expression with proper end-of-visible-decls visibility.
	* sem_ch13.ads (Build_Invariant_Procedure): Changed calling sequence.
	* sem_ch3.adb (Process_Full_View): Don't build invariant procedure
	(too late).
	(Analyze_Private_Extension_Declaration): Propagate invariant flags.
	* sem_ch7.adb (Analyze_Package_Specification): Build invariant
	procedures.

From-SVN: r165960
2010-10-26 15:12:34 +02:00
Vincent Celier 1ce9dff334 opt.ads (Old_Checksums, [...]): New Boolean flags, defaulted to False.
2010-10-26  Vincent Celier  <celier@adacore.com>

	* opt.ads (Old_Checksums, Old_Old_Checksums): New Boolean flags,
	defaulted to False.
	* prj-nmsc.adb (Process_Project_Level_Array_Attributes): When
	processing attribute Toolchain_Version ("Ada"), set Opt.Old_Checksums
	and Opt.Old_Old_Checksums depending on the GNAT version.
	* scng.adb (Accumulate_Token_Checksum_Old): New procedure.
	(Accumulate_Token_Checksum_Old_Old): New procedure.
	(Scan): For keywords, when Opt.Old_Checksums is True, call one of the
	alternative procedures Accumulate_Token_Checksum_Old or
	Accumulate_Token_Checksum_Old_Old, instead of Accumulate_Token_Checksum.

From-SVN: r165959
2010-10-26 15:08:59 +02:00
Richard Kenner 39ab2e8fc9 utils2.c (build_compound_expr): New function.
2010-10-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* gcc-interface/utils2.c (build_compound_expr): New function.
	* gcc-interface/gigi.h (build_compound_expr): Declare it.
	* gcc-interface/trans.c (Attribute_to_gnu, call_to_gnu): Use it.
	(gnat_to_gnu, case N_Expression_With_Actions): Likewise.

From-SVN: r165958
2010-10-26 15:06:34 +02:00
Arnaud Charlet 0592046e23 [multiple changes]
2010-10-26  Javier Miranda  <miranda@adacore.com>

	* sem_prag.adb (Process_Import_Or_Interface): Skip primitives of
	interface types when processing all the entities in the homonym chain
	that are declared in the same declarative part.

2010-10-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Process_Range_In_Decl): If the range is part of a
	quantified expression, the insertion point for range checks will be
	arbitrarily far in the tree.
	* sem_ch5.adb (One_Bound): Use Insert_Actions for the declaration of
	the temporary that holds the value of the bounds.
	* sem_res.adb (Resolve_Quantified_Expressions): Disable expansion of
	condition until the full expression is expanded.

From-SVN: r165957
2010-10-26 15:05:30 +02:00
Arnaud Charlet 880dabb586 [multiple changes]
2010-10-26  Robert Dewar  <dewar@adacore.com>

	* opt.ads: Comment fix.
	* sem_cat.adb: Treat categorization errors as warnings in GNAT Mode.
	* switch-c.adb: GNAT Mode does not set
	Treat_Categorization_Errors_As_Warnings.

2010-10-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Analyze_Subprogram_Renaming): Improve warning when an
	operator renames another one with a different name.

2010-10-26  Thomas Quinot  <quinot@adacore.com>

	* exp_ch4.adb, exp_pakd.adb: Minor reformatting.

From-SVN: r165956
2010-10-26 15:00:05 +02:00
Arnaud Charlet 3923140473 [multiple changes]
2010-10-26  Robert Dewar  <dewar@adacore.com>

	* exp_ch3.adb: Fix typo, comment updates.
	* namet.adb: Minor comment additions.
	* einfo.ads: Minor comment update.

2010-10-26  Javier Miranda  <miranda@adacore.com>

	* einfo.adb (Set_Dispatch_Table_Wrappers): Complete the assertion.

2010-10-26  Robert Dewar  <dewar@adacore.com>

	* par.adb, par-ch13.adb (Aspect_Specifications_Present): Add Strict
	parameter.

From-SVN: r165955
2010-10-26 14:56:43 +02:00
Arnaud Charlet 329b9f810d [multiple changes]
2010-10-26  Bob Duff  <duff@adacore.com>

	* namet.adb: Improve hash function.
	Increase the size from 2**12 to 2**16 buckets.

2010-10-26  Thomas Quinot  <quinot@adacore.com>

	* sem_disp.adb: Minor reformatting.

From-SVN: r165954
2010-10-26 14:53:09 +02:00
Robert Dewar 878f708aba sem_ch3.adb, [...]: Minor reformatting.
2010-10-26  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_ch4.adb, sem_disp.adb, switch-c.adb: Minor
	reformatting.
	* gnat_ugn.texi: Document -gnateP switch.

From-SVN: r165953
2010-10-26 14:48:29 +02:00
Arnaud Charlet ce09f8b3f2 [multiple changes]
2010-10-26  Robert Dewar  <dewar@adacore.com>

	* opt.ads (Treat_Categorization_Errors_As_Warnings): New flag
	* sem_cat.adb (Check_Categorization_Dependencies):
	Use Check_Categorization_Dependencies
	* switch-c.adb: GNAT Mode sets Treat_Categorization_Errors_As_Warnings
	-gnateP sets Treat_Categorization_Errors_As_Warnings
	* usage.adb: Add line for -gnateP switch

2010-10-26  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Add_Internal_Interface_Entities): Handle primitives
	inherited from the parent that cover interface primitives.
	(Derive_Progenitor_Subprograms): Handle primitives inherited from
	the parent that cover interface primitives.
	* sem_disp.adb (Find_Primitive_Covering_Interface): When searching in
	the list of primitives of the type extend the test to include inherited
	private primitives.
	* sem_ch6.ads (Is_Interface_Conformant): Add missing documentation.
	* sem_ch7.adb (Declare_Inherited_Private_Subprograms): Add missing
	barrier to the loop searching for explicit overriding primitives.
	* sem_ch4.adb (Analyze_Indexed_Component_Form): Add missing barrier
	before accessing attribute Entity.

2010-10-26  Bob Duff  <duff@adacore.com>

	* make.adb: Call Namet.Finalize, so we can get statistics.

From-SVN: r165952
2010-10-26 14:45:45 +02:00
Arnaud Charlet f9673bb07a [multiple changes]
2010-10-26  Geert Bosch  <bosch@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use the subprogram_body
	node to determine wether the subprogram is a rewritten parameterized
	expression.

2010-10-26  Robert Dewar  <dewar@adacore.com>

	* opt.ads: Minor code reorganization
	Alphabetize Warning switches.

From-SVN: r165951
2010-10-26 14:35:17 +02:00
Robert Dewar da20aa430c sem_res.adb, xsinfo.adb: Minor reformatting.
2010-10-26  Robert Dewar  <dewar@adacore.com>

	* sem_res.adb, xsinfo.adb: Minor reformatting.

From-SVN: r165950
2010-10-26 14:32:21 +02:00
Arnaud Charlet f7950055b6 [multiple changes]
2010-10-26  Bob Duff  <duff@adacore.com>

	* namet.adb (Finalize): More cleanup of statistics printouts.

2010-10-26  Robert Dewar  <dewar@adacore.com>

	* ceinfo.adb: Minor reformatting.

From-SVN: r165949
2010-10-26 14:30:25 +02:00
Arnaud Charlet 1c1289e7fb [multiple changes]
2010-10-26  Javier Miranda  <miranda@adacore.com>

	* sem_ch6.adb (Check_Overriding_Indicator, New_Overloaded_Entity): When
	setting attribute Overridden_Operation do not reference the entities
	generated by Derive_Subprograms but their aliased entity (which
	is the primitive inherited from the parent type).

2010-10-26  Bob Duff  <duff@adacore.com>

	* namet.adb, namet.ads: Minor cleanup.

From-SVN: r165948
2010-10-26 14:28:37 +02:00
Arnaud Charlet 3019e9b6be * gcc-interface/Make-lang.in: Update dependencies.
From-SVN: r165947
2010-10-26 14:21:31 +02:00
Arnaud Charlet d347f5722f [multiple changes]
2010-10-26  Robert Dewar  <dewar@adacore.com>

	* einfo.ads, einfo.adb (Is_Base_Type): New function, use it where
	appropriate.
	* exp_ch6.adb, exp_dbug.adb, exp_disp.adb, freeze.adb, lib-xref.adb,
	sem_aux.adb, sem_ch3.adb, sem_ch7.adb, sem_ch8.adb (Is_Base_Type): Use
	this new abstraction where appropriate.

2010-10-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb: Code clean up.

2010-10-26  Paul Hilfinger  <hilfinger@adacore.com>

	* exp_dbug.ads: Document effect of 'pragma Unchecked_Union' on
	debugging data.

2010-10-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Note_Possible_Modification): If the target of an
	assignment is the bound variable in an iterator, the domain of
	iteration, i.e. array or container, is modified as well.

2010-10-26  Bob Duff  <duff@adacore.com>

	* Make-generated.in: Make the relevant make targets depend on
	ceinfo.adb and csinfo.adb.
	* csinfo.adb, ceinfo.adb: Make sure it raises an exception on failure,
	so when called from xeinfo, the failure will be noticed.
	* sinfo.ads: Update comments to reflect the fact that xsinfo runs csinfo
	* xsinfo.adb, xeinfo.adb: Run ceinfo to check for errors. Close files.

2010-10-26  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb: Set properly parent field of operands of concatenation.

2010-10-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Check_Infinite_Recursion): A recursive call within a
	conditional expression or a case expression should not generate an
	infinite recursion warning.

From-SVN: r165946
2010-10-26 14:19:56 +02:00
Arnaud Charlet 038140ede0 [multiple changes]
2010-10-26  Javier Miranda  <miranda@adacore.com>

	* einfo.ads, einfo.adb (Is_Overriding_Operation): Removed.
	(Set_Is_Overriding_Operation): Removed.
	* sem_ch3.adb (Check_Abstract_Overriding): Remove redundant call to
	Is_Overriding_Operation.
	* exp_ch7.adb (Check_Visibly_Controlled): Remove redundant call to
	Is_Overriding_Operation.
	* sem_ch7.adb (Declare_Inherited_Private_Subprograms): Remove redundant
	call to Set_Is_Overriding_Operation.
	* sem_util.adb (Collect_Primitive_Operations): Replace test on
	Is_Overriding_Operation by test on the presence of attribute
	Overridden_Operation.
	(Original_Corresponding_Operation): Remove redundant call to attribute
	Is_Overriding_Operation.
	* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Remove
	redundant call to Is_Overriding_Operation.
	(Verify_Overriding_Indicator): Replace several occurrences of test on
	Is_Overriding_Operation by test on the presence of attribute
	Overridden_Operation.
	(Check_Convention): Replace test on Is_Overriding_Operation by test on
	the presence of Overridden_Operation.
	(Check_Overriding_Indicator): Add missing decoration of attribute
	Overridden_Operation. Minor code cleanup.
	(New_Overloaded_Entity): Replace occurrence of test on
	Is_Overriding_Operation by test on the presence of attribute
	Overridden_Operation. Remove redundant setting of attribute
	Is_Overriding_Operation plus minor code reorganization.
	Add missing decoration of attribute Overridden_Operation.
	* sem_elim.adb (Set_Eliminated): Replace test on
	Is_Overriding_Operation by test on the presence of Overridden_Operation.
	* sem_ch8.adb (Analyze_Subprogram_Renaming): Replace test on
	Is_Overriding_Operation by test on the presence of
	Overridden_Operation. Remove a redundant test on attribute
	Is_Overriding_Operation. 
	* lib-xref.adb (Generate_Reference): Replace test on
	Is_Overriding_Operation by test on the presence of Overridden_Operation.
	(Output_References): Replace test on Is_Overriding_Operation by test on
	the presence of Overridden_Operation.
	* sem_disp.adb (Override_Dispatching_Operation): Replace test on
	Is_Overriding_Operation by test on the presence of Overridden_Operation.
	Add missing decoration of attribute Overridden_Operation.

2010-10-26  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Properly check
	RM 13.4.1(10).

2010-10-26  Bob Duff  <duff@adacore.com>

	* sem_res.adb (Resolve_Actuals): In case of certain
	internally-generated type conversions (created by OK_Convert_To, so the
	Conversion_OK flag is set), avoid fetching the component type when it's
	not really an array type, but a private type completed by an array type.

From-SVN: r165945
2010-10-26 13:02:31 +02:00
Arnaud Charlet 3b097d1128 [multiple changes]
2010-10-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb: Adjust format of error message.

2010-10-26  Robert Dewar  <dewar@adacore.com>

	* einfo.ads, einfo.adb (OK_To_Reference): Removed, no longer used.
	* exp_util.adb (Side_Effect_Free): Put in safety barrier in code to
	detect renamings to avoid problems with invariants.
	* sem_ch13.adb (Replace_Type_References_Generic): New procedure
	(Build_Invariant_Procedure): Use Replace_Type_Reference_Generic
	(Build_Predicate_Function): Use Replace_Type_Reference_Generic
	* sem_res.adb, sem_ch8.adb, sem_ch4.adb (OK_To_Reference): Remove
	references, flag is no longer set.

From-SVN: r165944
2010-10-26 12:57:52 +02:00
Arnaud Charlet 3e5daac435 [multiple changes]
2010-10-26  Vincent Celier  <celier@adacore.com>

	* prj.ads (Source_Data): New Boolean component Initialized, defaulted
	to False, set to True when Source_Data is completely initialized.
	* prj-env.adb: Minor comment fix.

2010-10-26  Robert Dewar  <dewar@adacore.com>

	* sem_case.adb, sem_ch6.adb, sem_util.adb: Minor reformatting.

From-SVN: r165943
2010-10-26 12:55:01 +02:00
Arnaud Charlet 232b0794a9 Update copyright notice.
From-SVN: r165942
2010-10-26 12:52:27 +02:00
Arnaud Charlet 23b863538f [multiple changes]
2010-10-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Iteration_Scheme): Diagnose attempt to use thew
	form "for X in A" when A is an array object. This form is only intended
	for containers.
	* sem_eval.adb: Fix reference to non-existing field of type conversion
	node.
	* sem_case.adb (Check_Choices): Improve error reporting for overlapping
	choices in case statements.

2010-10-26  Gary Dismukes  <dismukes@adacore.com>

	* exp_disp.adb (Expand_Interface_Actuals): When expanding an actual for
	a class-wide interface formal that involves applying a displacement
	conversion to the actual, check for the case of calling a build-in-place
	function and handle generation of the implicit BIP parameters (call
	Make_Build_In_Place_Call_In_Anonymous_Context).
	Add with and use of Exp_Ch6.

2010-10-26  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb, sem_cat.ads: Minor reformatting.

2010-10-26  Sergey Rybin  <rybin@adacore.com>

	* vms_data.ads: Define VMS qualifier for gnatelim '--ignore' option

2010-10-26  Thomas Quinot  <quinot@adacore.com>

	* sem_util.adb (Has_Preelaborable_Initialization.Check_Components):
	For a discriminant, use Discriminant_Default_Value rather than
	Expression (Declaration_Node (D)).

2010-10-26  Geert Bosch  <bosch@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Parameterized
	expressions don't need a spec, even when style checks require
	subprograms to have one.

From-SVN: r165941
2010-10-26 12:51:36 +02:00
Arnaud Charlet 8bead36ac9 * gnatvsn.ads: Update comments.
From-SVN: r165940
2010-10-26 12:45:54 +02:00
Arnaud Charlet f2acf80cab [multiple changes]
2010-10-26  Matthew Heaney  <heaney@adacore.com>

	* Makefile.rtl, impunit.adb: Add bounded hashed set and bounded hashed
	map containers.
	* a-cohata.ads: Add declaration of generic package for bounded hash
	table types.
	* a-chtgbo.ads, a-chtgbo.adb, a-chtgbk.ads, a-chtgbk.adb, a-cbhase.ads,
	a-cbhase.adb, a-cbhama.ads, a-cbhama.adb: New files.

2010-10-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_warn.adb: Improve warning message on overlapping actuals.

2010-10-26  Thomas Quinot  <quinot@adacore.com>

	* sem_ch4.adb, exp_dist.adb: Minor reformatting.

2010-10-26  Vincent Celier  <celier@adacore.com>

	* makeusg.adb (Makeusg): Add lines for switches -vl, -vm and -vh.

2010-10-26  Robert Dewar  <dewar@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration): Move generation of
	predicate check to analyzer, since too much rewriting occurs in the
	analyzer.
	* sem_ch13.adb (Build_Predicate_Function): Change calling sequence, and
	change the order in which things are done to fix several errors in
	dealing with qualification of the type name.
	(Build_Static_Predicate): Built static predicate after full analysis
	of the body. This is necessary to fix several problems.
	* sem_ch3.adb (Analyze_Object_Declaration): Move predicate check here
	from expander, since too much expansion occurs in the analyzer to leave
	it that late.
	(Analyze_Object_Declaration): Change parameter Include_Null to new name
	Include_Implicit in Is_Partially_Initialized_Type call.
	(Analyze_Subtype_Declaration): Make sure predicates are proapagated in
	some strange cases of internal subtype generation.
	* sem_util.ads, sem_util.adb (Is_Partially_Initialized_Type): Change
	Include_Null to Include_Implicit, now includes the case of
	discriminants.

2010-10-26  Sergey Rybin  <rybin@adacore.com>

	* gnat_rm.texi: Revise the documentation for pragma Eliminate.

From-SVN: r165939
2010-10-26 12:42:02 +02:00
Matthew Heaney 143eac1265 Makefile.rtl, [...]: Added bounded list container.
2010-10-26  Matthew Heaney  <heaney@adacore.com>

	* Makefile.rtl, impunit.adb: Added bounded list container.
	* a-cbdlli.ads, a-cbdlli.adb: New file.

From-SVN: r165938
2010-10-26 12:31:39 +02:00
Paolo Carlini 98fff892cc libstdc++.exp ([check_v3_target_normal_mode]): Add.
2010-10-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/lib/libstdc++.exp ([check_v3_target_normal_mode]): Add.
	* testsuite/lib/dg-options.exp ([dg-require-normal-mode]): Likewise.
	* testsuite/23_containers/headers/forward_list/synopsis.cc: Use the
	latter.
	* testsuite/23_containers/headers/vector/synopsis.cc: Likewise.
	* testsuite/23_containers/headers/deque/synopsis.cc: Likewise.
	* testsuite/23_containers/headers/bitset/synopsis.cc: Likewise.
	* testsuite/23_containers/headers/list/synopsis.cc: Likewise.
	* testsuite/23_containers/headers/set/synopsis.cc: Likewise.
	* testsuite/23_containers/headers/map/synopsis.cc: Likewise.

From-SVN: r165937
2010-10-26 10:22:43 +00:00
Tobias Burnus 6739e9ec6e [multiple changes]
2010-10-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45451
        * trans-stmt.c (gfc_trans_allocate): Do a deep-copy for SOURCE=.

        PR fortran/43018
        * trans-array.c (duplicate_allocatable): Use size of type and not
        the size of the pointer to the type.

2010-10-26  Tobias Burnus <burnus@net-b.de>

        PR fortran/45451
        * gfortran.dg/class_allocate_5.f90: New.

From-SVN: r165936
2010-10-26 08:49:43 +02:00
Rodrigo Rivas Costa 90ecaf87ff Implement opaque-enum-specifiers for C++0x.
gcc/
	* tree.h (ENUM_IS_OPAQUE): New.
	* dwarf2out.c (gen_enumeration_type_die): Use ENUM_IS_OPAQUE.
gcc/cp/
	* cp-tree.h (SET_OPAQUE_ENUM_P): New.
	(OPAQUE_ENUM_P): New.
	(ENUM_FIXED_UNDERLYING_TYPE_P): New.
	(start_enum): Update prototype.
	(finish_enum_value_list): New prototype.
	* parser.c (cp_parser_elaborated_type_specifier): Issue a pedwarn if
	"enum class" is used in an elaborated-type-specifier.
	(cp_parser_enum_specifier): Rewrite to parse opaque-enum-specifiers.
	* decl.c (copy_type_enum): New.
	(finish_enum_value_list): New, with code from finish_enum.
	(finish_enum): A lot of code removed. Added a gcc_assert.
	(start_enum): Add parameters enumtype and is_new.
	Rewrite to work with opaque-enum-specifiers.
	* pt.c (maybe_process_partial_specialization): Allow for template
	specialization of enumerations, with a pedwarn.
	(lookup_template_class): Update call to start_enum. Call to
	SET_OPAQUE_ENUM_P.
	(tsubst_enum): Call to begin_scope, finish_scope and
	finish_enum_value_list.

From-SVN: r165935
2010-10-26 00:56:45 -04:00
Jie Zhang f5c88dbfe7 stor-layout.c (layout_decl): Use the field's type to determine the mode and keep DECL_BIT_FIELD for a...
* stor-layout.c (layout_decl): Use the field's type to
	determine the mode and keep DECL_BIT_FIELD for a volatile
	bit-field.
	* config/arm/arm.c (arm_override_options): Default to
	-fstrict-volatile-bitfields.

	testsuite/
	* gcc.target/arm/volatile-bitfields-1.c: New test.
	* gcc.target/arm/volatile-bitfields-2.c: New test.
	* gcc.target/arm/volatile-bitfields-3.c: New test.

From-SVN: r165934
2010-10-26 03:22:49 +00:00
Paul Koning 7021d5df0a pdp11.md: Add define_constants for register numbers, branch offset limits.
* config/pdp11/pdp11.md: Add define_constants for register
numbers, branch offset limits.
* config/pdp11/pdp11.c: Use named constants instead of numbers.
* config/pdp11.pdp11.h: Ditto.

From-SVN: r165933
2010-10-25 20:46:55 -04:00
GCC Administrator 97021017c5 Daily bump.
From-SVN: r165932
2010-10-26 00:17:04 +00:00
Eric Botcazou f2be3ce484 utils2.c: Include flags.h and remove prototypes.
* gcc-interface/utils2.c: Include flags.h and remove prototypes.
	(build_unary_op) <TRUTH_NOT_EXPR>: When not optimizing, fold the result
	of the call to invert_truthvalue_loc.
	* gcc-interface/Make-lang.in (utils2.o): Add $(FLAGS_H).

From-SVN: r165928
2010-10-25 19:29:10 +00:00
Changpeng Fang 4d13833820 Correct the Changelog entries.
* Changelog (2010-10-22  Changpeng Fang): Correct the
	Changelog entries.

From-SVN: r165927
2010-10-25 18:17:48 +00:00
Eric Botcazou 3bd6ca3f11 utils.c (update_pointer_to): Clear TYPE_POINTER_TO and TYPE_REFERENCE_TO of the old type after redirecting...
* gcc-interface/utils.c (update_pointer_to): Clear TYPE_POINTER_TO and
	TYPE_REFERENCE_TO of the old type after redirecting its pointer and
	reference types.

From-SVN: r165926
2010-10-25 17:44:05 +00:00
Eric Botcazou 8c211c83bb decl.c (gnat_to_gnu_entity): Do not set TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not set
	TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.

From-SVN: r165925
2010-10-25 17:26:04 +00:00
Steven G. Kargl 570f469171 re PR fortran/46140 (Include not found - but exit status code is zero)
2010-10-25  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/46140
	* fortran/scanner.c (include_line): Check return value of load_file.

From-SVN: r165922
2010-10-25 16:07:34 +00:00