platform/upstream/gcc.git
16 years ago* gnat.dg/sync_iface_test.ad[s,b]: New test.
Arnaud Charlet [Thu, 31 Jul 2008 13:45:32 +0000 (13:45 +0000)]
* gnat.dg/sync_iface_test.ad[s,b]: New test.

From-SVN: r138410

16 years agoResync.
Arnaud Charlet [Thu, 31 Jul 2008 13:42:37 +0000 (15:42 +0200)]
Resync.

From-SVN: r138409

16 years agosem_ch10.adb (Build_Unit_Name): If the unit name in a with_clause has the form A...
Ed Schonberg [Thu, 31 Jul 2008 13:31:37 +0000 (15:31 +0200)]
sem_ch10.adb (Build_Unit_Name): If the unit name in a with_clause has the form A.B.C and B is a unit renaming...

2008-07-31  Ed Schonberg  <schonberg@adacore.com>

* sem_ch10.adb (Build_Unit_Name): If the unit name in a with_clause
has the form A.B.C and B is a unit renaming, analyze its compilation
unit and add a with_clause on A.b to the context.

From-SVN: r138408

16 years ago2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
Hristian Kirtchev [Thu, 31 Jul 2008 13:27:47 +0000 (15:27 +0200)]
2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>

* bindgen.adb Comment reformatting. Update the list of run-time globals.
(Gen_Adainit_Ada): Add the declaration, import and value set for
configuration flag Canonical_Streams.
(Gen_Adainit_C): Add the declaration and initial value of external
symbol __gl_canonical_streams.

* init.c: Update the list of global values computed by the binder.

* opt.ads: Add flag Canonical_Streams.

* par-prag.adb (Prag): Include Pragma_Canonical_Streams to the list of
semantically handled pragmas.

* sem_prag.adb: Add an entry into enumeration type Sig_Flags.
(Analyze_Pragma): Add case for pragma Canonical_Streams.

* snames.adb: Add character value for name Canonical_Streams.

* snames.ads:
Add Name_Canonical_Streams to the list of configuration pragmas.
Add Pragma_Canonical_Streams to enumeration type Pragma_Id.

* snames.h: Add a definition for Pragma_Canonical_Streams.

* s-ststop.adb:
Add a flag and import to seize the value of external symbol
__gl_canonical_streams. Update comment and initial value of constant
Use_Block_IO.

* gnat_rm.texi: Add section of pragma Canonical_Streams.

* gnat_ugn.texi:
Add pragma Canonical_Streams to the list of configuration pragmas.

From-SVN: r138407

16 years agosem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the corresponding...
Hristian Kirtchev [Thu, 31 Jul 2008 13:26:40 +0000 (15:26 +0200)]
sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the corresponding spec is a primitive wrapper.

2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the
corresponding spec is a primitive wrapper. Update comment.

From-SVN: r138406

16 years ago2008-07-31 Quentin Ochem <ochem@adacore.com>
Quentin Ochem [Thu, 31 Jul 2008 13:26:20 +0000 (15:26 +0200)]
2008-07-31  Quentin Ochem  <ochem@adacore.com>

* s-stausa.ad? (Fill_Stack): Stack_Used_When_Filling is now stored
anymore - just used internally.
Added handling of very small tasks - when the theoretical size is
already full at the point of the call.
(Report_Result): Fixed result computation, Stack_Used_When_Filling does
not need to be added to the result.

From-SVN: r138405

16 years agosem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to handle synchroni...
Javier Miranda [Thu, 31 Jul 2008 13:25:48 +0000 (15:25 +0200)]
sem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to handle synchronized types.

2008-07-31  Javier Miranda  <miranda@adacore.com>

* sem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to
handle synchronized types. Required to handle well the object.operation
notation applied to synchronized types.

From-SVN: r138404

16 years ago* gnat.dg/specs/sync_iface_test.ads: New test.
Arnaud Charlet [Thu, 31 Jul 2008 12:49:43 +0000 (12:49 +0000)]
* gnat.dg/specs/sync_iface_test.ads: New test.

From-SVN: r138402

16 years agoResync.
Arnaud Charlet [Thu, 31 Jul 2008 12:47:08 +0000 (14:47 +0200)]
Resync.

From-SVN: r138401

16 years agosem_type.adb (Has_Compatible_Type): Complete support for synchronized types when...
Javier Miranda [Thu, 31 Jul 2008 12:46:35 +0000 (14:46 +0200)]
sem_type.adb (Has_Compatible_Type): Complete support for synchronized types when...

2008-07-31  Javier Miranda  <miranda@adacore.com>

* sem_type.adb (Has_Compatible_Type): Complete support for synchronized
types when the candidate type is a synchronized type.

* sem_res.adb (Resolve_Actuals): Reorganize code handling synchronized
types, and complete management of synchronized types adding missing
code to handle formal that is a synchronized type.

* sem_ch4.adb (Try_Primitive_Operation): Avoid testing attributes that
are not available and cause the compiler to blowup. Found compiling
test with switch -gnatc

* sem_ch6.adb (Check_Synchronized_Overriding): Remove local subprogram
Has_Correct_Formal_Mode plus code cleanup.

From-SVN: r138400

16 years agochecks.ads (Apply_Accessibility_Check): Add parameter Insert_Node.
Gary Dismukes [Thu, 31 Jul 2008 12:46:23 +0000 (14:46 +0200)]
checks.ads (Apply_Accessibility_Check): Add parameter Insert_Node.

2008-07-31  Gary Dismukes  <dismukes@adacore.com>

* checks.ads (Apply_Accessibility_Check): Add parameter Insert_Node.

* checks.adb (Apply_Accessibility_Check): Insert the check on
Insert_Node.

* exp_attr.adb:
(Expand_N_Attribute_Refernce, Attribute_Access): Pass attribute node
to new parameter Insert_Node on call to Apply_Accessibility_Check.
Necessary to distinguish the insertion node because the dereferenced
formal may come from a rename, but the check must be inserted in
front of the attribute.

* exp_ch4.adb:
(Expand_N_Allocator): Pass actual for new Insert_Node parameter on
call to Apply_Accessibility_Check.
(Expand_N_Type_Conversion): Pass actual for new Insert_Node parameter
on call to Apply_Accessibility_Check.
Minor reformatting

From-SVN: r138399

16 years agomakeutl.adb (Executable_Prefix_Path): If Locate_Exec_On_Path fails...
Vincent Celier [Thu, 31 Jul 2008 12:46:11 +0000 (14:46 +0200)]
makeutl.adb (Executable_Prefix_Path): If Locate_Exec_On_Path fails...

2008-07-31  Vincent Celier  <celier@adacore.com>

* makeutl.adb (Executable_Prefix_Path): If Locate_Exec_On_Path fails,
return the empty string, instead of raising Constraint_Error.

From-SVN: r138398

16 years agopr16660-1.c: Include "check.h".
H.J. Lu [Thu, 31 Jul 2008 12:43:34 +0000 (12:43 +0000)]
pr16660-1.c: Include "check.h".

2008-07-31  H.J. Lu  <hongjiu.lu@intel.com>

* gcc.dg/torture/stackalign/pr16660-1.c: Include "check.h".
(f): Align to 64 byte.  Use check instead of asm statement.

From-SVN: r138397

16 years agoResync.
Arnaud Charlet [Thu, 31 Jul 2008 12:41:23 +0000 (14:41 +0200)]
Resync.

From-SVN: r138396

16 years agoResync.
Arnaud Charlet [Thu, 31 Jul 2008 12:40:15 +0000 (14:40 +0200)]
Resync.

From-SVN: r138395

16 years agoprj-part.adb, [...]: Move back spec of Parse_Single_Project to body...
Vincent Celier [Thu, 31 Jul 2008 12:37:42 +0000 (14:37 +0200)]
prj-part.adb, [...]: Move back spec of Parse_Single_Project to body...

2008-07-31  Vincent Celier  <celier@adacore.com>

* prj-part.adb, prj-part.ads, prj.adb, prj.ads, prj-env.adb:
Move back spec of Parse_Single_Project to body, as it is not called
outside of package Prj.Part.
(Project_Data): Remove components Linker_Name, Linker_Path and
Minimum_Linker_Options as they are no longer set.
Remove function There_Are_Ada_Sources from package Prj and move code
in the only place it was used, in Prj.Env.Set_Ada_Paths.

From-SVN: r138394

16 years agoexp_aggr.adb (Aggr_Size_OK): If the aggregate has a single component and the context...
Ed Schonberg [Thu, 31 Jul 2008 12:37:33 +0000 (14:37 +0200)]
exp_aggr.adb (Aggr_Size_OK): If the aggregate has a single component and the context is an object...

2008-07-31  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Aggr_Size_OK): If the aggregate has a single component
and the context is an object declaration with non-static bounds, treat
the aggregate as non-static.

From-SVN: r138393

