Commit Graph

104080 Commits

Author SHA1 Message Date
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
Jose Ruiz
ab0c3d8ef5 Makefile.in (LIBGNAT_TARGET_PAIRS for powerpc-linux): Reorganize target pairs so that it works on linux and ElinOS.
2010-10-25  Jose Ruiz  <ruiz@adacore.com>

	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for powerpc-linux):
	Reorganize target pairs so that it works on linux and ElinOS.

From-SVN: r165921
2010-10-25 17:28:13 +02:00
Arnaud Charlet
ff2efe85eb [multiple changes]
2010-10-25  Pascal Obry  <obry@adacore.com>
	
	* adaint.c (__gnat_file_time_name_attr): Use GetFileAttributesEx to get
	the timestamp. A bit faster than opening/closing the file.
	(__gnat_stat_to_attr): Remove kludge for Windows.
	(__gnat_file_exists_attr): Likewise.
	The timestamp is now retreived using GetFileAttributesEx as faster.

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

	* sem_ch3.adb (Derive_Interface_Subprogram): New subprogram.
	(Derive_Subprograms): For abstract private types transfer to the full
	view entities of uncovered interface primitives. Required because if
	the interface primitives are left in the private part of the package
	they will be decorated as hidden when the analysis of the enclosing
	package completes (and hence the interface primitive is not visible
	for dispatching calls).

2010-10-25  Matthew Heaney  <heaney@adacore.com>

	* Makefile.rtl, impunit.adb: Added bounded set and bounded map
	containers.
	* a-crbltr.ads: Added declaration of generic package for bounded tree
	types.
	* a-rbtgbo.ads, a-rbtgbo.adb, a-rbtgbk.ads, a-rbtgbk.adb, a-btgbso.ads,
	a-btgbso.adb, a-cborse.ads, a-cborse.adb, a-cborma.ads, a-cborma.adb:
	New.

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

	* sem_util.adb: Minor reformatting.
	* usage.adb: Fix usage line for -gnatwh.

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

	* sem_ch12.adb (Analyze_Package_Instantiation): For an
	instantiation in an RCI spec, omit package body if instantiation comes
	from source, even as a nested
	package.
	* exp_dist.adb (Add_Calling_Stubs_To_Declarations,
	*_Support.Add_Receiving_Stubs_To_Declarations): Handle the case of
	nested packages, package instantiations and subprogram instantiations.

