]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
15 years agomkstemps.c (mkstemps): If open failed with errno other than EEXIST, return immediately.
Denys Vlasenko [Thu, 31 Jul 2008 18:56:35 +0000 (18:56 +0000)] 
mkstemps.c (mkstemps): If open failed with errno other than EEXIST, return immediately.

* mkstemps.c (mkstemps): If open failed with errno other than
EEXIST, return immediately.
* make-temp-file.c: Include errno.h.
(make_temp_file): If mkstemps failed, print an error message
before aborting.

From-SVN: r138429

15 years agolibstdc++.exp (libstdc++_init): Set v3-libgomp.
Paolo Carlini [Thu, 31 Jul 2008 18:43:08 +0000 (18:43 +0000)] 
libstdc++.exp (libstdc++_init): Set v3-libgomp.

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

* testsuite/lib/libstdc++.exp (libstdc++_init): Set v3-libgomp.
(check_v3_target_parallel_mode): Robustify, just follow the
structure of testsuite/Makefile.am.

From-SVN: r138428

15 years agore PR rtl-optimization/36419 (Wrong unwind info with -Os -fasynchronous-unwind-tables)
Jakub Jelinek [Thu, 31 Jul 2008 18:08:36 +0000 (20:08 +0200)] 
re PR rtl-optimization/36419 (Wrong unwind info with -Os -fasynchronous-unwind-tables)

PR rtl-optimization/36419
* dwarf2out.c (barrier_args_size): New variable.
(compute_barrier_args_size, compute_barrier_args_size_1): New
functions.
(dwarf2out_stack_adjust): For BARRIERs call compute_barrier_args_size
if not called yet in the current function, use barrier_args_size
array to find the new args_size value.
(dwarf2out_frame_debug): Free and clear barrier_args_size.

* g++.dg/eh/async-unwind2.C: New test.

From-SVN: r138427

15 years agore PR c++/36405 (ICE with typeid of member function)
Jakub Jelinek [Thu, 31 Jul 2008 18:07:20 +0000 (20:07 +0200)] 
re PR c++/36405 (ICE with typeid of member function)

PR c++/36405
* rtti.c (get_tinfo_decl_dynamic, get_typeid): Call
complete_type_or_else even for UNKNOWN_TYPE to get diagnostics.

* g++.dg/rtti/typeid8.C: New test.

From-SVN: r138426

