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
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
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
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
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
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
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
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
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
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
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
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
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
Arnaud Charlet [Thu, 31 Jul 2008 10:25:05 +0000 (12:25 +0200)]
* mlib-utl.ads: Fix typo.
From-SVN: r138375
Arnaud Charlet [Thu, 31 Jul 2008 09:46:03 +0000 (09:46 +0000)]
* gnat.dg/specs/genericppc.ads: New test
From-SVN: r138374
Arnaud Charlet [Thu, 31 Jul 2008 09:43:09 +0000 (11:43 +0200)]
Resync
From-SVN: r138373
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
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
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
Arnaud Charlet [Thu, 31 Jul 2008 08:30:58 +0000 (10:30 +0200)]
Resync
From-SVN: r138367
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
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
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
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
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
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
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
Arnaud Charlet [Thu, 31 Jul 2008 07:52:12 +0000 (09:52 +0200)]
Resync
From-SVN: r138358
Arnaud Charlet [Thu, 31 Jul 2008 07:51:44 +0000 (09:51 +0200)]
* mlib-utl.ads, prj-makr.ads: Add comments.
From-SVN: r138357
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
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
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
GCC Administrator [Thu, 31 Jul 2008 00:16:40 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r138351
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
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
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
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
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
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
Arnaud Charlet [Wed, 30 Jul 2008 17:39:56 +0000 (19:39 +0200)]
Resync.
From-SVN: r138332
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
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
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
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
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
Arnaud Charlet [Wed, 30 Jul 2008 15:56:34 +0000 (17:56 +0200)]
Resync.
From-SVN: r138325
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
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
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
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
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
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
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
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
Paolo Bonzini [Wed, 30 Jul 2008 15:04:24 +0000 (15:04 +0000)]
sync with src
From-SVN: r138314
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
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
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
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
Arnaud Charlet [Wed, 30 Jul 2008 13:04:41 +0000 (15:04 +0200)]
Resync
From-SVN: r138306
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
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
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
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
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
Paolo Bonzini [Wed, 30 Jul 2008 12:09:47 +0000 (12:09 +0000)]
move wrong gcc/ChangeLog entry to gnattools/ChangeLog
From-SVN: r138300
Olivier Hainque [Wed, 30 Jul 2008 10:15:19 +0000 (10:15 +0000)]
Fix date on entry headline.
From-SVN: r138298
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
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
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
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
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
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
GCC Administrator [Wed, 30 Jul 2008 00:16:57 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r138289
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
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
Arnaud Charlet [Tue, 29 Jul 2008 20:43:33 +0000 (22:43 +0200)]
Moved to gcc-interface directory.
From-SVN: r138274
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
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
Arnaud Charlet [Tue, 29 Jul 2008 18:51:30 +0000 (20:51 +0200)]
Moved to gcc-interface.
From-SVN: r138260
Jan Hubicka [Tue, 29 Jul 2008 17:10:55 +0000 (19:10 +0200)]
c-decl.c (merge_decls): Do not handle DECL_INLINE.
* c-decl.c (merge_decls): Do not handle DECL_INLINE.
(grokdeclarator): Likewise.
* langhooks.c (lhd_warn_unused_global_decl): Use
DECL_DECLARED_INLINE_P.
* print-tree.c (print_node): Remove DECL_INLINE check.
From-SVN: r138258
Richard Guenther [Tue, 29 Jul 2008 17:09:26 +0000 (17:09 +0000)]
re PR tree-optimization/36945 (PRE/SCCVN do not handle aggregate function arguments correctly)
2008-07-29 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36945
* tree-ssa-sccvn.h (copy_reference_ops_from_ref): Declare.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Export.
Record invariant addresses un-decomposed.
(copy_reference_ops_from_call): Record reference call
arguments properly. Simplify.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): New
helper split out from ...
(create_component_ref_by_pieces): ... here. Simplify.
Prepare for recursive invocation for call arguments.
(create_expression_by_pieces): Adjust call to
create_component_ref_by_pieces.
(compute_avail): Process operand 2 of reference ops.
* gcc.dg/tree-ssa/ssa-pre-18.c: New testcase.
From-SVN: r138257
Richard Guenther [Tue, 29 Jul 2008 17:07:42 +0000 (17:07 +0000)]
gimplify.c (gimplify_expr): Clear TREE_SIDE_EFFECTS for OBJ_TYPE_REF.
2008-07-29 Richard Guenther <rguenther@suse.de>
* gimplify.c (gimplify_expr): Clear TREE_SIDE_EFFECTS for
OBJ_TYPE_REF.
From-SVN: r138256
Paolo Carlini [Tue, 29 Jul 2008 17:06:24 +0000 (17:06 +0000)]
utility: Include <initializer_list>, per the current WP.
2008-07-29 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/utility: Include <initializer_list>, per the current WP.
* testsuite/lib/libstdc++.exp (check_v3_target_cstdint): Tweak,
don't use -std=gnu++0x unnecessarily.
* testsuite/18_support/numeric_limits/char16_32_t.cc: Use
dg-require-cstdint.
* testsuite/18_support/headers/cstdint/types_std_c++0x.cc: Likewise.
* testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc: Likewise.
From-SVN: r138255
Jan Hubicka [Tue, 29 Jul 2008 17:02:45 +0000 (19:02 +0200)]
trans.c (process_inlined_subprograms): Remove tree_really_inline check.
* trans.c (process_inlined_subprograms): Remove tree_really_inline
check.
From-SVN: r138254
Jakub Jelinek [Tue, 29 Jul 2008 16:31:18 +0000 (18:31 +0200)]
class.c (build_utf8_ref): Set DECL_SIZE and DECL_SIZE_UNIT from ctype's sizes.
* class.c (build_utf8_ref): Set DECL_SIZE and DECL_SIZE_UNIT
from ctype's sizes.
From-SVN: r138252
Jakub Jelinek [Tue, 29 Jul 2008 16:30:32 +0000 (18:30 +0200)]
class.c (build_utf8_ref): Pad initializer string to utf8const_type's alignment.
* class.c (build_utf8_ref): Pad initializer string to utf8const_type's
alignment.
From-SVN: r138251
Jakub Jelinek [Tue, 29 Jul 2008 16:29:33 +0000 (18:29 +0200)]
re PR c++/36852 (Two dimensional array in template method argument list incorrectly interpreted.)
PR c++/36852
* tree.c (cplus_array_hash, build_cplus_array_type_1): Hash on
TYPE_UID instead of pointers.
* g++.dg/pch/array-1.C: New test.
* g++.dg/pch/array-1.Hs: New file.
From-SVN: r138250
Jakub Jelinek [Tue, 29 Jul 2008 16:27:50 +0000 (18:27 +0200)]
* c-format.c (check_format_types): Revert unwanted checkin.
From-SVN: r138249
Arnaud Charlet [Tue, 29 Jul 2008 15:50:16 +0000 (17:50 +0200)]
Resync.
From-SVN: r138248
Arnaud Charlet [Tue, 29 Jul 2008 15:46:37 +0000 (17:46 +0200)]
gcc-interface: New directory.
* gcc-interface: New directory.
* ada-tree.def, cuintp.c, gigi.h, Makefile.in, targtyps.c, ada.h,
utils.c, ada-tree.h, decl.c, lang.opt, Make-lang.in, trans.c,
config-lang.in, deftarg.c, lang-specs.h, misc.c, utils2.c: Moved
to gcc-interface subdirectory.
From-SVN: r138246
Aaron W. LaFramboise [Tue, 29 Jul 2008 14:10:03 +0000 (08:10 -0600)]
Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove extra s-win32.o.
2008-07-29 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
* Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove extra s-win32.o.
From-SVN: r138245
Jan Hubicka [Tue, 29 Jul 2008 11:00:58 +0000 (13:00 +0200)]
flags.h (flag_really_no_inline): Remove.
* flags.h (flag_really_no_inline): Remove.
* cgraph.c (cgraph_function_possibly_inlined_p): Simplify.
* toplev.c (flag_really_no_inline): Remove.
* c-cppbuiltin.c (c_cpp_builtins): Use flag_no_inline.
* ipa-inline.c (cgraph_decide_inlining): Do not check flag_no_inline.
(cgraph_decide_inlining_incrementally): Likewise.
(compute_inline_parameters): Likewise.
* opts.c (decode_options): Simplify.
* c-opts.c (c_common_post_options): Do not set flag_no_inline.
* common.opt (finline): Initialize to 1.
* tree-inline.c (inlinable_function_p): Check flag_no_inline.
* lang.c (java_post_options): Remove handling of flag_no_inline.
* misc.c (gnat_post_options): Do not set flag_no_inline.
* options.c (gfc_post_options): Do not set flag_no_inline.
From-SVN: r138238
Jan Hubicka [Tue, 29 Jul 2008 10:52:16 +0000 (10:52 +0000)]
predict.c (always_optimize_for_size_p): New function.
* predict.c (always_optimize_for_size_p): New function.
(optimize_bb_for_size_p, optimize_bb_for_speed_p,
optimize_edge_for_size_p, optimize_edge_for_speed_p,
optimize_insn_for_size_p, optimize_insn_for_speed_p): New global
functions.
(rtl_profile_for_bb, rtl_profile_for_edge, rtl_default_profile): New.
* function.c (prepare_function_start): Set default profile.
* function.h (rtl_data): Add maybe_hot_insn_p.
* cfgexpand.c (expand_gimple_basic_block): Set RTL profile.
(construct_exit_block): Likewise.
(tree_expand_cfg): Likewise.
* basic-block.h
(optimize_bb_for_size_p, optimize_bb_for_speed_p,
optimize_edge_for_size_p, optimize_edge_for_speed_p,
optimize_insn_for_size_p, optimize_insn_for_speed_p): Declare.
(rtl_profile_for_bb, rtl_profile_for_edge, default_rtl_profile):
Declare.
From-SVN: r138237
Jan Hubicka [Tue, 29 Jul 2008 10:49:30 +0000 (12:49 +0200)]
optimize.c (maybe_clone_body): Remove DECL_INLINE.
* optimize.c (maybe_clone_body): Remove DECL_INLINE.
* decl.c (duplicate_decls): Likewise.
(grokfndecl): Likewise.
(start_method): Likewise.
* method.c (make_thunk, make_alias_for, implicitly_declare_fn):
Likewise.
* pt.c (register_specialization, regenerate_decl_from_template):
Likewise.
* decl2.c (grokfield): Likewise.
From-SVN: r138236
Manuel López-Ibáñez [Tue, 29 Jul 2008 10:00:25 +0000 (10:00 +0000)]
re PR c/34985 (Warning "defined but not used" despite __attribute__((__used__)))
2008-07-29 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 34985
* c-decl.c (merge_decls): Merge USED flags.
cp/
* decl.c (duplicate_decls): Merge USED flags.
testsuite/
* gcc.dg/pr34985.c: New.
* g++.dg/warn/pr34985.C: New.
From-SVN: r138235
Daniel Kraft [Tue, 29 Jul 2008 09:11:51 +0000 (11:11 +0200)]
re PR fortran/36403 (Some fortran tests using eoshift fail on SH)
2008-07-29 Daniel Kraft <d@domob.eu>
PR fortran/36403
* trans-intrinsic.c (conv_generic_with_optional_char_arg): New method
to append a string-length even if the string argument is missing, e.g.
for EOSHIFT.
(gfc_conv_intrinsic_function): Call the new method for EOSHIFT, PACK
and RESHAPE.
2008-07-29 Daniel Kraft <d@domob.eu>
PR fortran/36403
* gfortran.dg/char_eoshift_5.f90: New test.
* gfortran.dg/intrinsic_optional_char_arg_1.f90: New test.
From-SVN: r138234
Kaz Kojima [Tue, 29 Jul 2008 09:07:49 +0000 (09:07 +0000)]
sh.c (sh_gimplify_va_arg_expr): Unshare the addr...
* config/sh/sh.c (sh_gimplify_va_arg_expr): Unshare the addr,
valist, next_fp, next_fp_tmp, next_fp_limit, next_o, next_o_limit,
next_stack, lab_false and lab_over trees.
From-SVN: r138233
Kaveh R. Ghazi [Tue, 29 Jul 2008 00:45:52 +0000 (00:45 +0000)]
gfortran.h (try): Remove macro.
* gfortran.h (try): Remove macro. Replace try with gfc_try
throughout.
* array.c: Likewise.
* check.c: Likewise.
* cpp.c: Likewise.
* cpp.h: Likewise.
* data.c: Likewise.
* data.h: Likewise.
* decl.c: Likewise.
* error.c: Likewise.
* expr.c: Likewise.
* interface.c: Likewise.
* intrinsic.c: Likewise.
* intrinsic.h: Likewise.
* io.c: Likewise.
* match.h: Likewise.
* parse.c: Likewise.
* parse.h: Likewise.
* resolve.c: Likewise.
* scanner.c: Likewise.
* simplify.c: Likewise.
* symbol.c: Likewise.
* trans-openmp.c: Likewise.
* trans-types.c: Likewise.
From-SVN: r138226
GCC Administrator [Tue, 29 Jul 2008 00:16:58 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r138224