16 years agotbuild.ads: Fix several occurrences of incorrectly referring to Name_Find as Find_Name.
Thomas Quinot [Thu, 31 Jul 2008 12:37:24 +0000 (14:37 +0200)]
tbuild.ads: Fix several occurrences of incorrectly referring to Name_Find as Find_Name.

2008-07-31  Thomas Quinot  <quinot@adacore.com>

* tbuild.ads: Fix several occurrences of incorrectly referring to
Name_Find as Find_Name.

From-SVN: r138392

16 years agoexp_ch9.adb: Minor reformatting
Thomas Quinot [Thu, 31 Jul 2008 12:37:14 +0000 (14:37 +0200)]
exp_ch9.adb: Minor reformatting

2008-07-31  Thomas Quinot  <quinot@adacore.com>

* exp_ch9.adb: Minor reformatting

From-SVN: r138391

16 years agosinput.adb (Skip_Line_Terminators): Fix handling of LF/CR -- it was recognized as...
Bob Duff [Thu, 31 Jul 2008 12:37:04 +0000 (14:37 +0200)]
sinput.adb (Skip_Line_Terminators): Fix handling of LF/CR -- it was recognized as two end-of-lines...

2008-07-31  Bob Duff  <duff@adacore.com>

* sinput.adb (Skip_Line_Terminators): Fix handling of LF/CR -- it was
recognized as two end-of-lines, but it should be just one.

From-SVN: r138390

16 years ago* gnat.dg/missing_acc_check.adb: New test.
Arnaud Charlet [Thu, 31 Jul 2008 12:31:12 +0000 (12:31 +0000)]
* gnat.dg/missing_acc_check.adb: New test.

From-SVN: r138389

16 years agoexp_attr.adb (Enclosing_Object): New function local to handling of access attributes...
Gary Dismukes [Thu, 31 Jul 2008 11:04:10 +0000 (13:04 +0200)]
exp_attr.adb (Enclosing_Object): New function local to handling of access attributes...

2008-07-31  Gary Dismukes  <dismukes@adacore.com>

* exp_attr.adb (Enclosing_Object): New function local to handling of
access attributes,
for retrieving the innermost enclosing object prefix of a compound name.
(Expand_N_Attribute_Reference, N_Attribute_Access): In the case where an
Access attribute has a prefix that is a dereference of an access
parameter (or the prefix is a subcomponent selected from such a
dereference), apply an accessibility check to the access parameter.
Replaces code that rewrote the prefix as a type conversion (and that
didn't handle subcomponent cases).
Also, this is now only applied in the case of 'Access.

* exp_ch6.adb (Expand_Call): Add handling for the case of an access
discriminant passed as an actual to an access formal, passing the
Object_Access_Level of the object containing the access discriminant.

From-SVN: r138388

16 years ago2008-07-31 Vincent Celier <celier@adacore.com>
Vincent Celier [Thu, 31 Jul 2008 11:04:00 +0000 (13:04 +0200)]
2008-07-31  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb:
(Record_Ada_Source): Do not set Data.Sources, component has been removed

* prj.adb: Remove component Sources in record Project_Data

* prj.ads: Remove component Sources in record Project_Data

* sinput.ads, prj-util.ads: Minor reformatting

From-SVN: r138387

16 years agoexp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use Insert_Actions...
Ed Schonberg [Thu, 31 Jul 2008 10:27:42 +0000 (12:27 +0200)]
exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use Insert_Actions to place the pointer declaration in the code...

2008-07-31  Ed Schonberg  <schonberg@adacore.com>

* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use
Insert_Actions to place the pointer declaration in the code, rather
than Insert_Before_And_Analyze, so that insertions of temporaries are
kept in the proper order when transient scopes are present.

From-SVN: r138386

16 years agoprj-nmsc.adb (Check_Library_Attributes): Check if Linker'Switches or Linker'Default_S...
Vincent Celier [Thu, 31 Jul 2008 10:27:30 +0000 (12:27 +0200)]
prj-nmsc.adb (Check_Library_Attributes): Check if Linker'Switches or Linker'Default_Switches are declared.

2008-07-31  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb (Check_Library_Attributes): Check if Linker'Switches or
Linker'Default_Switches are declared. Warn if they are declared.

From-SVN: r138385

16 years agoarit64.c: New file implementing __gnat_mulv64 signed integer multiplication with...
Geert Bosch [Thu, 31 Jul 2008 10:27:20 +0000 (12:27 +0200)]
arit64.c: New file implementing __gnat_mulv64 signed integer multiplication with overflow...

2008-07-31  Geert Bosch  <bosch@adacore.com>

* arit64.c:
New file implementing __gnat_mulv64 signed integer multiplication with
overflow checking

* fe.h (Backend_Overflow_Checks_On_Target): Define for use by Gigi

* gcc-interface/gigi.h:
(standard_types): Add ADT_mulv64_decl
(mulv64_decl): Define subprogram declaration for __gnat_mulv64

* gcc-interface/utils.c:
(init_gigi_decls): Add initialization of mulv64_decl

* gcc-interface/trans.c:
(build_unary_op_trapv): New function
(build_binary_op_trapv): New function
(gnat_to_gnu): Use the above functions instead of
build_{unary,binary}_op

* gcc-interface/Makefile.in
(LIBGNAT_SRCS): Add arit64.c
(LIBGNAT_OBJS): Add arit64.o

From-SVN: r138384

16 years agoexp_attr.adb (Find_Stream_Subprogram): Check the base type instead of the type when...
Hristian Kirtchev [Thu, 31 Jul 2008 10:27:04 +0000 (12:27 +0200)]
exp_attr.adb (Find_Stream_Subprogram): Check the base type instead of the type when...

2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_attr.adb (Find_Stream_Subprogram): Check the base type instead
of the type when looking for stream subprograms for type String,
Wide_String and Wide_Wide_String.

* s-ststop.adb: Change the initialization expression of constant
Use_Block_IO.

From-SVN: r138383

16 years agos-direio.adb (Reset): Replace pragma Unmodified by Warnings (Off)...
Arnaud Charlet [Thu, 31 Jul 2008 10:26:43 +0000 (12:26 +0200)]
s-direio.adb (Reset): Replace pragma Unmodified by Warnings (Off)...

* s-direio.adb (Reset): Replace pragma Unmodified by Warnings (Off),
so that we can compile this file successfully with -gnatc.

From-SVN: r138382

16 years agos-regexp.ads: Minor comment fix
Vincent Celier [Thu, 31 Jul 2008 10:26:12 +0000 (12:26 +0200)]
s-regexp.ads: Minor comment fix

2008-07-31  Vincent Celier  <celier@adacore.com>

* s-regexp.ads: Minor comment fix

From-SVN: r138381

16 years agos-finimp.ads: Minor reformatting.
Pascal Obry [Thu, 31 Jul 2008 10:26:05 +0000 (12:26 +0200)]
s-finimp.ads: Minor reformatting.

2008-07-31  Pascal Obry  <obry@adacore.com>

* s-finimp.ads: Minor reformatting.

From-SVN: r138380

16 years agog-pehage.adb: Minor reformatting
Thomas Quinot [Thu, 31 Jul 2008 10:25:50 +0000 (12:25 +0200)]
g-pehage.adb: Minor reformatting

2008-07-31  Thomas Quinot  <quinot@adacore.com>

* g-pehage.adb: Minor reformatting

From-SVN: r138379

16 years agognat_ugn.texi: Change the description of the Overly_Nested_Control_Structures...
Sergey Rybin [Thu, 31 Jul 2008 10:25:35 +0000 (12:25 +0200)]
gnat_ugn.texi: Change the description of the Overly_Nested_Control_Structures...

2008-07-31  Sergey Rybin  <rybin@adacore.com>

* gnat_ugn.texi: Change the description of the
Overly_Nested_Control_Structures: now the rule always requires a
positive parameter for '+R' option

From-SVN: r138378

16 years agosem_ch12.adb: Minor reformatting
Robert Dewar [Thu, 31 Jul 2008 10:25:14 +0000 (12:25 +0200)]
sem_ch12.adb: Minor reformatting

2008-07-31  Robert Dewar  <dewar@adacore.com>

* sem_ch12.adb: Minor reformatting

From-SVN: r138377

16 years agopasses.c (init_optimization_passes): Always call pass_early_warn_uninitialized.
Richard Guenther [Thu, 31 Jul 2008 10:25:11 +0000 (10:25 +0000)]
passes.c (init_optimization_passes): Always call pass_early_warn_uninitialized.

2008-07-31  Richard Guenther  <rguenther@suse.de>

* passes.c (init_optimization_passes): Always call
pass_early_warn_uninitialized.
* opts.c (decode_options): Do not warn about -Wuninitialized
at -O0.
* doc/invoke.texi (-Wuninitialized): Correct for enabling at -O0.
* doc/passes.texi (Warn for uninitialized variables): Adjust.

* gcc.dg/uninit-1-O0.c: New testcase.
* gcc.dg/uninit-2-O0.c: Likewise.
* gcc.dg/uninit-3-O0.c: Likewise.
* gcc.dg/uninit-4-O0.c: Likewise.
* gcc.dg/uninit-5-O0.c: Likewise.
* gcc.dg/uninit-6-O0.c: Likewise.
* gcc.dg/uninit-8-O0.c: Likewise.
* gcc.dg/uninit-9-O0.c: Likewise.
* gcc.dg/uninit-A-O0.c: Likewise.
* gcc.dg/uninit-B-O0.c: Likewise.
* gcc.dg/uninit-C-O0.c: Likewise.
* gcc.dg/uninit-D-O0.c: Likewise.
* gcc.dg/uninit-E-O0.c: Likewise.
* gcc.dg/uninit-F-O0.c: Likewise.
* gcc.dg/uninit-G-O0.c: Likewise.
* gcc.dg/uninit-H-O0.c: Likewise.
* gcc.dg/uninit-I-O0.c: Likewise.
* gcc.dg/uninit-10-O0.c: Likewise.
* gcc.dg/uninit-11-O0.c: Likewise.
* gcc.dg/uninit-12-O0.c: Likewise.
* gcc.dg/uninit-13-O0.c: Likewise.
* gcc.dg/uninit-14-O0.c: Likewise.
* gcc.dg/uninit-15-O0.c: Likewise.
* gcc.dg/Wall.c: Avoid uninitialized warning.
* gcc.dg/Wno-all.c: Likewise.
* gcc.dg/pr3074-1.c: Likewise.

From-SVN: r138376

16 years ago* mlib-utl.ads: Fix typo.
Arnaud Charlet [Thu, 31 Jul 2008 10:25:05 +0000 (12:25 +0200)]
* mlib-utl.ads: Fix typo.

From-SVN: r138375

16 years ago* gnat.dg/specs/genericppc.ads: New test
Arnaud Charlet [Thu, 31 Jul 2008 09:46:03 +0000 (09:46 +0000)]
* gnat.dg/specs/genericppc.ads: New test

From-SVN: r138374

16 years agoResync
Arnaud Charlet [Thu, 31 Jul 2008 09:43:09 +0000 (11:43 +0200)]
Resync

From-SVN: r138373

16 years agosem_ch6.adb (Analyze_Generic_Subprogram_Body): After analysis...
Ed Schonberg [Thu, 31 Jul 2008 09:42:51 +0000 (11:42 +0200)]
sem_ch6.adb (Analyze_Generic_Subprogram_Body): After analysis...

2008-07-31  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Generic_Subprogram_Body): After analysis,
transfer pre/postconditions from generic copy to original tree, so that
they will appear in each instance.
(Process_PPCs): Do not transform postconditions into a procedure in a
generic context, to prevent double expansion of check pragmas.