15 years agore PR middle-end/36633 (warning "array subscript is below array bounds" on delete...
Jason Merrill [Thu, 31 Jul 2008 17:38:08 +0000 (13:38 -0400)] 
re PR middle-end/36633 (warning "array subscript is below array bounds" on delete [] with -O2, -Wall)

        PR c++/36633
        * init.c (build_new_1): Don't convert pointer to the data type
        until we're actually going to treat it as that type.

From-SVN: r138425

15 years agore PR debug/36980 (Bootstrap broken with RTL checking on i586)
H.J. Lu [Thu, 31 Jul 2008 15:32:51 +0000 (15:32 +0000)] 
re PR debug/36980 (Bootstrap broken with RTL checking on i586)

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

PR debug/36980
* dwarf2out.c (dwarf2out_frame_debug_expr): Move rule 17 before
rule 19.

From-SVN: r138424

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

From-SVN: r138422

15 years agoprj-env.adb: Minor reformatting
Robert Dewar [Thu, 31 Jul 2008 14:41:32 +0000 (16:41 +0200)] 
prj-env.adb: Minor reformatting

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

* prj-env.adb: Minor reformatting

From-SVN: r138421

15 years agomakeutl.adb: Minor reformatting
Robert Dewar [Thu, 31 Jul 2008 14:41:22 +0000 (16:41 +0200)] 
makeutl.adb: Minor reformatting

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

* makeutl.adb: Minor reformatting

From-SVN: r138420

15 years agoexp_aggr.adb: Minor reformatting
Robert Dewar [Thu, 31 Jul 2008 14:41:10 +0000 (16:41 +0200)] 
exp_aggr.adb: Minor reformatting

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

* exp_aggr.adb: Minor reformatting

From-SVN: r138419

15 years ago2008-07-31 Jose Ruiz <ruiz@adacore.com>
Jose Ruiz [Thu, 31 Jul 2008 14:41:01 +0000 (16:41 +0200)] 
2008-07-31  Jose Ruiz  <ruiz@adacore.com>

* s-parame-vxworks.adb
Document that this body is used for RTX in RTSS (kernel) mode.

* gcc-interface/Makefile.in
(LIBGNAT_TARGET_PAIRS for the rtx_rtss run time): Use the
s-parame-vxworks.adb body in order to have reasonable stack sizes in
RTX RTSS kernel mode. Virtual memory is not used in that case, so we
cannot ask for too big values.

From-SVN: r138418

15 years agoprj-nmsc.adb: Keep Object and Exec directory casing.
Pascal Obry [Thu, 31 Jul 2008 14:40:48 +0000 (16:40 +0200)] 
prj-nmsc.adb: Keep Object and Exec directory casing.

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

* prj-nmsc.adb: Keep Object and Exec directory casing.

From-SVN: r138417

15 years agore PR debug/36976 (FAIL: g++.dg/torture/stackalign/unwind-2.C)
H.J. Lu [Thu, 31 Jul 2008 14:33:43 +0000 (14:33 +0000)] 
re PR debug/36976 (FAIL: g++.dg/torture/stackalign/unwind-2.C)

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

PR debug/36976
* dwarf2out.c (dwarf2out_args_size_adjust): New.
(dwarf2out_stack_adjust): Use it.
(dwarf2out_frame_debug_expr): Likewise.

From-SVN: r138416

15 years agore PR tree-optimization/36978 (ICE in gimple_cond_set_lhs for -O2 -funswitch-loops...
Richard Guenther [Thu, 31 Jul 2008 14:12:24 +0000 (14:12 +0000)] 
re PR tree-optimization/36978 (ICE in gimple_cond_set_lhs for -O2 -funswitch-loops after tuples merge)

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

PR tree-optimization/36978
* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Do not fold
the generated condition.

* gcc.dg/torture/pr36978.c: New testcase.

From-SVN: r138415

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

From-SVN: r138414

15 years ago* gnat.dg/specs/null_aggr_bug.ads: New test.
Arnaud Charlet [Thu, 31 Jul 2008 13:55:12 +0000 (13:55 +0000)] 
* gnat.dg/specs/null_aggr_bug.ads: New test.

From-SVN: r138413

15 years ago2008-07-31 Gary Dismukes <dismukes@adacore.com>
Gary Dismukes [Thu, 31 Jul 2008 13:53:55 +0000 (15:53 +0200)] 
2008-07-31  Gary Dismukes  <dismukes@adacore.com>

* sem_aggr.adb:
(Resolve_Record_Aggregate): Bypass error that a type without
components must have a "null record" aggregate when compiling for Ada
2005, since it's legal to give an aggregate of form (others => <>)
for such a type.

From-SVN: r138412

15 years agoexp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private tagged type is...
Hristian Kirtchev [Thu, 31 Jul 2008 13:53:45 +0000 (15:53 +0200)] 
exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private tagged type is completed by a concurrent type.

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

* exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private
tagged type is completed by a concurrent type.

From-SVN: r138411

15 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

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

From-SVN: r138409

15 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

15 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

15 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

15 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

15 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

15 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

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

From-SVN: r138401

15 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

15 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

15 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

15 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

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

From-SVN: r138396

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

From-SVN: r138395

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

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

From-SVN: r138373

15 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

15 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

15 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

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

From-SVN: r138367

15 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

15 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

15 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

15 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

15 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

15 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

15 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

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

From-SVN: r138358

15 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

15 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

15 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

15 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

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

From-SVN: r138351

15 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

15 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

15 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

15 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

15 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

15 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

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

From-SVN: r138332

15 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

15 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

15 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

15 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

15 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

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

From-SVN: r138325

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

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

From-SVN: r138314

15 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

15 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

15 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

15 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

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

From-SVN: r138306

15 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