From-SVN: r165920
2010-10-25 17:26:02 +02:00
Arnaud Charlet
f6b5dc8e1f [multiple changes]
2010-10-25  Robert Dewar  <dewar@adacore.com>

	* exp_ch5.adb (Expand_Predicated_Loop): Remove code for loop through
	non-static predicate, since we agree not to allow this.
	(Expand_Predicated_Loop): Properlay handle false predicate (null
	list in Static_Predicate field.
	* sem_ch13.adb (Build_Static_Predicate): Extensive changes to clean up
	handling of more general predicate forms.

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

	* sem_ch4.adb, sem_util.adb: Minor reformatting.
	* sem_ch8.adb (Find_Selected_Component): Allow selection from instance
	of type in predicate or invariant expression.

2010-10-25  Pascal Obry  <obry@adacore.com>

	* adaint.c (__gnat_stat_to_attr): Can set the timestamp on Windows now.
	(f2t): New routine.
	(__gnat_stat): Rewrite Win32 version.

From-SVN: r165919
2010-10-25 16:44:20 +02:00
Arnaud Charlet
66150d0135 [multiple changes]
2010-10-25  Robert Dewar  <dewar@adacore.com>

	* sem_warn.adb, einfo.ads, exp_ch4.adb: Minor comment fix
	* sem_case.adb: Comment clarification for loops through false
	predicates.
	* sem_util.adb: Minor reformatting
	(Check_Order_Dependence): Fix bad double blank in error message

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

	* sem_ch4.adb (Analyze_Membership_Op): in Ada_2012 a membership
	operation can have a single alternative that is a value of the type.
	Rewrite operation as an equality test.

From-SVN: r165918
2010-10-25 16:39:59 +02:00
Arnaud Charlet
1e194575d0 [multiple changes]
2010-10-25  Matthew Heaney  <heaney@adacore.com>

	* Makefile.rtl, impunit.adb: Added a-cobove (bounded vector container)
	to lists.
	* a-contai.ads: Added declaration of Capacity_Error exception.
	* a-cobove.ads, a-cobove.adb: New files.

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

	* uname.adb: Revert previous change, no longer needed after change
	in par-ch10.adb.

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

	* scos.ads: Minor comment fix.

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

	* sem_ch5.adb (Analyze_Assignment_Statement): Check dangerous order
	dependence.
	* sem_ch6.adb (Analyze_Procedure_Call_Statement): Ditto.
	* sem_res.adb (Analyze_Actuals): Add actual to list of actuals for
	current construct, for subsequent order dependence checking.
	(Resolve): Check order dependence on expressions that are not
	subexpressions.
	* sem_util.adb (Check_Order_Dependence): Code cleanup, to correspond
	to latest version of AI05-144-2.
	* sem_warn.adb (Warn_On_Overlapping_Actuals): Code cleanup.

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

	* sem_ch13.adb (Build_Static_Predicate): Moved out of
	Build_Predicate_Function.
	(Build_Static_Predicate): Complet rewrite for more general predicates

From-SVN: r165917
2010-10-25 15:50:29 +02:00
Jie Zhang
89ff4f167f Fix a typo in my last ChangeLog entry.
From-SVN: r165916
2010-10-25 12:02:03 +00:00
Paolo Carlini
deaf7b86cd forward_list.h (_Fwd_list_node_base::swap): Remove.
2010-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (_Fwd_list_node_base::swap): Remove.
	(_Fwd_list_base<>::_Fwd_list_base(_Fwd_list_base&&),
	_Fwd_list_base<>::_Fwd_list_base(_Fwd_list_base&&, const _Alloc&)):
	Don't use swap.
	(forward_list<>::swap): Just use std::swap.

	* include/bits/forward_list.h (_Fwd_list_base<>::_Fwd_list_base(),
	_Fwd_list_base(const _Alloc&)): Don't zero again _M_next.

	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Adjust dg-error line number.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r165915
2010-10-25 10:47:19 +00:00
Eric Botcazou
35a382b82d decl.c (gnat_to_gnu_entity, [...]): Allow In Out/Out parameters for functions.
* gcc-interface/decl.c (gnat_to_gnu_entity, case E_Function): Allow
	In Out/Out parameters for functions.
	* gcc-interface/trans.c (gnu_return_var_stack): New variable.
	(create_init_temporary): New static function.
	(Subprogram_Body_to_gnu): Handle In Out/Out parameters for functions.
	(call_to_gnu): Likewise.  Use create_init_temporary in order to create
	temporaries for unaligned parameters and return value.  If there is an
	unaligned In Out or Out parameter passed by reference, push a binding
	level if not already done.  If a binding level has been pushed and the
	call is returning a value, create the call statement.
	(gnat_to_gnu) <N_Return_Statement>: Handle In Out/Out parameters for
	functions.

From-SVN: r165914
2010-10-25 10:35:07 +00:00
Eric Botcazou
7fa2619a2f configure.ac: Use $cpu_type instead of $target to define the nop.
* configure.ac: Use $cpu_type instead of $target to define the nop.
	* configure: Regenerate.

From-SVN: r165913
2010-10-25 10:08:01 +00:00
Paolo Carlini
7d9d5bb6c9 hashtable.h (_Hashtable<>:_M_get_Value_allocator): Remove, unused.
2010-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable.h (_Hashtable<>:_M_get_Value_allocator):
	Remove, unused.

From-SVN: r165912
2010-10-25 09:42:08 +00:00