* sem_attr.adb: In an instance, the prefix of the 'result attribute
can be the renaming of the
current instance, so check validity of the name accordingly.

From-SVN: r138372

16 years agos-os_lib.adb: Minor comment fix
Vincent Celier [Thu, 31 Jul 2008 09:42:39 +0000 (11:42 +0200)]
s-os_lib.adb: Minor comment fix

2008-07-31  Vincent Celier  <celier@adacore.com>

* s-os_lib.adb: Minor comment fix

From-SVN: r138371

16 years agoeinfo.adb (Spec_PPC): Now defined for generic subprograms
Robert Dewar [Thu, 31 Jul 2008 09:42:14 +0000 (11:42 +0200)]
einfo.adb (Spec_PPC): Now defined for generic subprograms

2008-07-31  Robert Dewar  <dewar@adacore.com>

* einfo.adb (Spec_PPC): Now defined for generic subprograms

* einfo.ads (Spec_PPC): Now defined for generic subprograms

* sem_prag.adb (Check_Precondition_Postcondition): Handle generic
subprogram case

From-SVN: r138370

16 years agoResync
Arnaud Charlet [Thu, 31 Jul 2008 08:30:58 +0000 (10:30 +0200)]
Resync

From-SVN: r138367

16 years agognat_ugn.texi: Update -gnatN documentation.
Robert Dewar [Thu, 31 Jul 2008 08:19:24 +0000 (10:19 +0200)]
gnat_ugn.texi: Update -gnatN documentation.

2008-07-31  Robert Dewar  <dewar@adacore.com>

* gnat_ugn.texi: Update -gnatN documentation.

* gnat_rm.texi: Add note about pre/postcondition
pragmas not checked in conjunction with front-end inlining.

From-SVN: r138366

16 years agoprj.adb, [...]: Remove declarations that were for gprmake only
Vincent Celier [Thu, 31 Jul 2008 08:18:53 +0000 (10:18 +0200)]
prj.adb, [...]: Remove declarations that were for gprmake only

2008-07-31  Vincent Celier  <celier@adacore.com>

* prj.adb, clean.adb, prj-nmsc.adb, prj.ads: Remove declarations that
were for gprmake only

From-SVN: r138365

16 years agosem_attr.adb: 'Result can have an ambiguous prefix, and is resolved from context.
Ed Schonberg [Thu, 31 Jul 2008 08:17:31 +0000 (10:17 +0200)]
sem_attr.adb: 'Result can have an ambiguous prefix, and is resolved from context.

2008-07-31  Ed Schonberg  <schonberg@adacore.com>

sem_attr.adb: 'Result can have an ambiguous prefix, and is resolved
from context. This attribute must be usable in Ada95 mode.
The attribute can appear in the body of a function marked
Inline_Always, but in this case the postocondition is not enforced.

sem_prag.adb (Check_Precondition_Postcondition): within the expansion
of an inlined call pre- and postconditions are legal

From-SVN: r138364

16 years agomlib-utl.ads: Minor reformatting
Robert Dewar [Thu, 31 Jul 2008 08:17:03 +0000 (10:17 +0200)]
mlib-utl.ads: Minor reformatting

2008-07-31  Robert Dewar  <dewar@adacore.com>

* mlib-utl.ads: Minor reformatting

From-SVN: r138363

16 years agore PR c/36970 (GCC should display a warning when trying to free a static array)
Jakub Jelinek [Thu, 31 Jul 2008 08:02:49 +0000 (10:02 +0200)]
re PR c/36970 (GCC should display a warning when trying to free a static array)

PR c/36970
* builtins.c (maybe_emit_free_warning): New function.
(expand_builtin): Process BUILT_IN_FREE even at -O0.  Call
maybe_emit_free_warning for BUILT_IN_FREE.

* gcc.dg/free-1.c: New test.
* gcc.dg/free-2.c: New test.

From-SVN: r138362

