GCC Administrator [Thu, 17 Sep 2009 00:16:57 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r151785
DJ Delorie [Wed, 16 Sep 2009 22:18:30 +0000 (18:18 -0400)]
m32c.c (m32c_emit_epilogue): Check for R8C or M16C chip and ignore the "fast_interrupt" attribute if so.
* config/m32c/m32c.c (m32c_emit_epilogue): Check for R8C or M16C
chip and ignore the "fast_interrupt" attribute if so.
From-SVN: r151780
Jonathan Yong [Wed, 16 Sep 2009 21:38:46 +0000 (21:38 +0000)]
natVMSecureRandomWin32.cc: Correct UnsupportedOperationException namespace.
2009-09-16 Jonathan Yong <jon_y@users.sourceforge.net>
* gnu/java/security/jce/prng/natVMSecureRandomWin32.cc: Correct
UnsupportedOperationException namespace.
From-SVN: r151775
Richard Henderson [Wed, 16 Sep 2009 20:12:35 +0000 (13:12 -0700)]
re PR middle-end/41360 (Revision 151696 breaks gcc.c-torture/compile/builtin_unreachable-1.c)
PR middle-end/41360
* cfgbuild.c (find_bb_boundaries): Really re-instate 2009-09-02
barrier fix.
From-SVN: r151771
Uros Bizjak [Wed, 16 Sep 2009 17:42:01 +0000 (19:42 +0200)]
default_format_denormal_2.f90: Add ieee options.
* gfortran.dg/default_format_denormal_2.f90: Add ieee options.
* gfortran.dg/default_format_denormal_1.f90: Ditto. Remove
alpha*-*-* target from XFAIL list.
From-SVN: r151767
Richard Henderson [Wed, 16 Sep 2009 16:39:17 +0000 (09:39 -0700)]
Fix out-of-date comment.
From-SVN: r151765
Janis Johnson [Wed, 16 Sep 2009 16:38:49 +0000 (16:38 +0000)]
dfp.exp: Use appropriate default options.
* gcc.dg/dfp/dfp.exp: Use appropriate default options.
* gcc.dg/dfp/dfp-dbg.h: New; define FAILURE, FINISH.
* gcc.dg/dfp/cast-bad.c: Use default options.
* gcc.dg/dfp/compare-rel-const.c: Ditto.
* gcc.dg/dfp/composite-type.c: Ditto.
* gcc.dg/dfp/constants.c: Ditto.
* gcc.dg/dfp/constants-hex.c: Ditto.
* gcc.dg/dfp/constants-pedantic.c: Ditto.
* gcc.dg/dfp/convert-bfp-fold.c: Ditto.
* gcc.dg/dfp/convert-dfp-fold.c: Ditto.
* gcc.dg/dfp/convert-int-max-fold.c: Ditto.
* gcc.dg/dfp/ctypes.c: Ditto.
* gcc.dg/dfp/ddmode-ice.c: Ditto.
* gcc.dg/dfp/dec-eval-method-2.c: Ditto.
* gcc.dg/dfp/float-constant-double.c: Ditto.
* gcc.dg/dfp/keywords-pedantic.c: Ditto.
* gcc.dg/dfp/keywords-reserved.c: Ditto.
* gcc.dg/dfp/modes.c: Ditto.
* gcc.dg/dfp/operator-bitwise.c: Ditto.
* gcc.dg/dfp/pr31344.c: Ditto.
* gcc.dg/dfp/pr31385.c: Ditto.
* gcc.dg/dfp/pr33466.c: Ditto.
* gcc.dg/dfp/pr35620.c: Ditto.
* gcc.dg/dfp/pr37435.c: Ditto.
* gcc.dg/dfp/pr39986.c: Ditto.
* gcc.dg/dfp/pragma-float-const-decimal64-1.c: Ditto.
* gcc.dg/dfp/pragma-float-const-decimal64-2.c: Ditto.
* gcc.dg/dfp/pragma-float-const-decimal64-3.c: Ditto.
* gcc.dg/dfp/pragma-float-const-decimal64-4.c: Ditto.
* gcc.dg/dfp/pragma-float-const-decimal64-7.c: Ditto.
* gcc.dg/dfp/pragma-float-const-decimal64-8.c: Ditto.
* gcc.dg/dfp/typespec.c: Ditto.
* gcc.dg/dfp/usual-arith-conv-bad.c: Ditto.
* gcc.dg/dfp/usual-arith-conv-bad-2.c: Ditto.
* gcc.dg/dfp/usual-arith-conv-const.c: Ditto.
* gcc.dg/dfp/Wbad-function-cast-1.c: Ditto.
* gcc.dg/dfp/Wtraditional-conversion-2.c: Ditto.
* gcc.dg/dfp/wtr-conversion-1.c: Ditto.
* gcc.dg/dfp/compare-eq.h: Define custom debug macros.
* gcc.dg/dfp/compare-rel.h: Ditto.
* gcc.dg/dfp/compare-special.h: Ditto.
* gcc.dg/dfp/convert.h: Ditto.
* gcc.dg/dfp/fe-check.h: Ditto.
* gcc.dg/dfp/call-by-value.c: Use default options and
debug macros.
* gcc.dg/dfp/cast.c: Ditto.
* gcc.dg/dfp/compare-eq-const.c: Ditto.
* gcc.dg/dfp/compare-eq-d32.c: Ditto.
* gcc.dg/dfp/compare-eq-d64.c: Ditto.
* gcc.dg/dfp/compare-eq-d128.c: Ditto.
* gcc.dg/dfp/compare-eq-dfp.c: Ditto.
* gcc.dg/dfp/compare-rel-d32.c: Ditto.
* gcc.dg/dfp/compare-rel-d64.c: Ditto.
* gcc.dg/dfp/compare-rel-d128.c: Ditto.
* gcc.dg/dfp/compare-rel-dfp.c: Ditto.
* gcc.dg/dfp/compare-special-d32.c: Ditto.
* gcc.dg/dfp/compare-special-d64.c: Ditto.
* gcc.dg/dfp/compare-special-d128.c: Ditto.
* gcc.dg/dfp/constants-zero.c: Ditto.
* gcc.dg/dfp/convert-bfp-2.c: Ditto.
* gcc.dg/dfp/convert-bfp-3.c: Ditto.
* gcc.dg/dfp/convert-bfp-4.c: Ditto.
* gcc.dg/dfp/convert-bfp-5.c: Ditto.
* gcc.dg/dfp/convert-bfp-6.c: Ditto.
* gcc.dg/dfp/convert-bfp-7.c: Ditto.
* gcc.dg/dfp/convert-bfp-8.c: Ditto.
* gcc.dg/dfp/convert-bfp-9.c: Ditto.
* gcc.dg/dfp/convert-bfp-10.c: Ditto.
* gcc.dg/dfp/convert-bfp-11.c: Ditto.
* gcc.dg/dfp/convert-bfp-12.c: Ditto.
* gcc.dg/dfp/convert-bfp-13.c: Ditto.
* gcc.dg/dfp/convert-bfp-14.c: Ditto.
* gcc.dg/dfp/convert-bfp.c: Ditto.
* gcc.dg/dfp/convert-complex.c: Ditto.
* gcc.dg/dfp/convert-dfp.c: Ditto.
* gcc.dg/dfp/convert-dfp-fold-2.c: Ditto.
* gcc.dg/dfp/convert-dfp-round.c: Ditto.
* gcc.dg/dfp/convert-int.c: Ditto.
* gcc.dg/dfp/convert-int-fold.c: Ditto.
* gcc.dg/dfp/convert-int-max.c: Ditto.
* gcc.dg/dfp/convert-int-saturate.c: Ditto.
* gcc.dg/dfp/decfloat-constants.c: Ditto.
* gcc.dg/dfp/fe-binop.c: Ditto.
* gcc.dg/dfp/fe-convert-1.c: Ditto.
* gcc.dg/dfp/fe-convert-2.c: Ditto.
* gcc.dg/dfp/fe-convert-3.c: Ditto.
* gcc.dg/dfp/func-array.c: Ditto.
* gcc.dg/dfp/func-deref.c: Ditto.
* gcc.dg/dfp/func-mixed.c: Ditto.
* gcc.dg/dfp/func-pointer.c: Ditto.
* gcc.dg/dfp/func-scalar.c: Ditto.
* gcc.dg/dfp/func-struct.c: Ditto.
* gcc.dg/dfp/func-vararg-alternate.h: Ditto.
* gcc.dg/dfp/func-vararg-alternate-d32.c: Ditto.
* gcc.dg/dfp/func-vararg-alternate-d64.c: Ditto.
* gcc.dg/dfp/func-vararg-alternate-d128.c: Ditto.
* gcc.dg/dfp/func-vararg-alternate-d128-2.c: Ditto.
* gcc.dg/dfp/func-vararg-dfp.c: Ditto.
* gcc.dg/dfp/func-vararg-mixed.c: Ditto.
* gcc.dg/dfp/func-vararg-mixed-2.c: Ditto.
* gcc.dg/dfp/func-vararg-size0.c: Ditto.
* gcc.dg/dfp/inf-1.c: Ditto.
* gcc.dg/dfp/loop-index.c: Ditto.
* gcc.dg/dfp/nan-1.c: Ditto.
* gcc.dg/dfp/nan-2.c: Ditto.
* gcc.dg/dfp/operator-arith-fold.c: Ditto.
* gcc.dg/dfp/operator-assignment.c: Ditto.
* gcc.dg/dfp/operator-comma.c: Ditto.
* gcc.dg/dfp/operator-cond.c: Ditto.
* gcc.dg/dfp/operator-logical.c: Ditto.
* gcc.dg/dfp/operator-unary.c: Ditto.
* gcc.dg/dfp/pr36800.c: Ditto.
* gcc.dg/dfp/pr39034.c: Ditto.
* gcc.dg/dfp/pr39035.c: Ditto.
* gcc.dg/dfp/pr39902.c: Ditto.
* gcc.dg/dfp/signbit-1.c: Ditto.
* gcc.dg/dfp/signbit-2.c: Ditto.
* gcc.dg/dfp/struct-layout-1.c: Ditto.
* gcc.dg/dfp/union-init.c: Ditto.
* gcc.dg/dfp/usual-arith-conv.c: Ditto.
From-SVN: r151764
Richard Henderson [Wed, 16 Sep 2009 16:26:55 +0000 (09:26 -0700)]
re PR target/41246 (should "sorry" when regparm=3 and nested functions are encountered)
PR target/41246
* tree-cfg.c (verify_gimple_call): Validate that
* gimple_call_chain
is set only if DECL_NO_STATIC_CHAIN is unset.
* tree-nested.c (iter_nestinfo_start, iter_nestinfo_next): New.
(FOR_EACH_NEST_INFO): New.
(walk_all_functions): Use it.
(finalize_nesting_tree): Likewise.
(unnest_nesting_tree): Likewise.
(free_nesting_tree): Use iter_nestinfo_start, iter_nestinfo_next.
(get_chain_decl, get_chain_field): Reset DECL_NO_STATIC_CHAIN.
(convert_gimple_call): Early out if gimple_call_chain already set.
(convert_all_function_calls): Iterate until no new functions
require a static chain.
(finalize_nesting_tree_1): Assert DECL_NO_STATIC_CHAIN is unset
when building a trampoline. Use dump_function_to_file instead
of dump_function.
(lower_nested_functions): Open dump_file. Validate that decls
that have DECL_NO_STATIC_CHAIN from the front end don't have that
bit reset by this pass.
From-SVN: r151762
Michael Matz [Wed, 16 Sep 2009 16:12:18 +0000 (16:12 +0000)]
re PR fortran/41212 (miscompilation at -O2)
PR fortran/41212
* tree.h (struct tree_decl_common): Add decl_restricted_flag,
shorten decl_common_unused.
(DECL_RESTRICTED_P): New accessor.
* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Use it
to disambiguate marked decls and restrict pointers.
fortran/
* trans.h (struct lang_type): Remove nontarget_type member.
* trans.c (gfc_add_modify): Don't access it.
* trans-decl.c (gfc_finish_var_decl): Don't allocate and set it,
instead set DECL_RESTRICTED_P on affected decls.
testsuite/
* gfortran.dg/pr41212.f90: New test.
From-SVN: r151761
Richard Henderson [Wed, 16 Sep 2009 15:04:06 +0000 (08:04 -0700)]
re PR middle-end/41360 (Revision 151696 breaks gcc.c-torture/compile/builtin_unreachable-1.c)
PR middle-end/41360
* cfgbuild.c (find_bb_boundaries): Re-instate 2009-09-02 barrier fix.
From-SVN: r151759
Eric Botcazou [Wed, 16 Sep 2009 15:02:25 +0000 (15:02 +0000)]
trans.c (Attribute_to_gnu): Strip conversions between original and packable version of types from the...
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
conversions between original and packable version of types from
the expression.
From-SVN: r151757
Johannes Singler [Wed, 16 Sep 2009 14:53:58 +0000 (14:53 +0000)]
base.h: Correct some comments accidentally changed during uglification.
2009-09-16 Johannes Singler <singler@ira.uka.de>
* include/parallel/base.h: Correct some comments accidentally changed
during uglification.
* include/parallel/find.h: Likewise.
* include/parallel/find_selectors.h: Likewise.
* include/parallel/multiway_merge.h: Likewise.
* include/parallel/multiway_mergesort.h: Likewise.
* include/parallel/partial_sum.h: Likewise.
* include/parallel/partition.h: Likewise.
* include/parallel/queue.h: Likewise.
* include/parallel/random_shuffle.h: Likewise.
* include/parallel/settings.h: Likewise.
* include/parallel/sort.h: Likewise.
* include/parallel/tags.h: Likewise.
* include/parallel/workstealing.h: Likewise.
From-SVN: r151756
Eric Botcazou [Wed, 16 Sep 2009 14:05:47 +0000 (14:05 +0000)]
decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
* gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
If a padding type was made for the field, declare it.
(components_to_record): Add DEBUG_INFO_P parameter. Adjust call
to gnat_to_gnu_field and call to self.
(gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types.
<E_Array_Subtype>: Likewise.
Adjust calls to gnat_to_gnu_field and components_to_record.
From-SVN: r151755
Johannes Singler [Wed, 16 Sep 2009 13:50:17 +0000 (13:50 +0000)]
base.h (_EqualFromLess): Correct uglification of member variables and method arguments.
2009-09-16 Johannes Singler <singler@ira.uka.de>
* include/parallel/base.h (_EqualFromLess):
Correct uglification of member variables and method arguments.
* include/parallel/balanced_quicksort.h (_QSBThreadLocal): Likewise.
* include/parallel/find_selectors.h (__find_first_of_selector):
Likewise.
* include/parallel/iterator.h (_IteratorTriple): Likewise.
* include/parallel/multiseq_selection.h
(_Lexicographic, _LexicographicReverse): Likewise.
* include/parallel/multiway_mergesort.h (_Piece, _PMWMSSortingData):
Likewise.
* include/parallel/random_number.h (_RandomNumber): Likewise.
* include/parallel/random_shuffle.h (_DRandomShufflingGlobalData):
Likewise.
* include/parallel/set_operations.h (__symmetric_difference_func,
__difference_func, __intersection_func, __union_func,
parallel_set_union, parallel_set_intersection, parallel_set_difference,
parallel_set_symmetric_difference): Likewise.
* include/parallel/tags.h (parallel_tag): Likewise.
* include/parallel/workstealing.h (_Job): Likewise.
* include/parallel/multiway_merge.h
(__multiway_merge_k_variant_sentinel_switch:operator())
correct uglification of _*LoserTree*.
* include/parallel/losertree.h (_*LoserTree*): Likewise; correct
uglification of member variables and method arguments.
* include/parallel/par_loop.h: Correct uglification of finish_iterator.
* include/parallel/for_each_selectors.h: Likewise.
* include/parallel/omp_loop.h: Likewise.
* include/parallel/algo.h: Likewise; uglify c_rand_number.
From-SVN: r151754
Jakub Jelinek [Wed, 16 Sep 2009 13:35:23 +0000 (15:35 +0200)]
integrate.c (set_block_abstract_flags): Call set_decl_abstract_flags also on BLOCK_NONLOCALIZED_VARs.
* integrate.c (set_block_abstract_flags): Call
set_decl_abstract_flags also on BLOCK_NONLOCALIZED_VARs.
From-SVN: r151753
Arnaud Charlet [Wed, 16 Sep 2009 12:41:04 +0000 (14:41 +0200)]
Minor reformatting.
From-SVN: r151751
Arnaud Charlet [Wed, 16 Sep 2009 12:40:23 +0000 (14:40 +0200)]
[multiple changes]
2009-09-16 Robert Dewar <dewar@adacore.com>
* prj-nmsc.adb: Minor reformatting
2009-09-16 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb (Expand_N_Conditional_Expression): If the type of the
expression is a by-reference type (tagged or inherently limited)
introduce an access type to capture references to the values of each
branch of the conditional.
2009-09-16 Emmanuel Briot <briot@adacore.com>
* prj-proc.adb, prj-part.adb, prj-tree.adb, prj-tree.ads
(Project_Name_And_Node.Display_Name): new field
The display name of a project (as written in the .gpr file) is now
computed when the project file itself is parsed, not when it is
processed.
From-SVN: r151750
Arnaud Charlet [Wed, 16 Sep 2009 12:30:39 +0000 (14:30 +0200)]
[multiple changes]
2009-09-16 Thomas Quinot <quinot@adacore.com>
* freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to
intrinsics untouched (to be expanded later on by gigi) if an external
name has been specified.
(Freeze_Entity): Do not generate a default external name for
imported subprograms with convention Intrinsic (so that the above code
can identify the case where an external name has been explicitly
provided).
* s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously
replaced by something else due to an existing #define clause.
2009-09-16 Ed Schonberg <schonberg@adacore.com>
* sinfo.ads, sinfo.adb (Is_Accessibility_Actual): New flag on
Parameter_Association node, created for the extra actual generated for
an access parameter of a function that dispatches on result, to prevent
double generation of such actuals when the call is rewritten is a
dispatching call.
* exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed.
* exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals
that carry this flag when rewriting the original call as a dispatching
call, after propagating the controlling tag.
2009-09-16 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put
in the source data.
(Check_File): New parameter Source_Dir_Rank, to check if a duplicate
source is allowed.
(Find_Source_Dirs): New parameter Rank to be recorded with the source
directories.
(Search_Directories): Call Check_File with the rank of the directory
* prj.adb (Project_Empty): Add new component Source_Dir_Ranks
(Free): Free also Number_Lists
(Reset): Init also Number_Lists
* prj.ads (Number_List_Table): New dynamic table for lists of numbers
(Source_Data): New component Source_Dir_Rank. Remove component
Known_Order_Of_Source_Dirs, no longer needed.
(Project_Data): New component Source_Dir_Ranks
(Project_Tree_Data): New components Number_Lists
From-SVN: r151749
Arnaud Charlet [Wed, 16 Sep 2009 12:25:44 +0000 (14:25 +0200)]
[multiple changes]
2009-09-16 Vincent Celier <celier@adacore.com>
* gprep.adb (Yes_No): New global constant
Unix_Line_Terminators: New global Boolean variable
(Process_One_File): Create the out file with a "Text_Translation=" form
that depends on the use of option -T.
(Scan_Command_Line): Add option -T
(Usage): Add line for option -T
2009-09-16 Ed Schonberg <schonberg@adacore.com>
* exp_disp.ads, exp_disp.adb (Is_Predefined_Internal_Operation): New
predicate that describes a proper subset of
Is_Predefined_Dispatching_Operation and excludes stream operations,
which can be overridden by the user.
* sem_ch6.adb (Create_Extra_Formals): use
Is_Predefined_Internal_Operation, so that stream operations get extra
formals.
* exp_ch6.adb (Prevent double generation of extra actuals in calls to
'Input, which may be expanded twice, first as a function call and then
as a dispatching call.
From-SVN: r151748
Thomas Quinot [Wed, 16 Sep 2009 12:21:10 +0000 (12:21 +0000)]
s-oscons-tmplt.c (Target_OS, [...]): New constants.
2009-09-16 Thomas Quinot <quinot@adacore.com>
* s-oscons-tmplt.c (Target_OS, Target_Name): New constants.
* g-expect.adb (Set_Up_Child_Communications): Use
System.OS_Constants.Target_OS to determine whether running on Windows.
From-SVN: r151747
Johannes Singler [Wed, 16 Sep 2009 11:02:15 +0000 (11:02 +0000)]
base.h (_PseudoSequenceIterator, [...]): Replace redundant _Self.
2009-09-16 Johannes Singler <singler@ira.uka.de>
* include/parallel/base.h (_PseudoSequenceIterator, _PseudoSequence):
Replace redundant _Self.
* include/parallel/iterator.h (_IteratorPair, _IteratorTriple):
Replace redundant _Self.
* include/parallel/algo.h: Correct accidental _Self in comments.
* include/parallel/losertree.h: Likewise.
* include/parallel/multiway_merge.h: Likewise.
* include/parallel/random_shuffle.h: Likewise.
From-SVN: r151743
Andrew Haley [Wed, 16 Sep 2009 10:43:29 +0000 (10:43 +0000)]
libgcj_bc.c (__data_start, [...]): Add dummy usage.
2009-09-16 Andrew Haley <aph@redhat.com>
* libgcj_bc.c (__data_start, data_start, _end): Add dummy usage.
From-SVN: r151742
Johannes Singler [Wed, 16 Sep 2009 09:47:25 +0000 (09:47 +0000)]
algobase.h: Uglify internal identifiers.
2009-09-16 Johannes Singler <singler@ira.uka.de>
* include/parallel/algobase.h: Uglify internal identifiers.
* include/parallel/algo.h: Likewise.
* include/parallel/algorithmfwd.h: Likewise.
* include/parallel/balanced_quicksort.h: Likewise.
* include/parallel/base.h: Likewise.
* include/parallel/checkers.h: Likewise.
* include/parallel/compatibility.h: Likewise.
* include/parallel/compiletime_settings.: Likewise.
* include/parallel/equally_split.h: Likewise.
* include/parallel/features.h: Likewise.
* include/parallel/find.h: Likewise.
* include/parallel/find_selectors.h: Likewise.
* include/parallel/for_each.h: Likewise.
* include/parallel/for_each_selectors.h: Likewise.
* include/parallel/iterator.h: Likewise.
* include/parallel/list_partition.h: Likewise.
* include/parallel/losertree.h: Likewise.
* include/parallel/merge.h: Likewise.
* include/parallel/multiseq_selection.h: Likewise.
* include/parallel/multiway_merge.h: Likewise.
* include/parallel/multiway_mergesort.h: Likewise.
* include/parallel/numeric: Likewise.
* include/parallel/numericfwd.h: Likewise.
* include/parallel/omp_loop.h: Likewise.
* include/parallel/omp_loop_static.h: Likewise.
* include/parallel/par_loop.h: Likewise.
* include/parallel/partial_sum.h: Likewise.
* include/parallel/partition.h: Likewise.
* include/parallel/queue.h: Likewise.
* include/parallel/quicksort.h: Likewise.
* include/parallel/random_number.h: Likewise.
* include/parallel/random_shuffle.h: Likewise.
* include/parallel/search.h: Likewise.
* include/parallel/set_operations.h: Likewise.
* include/parallel/settings.h: Likewise.
* include/parallel/sort.h: Likewise.
* include/parallel/tags.h: Likewise.
* include/parallel/types.h: Likewise.
* include/parallel/unique_copy.h: Likewise.
* include/parallel/workstealing.h: Likewise.
From-SVN: r151741
Richard Guenther [Wed, 16 Sep 2009 08:50:46 +0000 (08:50 +0000)]
re PR tree-optimization/34011 (Memory load is not eliminated from tight vectorized loop)
2009-09-16 Richard Guenther <rguenther@suse.de>
PR middle-end/34011
* tree-flow-inline.h (may_be_aliased): Compute readonly variables
as non-aliased.
* gcc.dg/tree-ssa/ssa-lim-7.c: New testcase.
From-SVN: r151740
Rainer Orth [Wed, 16 Sep 2009 08:38:46 +0000 (08:38 +0000)]
* hashtab.c [HAVE_INTTYPES_H]: Include <inttypes.h>.
From-SVN: r151739
DJ Delorie [Wed, 16 Sep 2009 01:12:16 +0000 (21:12 -0400)]
sh.c (output_stack_adjust): Add new argument frame_p.
* config/sh/sh.c (output_stack_adjust): Add new argument frame_p.
(sh_expand_prologue): Update calls to output_stack_adjust.
(sh_expand_epilogue): Likewise.
* gcc.target/sh/struct-arg-dw2.c: New test.
Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>
From-SVN: r151735
GCC Administrator [Wed, 16 Sep 2009 00:16:50 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r151734
Adam Nemet [Tue, 15 Sep 2009 22:18:34 +0000 (22:18 +0000)]
re PR bootstrap/41349 (bootstrap comparison failure on sparc-linux)
PR bootstrap/41349
* reorg.c (redundant_insn): Don't count notes or DEBUG_INSNs when
trying to limit the extent of searches in the insn stream.
From-SVN: r151731
Nathan Froyd [Tue, 15 Sep 2009 20:12:18 +0000 (20:12 +0000)]
re PR target/41175 (-Os generates significantly larger code)
PR target/41175
PR target/40677
* config/rs6000/rs6000.c (no_global_regs_above): Fix precedence
problem.
(SAVRES_NOINLINE_GPRS_SAVES_LR, SAVRES_NOINLINE_FPRS_SAVES_LR,
SAVRES_NOINLINE_FPRS_DOESNT_RESTORE_LR): New strategy bits.
(rs6000_savres_strategy): Always save FP registers inline if the
target doesn't support hardware double-precision. Set the above
bits in return value when needed.
(rs6000_savres_routine_sym): Fix computation for cache selector.
Mark the generated symbol as a function. Rename exitp argument to
lr. Move code for determining the name of the symbol...
(rs6000_savres_routine_name): ...here. New function. Add cases for
getting the names right on AIX and 64-bit Linux.
(savres_routine_name): New variable.
(rs6000_make_savres_rtx): Rename exitp argument to lr. Don't assert
lr isn't set when savep. Use r12 resp. r1 instead of r11 depending
on what the target routine uses as a base register. If savep && lr
describe saving of r0 into memory slot.
(rs6000_emit_prologue): Correct use of call_used_regs. Fix out of
line calls for AIX ABI.
(rs6000_output_function_prologue): Use rs6000_savres_routine_name to
determine FP save/restore functions.
(rs6000_emit_stack_reset): Handle savres if sp_offset != 0 and
frame_reg_rtx != sp_reg_rtx. Use gen_add3_insn instead of
gen_addsi3.
(rs6000_emit_epilogue): Adjust computation of restore_lr.
Duplicate restoration of LR and execute the appropriate one
depending on whether GPRs are being restored inline. Set r11 from
offsetted frame_reg_rtx instead of sp_reg_rtx; if frame_reg_rtx is
r11, adjust sp_offset. Use gen_add3_insn instead of gen_addsi3.
Fix out of line calls for AIX ABI.
* config/rs6000/rs6000.md (*return_and_restore_fpregs_aix_<mode>):
New insn.
* config/rs6000/spe.md (*save_gpregs_spe): Use explicit match for
register 11.
(*restore_gpregs_spe): Likewise.
(*return_and_restore_gpregs_spe): Likewise.
* config/rs6000/linux64.h (SAVE_FP_SUFFIX, RESTORE_FP_SUFFIX):
Define to empty string unconditionally.
* config/rs6000/sysv4.h (SAVE_FP_SUFFIX, RESTORE_FP_SUFFIX):
Define to empty string unconditionally.
(GP_SAVE_INLINE, FP_SAVE_INLINE): Handle TARGET_64BIT the same as
!TARGET_64BIT.
* gcc.target/powerpc/pr41175.c: New test.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r151729
Jan Hubicka [Tue, 15 Sep 2009 20:07:25 +0000 (22:07 +0200)]
invoke.texi (inline-insns-auto): Drop from 60 to 50.
* doc/invoke.texi (inline-insns-auto): Drop from 60 to 50.
* params.def (inline-insns-auto): Likewise.
From-SVN: r151728
David Daney [Tue, 15 Sep 2009 17:15:33 +0000 (17:15 +0000)]
java_raw_api.c (ffi_java_raw_to_rvalue): Remove special handling for FFI_TYPE_POINTER.
2009-09-15 David Daney <ddaney@caviumnetworks.com>
* src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
handling for FFI_TYPE_POINTER.
* src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
(FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
(enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
* src/mips/n32.S (ffi_call_N32): Add handling for soft-float
structure and pointer returns.
(ffi_closure_N32): Add handling for pointer returns.
* src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
calc_n32_return_struct_flags): Handle soft-float.
(ffi_prep_cif_machdep): Handle soft-float, fix pointer handling.
(ffi_call_N32): Declare proper argument types.
(ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
soft-float.
From-SVN: r151726
Jie Zhang [Tue, 15 Sep 2009 15:10:09 +0000 (15:10 +0000)]
configure.ac: Disable java and boehm-gc for bfin-*-*.
* configure.ac: Disable java and boehm-gc for bfin-*-*.
* configure: Regenerate.
From-SVN: r151724
Martin Jambor [Tue, 15 Sep 2009 14:04:01 +0000 (16:04 +0200)]
ipa-inline.c (estimate_function_body_sizes): Dump info about individual statements only at TDF_DETAILS dump level.
2009-09-14 Martin Jambor <mjambor@suse.cz>
* ipa-inline.c (estimate_function_body_sizes): Dump info about
individual statements only at TDF_DETAILS dump level. Format
source for 80 characters per line.
From-SVN: r151722
Christian Bruel [Tue, 15 Sep 2009 13:16:15 +0000 (15:16 +0200)]
Update REG_DEAD notes
From-SVN: r151721
Christian Bruel [Tue, 15 Sep 2009 13:15:51 +0000 (15:15 +0200)]
Update REG_DEAD notes
From-SVN: r151720
Tristan Gingold [Tue, 15 Sep 2009 11:03:52 +0000 (11:03 +0000)]
config.h-vms (intptr_t): Define to compile hashtab.c
2009-09-15 Tristan Gingold <gingold@adacore.com>
* config.h-vms (intptr_t): Define to compile hashtab.c
From-SVN: r151716
Revital Eres [Tue, 15 Sep 2009 10:39:13 +0000 (10:39 +0000)]
New function for checking misalignment
From-SVN: r151715
Jie Zhang [Tue, 15 Sep 2009 09:10:51 +0000 (09:10 +0000)]
bfin.c (length_for_loop): Use NONDEBUG_INSN_P instead of INSN_P.
* config/bfin/bfin.c (length_for_loop): Use NONDEBUG_INSN_P
instead of INSN_P.
(bfin_optimize_loop): Likewise.
(bfin_gen_bundles): Likewise.
(workaround_speculation): Likewise.
(find_load): Return NULL_RTX for debug_insn.
From-SVN: r151712
Uros Bizjak [Tue, 15 Sep 2009 06:29:43 +0000 (08:29 +0200)]
alpha.md (smaxsf3): Disable for IEEE mode.
* config/alpha/alpha.md (smaxsf3): Disable for IEEE mode.
(sminsf3): Ditto.
From-SVN: r151709
Ralf Wildenhues [Tue, 15 Sep 2009 04:59:54 +0000 (04:59 +0000)]
Remove obsolete entries from fixincludes.
fixincludes/:
* inclhack.def (isc_fmod, isc_omits_with_stdc)
(nested_sys_limits, sco_math): Remove.
* tests/base/math.h (ISC_FMOD_CHECK, SCO_MATH_CHECK): Remove.
* tests/base/stdio.h (ISC_OMITS_WITH_STDC_CHECK): Remove.
* tests/base/sys/limits.h: Remove.
* fixincl.x: Regenerate.
From-SVN: r151708
GCC Administrator [Tue, 15 Sep 2009 00:16:56 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r151707
DJ Delorie [Mon, 14 Sep 2009 23:41:22 +0000 (19:41 -0400)]
mep.h (JUMP_TABLES_IN_TEXT_SECTION): Define.
* config/mep/mep.h (JUMP_TABLES_IN_TEXT_SECTION): Define.
* config/mep/mep.c (mep_emit_cbranch): Don't use BEQZ/BNEI in VLIW
mode.
From-SVN: r151704
Richard Henderson [Mon, 14 Sep 2009 20:17:24 +0000 (13:17 -0700)]
builtins.c (expand_builtin_synchronize): Use gimple_build_asm_vec.
* builtins.c (expand_builtin_synchronize): Use gimple_build_asm_vec.
* cfgbuild.c (make_edges): Handle asm goto.
* cfglayout.c (fixup_reorder_chain): Likewise.
* cfgrtl.c (patch_jump_insn): Likewise.
* gimple-pretty-print.c (dump_gimple_asm): Likewise.
* gimple.c (gimple_build_asm_1): Add and use nlabels parameter.
(gimple_build_asm_vec): Add and use labels parameter.
(gimple_build_asm): Remove.
(walk_gimple_asm): Walk labels too.
* gimple.def (GIMPLE_ASM): Update docs.
* gimple.h: Update decls.
(struct gimple_statement_asm): Change nc to use unsigned char;
add nl member.
(gimple_asm_nlabels): New.
(gimple_asm_label_op, gimple_asm_set_label_op): New.
* gimplify.c (gimplify_asm_expr): Copy labels from ASM_EXPR
into gimple_build_asm_vec.
* jump.c (mark_jump_label_asm): New.
(mark_jump_label): Use it.
(redirect_jump_1): Handle asm goto.
(invert_jump_1): Soft fail if X is null.
* recog.c (extract_asm_operands): New.
(asm_noperands): Use it; handle asm labels.
(decode_asm_operands): Use extract_asm_operands.
(asm_operand_ok): Properly handle empty string.
* reg-stack.c (get_asm_operands_in_out): Rename from
get_asm_operand_n_inputs; use extract_asm_operands; return both
inputs and outputs by reference; update all callers.
* rtl.def (ASM_OPERANDS): Add label vector as operand 6.
* rtl.h (ASM_OPERANDS_LABEL_VEC): New.
(ASM_OPERANDS_LABEL_LENGTH, ASM_OPERANDS_LABEL): New.
(ASM_OPERANDS_SOURCE_LOCATION): Renumber.
(extract_asm_operands): Declare.
* stmt.c (expand_asm_operands): Add and use labels parameter.
(check_unique_operand_names): Likewise.
(resolve_asm_operand_names, resolve_operand_name_1): Likewise.
(expand_asm_stmt): Handle asm labels.
* tree-cfg.c (make_gimple_asm_edges): New.
(make_edges): Use it.
(cleanup_dead_labels): Handle asm labels.
(is_ctrl_altering_stmt): Likewise.
(gimple_redirect_edge_and_branch): Likewise.
* tree.def (ASM_EXPR): Add 5th operand.
* tree.h (ASM_LABELS): New.
(resolve_asm_operand_names): Update decl.
* c-parser.c (c_parser_asm_statement): Parse asm goto.
(c_parser_asm_goto_operands): New.
* c-tree.h (build_asm_expr): Update decl.
* c-typeck.c (build_asm_expr): Add and use labels parameter.
* doc/extend.texi: Document asm goto.
gcc/ada/
* gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.
gcc/cp/
* cp-tree.h (finish_asm_stmt): Update decl.
* parser.c (cp_parser_asm_definition): Parse asm goto.
(cp_parser_asm_label_list): New.
* pt.c (tsubst_copy_asm_operands): Don't recurse on labels.
(tsubst_expr): Handle asm labels.
* semantics.c (finish_asm_stmt): Add and use labels parameter.
gcc/testsuite/
* c-c++-common/asmgoto-1.c, c-c++-common/asmgoto-2.c,
c-c++-common/asmgoto-3.c, gcc.c-torture/compile/asmgoto-1.c,
gcc.dg/tree-ssa/asmgoto-1.c: New files.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r151701
Eric Botcazou [Mon, 14 Sep 2009 19:27:21 +0000 (19:27 +0000)]
exp_dbug.ads (Packed Array Encoding): Document the new encoding for the unconstrained case.
* exp_dbug.ads (Packed Array Encoding): Document the new encoding for
the unconstrained case.
* gcc-interfaces/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Implement
the encoding. Do not give a name to the pointer type to the XUT type.
* gcc-interfaces/utils.c (gnat_pushdecl): Propagate DECL_ORIGINAL_TYPE
for fat pointer types, if any. Make sure DECL_ARTIFICIAL is cleared
on nodes with DECL_ORIGINAL_TYPE set.
(update_pointer_to): Set DECL_ORIGINAL_TYPE to the original pointer
for fat pointer types. Make sure DECL_ARTIFICIAL is cleared.
From-SVN: r151697
Richard Henderson [Mon, 14 Sep 2009 19:18:58 +0000 (12:18 -0700)]
Squash commit of EH in gimple
From-SVN: r151696
Richard Sandiford [Mon, 14 Sep 2009 18:52:16 +0000 (18:52 +0000)]
mips-protos.h (mips_cfun_has_cprestore_slot_p): Declare.
gcc/
* config/mips/mips-protos.h (mips_cfun_has_cprestore_slot_p): Declare.
(mips_cprestore_address_p): Likewise.
(mips_save_gp_to_cprestore_slot): Likewise.
(mips_restore_gp): Rename to...
(mips_restore_gp_from_cprestore_slot): ...this.
(mips_must_initialize_gp_p): Declare.
(mips_emit_save_slot_move): Likewise.
(mips_output_load_label): Return nothing.
(mips_eh_uses): Declare.
* config/mips/mips.h (TARGET_SPLIT_CALLS): Require epilogue_completed.
(TARGET_CPRESTORE_DIRECTIVE): New macro.
(TARGET_ABSOLUTE_JUMPS): Likewise.
(EH_USES): Likewise.
(FIRST_PSEUDO_REGISTER): Update comment.
(MIPS_ABSOLUTE_JUMP): New macro, extracted from...
(MIPS_CALL): ...here.
(REGISTER_NAMES): Add $cprestore.
* config/mips/mips.c (machine_function): Remove has_gp_insn_p.
Add load_label_length, has_inflexible_gp_insn_p,
has_flexible_gp_insn_p, must_initialize_gp_p and
must_restore_gp_when_clobbered_p.
(mips_expand_call): Don't generate split instructions here.
(mips_split_call): Update the call to mips_restore_gp after
the above name change.
(mips16_cfun_returns_in_fpr_p): Move earlier in file.
(mips_find_gp_ref): New function.
(mips_insn_has_inflexible_gp_ref_p): Likewise.
(mips_cfun_has_inflexible_gp_ref_p): Likewise.
(mips_insn_has_flexible_gp_ref_p): Likewise.
(mips_cfun_has_flexible_gp_ref_p): Likewise.
(mips_function_has_gp_insn): Delete.
(mips_global_pointer): Drop the df_regs_ever_live_p check.
Use the new functions above. Only return INVALID_REGNUM
for TARGET_ABSOLUTE_JUMPS.
(mips_must_initialize_gp_p): New function.
(mips_get_cprestore_base_and_offset): New function, extracted from...
(mips_cprestore_slot): ...here. Take a bool parameter.
(mips_cfun_has_cprestore_slot_p): New function.
(mips_cprestore_address_p): Likewise.
(mips_save_gp_to_cprestore_slot): Likewise.
(mips_restore_gp): Rename to...
(mips_restore_gp_from_cprestore_slot): ...this. Assert
epilogue_completed. Update the call to mips_cprestore_slot.
Test cfun->machine->must_restore_gp_when_clobbered_p.
(mips_direct_save_slot_move_p): New function.
(mips_emit_save_slot_move): Likewise.
(mips_output_cplocal): Test mips_must_initialize_gp_p () instead
of cfun->machine->global_pointer.
(mips_output_function_prologue): Check mips_must_initialize_gp_p ().
(mips_save_reg): Use mips_emit_save_slot_move.
(mips_expand_prologue): Set must_initialize_gp_p.
Use mips_cfun_has_cprestore_slot_p. Use gen_potential_cprestore
for all cprestore saves. Emit a use_cprestore instruction after
setting up the cprestore slot.
(mips_restore_reg): Use mips_emit_save_slot_move.
(mips_process_load_label): New function.
(mips_load_label_length): Likewise.
(mips_output_load_label): Don't return asm: output it here instead.
Use mips_process_load_label.
(mips_adjust_insn_length): Adjust the length of branch instructions
that have length MAX_PIC_BRANCH_LENGTH.
(mips_output_conditional_branch): Update the call to
mips_output_load_label. Assume the branch target is OPERANDS[0]
rather than OPERANDS[1]. Use MIPS_ABSOLUTE_JUMP for absolute jumps.
(mips_output_order_conditional_branch): Swap the meaning of
OPERANDS[0] and OPERANDS[1].
(mips_variable_issue): Don't count ghost instructions.
(mips_expand_ghost_gp_insns): New function.
(mips_reorg): Rerun mips_reorg_process_insns if it returns true.
(mips_output_mi_thunk): Set must_initialize_gp_p.
(mips_eh_uses): New function.
* config/mips/predicates.md (cprestore_save_slot_operand)
(cprestore_load_slot_operand): New predicates.
* config/mips/mips.md (UNSPEC_POTENTIAL_CPRESTORE): New unspec.
(UNSPEC_MOVE_GP): Likewise.
(UNSPEC_CPRESTORE, UNSPEC_RESTORE_GP, UNSPEC_EH_RETURN)
(UNSPEC_CONSTTABLE_INT, UNSPEC_CONSTTABLE_FLOAT): Bump to make room.
(CPRESTORE_SLOT_REGNUM): New register.
(MAX_PIC_BRANCH_LENGTH): New constant.
(jal_macro): Use MIPS_ABSOLUTE_JUMPS.
(length): Use MAX_PIC_BRANCH_LENGTH as a placeholder for PIC long
branches. Fix commentary.
(loadgp_newabi_<mode>): Change from unspec_volatile to unspec.
Only split if mips_must_initialize_gp_p; expand to nothing otherwise.
Change type to "ghost".
(loadgp_absolute_<mode>): Likewise.
(loadgp_rtp_<mode>): Likewise.
(copygp_mips16): Likewise.
(loadgp_blockage): Remove redundant mode attribute.
(potential_cprestore): New instruction.
(cprestore): Turn into an unspec set.
(use_cprestore): New instruction.
(*branch_fp): Swap operands 0 and 1. Remove redundant mode attribute.
(*branch_fp_inverted): Likewise.
(*branch_order<mode>): Likewise.
(*branch_order<mode>_inverted): Likewise.
(*branch_equality<mode>): Likewise.
(*branch_equality<mode>_inverted): Likewise.
(*branch_bit<bbv><mode>): Likewise.
(*branch_bit<bbv><mode>_inverted): Likewise.
(*branch_equality<mode>_mips16): Remove redundant mode.
(jump): Turn into a define_expand.
(*jump_absolute): New instruction.
(*jump_pic): Likewise.
(*jump_mips16): Rename previously-unnamed pattern. Remove
redundant mode attribute.
(restore_gp): Split on epilogue_completed rather than
reload_completed. Change type to "ghost".
(move_gp<mode>): New instruction.
* config/mips/mips-dsp.md (mips_bposge): Swap operands 0 and 1.
Remove redundant mode attribute.
* config/mips/mips-ps-3d.md (bc1any4t): Likewise.
(bc1any4f, bc1any2t, bc1any2f): Likewise.
(*branch_upper_lower, *branch_upper_lower_inverted): Likewise.
gcc/testsuite/
* gcc.target/mips/branch-helper.h: New file.
* gcc.target/mips/branch-2.c,
* gcc.target/mips/branch-3.c,
* gcc.target/mips/branch-4.c,
* gcc.target/mips/branch-5.c,
* gcc.target/mips/branch-6.c,
* gcc.target/mips/branch-7.c,
* gcc.target/mips/branch-8.c,
* gcc.target/mips/branch-9.c,
* gcc.target/mips/branch-10.c,
* gcc.target/mips/branch-11.c,
* gcc.target/mips/branch-12.c,
* gcc.target/mips/branch-13.c,
* gcc.target/mips/branch-14.c,
* gcc.target/mips/branch-15.c: New tests.
From-SVN: r151695
Paolo Carlini [Mon, 14 Sep 2009 17:01:05 +0000 (17:01 +0000)]
re PR libstdc++/41037 (dec not set in cerr flags)
2009-09-14 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/41037
* src/ios_init.cc (ios_base::Init::Init): Properly initialize cerr
and wcerr flags.
* testsuite/27_io/objects/char/41037.cc: New.
* testsuite/27_io/objects/wchar_t/41037.cc: Likewise.
From-SVN: r151692
Michael Meissner [Mon, 14 Sep 2009 16:59:12 +0000 (16:59 +0000)]
Fix PR 41210 & 41331 on powerpc
From-SVN: r151691
Bernd Schmidt [Mon, 14 Sep 2009 13:05:02 +0000 (13:05 +0000)]
bfin.c (bfin_expand_builtin, [...]): Force constants to registers for the operands.
gcc/
* config/bfin/bfin.c (bfin_expand_builtin,
case BFIN_BUILTIN_MULT_1X32X32): Force constants to registers for the
operands.
From Jie Zhang <jie.zhang@analog.com>:
* config/bfin/bfin.c (bfin_expand_builtin): Initialize icodes
before use in two places.
* config/bfin/bfin.md (AREG): Define mode iterator.
(reload_in, reload_out): Use mode iterator AREG.
gcc/testsuite/
* gcc.target/bfin/
20090914-1.c: New test.
* gcc.target/bfin/
20090914-2.c: New test.
* gcc.target/bfin/
20090914-3.c: New test.
From-SVN: r151687
Bernd Schmidt [Mon, 14 Sep 2009 12:05:42 +0000 (12:05 +0000)]
gcc/
From Jie Zhang <jie.zhang@analog.com>:
* config/bfin/bfin.c (bfin_expand_prologue): Ask do_link to
save FP and RETS with saveall attribute.
(bfin_expand_epilogue): Ask do_unlink to restore FP and RETS
with saveall attribute.
gcc/testsuite/
From Jie Zhang <jie.zhang@analog.com>:
* gcc.target/bfin/saveall.c: New test.
From-SVN: r151686
Bernd Schmidt [Mon, 14 Sep 2009 11:13:14 +0000 (11:13 +0000)]
bfin.c (bfin_longcall_p): Don't use short calls for weak symbols.
* config/bfin/bfin.c (bfin_longcall_p): Don't use short calls for weak
symbols.
From-SVN: r151685
Andrew Stubbs [Mon, 14 Sep 2009 10:41:03 +0000 (10:41 +0000)]
20080410-1.c: Remove obsolete -fira option.
2009-09-14 Andrew Stubbs <ams@codesourcery.com>
* gcc.target/sh/
20080410-1.c: Remove obsolete -fira option.
From-SVN: r151684
Eric Botcazou [Mon, 14 Sep 2009 10:34:17 +0000 (10:34 +0000)]
Fix latest entry
From-SVN: r151683
Andrew Stubbs [Mon, 14 Sep 2009 10:18:41 +0000 (10:18 +0000)]
atomicity.h (__exchange_and_add): Set earlyclobber constraint.
2009-09-14 Andrew Stubbs <ams@codesourcery.com>
* config/cpu/sh/atomicity.h (__exchange_and_add): Set earlyclobber
constraint.
From-SVN: r151682
Richard Guenther [Mon, 14 Sep 2009 09:38:55 +0000 (09:38 +0000)]
re PR bootstrap/41350 (FreeBSD bootstrap failure: unimplemented: Multiple EH personalities are supported only with assemblers supporting .cfi.personality directive)
2009-09-14 Richard Guenther <rguenther@suse.de>
PR middle-end/41350
* dwarf2out.c (dwarf2out_begin_prologue): Adjust non-CFI asm
EH personality path.
* g++.dg/debug/dwarf-eh-personality-1.C: New testcase.
From-SVN: r151681
GCC Administrator [Mon, 14 Sep 2009 00:17:01 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r151679
Richard Guenther [Sun, 13 Sep 2009 19:40:33 +0000 (19:40 +0000)]
langhooks-def.h (LANG_HOOKS_EH_RUNTIME_TYPE): Define.
2009-09-13 Richard Guenther <rguenther@suse.de>
Rafael Avila de Espindola <espindola@google.com>
* langhooks-def.h (LANG_HOOKS_EH_RUNTIME_TYPE): Define.
(LANG_HOOKS_EH_PERSONALITY): Likewise.
(LANG_HOOKS_INITIALIZER): Adjust.
(lhd_pass_through_t): Declare.
* langhooks.h (struct lang_hooks): Add eh_runtime_type and
eh_personality.
* langhooks.c (lhd_pass_through_t): New function.
* dwarf2out.c (output_call_frame_info, dwarf2out_do_cfi_startproc,
dwarf2out_begin_prologue): Use personality from current_function_decl.
* expr.h (get_personality_function): Declare.
* expr.c (get_personality_function): New function.
(build_personality_function): Likewise.
* libfuncs.h (libfunc_index): Remove LTI_eh_personality.
(eh_personality_libfunc): Remove.
* optabs.c (build_libfunc_function): New function split out from ...
(init_one_libfunc): ... here.
* tree.h (DECL_FUNCTION_PERSONALITY): New.
(tree_function_decl): Add personality.
(lhd_gcc_personality): Declare.
(build_personality_function): Likewise.
* tree.c (gcc_eh_personality_decl): New.
(lhd_gcc_personality): New function.
* except.h (lang_eh_runtime_type): Remove.
(enum eh_personality_kind): New.
(build_personality_function): Declare.
(function_needs_eh_personality): Declare.
* except.c (lang_eh_runtime_type): Remove.
(function_needs_eh_personality): New function.
(add_type_for_runtime): Call lang_hooks.type_for_runtime instead.
(sjlj_emit_function_enter, output_function_exception_table):
Use personality from current_function_decl.
* tree-eh.c (lower_eh_constructs): Set DECL_FUNCTION_PERSONALITY.
* tree-inline.c (tree_can_inline_p): Do not inline across different
EH personalities.
(expand_call_inline): Likewise. Adjust the callers EH personality.
(tree_function_versioning): Copy DECL_FUNCTION_PERSONALITY.
* cgraph.c (cgraph_add_new_function): Set DECL_FUNCTION_PERSONALITY.
* Makefile.in (cgraph.o): Add $(EXCEPT_H) dependency.
(c-parser.o): Likewise
* c-tree.h (c_eh_initialized_p): Remove.
(c_maybe_initialize_eh): Likewise.
* c-decl.c (finish_decl): Don't call c_maybe_initialize_eh.
(finish_decl): Don't call c_maybe_initialize_eh.
(c_eh_initialized_p): Remove.
(c_maybe_initialize_eh): Likewise.
* c-parser.c (c_parser_omp_construct): Likewise.
(c_parse_file): Initialize exception handling.
objc/
* objc-act.c (objc_eh_runtime_type): Export.
(objc_init_exceptions): Remove. Move warning code ...
(objc_begin_try_stmt): ... here
(objc_build_throw_stmt): ... and here.
(objc_eh_personality_decl): New.
(objc_eh_personality): New function.
* objc-act.h (objc_eh_runtime_type): Declare.
(objc_eh_personality): Likewise.
* objc-lang.c (LANG_HOOKS_EH_RUNTIME_TYPE): Define.
(LANG_HOOKS_EH_PERSONALITY): Likewise.
cp/
* except.c (init_exception_processing): Do not set
lang_eh_runtime_type.
(choose_personality_routine): Do not set eh_personality_decl,
set pragma_java_exceptions.
* cp-lang.c (LANG_HOOKS_EH_RUNTIME_TYPE): Define.
(LANG_HOOKS_EH_PERSONALITY): Likewise.
(cp_eh_personality_decl): New.
(cp_eh_personality): Likewise.
* Make-lang.in (cp-lang.o): Add $(EXPR_H) and $(EXCEPT_H)
dependencies.
java/
* decl.c (do_nothing): Remove.
(java_init_decl_processing): Do not set lang_eh_runtime_type.
* Make-lang.in (lang.o): Add $(EXCEPT_H) dependency.
* lang.c (java_eh_personality): New.
(java_eh_personality_decl): Likewise.
(LANG_HOOKS_EH_PERSONALITY): Define.
ada/
* gcc-interface/misc.c (gnat_init_gcc_eh): Do not set
lang_eh_runtime_type.
(LANG_HOOKS_EH_PERSONALITY): Define.
(gnat_eh_personality_decl): New.
(gnat_eh_personality): Likewise.
* Make-lang.in (misc.o): Add gt-ada-misc.h dependency.
* config-lang.in (gtfiles): Add misc.c.
fortran/
* f95-lang.c (gfc_maybe_initialize_eh): Do not init
eh_personality_libfunc.
Co-Authored-By: Rafael Avila de Espindola <espindola@google.com>
From-SVN: r151676
Kai Tietz [Sun, 13 Sep 2009 16:59:47 +0000 (16:59 +0000)]
config.host: Set for x64 mingw the option use_long_long_for_widest_fast_int to yes.
2009-09-13 Kai Tietz <kai.tietz@onevision.com>
* config.host: Set for x64 mingw the option
use_long_long_for_widest_fast_int to yes.
From-SVN: r151674
Wei Guozhi [Sun, 13 Sep 2009 15:06:47 +0000 (15:06 +0000)]
optimize.c (build_delete_destructor_body): New function.
* cp/optimize.c (build_delete_destructor_body): New function.
(maybe_clone_body): Call build_delete_destructor_body for
deleting destructor.
From-SVN: r151673
Kai Tietz [Sun, 13 Sep 2009 13:08:20 +0000 (13:08 +0000)]
Changlog libcpp
2009-09-13 Kai Tietz <kai.tietz@onevision.com>
* configure.ac: Set for i?86-w64-mingw*
need_64bit_hwint to yes.
* configure: Regenerated.
ChangeLog gcc
2009-09-13 Kai Tietz <kai.tietz@onevision.com>
* config.gcc (tm_file): Remove i386/biarch32.h
for i?86-w64-mingw* case.
(i?86-*-mingw* andx86_64-*-mingw*): Add multilib
support.
* config.host: Set for cygwin and x86/x64 mingw the
option use_long_long_for_widest_fast_int to yes.
From-SVN: r151672
Eric Botcazou [Sun, 13 Sep 2009 10:46:11 +0000 (10:46 +0000)]
tree.h (DECL_IGNORED_P): Document further effect for FUNCTION_DECL.
* tree.h (DECL_IGNORED_P): Document further effect for FUNCTION_DECL.
* dbxout.c (dbxout_function_end): Do not test DECL_IGNORED_P.
(dbxout_begin_function): Likewise.
* final.c (dwarf2_debug_info_emitted_p): New predicate.
(final_start_function): Do not emit debug info if DECL_IGNORED_P is
set on the function.
(final_end_function): Likewise.
(final_scan_insn): Likewise.
(rest_of_handle_final): Likewise.
* varasm.c (assemble_start_function): Likewise.
* config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
From-SVN: r151670
Jerry DeLisle [Sun, 13 Sep 2009 03:44:34 +0000 (03:44 +0000)]
re PR fortran/41328 (bad iostat when reading DOS file in a character array (non-advancing))
2009-09-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/41328
* gfortran.dg/cr_lf.f90: New test.
From-SVN: r151666
Jerry DeLisle [Sun, 13 Sep 2009 03:41:41 +0000 (03:41 +0000)]
re PR fortran/41328 (bad iostat when reading DOS file in a character array (non-advancing))
2009-09-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/41328
* io/transfer.c (read_sf): Adjust fbuf position and do proper
fbuf reads to traverse CR, CR-LF, and LF style line ends.
From-SVN: r151665
GCC Administrator [Sun, 13 Sep 2009 00:16:46 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r151664
Jason Merrill [Sat, 12 Sep 2009 19:46:45 +0000 (15:46 -0400)]
dbgcnt.c (dbg_cnt_process_single_pair): constify.
gcc/
* dbgcnt.c (dbg_cnt_process_single_pair): constify.
* opts.c (common_handle_option): constify.
gcc/cp/
* repo.c (extract_string, get_base_filename, init_repo): constify.
libcpp/
* directives.c (cpp_define): constify.
From-SVN: r151661
Gerald Pfeifer [Sat, 12 Sep 2009 18:56:20 +0000 (18:56 +0000)]
* doc/install.texi (avr): Remove obsolete reference site.
From-SVN: r151658
Gerald Pfeifer [Sat, 12 Sep 2009 16:55:00 +0000 (16:55 +0000)]
* doc/install.texi (Binaries): Adjust AIX link.
From-SVN: r151656
Akim Demaille [Sat, 12 Sep 2009 15:41:59 +0000 (15:41 +0000)]
invoke.texi (-fstrict-aliasing): Correct two examples.
* doc/invoke.texi (-fstrict-aliasing): Correct two examples.
Use an imperative sentence.
From-SVN: r151654
Jerry DeLisle [Sat, 12 Sep 2009 15:08:27 +0000 (15:08 +0000)]
re PR fortran/41219 (libgfortran build warnings)
2009-09-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/41219
* io/write.c (write_a_char4): Use correct type for crlf constant.
From-SVN: r151653
Joern Rennecke [Sat, 12 Sep 2009 12:46:40 +0000 (12:46 +0000)]
MAINTAINERS (Write After Approval): Update my e-mail address, and move from from here...
* MAINTAINERS (Write After Approval): Update my e-mail address,
and move from from here...
(Waiting for paperwork): To here.
From-SVN: r151652
Joern Rennecke [Sat, 12 Sep 2009 12:26:42 +0000 (12:26 +0000)]
* MAINTAINERS (Write After Approval): Update my e-mail address.
From-SVN: r151651
Richard Henderson [Sat, 12 Sep 2009 05:49:09 +0000 (22:49 -0700)]
gsstruct.def (DEFGSSTRUCT): Remove printable-name argument...
* gsstruct.def (DEFGSSTRUCT): Remove printable-name argument; add
structure-name and has-tree-operands arguments; update all entries.
* gimple.def (DEFGSCODE): Replace 3rd argument with GSS_symbol;
update all entries.
* gimple.c (gimple_ops_offset_): Use HAS_TREE_OP argument.
(gsstruct_code_size): New.
(gss_for_code_): New.
(gss_for_code): Remove.
(gimple_size): Rewrite using gsstruct_code_size.
(gimple_statement_structure): Move to gimple.h.
* gimple.h (gimple_ops_offset_, gss_for_code_): Declare.
(gss_for_code, gimple_statement_structure): New.
(gimple_ops): Use new arrays; tidy.
From-SVN: r151650
GCC Administrator [Sat, 12 Sep 2009 00:17:01 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r151649
John David Anglin [Fri, 11 Sep 2009 22:42:36 +0000 (22:42 +0000)]
predicates.md (symbolic_operand): Require a CONST symbolic operand to be a PLUS expression.
* config/pa/predicates.md (symbolic_operand): Require a CONST symbolic
operand to be a PLUS expression.
* config/pa/pa.c (pa_secondary_reload): Likewise.
From-SVN: r151646
Jakub Jelinek [Fri, 11 Sep 2009 19:40:00 +0000 (21:40 +0200)]
* combine.c (propagate_for_debug_subst): Call wrap_constant on top.
From-SVN: r151644
Jakub Jelinek [Fri, 11 Sep 2009 19:39:10 +0000 (21:39 +0200)]
print-rtl.c (print_rtx): Use JUMP_LABEL (in_rtx) instead of XEXP (in_rtx, 8).
* print-rtl.c (print_rtx): Use JUMP_LABEL (in_rtx) instead of
XEXP (in_rtx, 8).
From-SVN: r151643
Johannes Singler [Fri, 11 Sep 2009 16:33:58 +0000 (16:33 +0000)]
2009-09-11 Johannes Singler <singler@ira.uka.de>
* include/parallel/multiway_merge.h
(multiway_merge_exact_splitting): Deallocate borders correctly.
(parallel_multiway_merge): Remove unnecessarily complicated
allocation, random access iterators are default-constructible;
deallocate ne_seqs correctly.
From-SVN: r151640
Bernd Schmidt [Fri, 11 Sep 2009 16:12:57 +0000 (16:12 +0000)]
From Jie Zhang <jie.zhang@analog.com>:
* doc/extend.texi (node Function Attributes): Document l2
function attribute.
(node Blackfin Variable Attributes): Document l2 variable attributes.
From-SVN: r151639
Loren J. Rittle [Fri, 11 Sep 2009 15:37:40 +0000 (15:37 +0000)]
configure.ac (*-*-freebsd*): Enable check for __stack_chk_fail.
2009-09-11 Loren J. Rittle <ljrittle@acm.org>
* configure.ac (*-*-freebsd*): Enable check for __stack_chk_fail.
* configure: Regenerate.
From-SVN: r151638
Loren J. Rittle [Fri, 11 Sep 2009 15:29:47 +0000 (15:29 +0000)]
config.gcc (*-*-freebsd*): Enable default_use_cxa_atexit to match the system compiler's configuration at...
2009-09-11 Loren J. Rittle <ljrittle@acm.org>
* config.gcc (*-*-freebsd*): Enable default_use_cxa_atexit
to match the system compiler's configuration at inflection point.
Add comment to remark a remaining difference with system compiler.
From-SVN: r151636
Paolo Carlini [Fri, 11 Sep 2009 13:47:36 +0000 (13:47 +0000)]
re PR libstdc++/41316 ([C++0x] forward_list::sort violates strict aliasing rules)
2009-09-11 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/41316
* include/bits/forward_list.h (_Fwd_list_node_base<>::_M_sort_after):
Remove.
(forward_list<>::sort(_Comp)): Only declare.
(forward_list<>::sort()): Forward to the latter.
* include/bits/forward_list.tcc (_Fwd_list_node_base<>::_M_sort_after):
Remove definition.
(forward_list<>::sort(_Comp)): Define.
* testsuite/23_containers/forward_list/requirements/dr438/
assign_neg.cc: Adjust dg-error line number.
* testsuite/23_containers/forward_list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_2_neg.cc: Likewise.
From-SVN: r151635
Bernd Schmidt [Fri, 11 Sep 2009 13:32:31 +0000 (13:32 +0000)]
From Jie Zhang <jie.zhang@analog.com>:
* config/bfin/bfin.c (bfin_expand_call): Handle L2 functions.
(bfin_handle_l2_attribute): New.
(bfin_attribute_table): Add l2 attribute.
From-SVN: r151634
Uros Bizjak [Fri, 11 Sep 2009 11:21:26 +0000 (13:21 +0200)]
* gcc.dg/pr39779.c: Remove for real.
From-SVN: r151632
Michael Matz [Fri, 11 Sep 2009 11:08:38 +0000 (11:08 +0000)]
re PR c++/41275 (ICE: expand_expr_real_1, at expr.c:8416)
PR middle-end/41275
* tree-inline.c (remap_decls): Don't put DECL_EXTERNAL decls
on the local_decls list.
testsuite/
* g++.dg/tree-ssa/pr41275.C: New test.
From-SVN: r151631
Alexandre Oliva [Fri, 11 Sep 2009 07:44:06 +0000 (07:44 +0000)]
re PR debug/41276 (Segmentation fault in lookup_page_table_entry)
PR debug/41276
PR debug/41307
* cselib.c (cselib_expand_value_rtx_cb): Document callback
interface.
(cselib_expand_value_rtx_1): Use callback for SUBREGs. Adjust
for VALUEs, to implement the documented interface.
* var-tracking.c (vt_expand_loc_callback): Handle SUBREGs.
Adjust for VALUEs and anything else, to implement the
documented interface.
From-SVN: r151628
Ralf Wildenhues [Fri, 11 Sep 2009 05:02:20 +0000 (05:02 +0000)]
Override all per-target *_LINK variables correctly.
boehm-gc/:
* Makefile.am (libgcjgc_la_LINK, gctest_LINK): New.
(gctest_LDADD): Depend on libgcjgc.la instead of ./libgcjgc.la,
so that library dependency resolution works with portable make.
* Makefile.in: Regenerate.
libgfortran/:
* Makefile.am (libgfortranbegin_la_LINK): New.
* Makefile.in: Regenerate.
libgomp/:
* Makefile.am (libgomp_la_LINK): New.
* Makefile.in: Regenerate.
libjava/:
* Makefile.am (libgij_la_LINK, libjvm_la_LINK): New.
* Makefile.in: Regenerate.
libstdc++-v3/:
* src/Makefile.am (libstdc___la_LINK): New.
* src/Makefile.in: Regenerate.
From-SVN: r151627
Nathan Froyd [Fri, 11 Sep 2009 03:20:37 +0000 (03:20 +0000)]
rs6000.h (DATA_ALIGNMENT): Check that we are dealing with actual SPE/paired vector modes before using...
* config/rs6000/rs6000.h (DATA_ALIGNMENT): Check that we are dealing
with actual SPE/paired vector modes before using 64-bit alignment.
Check that TYPE is a REAL_TYPE for TARGET_E500_DOUBLE.
From-SVN: r151626
DJ Delorie [Fri, 11 Sep 2009 01:06:36 +0000 (21:06 -0400)]
mep.md (eh_epilogue): Defer until after epilogue is emitted.
* config/mep/mep.md (eh_epilogue): Defer until after epilogue is
emitted.
* config/mep/mep.h (LEGITIMATE_CONSTANT_P): New.
* config/mep/mep.c (mep_legitimate_constant_p): New.
* config/mep/mep-protos.h: Prototype it.
From-SVN: r151625
GCC Administrator [Fri, 11 Sep 2009 00:16:42 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r151624
Janus Weil [Thu, 10 Sep 2009 22:47:03 +0000 (00:47 +0200)]
re PR fortran/41242 (PPC call rejected (related to user-defined assignment?))
2009-09-11 Janus Weil <janus@gcc.gnu.org>
PR fortran/41242
* resolve.c (resolve_ordinary_assign): Don't call resolve_code,
to avoid that subsequent codes are resolved more than once.
(resolve_code): Make sure that type-bound assignment operators are
resolved correctly.
2009-09-11 Janus Weil <janus@gcc.gnu.org>
PR fortran/41242
* gfortran.dg/proc_ptr_comp_21.f90: New.
From-SVN: r151620
Richard Henderson [Thu, 10 Sep 2009 21:46:31 +0000 (14:46 -0700)]
* print-rtl.c (print_rtx): Fix JUMP_LABEL index.
From-SVN: r151619
Jason Merrill [Thu, 10 Sep 2009 21:40:06 +0000 (17:40 -0400)]
tree.c (chain_index): New fn.
* tree.c (chain_index): New fn.
* tree.h: Declare it.
From-SVN: r151618
Steven G. Kargl [Thu, 10 Sep 2009 21:22:08 +0000 (21:22 +0000)]
re PR fortran/31292 (ICE with module procedure interface in a procedure body)
2009-09-10 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/31292
* fortran/decl.c(gfc_match_modproc): Check that module procedures
from a module can USEd in module procedure statements in other
program units. Update locus for better error message display.
Detect intrinsic procedures in module procedure statements.
2009-09-10 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/31292
* gfortran.dg/module_procedure_1.f90: New test.
* gfortran.dg/module_procedure_2.f90: Ditto.
* gfortran.dg/generic_14.f90: Move dg-error to new location.
From-SVN: r151616
Rainer Orth [Thu, 10 Sep 2009 20:36:19 +0000 (20:36 +0000)]
gcc/testsuite:
PR ada/18302
* ada/acats/run_all.sh (target_run): Use run_test.exp to execute
commands.
* ada/acats/run_test.exp: New file.
gcc/ada:
PR ada/18302
* gcc-interface/Make-lang.in (check-acats): Export rootme, EXPECT.
Co-Authored-By: James A. Morrison <phython@gcc.gnu.org>
From-SVN: r151614
Rainer Orth [Thu, 10 Sep 2009 19:13:21 +0000 (19:13 +0000)]
sol2-c.c (cmn_err_length_specs): Initialize scalar_identity_flag.
* config/sol2-c.c (cmn_err_length_specs): Initialize
scalar_identity_flag.
From-SVN: r151613
Richard Henderson [Thu, 10 Sep 2009 18:46:07 +0000 (11:46 -0700)]
tree.h (struct tree_decl_common): Move align member earlier; move label_decl_uid member ...
* tree.h (struct tree_decl_common): Move align member earlier;
move label_decl_uid member ...
(struct tree_label_decl): ... here.
(LABEL_DECL_UID): Update to match.
From-SVN: r151610
Richard Henderson [Thu, 10 Sep 2009 18:28:24 +0000 (11:28 -0700)]
tree-cfg.c (dump_function_to_file): Dump eh tree with TDF_EH, not TDF_DETAILS.
* tree-cfg.c (dump_function_to_file): Dump eh tree with TDF_EH,
not TDF_DETAILS.
From-SVN: r151608
Richard Henderson [Thu, 10 Sep 2009 18:28:18 +0000 (11:28 -0700)]
tree-cfg.c (gimple_redirect_edge_and_branch): Do gimple_try_redirect_by_replacing_jump test after no-op and EH tests.
* tree-cfg.c (gimple_redirect_edge_and_branch): Do
gimple_try_redirect_by_replacing_jump test after no-op and EH tests.
From-SVN: r151607
Richard Henderson [Thu, 10 Sep 2009 18:28:11 +0000 (11:28 -0700)]
tree-cfg.c (split_edge_bb_loc): Don't disallow placement at dest_prev if the edge is complex.
* tree-cfg.c (split_edge_bb_loc): Don't disallow placement at
dest_prev if the edge is complex.
From-SVN: r151606
Richard Henderson [Thu, 10 Sep 2009 18:28:05 +0000 (11:28 -0700)]
* tree-cfg.c (is_ctrl_stmt): Use a switch.
From-SVN: r151605