16 years agore PR debug/36278 (ICE with typedef void in namespace and using the defined type...
Jakub Jelinek [Thu, 31 Jul 2008 08:01:25 +0000 (10:01 +0200)]
re PR debug/36278 (ICE with typedef void in namespace and using the defined type in another when compiling with "-g")

PR debug/36278
* dwarf2out.c (get_context_die): New function.
(force_decl_die, force_type_die): Use it.
(dwarf2out_imported_module_or_decl): Likewise.  If base_type_die
returns NULL, force generation of DW_TAG_typedef and put that into
DW_AT_import.

* g++.dg/debug/namespace2.C: New test.

From-SVN: r138361

16 years agore PR preprocessor/36649 (-H option doesn't work as expected)
Jakub Jelinek [Thu, 31 Jul 2008 07:59:18 +0000 (09:59 +0200)]
re PR preprocessor/36649 (-H option doesn't work as expected)

PR preprocessor/36649
* c-pch.c (c_common_read_pch): Save and restore
line_table->trace_includes across PCH restore.

* gcc.dg/pch/cpp-3.c: New test.
* gcc.dg/pch/cpp-3.hs: New file.
* gcc.dg/pch/cpp-3a.h: New file.
* gcc.dg/pch/cpp-3b.h: New file.

From-SVN: r138360

16 years agoResync
Arnaud Charlet [Thu, 31 Jul 2008 07:52:12 +0000 (09:52 +0200)]
Resync

From-SVN: r138358

16 years ago* mlib-utl.ads, prj-makr.ads: Add comments.
Arnaud Charlet [Thu, 31 Jul 2008 07:51:44 +0000 (09:51 +0200)]
* mlib-utl.ads, prj-makr.ads: Add comments.

From-SVN: r138357

16 years agog-pehage.adb, [...]: Minor reformatting
Robert Dewar [Thu, 31 Jul 2008 07:51:32 +0000 (09:51 +0200)]
g-pehage.adb, [...]: Minor reformatting

2008-07-31  Robert Dewar  <dewar@adacore.com>

* g-pehage.adb, g-pehage.ads: Minor reformatting

From-SVN: r138356

16 years agore PR c++/11309 (Testsuite failures in g++.dg/expr/anew1.C (and anew2.C anew3.C anew4.c))
Jason Merrill [Thu, 31 Jul 2008 05:07:10 +0000 (01:07 -0400)]
re PR c++/11309 (Testsuite failures in g++.dg/expr/anew1.C (and anew2.C anew3.C anew4.c))

        PR c++/11309
        * tree.c (build_aggr_init_expr): Split out...
        (build_cplus_new): ...from here.
        (stabilize_init): Don't mess with AGGR_INIT_EXPR either.
        * init.c (build_new_1): new T() means value-initialization,
        not default-initialization.
        (build_vec_init): Likewise.
        (build_value_init_1): Use build_aggr_init_expr.

From-SVN: r138355

16 years agoMakefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Add s-winext.o.
Aaron W. LaFramboise [Thu, 31 Jul 2008 00:18:07 +0000 (18:18 -0600)]
Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Add s-winext.o.

2008-07-30  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>

* Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) [WINDOWS]: Add
s-winext.o.

From-SVN: r138353

16 years agoDaily bump.
GCC Administrator [Thu, 31 Jul 2008 00:16:40 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r138351

16 years agore PR ada/36554 (verify_flow_info ICE can not throw but has EH edges)
Eric Botcazou [Wed, 30 Jul 2008 23:54:56 +0000 (23:54 +0000)]
re PR ada/36554 (verify_flow_info ICE can not throw but has EH edges)

        PR ada/36554
        * dwarf2out.c (is_subrange_type): Deal with BOOLEAN_TYPE.
ada/
        * back_end.adb (Call_Back_End): Pass Standard_Boolean to gigi.
        * gcc-interface/gigi.h (gigi): Take new standard_boolean parameter.
        * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>:
        Set precision to 1 for subtype of BOOLEAN_TYPE.
        (set_rm_size): Set TYPE_RM_SIZE_NUM for BOOLEAN_TYPE.
        (make_type_from_size): Deal with BOOLEAN_TYPE.
        * gcc-interface/misc.c (gnat_print_type): Likewise.
        * gcc-interface/trans.c (gigi): Take new standard_boolean parameter.
        Set boolean_type_node as its translation in the table, as well
        as boolean_false_node for False and boolean_true_node for True.
        * gcc-interface/utils.c (gnat_init_decl_processing): Create custom
        8-bit boolean_type_node and set its TYPE_RM_SIZE_NUM.
        (create_param_decl): Deal with BOOLEAN_TYPE.
        (build_vms_descriptor): Likewise.
        (build_vms_descriptor64): Likewise.
        (convert): Deal with BOOLEAN_TYPE like with ENUMERAL_TYPE.

From-SVN: r138348

16 years agore PR bootstrap/36974 (Gcc failed to bootstrap)
Rafael Avila de Espindola [Wed, 30 Jul 2008 23:23:33 +0000 (23:23 +0000)]
re PR bootstrap/36974 (Gcc failed to bootstrap)

2008-07-30  Rafael Avila de Espindola  <espindola@google.com>

PR 36974
* final.c (call_from_call_insn): Handle COND_EXEC

From-SVN: r138347

16 years agobuiltins.c (std_gimplify_va_arg_expr): Replace PREFERRED_STACK_BOUNDARY with MAX_SUPP...
H.J. Lu [Wed, 30 Jul 2008 20:19:53 +0000 (20:19 +0000)]
builtins.c (std_gimplify_va_arg_expr): Replace PREFERRED_STACK_BOUNDARY with MAX_SUPPORTED_STACK_ALIGNMENT.

2008-07-30  H.J. Lu  <hongjiu.lu@intel.com>

* builtins.c (std_gimplify_va_arg_expr): Replace
PREFERRED_STACK_BOUNDARY with MAX_SUPPORTED_STACK_ALIGNMENT.
* config/i386/i386.c (ix86_gimplify_va_arg): Likewise.

From-SVN: r138340

16 years agofunc-vararg-alternate-d128-2.c: New.
H.J. Lu [Wed, 30 Jul 2008 19:24:02 +0000 (19:24 +0000)]
func-vararg-alternate-d128-2.c: New.

2008-07-30  H.J. Lu  <hongjiu.lu@intel.com>
    Joey Ye  <joey.ye@intel.com>

* gcc.dg/dfp/func-vararg-alternate-d128-2.c: New.
* gcc.dg/dfp/func-vararg-mixed-2.c: Likewise.
* gcc.dg/torture/stackalign/alloca-1.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-1.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-2.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-3.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-4.c: Likewise.
* gcc.dg/torture/stackalign/builtin-return-1.c: Likewise.
* gcc.dg/torture/stackalign/check.h: Likewise.
* gcc.dg/torture/stackalign/comp-goto-1.c: Likewise.
* gcc.dg/torture/stackalign/fastcall-1.c: Likewise.
* gcc.dg/torture/stackalign/global-1.c: Likewise.
* gcc.dg/torture/stackalign/inline-1.c: Likewise.
* gcc.dg/torture/stackalign/inline-2.c: Likewise.
* gcc.dg/torture/stackalign/nested-1.c: Likewise.
* gcc.dg/torture/stackalign/nested-2.c: Likewise.
* gcc.dg/torture/stackalign/nested-3.c: Likewise.
* gcc.dg/torture/stackalign/nested-4.c: Likewise.
* gcc.dg/torture/stackalign/nested-5.c: Likewise.
* gcc.dg/torture/stackalign/nested-6.c: Likewise.
* gcc.dg/torture/stackalign/non-local-goto-1.c: Likewise.
* gcc.dg/torture/stackalign/non-local-goto-2.c: Likewise.
* gcc.dg/torture/stackalign/non-local-goto-3.c: Likewise.
* gcc.dg/torture/stackalign/non-local-goto-4.c: Likewise.
* gcc.dg/torture/stackalign/non-local-goto-5.c: Likewise.
* gcc.dg/torture/stackalign/pr16660-1.c: Likewise.
* gcc.dg/torture/stackalign/pr16660-2.c: Likewise.
* gcc.dg/torture/stackalign/pr16660-3.c: Likewise.
* gcc.dg/torture/stackalign/regparm-1.c: Likewise.
* gcc.dg/torture/stackalign/ret-struct-1.c: Likewise.
* gcc.dg/torture/stackalign/setjmp-1.c: Likewise.
* gcc.dg/torture/stackalign/setjmp-2.c: Likewise.
* gcc.dg/torture/stackalign/setjmp-3.c: Likewise.
* gcc.dg/torture/stackalign/setjmp-4.c: Likewise.
* gcc.dg/torture/stackalign/sibcall-1.c: Likewise.
* gcc.dg/torture/stackalign/stackalign.exp: Likewise.
* gcc.dg/torture/stackalign/struct-1.c: Likewise.
* gcc.dg/torture/stackalign/vararg-1.c: Likewise.
* gcc.dg/torture/stackalign/vararg-2.c: Likewise.
* gcc.target/i386/align-main-1.c: Likewise.
* gcc.target/i386/align-main-2.c: Likewise.
* gcc.target/i386/pr32000-2.c: Likewise.
* gcc.target/i386/stackalign/asm-1.c: Likewise.
* gcc.target/i386/stackalign/return-1.c: Likewise.
* gcc.target/i386/stackalign/return-2.c: Likewise.
* gcc.target/i386/stackalign/return-3.c: Likewise.
* gcc.target/i386/stackalign/return-4.c: Likewise.
* gcc.target/i386/stackalign/return-5.c: Likewise.
* gcc.target/i386/stackalign/return-6.c: Likewise.
* gcc.target/i386/stackalign/stackalign.exp: Likewise.
* g++.dg/torture/stackalign/check.h: Likewise.
* g++.dg/torture/stackalign/eh-alloca-1.C: Likewise.
* g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise.
* g++.dg/torture/stackalign/eh-global-1.C: Likewise.
* g++.dg/torture/stackalign/eh-inline-1.C: Likewise.
* g++.dg/torture/stackalign/eh-inline-2.C: Likewise.
* g++.dg/torture/stackalign/eh-vararg-1.C: Likewise.
* g++.dg/torture/stackalign/eh-vararg-2.C: Likewise.
* g++.dg/torture/stackalign/stackalign.exp: Likewise.
* g++.dg/torture/stackalign/stdcall-1.C: Likewise.
* g++.dg/torture/stackalign/test-unwind.h: Likewise.
* g++.dg/torture/stackalign/throw-1.C: Likewise.
* g++.dg/torture/stackalign/throw-2.C: Likewise.
* g++.dg/torture/stackalign/throw-3.C: Likewise.
* g++.dg/torture/stackalign/throw-4.C: Likewise.
* g++.dg/torture/stackalign/unwind-0.C: Likewise.
* g++.dg/torture/stackalign/unwind-1.C: Likewise.
* g++.dg/torture/stackalign/unwind-2.C: Likewise.
* g++.dg/torture/stackalign/unwind-3.C: Likewise.
* g++.dg/torture/stackalign/unwind-4.C: Likewise.
* g++.dg/torture/stackalign/unwind-5.C: Likewise.
* g++.dg/torture/stackalign/unwind-6.C: Likewise.

* gcc.target/i386/20060512-1.c: Add -mpreferred-stack-boundary=4.
(main): Move "popl" after check.
* gcc.target/i386/20060512-3.c: Likewise.

* gcc.target/i386/20060512-2.c: Add -mpreferred-stack-boundary=4.
Remove dg-error.

* gcc.target/i386/20060512-4.c: Add -mpreferred-stack-boundary=4.
Remove dg-warning.

* lib/target-supports.exp (check_effective_target_unaligned_stack):
Always return 0.
(check_effective_target_automatic_stack_alignment): New.

Co-Authored-By: Joey Ye <joey.ye@intel.com>
From-SVN: r138336

16 years ago[multiple changes]
H.J. Lu [Wed, 30 Jul 2008 19:20:43 +0000 (12:20 -0700)]
[multiple changes]

2008-07-30  Joey Ye  <joey.ye@intel.com>
    H.J. Lu  <hongjiu.lu@intel.com>

* builtins.c (expand_builtin_setjmp_receiver): Replace
virtual_incoming_args_rtx with crtl->args.internal_arg_pointer.
(expand_builtin_apply_args_1): Likewise.
(expand_builtin_longjmp): Need DRAP for stack alignment.
(expand_builtin_apply): Likewise.

* caller-save.c (setup_save_areas): Call assign_stack_local_1
instead of assign_stack_local to allow alignment reduction.

* calls.c (emit_call_1): Need DRAP for stack alignment if
return pops.
(expand_call): Replace virtual_incoming_args_rtx with
crtl->args.internal_arg_pointer.
* stmt.c (expand_nl_goto_receiver): Likewise.

* cfgexpand.c (get_decl_align_unit): Estimate stack variable
alignment and store to stack_alignment_estimated and
max_used_stack_slot_alignment.
(expand_one_var): Likewise.
(expand_stack_alignment): New function.
(tree_expand_cfg): Initialize max_used_stack_slot_alignment
and stack_alignment_estimated fields in rtl_data.  Call
expand_stack_alignment at end.

* defaults.h (INCOMING_STACK_BOUNDARY): New.
(MAX_STACK_ALIGNMENT): Likewise.
(MAX_SUPPORTED_STACK_ALIGNMENT): Likewise.
(SUPPORTS_STACK_ALIGNMENT): Likewise.

* emit-rtl.c (gen_reg_rtx): Estimate stack alignment for
stack alignment when generating virtual registers.

* function.c (assign_stack_local): Renamed to ...
(assign_stack_local_1): This.  Add a parameter to indicate
if it is OK to reduce alignment.
(assign_stack_local): Use it.
(instantiate_new_reg): Instantiate virtual incoming args rtx
to vDRAP if stack realignment and DRAP is needed.
(assign_parms): Collect parameter/return type alignment and
contribute to stack_alignment_estimated.
(locate_and_pad_parm): Likewise.
(get_arg_pointer_save_area): Replace virtual_incoming_args_rtx
with crtl->args.internal_arg_pointer.

* function.h (rtl_data): Add new field drap_reg,
max_used_stack_slot_alignment, stack_alignment_estimated,
stack_realign_needed, need_drap, stack_realign_processed and
stack_realign_finalized.
(stack_realign_fp): New macro.
(stack_realign_drap): Likewise.

* global.c (compute_regsets): Frame pointer is needed when
stack is realigned.  Can eliminate frame pointer when stack is
realigned and dynamic realigned argument pointer isn't used.

* reload1.c (update_eliminables):  Frame pointer is needed
when stack is realigned.
(init_elim_table): Can eliminate frame pointer when stack is
realigned and dynamic realigned argument pointer isn't used.

* rtl.h (assign_stack_local_1): Declare new funtion.

* target-def.h (TARGET_UPDATE_STACK_BOUNDARY): New.
(TARGET_GET_DRAP_RTX): Likewise.
(TARGET_CALLS): Add TARGET_UPDATE_STACK_BOUNDARY and
TARGET_GET_DRAP_RTX.

* target.h (gcc_target): Add update_stack_boundary and
get_drap_rtx.

* tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace
STACK_BOUNDARY with MAX_STACK_ALIGNMENT.

2008-07-30  Xuepeng Guo  <xuepeng.guo@intel.com>
    H.J. Lu  <hongjiu.lu@intel.com>

* dwarf2out.c (dw_fde_struct): Add stack_realignment, drap_reg,
vdrap_reg, stack_realign and drap_reg_saved.
(add_cfi): Don't allow redefining CFA when DRAP is used.
(reg_save): Handle stack alignment.
(dwarf2out_frame_debug_expr): Add rules 16-20 to handle stack
alignment.  Don't generate DWARF information for (set fp sp)
when DRAP is used.
(dwarf2out_begin_prologue): Initialize drap_reg and vdrap_reg
to INVALID_REGNUM.
(int_loc_descriptor): Move prototype forward.  Also define if
DWARF2_UNWIND_INFO is true.
(output_cfa_loc): Handle DW_CFA_expression.
(build_cfa_aligned_loc): New.
(based_loc_descr): Update assert for stack realign.  For local
variables, use sp+offset when stack is aligned without drap and
fp+offset when stack is aligned with drap.  For arguments, use
cfa+offset when drap is used to align stack.

2008-07-30  Joey Ye  <joey.ye@intel.com>
    H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (ix86_force_align_arg_pointer_string):
Break long line.
(ix86_gen_andsp): New.
(ix86_user_incoming_stack_boundary): Likewise.
(ix86_default_incoming_stack_boundary): Likewise.
(ix86_incoming_stack_boundary): Likewise.
(ix86_can_eliminate): Likewise.
(find_drap_reg): Likewise.
(ix86_update_stack_boundary): Likewise.
(ix86_get_drap_rtx): Likewise.
(ix86_finalize_stack_realign_flags): Likewise.
(TARGET_UPDATE_STACK_BOUNDARY): Likewise.
(TARGET_GET_DRAP_RTX): Likewise.
(override_options): Overide option value for new options.
(ix86_function_ok_for_sibcall): Remove check for
force_align_arg_pointer.
(ix86_handle_cconv_attribute): Likewise.
(ix86_function_regparm): Likewise.
(setup_incoming_varargs_64): Don't set stack_alignment_needed
here.
(ix86_va_start): Replace virtual_incoming_args_rtx with
crtl->args.internal_arg_pointer.
(ix86_select_alt_pic_regnum): Check DRAP register.
(ix86_save_reg): Replace force_align_arg_pointer with drap_reg.
(ix86_compute_frame_layout): Compute frame layout wrt stack
realignment.
(ix86_internal_arg_pointer): Just return
virtual_incoming_args_rtx.
(ix86_expand_prologue): Decide if stack realignment is needed
and generate prologue code accordingly.
(ix86_expand_epilogue): Generate epilogue code wrt stack
realignment is really needed or not.

* config/i386/i386.h (MAIN_STACK_BOUNDARY): New.
(ABI_STACK_BOUNDARY): Likewise.
(PREFERRED_STACK_BOUNDARY_DEFAULT): Likewise.
(STACK_REALIGN_DEFAULT): Likewise.
(INCOMING_STACK_BOUNDARY): Likewise.
(MAX_STACK_ALIGNMENT): Likewise.
(ix86_incoming_stack_boundary): Likewise.
(FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Removed.
(REAL_PIC_OFFSET_TABLE_REGNUM): Updated to use BX_REG.
(CAN_ELIMINATE): Defined with ix86_can_eliminate.
(machine_function): Remove force_align_arg_pointer.

* config/i386/i386.md (BX_REG): New.
(R13_REG): Likewise.

* config/i386/i386.opt (mforce_drap): New.
(mincoming-stack-boundary): Likewise.
(mstackrealign): Add Init(-1).

* config/i386/i386-protos.h (ix86_can_eliminate): New

2008-07-30  H.J. Lu  <hongjiu.lu@intel.com>

* doc/extend.texi: Update force_align_arg_pointer.

* doc/invoke.texi: Document -mincoming-stack-boundary.  Update
-mstackrealign.

* doc/tm.texi (MAX_STACK_ALIGNMENT): Add macro.
(INCOMING_STACK_BOUNDARY): Likewise.
(TARGET_UPDATE_STACK_BOUNDARY): New target hook.
(TARGET_GET_DRAP_RTX): Likewise.

From-SVN: r138335

16 years agore PR rtl-optimization/36929 (internal compiler error: Segmentation fault)
Andreas Schwab [Wed, 30 Jul 2008 18:22:50 +0000 (18:22 +0000)]
re PR rtl-optimization/36929 (internal compiler error: Segmentation fault)

PR rtl-optimization/36929
* dse.c (replace_inc_dec): Use emit_insn_before instead of
add_insn_before and fix argument order.
(replace_inc_dec_mem): Handle NULL rtx.

From-SVN: r138333

16 years agoResync.
Arnaud Charlet [Wed, 30 Jul 2008 17:39:56 +0000 (19:39 +0200)]
Resync.

From-SVN: r138332

16 years agog-pehage.adb: Remove a limitation on the length of the words handled by the minimal...
Laurent Pautet [Wed, 30 Jul 2008 17:38:55 +0000 (19:38 +0200)]
g-pehage.adb: Remove a limitation on the length of the words handled by the minimal perfect...

2008-07-30  Laurent Pautet  <pautet@adacore.com>

* g-pehage.adb:
Remove a limitation on the length of the words handled by the minimal
perfect hash function generator.

* g-pehage.ads:
Detail the use of subprograms Insert, Initialize, Compute and Finalize.
Fix some typos.

From-SVN: r138331

16 years agosem_ch8.adb: Minor reformatting
Robert Dewar [Wed, 30 Jul 2008 17:38:25 +0000 (19:38 +0200)]
sem_ch8.adb: Minor reformatting

2008-07-30  Robert Dewar  <dewar@adacore.com>

* sem_ch8.adb: Minor reformatting

From-SVN: r138330

16 years agoexp_util.ads (Find_Prim_Op): Document that Program_Error is raised if no primitive...
Robert Dewar [Wed, 30 Jul 2008 17:38:16 +0000 (19:38 +0200)]
exp_util.ads (Find_Prim_Op): Document that Program_Error is raised if no primitive operation is found.

2008-07-30  Robert Dewar  <dewar@adacore.com>

* exp_util.ads (Find_Prim_Op): Document that Program_Error is raised
if no primitive operation is found.

* exp_util.adb: (Find_Prim_Op): Add comments for previous change

From-SVN: r138329

16 years agoexp_ch9.adb: Minor reformatting
Robert Dewar [Wed, 30 Jul 2008 17:38:04 +0000 (19:38 +0200)]
exp_ch9.adb: Minor reformatting

2008-07-30  Robert Dewar  <dewar@adacore.com>

* exp_ch9.adb: Minor reformatting

From-SVN: r138328

16 years agoarm.c (arm_compute_static_chain_stack_bytes): New function.
Andrew Jenner [Wed, 30 Jul 2008 16:28:01 +0000 (16:28 +0000)]
arm.c (arm_compute_static_chain_stack_bytes): New function.

* config/arm/arm.c (arm_compute_static_chain_stack_bytes): New
function.
(arm_compute_initial_elimination_offset): Use it.
(arm_compute_save_reg_mask): Include static chain save slot when
calculating alignment.
(arm_get_frame_offsets): Ditto.
(thumb1_compute_save_reg_mask): Ensure we have a low register saved
that we can use to decrement the stack when the stack decrement
could be too big for an immediate value in a single insn.
(thumb1_expand_prologue): Avoid using r12 for stack decrement.

From-SVN: r138327

16 years agoResync.
Arnaud Charlet [Wed, 30 Jul 2008 15:56:34 +0000 (17:56 +0200)]
Resync.

From-SVN: r138325

16 years agoeinfo.adb: Flag245 is now used.
Hristian Kirtchev [Wed, 30 Jul 2008 15:53:21 +0000 (17:53 +0200)]
einfo.adb: Flag245 is now used.

2008-07-30  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb: Flag245 is now used.
(Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Relax the assertion
check to include functions.
(Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
(Wrapped_Entity, Set_Wrapped_Entity): Relax the assertion check to
include functions.
(Write_Entity_Flags): Move flag Is_Primitive, add Is_Private_Primitive
to the list of displayed flags.

* einfo.ads: Update comment on the usage of Is_Primitive_Wrapper and
Wrapped_Entity. These two flags are now present in functions.
New flag Is_Private_Primitive.
(Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.

* exp_ch9.adb:
(Build_Wrapper_Bodies): New subprogram.
(Build_Wrapper_Body): The spec and body have been moved to in
Build_Wrapper_ Bodies. Code cleanup.
(Build_Wrapper_Spec): Moved to the spec of Exp_Ch9. Code cleanup.
Wrappers are now generated for primitives declared between the private
and full view of a concurrent type that implements an interface.
(Build_Wrapper_Specs): New subprogram.
(Expand_N_Protected_Body): Code reformatting. Replace the wrapper body
creation mechanism with a call to Build_Wrapper_Bodies.
(Expand_N_Protected_Type_Declaration): Code reformatting. Replace the
wrapper spec creation mechanism with a call to Build_Wrapper_Specs.
(Expand_N_Task_Body): Replace the wrapper body creation
mechanism with a call to Build_Wrapper_Bodies.
(Expand_N_Task_Type_Declaration): Replace the wrapper spec
creation mechanism with a call to Build_Wrapper_Specs.
(Is_Private_Primitive_Subprogram): New subprogram.
(Overriding_Possible): Code cleanup.
(Replicate_Entry_Formals): Renamed to Replicate_Formals, code cleanup.

* exp_ch9.ads (Build_Wrapper_Spec): Moved from the body of Exp_Ch9.

* sem_ch3.adb: Add with and use clause for Exp_Ch9.
(Process_Full_View): Build wrapper specs for all primitives
that belong to a private view completed by a concurrent type
implementing an interface.

* sem_ch6.adb (Analyze_Subprogram_Body): When the current subprogram
is a primitive of a
concurrent type with a private view that implements an interface, try to
find the proper spec.
(Analyze_Subprogram_Declaration): Mark a subprogram as a private
primitive if the type of its first parameter is a non-generic tagged
private type.
(Analyze_Subprogram_Specification): Code reformatting.
(Disambiguate_Spec): New routine.
(Find_Corresponding_Spec): Add a flag to controll the output of errors.
(Is_Private_Concurrent_Primitive): New routine.

* sem_ch6.ads:
(Find_Corresponding_Spec): Add a formal to control the output of errors.

From-SVN: r138324

16 years agouintp.adb (UI_GCD): Fix potential overflow
Robert Dewar [Wed, 30 Jul 2008 15:53:08 +0000 (17:53 +0200)]
uintp.adb (UI_GCD): Fix potential overflow

2008-07-30  Robert Dewar  <dewar@adacore.com>

* uintp.adb (UI_GCD): Fix potential overflow

From-SVN: r138323

16 years agosem_ch8.adb (Analyze_Subprogram_Renaming): When renaming an attribute as a actual...
Ed Schonberg [Wed, 30 Jul 2008 15:52:58 +0000 (17:52 +0200)]
sem_ch8.adb (Analyze_Subprogram_Renaming): When renaming an attribute as a actual in an instance...

2008-07-30  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Analyze_Subprogram_Renaming): When renaming an attribute
as a actual in an instance, check for a missing attribute to prevent
program_error on an illegal program.

* exp_util.adb (Find_Prim_Op): Rather than Assert (False), raise program
error if primitive is not found, so that exception can be handled
elsewhere on illegal programs.

From-SVN: r138322

16 years agortsfind.adb (Check_RPC): Check version consistency even when not generating RCI stubs.
Thomas Quinot [Wed, 30 Jul 2008 15:52:47 +0000 (17:52 +0200)]
rtsfind.adb (Check_RPC): Check version consistency even when not generating RCI stubs.

2008-07-30  Thomas Quinot  <quinot@adacore.com>

* rtsfind.adb (Check_RPC): Check version consistency even when not
generating RCI stubs. Provide more detailed error message in case of
mismatch.

From-SVN: r138321

16 years agognatlink.adb: Minor reformatting
Robert Dewar [Wed, 30 Jul 2008 15:52:36 +0000 (17:52 +0200)]
gnatlink.adb: Minor reformatting

2008-07-30  Robert Dewar  <dewar@adacore.com>

* gnatlink.adb: Minor reformatting

From-SVN: r138320

16 years agore PR tree-optimization/36967 (segfault in is_gimple_real_type with -fpredictive...
Richard Guenther [Wed, 30 Jul 2008 15:43:42 +0000 (15:43 +0000)]
re PR tree-optimization/36967 (segfault in is_gimple_real_type with -fpredictive-commoning -ffast-math)

2008-07-30  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/36967
* tree-predcom.c (remove_stmt): Use gimple_assign_ssa_name_copy_p.
Release defs of statements we remove.

* gfortran.dg/pr36967.f: New testcase.

From-SVN: r138318

16 years agoarm.c (arm_expand_prologue): Use 0-length rtvec instead of NULL_RTVEC.
Nathan Froyd [Wed, 30 Jul 2008 15:32:34 +0000 (15:32 +0000)]
arm.c (arm_expand_prologue): Use 0-length rtvec instead of NULL_RTVEC.

        * config/arm/arm.c (arm_expand_prologue): Use 0-length rtvec
        instead of NULL_RTVEC.

From-SVN: r138317

16 years agore PR target/35866 (Vector load/store from a packed struct does not work (without...
Nathan Froyd [Wed, 30 Jul 2008 15:30:59 +0000 (15:30 +0000)]
re PR target/35866 (Vector load/store from a packed struct does not work (without -mstrict-align))

PR target/35866

* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Add clause for
vector modes.

From-SVN: r138316

16 years agosync with src
Paolo Bonzini [Wed, 30 Jul 2008 15:04:24 +0000 (15:04 +0000)]
sync with src

From-SVN: r138314

16 years agoconfig: sync with src
Keith Seitz [Wed, 30 Jul 2008 14:57:07 +0000 (14:57 +0000)]
config: sync with src
2008-07-25  Keith Seitz  <keiths@redhat.com>

* acinclude.m4: Remove libide, libgui, and all the other Tcl
functions.
* tcl.m4: New file.

From-SVN: r138313

16 years agofinal.c (call_from_call_insn): New.
Rafael Avila de Espindola [Wed, 30 Jul 2008 13:59:58 +0000 (13:59 +0000)]
final.c (call_from_call_insn): New.

2008-07-30  Rafael Avila de Espindola  <espindola@google.com>

       * final.c (call_from_call_insn): New.
       (final_scan_insn): Call assemble_external on FUNCTION_DECLs.

2008-07-30  Rafael Avila de Espindola  <espindola@google.com>

* gcc.dg/visibility-14.c: New test.
* gcc.dg/visibility-15.c: New test.
* gcc.dg/visibility-16.c: New test.
* gcc.dg/visibility-17.c: New test.
* gcc.dg/visibility-18.c: New test.
* gcc.dg/visibility-19.c: New test.

From-SVN: r138310

16 years agore PR c++/36767 (Segmentation fault with -fprofile-arcs -O2)
Dodji Seketeli [Wed, 30 Jul 2008 13:07:50 +0000 (13:07 +0000)]
re PR c++/36767 (Segmentation fault with -fprofile-arcs -O2)

2008-07-30  Dodji Seketeli  <dseketel@redhat.com>

PR c++/36767
* decl2.c (fix_temporary_vars_context_r): New function.
 (one_static_initialization_or_destruction): Make sure temporary
 variables part of the initialiser have their DECL_CONTEXT()
 properly set.

From-SVN: r138308

16 years agogigi.h (build_vms_descriptor64): New function prototype.
Doug Rupp [Wed, 30 Jul 2008 13:06:45 +0000 (13:06 +0000)]
gigi.h (build_vms_descriptor64): New function prototype.

2008-07-30  Doug Rupp  <rupp@adacore.com>

* gigi.h (build_vms_descriptor64): New function prototype.
(fill_vms_descriptor): Modified function prototype.

* utils.c (build_vms_descriptor64): New function.

* utils2.c (fill_vms_descriptor): Fix handling on 32bit systems.

* trans.c (call_to_gnu): Call fill_vms_descriptor with new third
argument.

* decl.c (gnat_to_gnu_tree): For By_Descriptor mech, build both a
64bit and 32bit descriptor and save the 64bit version as an alternate
TREE_TYPE in the parameter.
(make_type_from_size) <RECORD_TYPE>: Use the appropriate mode for the
thin pointer.

* ada-tree.h (DECL_PARM_ALT, SET_DECL_PARM_ALT): New macros.

From-SVN: r138307

16 years agoResync
Arnaud Charlet [Wed, 30 Jul 2008 13:04:41 +0000 (15:04 +0200)]
Resync

From-SVN: r138306

16 years ago2008-07-30 Jose Ruiz <ruiz@adacore.com>
Jose Ruiz [Wed, 30 Jul 2008 13:03:32 +0000 (15:03 +0200)]
2008-07-30  Jose Ruiz  <ruiz@adacore.com>

* adaint.c
(__gnat_file_exists): Do not use __gnat_stat for RTX.
(__main for RTX in RTSS mode): Create this dummy procedure symbol to
avoid the use of this symbol from libgcc.a in RTX kernel mode.

* cio.c
(put_int, put_int_stderr, put_char, put_char_stderr): For RTX we call
the function RtPrintf for console output.

* argv.c Do not use the environ variable for RTX.

* gnatlink.adb (gnatlink): The part that handles the --RTS option has
been moved before the call to Osint.Add_Default_Search_Dirs in order
to take into account the flags in system.ads (RTX_RTSS_Kernel_Module)
from the appropriate run time.

* targparm.ads
(RTX_RTSS_Kernel_Module_On_Target): Add this flag that is set to True if
target is a RTSS module for RTX.

* targparm.adb (Targparm_Tags, RTX_Str, Targparm_Str): Add tag RTX for
RTX_RTSS_Kernel_Module
(Get_Target_Parameters): Add processing of RTX_RTSS_Kernel_Module flag.

* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for RTX): Use gcc
exception handling mechanism for Windows and RTX in Win32 mode, but
not for RTX in kernel mode (RTSS).
(LIBGNAT_SRCS): Remove ada.h

From-SVN: r138305

16 years agoosint.ads: Minor reformatting
Robert Dewar [Wed, 30 Jul 2008 13:02:39 +0000 (15:02 +0200)]
osint.ads: Minor reformatting

2008-07-30  Robert Dewar  <dewar@adacore.com>

* osint.ads: Minor reformatting

From-SVN: r138304

16 years agomlib-utl.adb: Minor reformatting
Robert Dewar [Wed, 30 Jul 2008 13:02:30 +0000 (15:02 +0200)]
mlib-utl.adb: Minor reformatting

2008-07-30  Robert Dewar  <dewar@adacore.com>

* mlib-utl.adb: Minor reformatting

From-SVN: r138303

16 years agomake.adb: Minor reformatting
Robert Dewar [Wed, 30 Jul 2008 13:02:21 +0000 (15:02 +0200)]
make.adb: Minor reformatting

2008-07-30  Robert Dewar  <dewar@adacore.com>

* make.adb: Minor reformatting

From-SVN: r138302

16 years agoconfigure.ac: Add makefile fragments for hpux.
Paolo Bonzini [Wed, 30 Jul 2008 12:17:17 +0000 (12:17 +0000)]
configure.ac: Add makefile fragments for hpux.

2008-07-30  Paolo Bonzini  <bonzini@gnu.org>

* configure.ac: Add makefile fragments for hpux.
* Makefile.def (flags_to_pass): Add ADA_CFLAGS.
* Makefile.tpl (HOST_EXPORTS): Pass ADA_CFLAGS.
* configure: Regenerate.
* Makefile.in: Regenerate.

config:
2008-07-30  Paolo Bonzini  <bonzini@gnu.org>

* mh-pa: New, from gcc/config/pa/x-ada.
* mh-pa-hpux10: New, from gcc/config/pa/x-ada-hpux10.

gcc:
2008-07-30  Paolo Bonzini  <bonzini@gnu.org>

* configure.ac: Substitute ADA_CFLAGS.
* configure: Regenerate.
* config.host: Remove mention of pa/x-ada and pa/x-ada-hpux10 files.
* Makefile.in: Remove mention of X_* variables.
* config/pa/x-ada-hpux10: Remove.
* config/pa/x-ada: Remove.

* doc/fragments.texi: Update.

gcc/ada:
2008-07-30  Paolo Bonzini  <bonzini@gnu.org>

* gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove X_ADAFLAGS and
T_ADAFLAGS, replace ALL_ADA_CFLAGS with ADA_CFLAGS.
(ALL_ADA_CFLAGS): Remove, replace throughout with ADA_CFLAGS.
* gcc-interface/Makefile.in (XCFLAGS, X_CFLAGS, X_CPPFLAGS, T_CPPFLAGS,
X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS, ADA_CFLAGS,
ALL_ADA_CFLAGS): Remove.
(ALL_ADAFLAGS, MOST_ADAFLAGS): Remove X_ADAFLAGS and T_ADAFLAGS,
        replace ALL_ADA_CFLAGS with ADA_CFLAGS.
(GCC_CFLAGS): Remove X_CFLAGS.
(LOOSE_CFLAGS): Remove X_CFLAGS and XCFLAGS.
(ALL_CPPFLAGS): Remove X_CPPFLAGS and T_CPPFLAGS.
(ADA_CFLAGS): Substitute.

gnattools:
2008-07-30  Paolo Bonzini  <bonzini@gnu.org>

* configure.ac (x_ada_cflags): Remove.
(ADA_CFLAGS): Substitute.
* configure: Regenerate.
* Makefile.in (ADA_CFLAGS): Substitute.
(T_ADA_CFLAGS, X_ADA_CFLAGS, ALL_ADA_CFLAGS): Remove.
(TOOLS_FLAGS_TO_PASS_1, TOOLS_FLAGS_TO_PASS_1re,
TOOLS_FLAGS_TO_PASS_NATIVE, TOOLS_FLAGS_TO_PASS_CROSS):
Pass ADA_CFLAGS.

From-SVN: r138301

16 years agomove wrong gcc/ChangeLog entry to gnattools/ChangeLog
Paolo Bonzini [Wed, 30 Jul 2008 12:09:47 +0000 (12:09 +0000)]
move wrong gcc/ChangeLog entry to gnattools/ChangeLog

From-SVN: r138300

16 years agoFix date on entry headline.
Olivier Hainque [Wed, 30 Jul 2008 10:15:19 +0000 (10:15 +0000)]
Fix date on entry headline.

From-SVN: r138298

16 years agoirix-crti.asm: .hide __gcc_init and __gcc_fini.
Olivier Hainque [Wed, 30 Jul 2008 10:13:46 +0000 (10:13 +0000)]
irix-crti.asm: .hide __gcc_init and __gcc_fini.

        * config/mips/irix-crti.asm: .hide __gcc_init and __gcc_fini.
        * config/mips/iris6.h (IRIX_SUBTARGET_LINK_SPEC, irix ld): Hide
        __dso_handle explicitly here.

From-SVN: r138297

16 years agore PR c/34389 (-Wconversion produces wrong warning)
Manuel López-Ibáñez [Wed, 30 Jul 2008 08:30:32 +0000 (08:30 +0000)]
re PR c/34389 (-Wconversion produces wrong warning)

2008-07-30  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR 34389
* c-typeck.c (build_binary_op): Encapsulate code into...
* c-common.c (shorten_binary_op): ...this new function.
(conversion_warning): Use the new function. Handle non-negative
constant in bitwise-and.
* c-common.h (shorten_binary_op): Declare.
cp/
* typeck.c (build_binary_op): Encapsulate code into
shorten_binary_op.
testsuite/
* gcc.dg/Wconversion-pr34389.c: New.
* g++.dg/warn/Wconversion-pr34389.C: New.

From-SVN: r138296

16 years agoscan.c (make_sstring_space): Add explicit conversions of allocator's return value.
Olivier Hainque [Wed, 30 Jul 2008 07:44:09 +0000 (07:44 +0000)]
scan.c (make_sstring_space): Add explicit conversions of allocator's return value.

* scan.c (make_sstring_space): Add explicit conversions of
allocator's return value.
* fix-header.c (recognized_function): Likewise.

From-SVN: r138295

16 years agore PR ada/5911 (Support for multilib in Ada)
Laurent GUERBY [Wed, 30 Jul 2008 06:45:39 +0000 (06:45 +0000)]
re PR ada/5911 (Support for multilib in Ada)

gcc/ChangeLog
2008-07-29  Laurent Guerby <laurent@guerby.net>

        PR ada/5911
        * gnattools/Makefile.in: Replace stamp-gnatlib by
        stamp-gnatlib-rts.

gcc/ada/ChangeLog
2008-07-29  Laurent Guerby <laurent@guerby.net>

        PR ada/5911
        * gcc-interface/Makefile.in (MULTISUBDIR, RTSDIR): New variables.
        Pass MULTISUBDIR to recursive make. Use $(RTSDIR) instead of rts.
        Replace stamp-gnatlib* by stamp-gnatlib*-rts.
        * gcc-interface/Make-lang.in: Replace stamp-gnatlib2
        by stamp-gnatlib2-rts.

From-SVN: r138294

16 years agore PR ada/15479 (Ada manual problems)
Ralf Wildenhues [Wed, 30 Jul 2008 05:28:53 +0000 (05:28 +0000)]
re PR ada/15479 (Ada manual problems)

gcc/ada/
PR documentation/15479
* gnat-style.texi: Remove AdaCore copyright statement and GPL
statement for GNAT.  Add @copying stanza, use it.  Update to
GFDL 1.2.  Do not list GFDL as Invariant Section, do not list
title as Front-Cover Text.
* gnat_rm.texi: Likewise.
* gnat_ugn.texi: Likewise.

gcc/
* doc/cpp.texi: Update to GFDL 1.2.
* doc/gcc.texi: Do not list GPL as Invariant Section.
* doc/gccint.texi: Likewise.  Update copyright years.
* doc/install.texi: Update copyright years.

gcc/fortran/
* gfc-internals.texi: Update to GFDL 1.2.  Do not list GPL as
Invariant Section.
* gfortran.texi: Likewise.
* intrinsic.texi: Do not list GPL as Invariant Section.
* invoke.texi: Likewise.  Update copyright years.

gcc/java/
* gcj.texi: Update copyright years.  Do not list GPL as
Invariant Section.

libgomp/
* libgomp.texi: Update to GFDL 1.2.  Update copyright years.
Do not list GPL as Invariant Section.

From-SVN: r138293

16 years agore PR target/36955 (TLS LIBCALL change breaks libstdc++ built with older binutils)
Alan Modra [Wed, 30 Jul 2008 02:43:05 +0000 (02:43 +0000)]
re PR target/36955 (TLS LIBCALL change breaks libstdc++ built with older binutils)

PR target/36955
* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Add
a use of pic_offset_table_rtx for -msecure-plt __tls_get_addr calls.

From-SVN: r138291

16 years agoDaily bump.
GCC Administrator [Wed, 30 Jul 2008 00:16:57 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r138289

16 years ago* gcc.dg/pr32370.c: Force 64 bits on IA64.
Steve Ellcey [Tue, 29 Jul 2008 22:32:32 +0000 (22:32 +0000)]
* gcc.dg/pr32370.c: Force 64 bits on IA64.

From-SVN: r138277

16 years agotrans-expr.c (conv_parent_component_references): New function to build missing parent...
Paul Thomas [Tue, 29 Jul 2008 20:44:09 +0000 (20:44 +0000)]
trans-expr.c (conv_parent_component_references): New function to build missing parent references.

2008-07-29  Paul Thomas  <pault@gcc.gnu.org>

fortran/
* trans-expr.c (conv_parent_component_references): New function
to build missing parent references.
(gfc_conv_variable): Call it
* symbol.c (gfc_add_component): Check that component name in a
derived type extension does not appear in parent.
(gfc_find_component): For a derived type extension, check if
the component appears in the parent derived type by calling
self. Separate errors for private components and private types.
* decl.c (match_data_constant): Add extra arg to call to
gfc_match_structure_constructor.
(check_extended_derived_type): New function to check that a
parent derived type exists and that it is OK for exension.
(gfc_get_type_attr_spec): Add extra argument 'name' and return
it if extends is specified.
(gfc_match_derived_decl): Match derived type extension and
build a first component of the parent derived type if OK. Add
the f2k namespace if not present.
* gfortran.h : Add the extension attribute.
* module.c : Handle attribute 'extension'.
* match.h : Modify prototypes for gfc_get_type_attr_spec and
gfc_match_structure_constructor.
* primary.c (build_actual_constructor): New function extracted
from gfc_match_structure_constructor and modified to call self
iteratively to build derived type extensions, when f2k named
components are used.
(gfc_match_structure_constructor): Do not throw error for too
many components if a parent type is being handled. Use
gfc_find_component to generate errors for non-existent or
private components.  Iteratively call self for derived type
extensions so that parent constructor is built.  If extension
and components left over, throw error.
(gfc_match_rvalue): Add extra arg to call to
gfc_match_structure_constructor.
* trans-array.c (gfc_conv_resolve_dependencies): If lhs and rhs
are the same symbol, aliassing does not matter.
testsuite/
* gfortran.dg/extends_1.f03: New test.
* gfortran.dg/extends_2.f03: New test.
* gfortran.dg/extends_3.f03: New test.
* gfortran.dg/extends_4.f03: New test.
* gfortran.dg/extends_5.f03: New test.
* gfortran.dg/extends_6.f03: New test.
* gfortran.dg/private_type_6.f90: Modify error message.
* gfortran.dg/structure_constructor_7.f03: Modify error message.
* gfortran.dg/structure_constructor_8.f03: Modify error message.

From-SVN: r138275

16 years agoMoved to gcc-interface directory.
Arnaud Charlet [Tue, 29 Jul 2008 20:43:33 +0000 (22:43 +0200)]
Moved to gcc-interface directory.

From-SVN: r138274

16 years agoset.h: Minor formatting fixes.
Paolo Carlini [Tue, 29 Jul 2008 19:34:36 +0000 (19:34 +0000)]
set.h: Minor formatting fixes.

2008-07-29  Paolo Carlini  <paolo.carlini@oracle.com>

* include/debug/set.h: Minor formatting fixes.
* include/debug/multiset.h: Likewise.
* include/debug/safe_association.h: Likewise.
* include/debug/vector: Likewise.
* include/debug/map.h: Likewise.
* include/debug/string: Likewise.
* include/debug/multimap.h: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/stl_set.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_bvector.h: Likewise.

From-SVN: r138263

16 years agotrans.c (process_inlined_subprograms): Remove tree_really_inline check.
Arnaud Charlet [Tue, 29 Jul 2008 18:52:26 +0000 (20:52 +0200)]
trans.c (process_inlined_subprograms): Remove tree_really_inline check.

* trans.c (process_inlined_subprograms): Remove tree_really_inline
check.

From-SVN: r138261