Jason Merrill [Fri, 18 Sep 2009 21:25:18 +0000 (17:25 -0400)]
decl2.c (determine_visibility): Make anonymous types internal.
* decl2.c (determine_visibility): Make anonymous types internal.
(mark_used): Complain about types without linkage used in
decls with internal linkage.
(vague_linkage_fn_p): Split out from...
* decl.c (maybe_commonize_var): ...here.
(grokdeclarator): Adjust linkage when a typedef gives linkage name.
* tree.c (no_linkage_check): Check the enclosing class and template
arguments.
* cp-tree.h (TYPE_NAMESPACE_SCOPE_P): New.
From-SVN: r151868
Jason Merrill [Fri, 18 Sep 2009 21:25:10 +0000 (17:25 -0400)]
c.opt: Add -fno-deduce-init-list.
* c.opt: Add -fno-deduce-init-list.
* pt.c (get_pattern_parm): New.
(listify): Split out from...
(listify_autos): ...here.
(unify): Deduce std::initializer_list for T.
* call.c (build_over_call): Warn about it.
From-SVN: r151867
Jan Kratochvil [Fri, 18 Sep 2009 20:03:47 +0000 (20:03 +0000)]
hook.in: Fix prefix trailing slash on 64bit host arches.
2009-09-18 Jan Kratochvil <jan.kratochvil@redhat.com>
* python/hook.in: Fix prefix trailing slash on 64bit host arches.
From-SVN: r151866
Neil Vachharajani [Fri, 18 Sep 2009 18:39:43 +0000 (18:39 +0000)]
value-prof.c (interesting_stringop_to_profile_p): Added output argument to indicate which parameter is the size parameter.
2009-09-18 Neil Vachharajani <nvachhar@google.com>
* value-prof.c (interesting_stringop_to_profile_p): Added output
argument to indicate which parameter is the size parameter.
* value-prof.c (gimple_stringop_fixed_value): Use
INTERESTING_STRINGOP_TO_PROFILE_P to find size argument.
* value-prof.c (gimple_stringops_transform): Update call sites to
INTERESTING_STRINGOP_TO_PROFILE_P to reflect parameter change.
* testsuite/gcc.dg/tree-prof/val-prof-7.c: Added test case.
From-SVN: r151864
Janis Johnson [Fri, 18 Sep 2009 17:40:28 +0000 (17:40 +0000)]
dfp.exp: Also run tests in c-c++-common/dfp.
* gcc.dg/dfp/dfp.exp: Also run tests in c-c++-common/dfp.
* c-c++-common/dfp: New directory.
* c-c++-common/dfp/dfp-dbg.h: New file.
* gcc.dg/dfp/call-by-value.c: Move to ...
* c-c++-common/call-by-value.c: here.
* gcc.dg/dfp/cast.c: Move to ...
* c-c++-common/cast.c: here.
* gcc.dg/dfp/compare-eq-const.c: Move to ...
* c-c++-common/compare-eq-const.c: here.
* gcc.dg/dfp/compare-eq-d128.c: Move to ...
* c-c++-common/compare-eq-d128.c: here.
* gcc.dg/dfp/compare-eq-d32.c: Move to ...
* c-c++-common/compare-eq-d32.c: here.
* gcc.dg/dfp/compare-eq-d64.c: Move to ...
* c-c++-common/compare-eq-d64.c: here.
* gcc.dg/dfp/compare-eq-dfp.c: Move to ...
* c-c++-common/compare-eq-dfp.c: here.
* gcc.dg/dfp/compare-eq.h: Move to ...
* c-c++-common/compare-eq.h: here.
* gcc.dg/dfp/compare-rel-const.c: Move to ...
* c-c++-common/compare-rel-const.c: here.
* gcc.dg/dfp/compare-rel-d128.c: Move to ...
* c-c++-common/compare-rel-d128.c: here.
* gcc.dg/dfp/compare-rel-d32.c: Move to ...
* c-c++-common/compare-rel-d32.c: here.
* gcc.dg/dfp/compare-rel-d64.c: Move to ...
* c-c++-common/compare-rel-d64.c: here.
* gcc.dg/dfp/compare-rel-dfp.c: Move to ...
* c-c++-common/compare-rel-dfp.c: here.
* gcc.dg/dfp/compare-rel.h: Move to ...
* c-c++-common/compare-rel.h: here.
* gcc.dg/dfp/compare-special-d128.c: Move to ...
* c-c++-common/compare-special-d128.c: here.
* gcc.dg/dfp/compare-special-d32.c: Move to ...
* c-c++-common/compare-special-d32.c: here.
* gcc.dg/dfp/compare-special-d64.c: Move to ...
* c-c++-common/compare-special-d64.c: here.
* gcc.dg/dfp/compare-special.h: Move to ...
* c-c++-common/compare-special.h: here.
* gcc.dg/dfp/constants-zero.c: Move to ...
* c-c++-common/constants-zero.c: here.
* gcc.dg/dfp/convert-bfp-10.c: Move to ...
* c-c++-common/convert-bfp-10.c: here.
* gcc.dg/dfp/convert-bfp-11.c: Move to ...
* c-c++-common/convert-bfp-11.c: here.
* gcc.dg/dfp/convert-bfp-12.c: Move to ...
* c-c++-common/convert-bfp-12.c: here.
* gcc.dg/dfp/convert-bfp-13.c: Move to ...
* c-c++-common/convert-bfp-13.c: here.
* gcc.dg/dfp/convert-bfp-14.c: Move to ...
* c-c++-common/convert-bfp-14.c: here.
* gcc.dg/dfp/convert-bfp-2.c: Move to ...
* c-c++-common/convert-bfp-2.c: here.
* gcc.dg/dfp/convert-bfp-3.c: Move to ...
* c-c++-common/convert-bfp-3.c: here.
* gcc.dg/dfp/convert-bfp-4.c: Move to ...
* c-c++-common/convert-bfp-4.c: here.
* gcc.dg/dfp/convert-bfp-5.c: Move to ...
* c-c++-common/convert-bfp-5.c: here.
* gcc.dg/dfp/convert-bfp-6.c: Move to ...
* c-c++-common/convert-bfp-6.c: here.
* gcc.dg/dfp/convert-bfp-7.c: Move to ...
* c-c++-common/convert-bfp-7.c: here.
* gcc.dg/dfp/convert-bfp-8.c: Move to ...
* c-c++-common/convert-bfp-8.c: here.
* gcc.dg/dfp/convert-bfp-9.c: Move to ...
* c-c++-common/convert-bfp-9.c: here.
* gcc.dg/dfp/convert-bfp.c: Move to ...
* c-c++-common/convert-bfp.c: here.
* gcc.dg/dfp/convert-bfp-fold.c: Move to ...
* c-c++-common/convert-bfp-fold.c: here.
* gcc.dg/dfp/convert-dfp.c: Move to ...
* c-c++-common/convert-dfp.c: here.
* gcc.dg/dfp/convert-dfp-fold-2.c: Move to ...
* c-c++-common/convert-dfp-fold-2.c: here.
* gcc.dg/dfp/convert-dfp-fold.c: Move to ...
* c-c++-common/convert-dfp-fold.c: here.
* gcc.dg/dfp/convert.h: Move to ...
* c-c++-common/convert.h: here.
* gcc.dg/dfp/convert-int.c: Move to ...
* c-c++-common/convert-int.c: here.
* gcc.dg/dfp/convert-int-fold.c: Move to ...
* c-c++-common/convert-int-fold.c: here.
* gcc.dg/dfp/convert-int-max.c: Move to ...
* c-c++-common/convert-int-max.c: here.
* gcc.dg/dfp/convert-int-max-fold.c: Move to ...
* c-c++-common/convert-int-max-fold.c: here.
* gcc.dg/dfp/convert-int-saturate.c: Move to ...
* c-c++-common/convert-int-saturate.c: here.
* gcc.dg/dfp/func-array.c: Move to ...
* c-c++-common/func-array.c: here.
* gcc.dg/dfp/func-deref.c: Move to ...
* c-c++-common/func-deref.c: here.
* gcc.dg/dfp/func-mixed.c: Move to ...
* c-c++-common/func-mixed.c: here.
* gcc.dg/dfp/func-pointer.c: Move to ...
* c-c++-common/func-pointer.c: here.
* gcc.dg/dfp/func-scalar.c: Move to ...
* c-c++-common/func-scalar.c: here.
* gcc.dg/dfp/func-struct.c: Move to ...
* c-c++-common/func-struct.c: here.
* gcc.dg/dfp/func-vararg-alternate-d128-2.c: Move to ...
* c-c++-common/func-vararg-alternate-d128-2.c: here.
* gcc.dg/dfp/func-vararg-alternate-d128.c: Move to ...
* c-c++-common/func-vararg-alternate-d128.c: here.
* gcc.dg/dfp/func-vararg-alternate-d32.c: Move to ...
* c-c++-common/func-vararg-alternate-d32.c: here.
* gcc.dg/dfp/func-vararg-alternate-d64.c: Move to ...
* c-c++-common/func-vararg-alternate-d64.c: here.
* gcc.dg/dfp/func-vararg-alternate.h: Move to ...
* c-c++-common/func-vararg-alternate.h: here.
* gcc.dg/dfp/func-vararg-dfp.c: Move to ...
* c-c++-common/func-vararg-dfp.c: here.
* gcc.dg/dfp/func-vararg-mixed-2.c: Move to ...
* c-c++-common/func-vararg-mixed-2.c: here.
* gcc.dg/dfp/func-vararg-mixed.c: Move to ...
* c-c++-common/func-vararg-mixed.c: here.
* gcc.dg/dfp/func-vararg-size0.c: Move to ...
* c-c++-common/func-vararg-size0.c: here.
* gcc.dg/dfp/inf-1.c: Move to ...
* c-c++-common/inf-1.c: here.
* gcc.dg/dfp/loop-index.c: Move to ...
* c-c++-common/loop-index.c: here.
* gcc.dg/dfp/modes.c: Move to ...
* c-c++-common/modes.c: here.
* gcc.dg/dfp/nan-1.c: Move to ...
* c-c++-common/nan-1.c: here.
* gcc.dg/dfp/nan-2.c: Move to ...
* c-c++-common/nan-2.c: here.
* gcc.dg/dfp/operator-arith-fold.c: Move to ...
* c-c++-common/operator-arith-fold.c: here.
* gcc.dg/dfp/operator-assignment.c: Move to ...
* c-c++-common/operator-assignment.c: here.
* gcc.dg/dfp/operator-comma.c: Move to ...
* c-c++-common/operator-comma.c: here.
* gcc.dg/dfp/operator-cond.c: Move to ...
* c-c++-common/operator-cond.c: here.
* gcc.dg/dfp/operator-logical.c: Move to ...
* c-c++-common/operator-logical.c: here.
* gcc.dg/dfp/operator-unary.c: Move to ...
* c-c++-common/operator-unary.c: here.
* gcc.dg/dfp/pr31385.c: Move to ...
* c-c++-common/pr31385.c: here.
* gcc.dg/dfp/pr33466.c: Move to ...
* c-c++-common/pr33466.c: here.
* gcc.dg/dfp/pr35620.c: Move to ...
* c-c++-common/pr35620.c: here.
* gcc.dg/dfp/pr36800.c: Move to ...
* c-c++-common/pr36800.c: here.
* gcc.dg/dfp/pr39034.c: Move to ...
* c-c++-common/pr39034.c: here.
* gcc.dg/dfp/pr39035.c: Move to ...
* c-c++-common/pr39035.c: here.
* gcc.dg/dfp/pr39902.c: Move to ...
* c-c++-common/pr39902.c: here.
* gcc.dg/dfp/pr39986.c: Move to ...
* c-c++-common/pr39986.c: here.
* gcc.dg/dfp/signbit-1.c: Move to ...
* c-c++-common/signbit-1.c: here.
* gcc.dg/dfp/signbit-2.c: Move to ...
* c-c++-common/signbit-2.c: here.
* gcc.dg/dfp/struct-layout-1.c: Move to ...
* c-c++-common/struct-layout-1.c: here.
* gcc.dg/dfp/usual-arith-conv.c: Move to ...
* c-c++-common/usual-arith-conv.c: here.
* gcc.dg/dfp/usual-arith-conv-const.c: Move to ...
* c-c++-common/usual-arith-conv-const.c: here.
From-SVN: r151861
Jack Howarth [Fri, 18 Sep 2009 15:16:44 +0000 (15:16 +0000)]
re PR testsuite/41288 (gcc.target/x86_64/abi/test_struct_returning.c regressions on *-apple-darwin* at -m64)
PR testsuite/41288
* gcc.target/x86_64/abi/asm-support-darwin.s (snapshot_ret): Preserve
stack alignment.
From-SVN: r151855
Uros Bizjak [Fri, 18 Sep 2009 15:12:48 +0000 (17:12 +0200)]
re PR target/38288 (i386/i386.c: 7 * set but not used variables)
PR target/38288
From David Binderman <dcb314@hotmail.com>:
* gcc/config/i386/i386.c (ix86_function_regparm): Remove useless
local variable f. Remove stale comments.
(ix86_compute_frame_layout): Remove useless local variable total_size.
Remove #if 0'd code.
(legitimate_address_p): Remove useless local variables
reason_rtx and reason.
(ix86_split_copysign_const): Remove useless local variable op1.
(scale_counter): Remove useless local variable piece_size_mask.
From-SVN: r151854
Arnaud Charlet [Fri, 18 Sep 2009 14:01:37 +0000 (16:01 +0200)]
[multiple changes]
2009-09-18 Pascal Obry <obry@adacore.com>
* mingw32.h: Activate Unicode support for x86-64 Windows platform.
2009-09-18 Vadim Godunko <godunko@adacore.com>
* s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX.
2009-09-18 Javier Miranda <miranda@adacore.com>
* exp_aggr.adb (Backend_Processing_Possible): Disable backend
processing for array aggregates in the VM backend if the array has
aliased components.
2009-09-18 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_Indexed_Component): Emit error if the type of
the prefix indicates a previous semantic error, and this is the first
error in the program.
2009-09-18 Bob Duff <duff@adacore.com>
* gnat_ugn.texi: Minor editing.
From-SVN: r151844
Arnaud Charlet [Fri, 18 Sep 2009 13:55:20 +0000 (15:55 +0200)]
[multiple changes]
2009-09-18 Vincent Celier <celier@adacore.com>
* prj.ads, prj.adb (Project_Data): New component
Imported_Directories_Switches.
2009-09-18 Pascal Obry <obry@adacore.com>
* mingw32.h: Include standard _mingw.h file.
Define _WIN32_WINNT only if not already defined.
From-SVN: r151843
Arnaud Charlet [Fri, 18 Sep 2009 13:50:26 +0000 (15:50 +0200)]
[multiple changes]
2009-09-18 Thomas Quinot <quinot@adacore.com>
* g-socket.adb (Is_Open): New function indicating whether a
Selector_Type object is open.
2009-09-18 Vincent Celier <celier@adacore.com>
* osint-c.adb (Create_Output_Library_Info): Make sure that the ALI file
is deleted before creating it.
2009-09-18 Robert Dewar <dewar@adacore.com>
* bindgen.adb: Minor reformatting
From-SVN: r151842
Arnaud Charlet [Fri, 18 Sep 2009 13:40:54 +0000 (15:40 +0200)]
[multiple changes]
2009-09-18 Arnaud Charlet <charlet@adacore.com>
* s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
s-taprop-irix.adb, s-taprop-posix.adb (Abort_Task): Do nothing if no
signal handler is installed.
* s-tassta.adb (Finalize_Global_Tasks): Do not wait for independent
tasks if Abort_Task_Interrupt cannot be used.
2009-09-18 Vincent Celier <celier@adacore.com>
* prj-tree.ads: Minor comment update
From-SVN: r151841
Jakub Jelinek [Fri, 18 Sep 2009 08:48:31 +0000 (10:48 +0200)]
stmt.c (expand_asm_operands): Set REG_ATTRS on the temporary from output decl.
* stmt.c (expand_asm_operands): Set REG_ATTRS on the temporary from
output decl.
From-SVN: r151837
GCC Administrator [Fri, 18 Sep 2009 00:17:03 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r151829
Michael Haubenwallner [Fri, 18 Sep 2009 00:03:19 +0000 (02:03 +0200)]
re PR target/40913 (hppa-hpux: libgcc_s.sl does not have the 'internal name' (=soname) set)
PR target/40913
* config/pa/t-hpux-shlib: Set soname in libgcc_s.sl.
From-SVN: r151826
Joseph Myers [Thu, 17 Sep 2009 23:54:25 +0000 (00:54 +0100)]
libstdc++.exp (check_v3_target_binary_io): New.
* testsuite/lib/libstdc++.exp (check_v3_target_binary_io): New.
* testsuite/lib/dg-options.exp (dg-require-binary-io): New.
* testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc,
testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc,
testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc,
testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc,
testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc,
testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc,
testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc,
testsuite/27_io/basic_istream/readsome/char/6746-2.cc,
testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc,
testsuite/27_io/objects/char/10.cc: Use dg-require-binary-io.
From-SVN: r151825
Joseph Myers [Thu, 17 Sep 2009 23:53:28 +0000 (00:53 +0100)]
vstring.h (to_wstring(long long), [...]): Disable for _GLIBCXX_HAVE_BROKEN_VSWPRINTF.
* include/ext/vstring.h (to_wstring(long long),
to_wstring(unsigned long long), to_wstring(long double)): Disable
for _GLIBCXX_HAVE_BROKEN_VSWPRINTF.
From-SVN: r151824
Andrew Pinski [Thu, 17 Sep 2009 23:03:55 +0000 (16:03 -0700)]
re PR c++/39365 (++ operator with volatile bool increments)
2009-09-17 Andrew Pinski <pinskia@gcc.gnu.org>
PR c++/39365
* typeck.c (cp_build_unary_op): Check TREE_CODE for bools instead of
using same_type_p.
(convert_for_assignment): Likewise.
* cvt.c (type_promotes_to): Likewise.
2009-09-17 Andrew Pinski <pinskia@gcc.gnu.org>
PR c++/39365
* g++.dg/expr/bool3.C: New test.
* g++.dg/expr/bool4.C: New test.
From-SVN: r151823
Janis Johnson [Thu, 17 Sep 2009 21:41:38 +0000 (21:41 +0000)]
dfp-dbg.h: Define EXTERN.
* gcc/testsuite/gcc.dg/dfp/dfp-dbg.h: Define EXTERN.
* gcc/testsuite/gcc.dg/dfp/signbit-2.c: Use it.
* gcc/testsuite/gcc.dg/dfp/func-vararg-alternate.h: Change two
arguments to unsigned int.
* gcc/testsuite/gcc.dg/dfp/convert-bfp-10.c: Don't include float.h.
* gcc/testsuite/gcc.dg/dfp/convert-bfp-fold.c: Include dfp-dbg.h.
* gcc/testsuite/gcc.dg/dfp/convert-dfp-fold.c: Ditto
* gcc/testsuite/gcc.dg/dfp/convert-int-max-fold.c: Ditto.
* gcc/testsuite/gcc.dg/dfp/operator-arith-fold.c: Ditto.
* gcc/testsuite/gcc.dg/dfp/pr39986.c: Ditto.
* gcc/testsuite/gcc.dg/dfp/usual-arith-conv-const.c: Ditto.
* gcc/testsuite/gcc.dg/dfp/pr31385.c: Use mode in typedef, not C type.
* gcc/testsuite/gcc.dg/dfp/pr35620.c: Define typedef for C++.
* gcc/testsuite/gcc.dg/dfp/convert-int.c: Define BOOL for C++.
* gcc/testsuite/gcc.dg/dfp/convert-int-fold.c: Ditto.
From-SVN: r151821
Loren J. Rittle [Thu, 17 Sep 2009 20:54:56 +0000 (20:54 +0000)]
PR testsuite/32843 (strikes again)
2009-09-17 Loren J. Rittle <ljrittle@acm.org>
PR testsuite/32843 (strikes again)
* src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
enable proper extension on char and short.
From-SVN: r151819
Jakub Jelinek [Thu, 17 Sep 2009 20:31:54 +0000 (22:31 +0200)]
c-decl.c (finish_struct): Adjust DECL_SOURCE_LOCATION of TYPE_STUB_DECL.
* c-decl.c (finish_struct): Adjust DECL_SOURCE_LOCATION of
TYPE_STUB_DECL.
* gcc.dg/debug/dwarf2/struct-loc1.c: New test.
From-SVN: r151816
Alexandre Oliva [Thu, 17 Sep 2009 20:29:56 +0000 (20:29 +0000)]
dwarf2out.c (loc_descriptor): Emit DW_OP_stack_value and DW_OP_implicit_value even without dwarf_version 4.
* dwarf2out.c (loc_descriptor): Emit DW_OP_stack_value and
DW_OP_implicit_value even without dwarf_version 4.
From-SVN: r151815
Jan Hubicka [Thu, 17 Sep 2009 17:27:00 +0000 (19:27 +0200)]
dwarf2out.c: Include tree-pass.h and gimple.h.
* dwarf2out.c: Include tree-pass.h and gimple.h.
(loc_list_plus_const): New function.
(loc_descriptor_from_tree_1): Rename to ...
(loc_descriptor_from_tree): ... remove original.
(loc_list_from_tree): New function.
(add_AT_location_description): Accept location list.
(tls_mem_loc_descriptor): Update call of loc_descriptor_from_tree.
(concatn_mem_loc_descriptor): Remove.
(mem_loc_descriptor): Handle CONCAT/CONCATN and VAR_LOCATION by
returning NULL.
(secname_for_decl): Move up.
(hidden_reference_p): New function; break out from ...
(loc_by_refernece): ... here; move up.
(dw_loc_list): New function.
(single_element_loc_list): New function.
(single_element_loc_list_p): New function.
(add_loc_descr_to_each): New function.
(add_loc_list): New function.
(loc_descr_from_tree): Make wraper of loc_list_from_tree.
(loc_list_from_tree): Reroganized from loc_descr_from_tree;
add diagnostics why expansion failed.
(add_location_or_const_value_attribute): Support location lists.
(add_bound_info): Likewise.
(descr_info_loc): Update call of loc_descriptor_from_tree.
(gen_variable_die): Work on location lists.
* final.c (pass_final): Add dump file.
* Makefile.in (dwarf2out.o): Add new dependencies.
From-SVN: r151807
Janis Johnson [Thu, 17 Sep 2009 17:07:24 +0000 (17:07 +0000)]
re PR c/41049 (conversion from integer to decimal float loses trailing zeros)
gcc/
PR c/41049
* real.c decimal_from_integer, decimal_integer_string): New.
(real_from_integer): Use them as special case for decimal float.
* config/dfp-bit.c (_si_to_sd, _usi_to_sd): Use default rounding.
(_di_to_sd, _di_to_dd, _di_to_td, _udi_to_sd, _udi_to_dd, _udi_to_td):
Do not append zero after the decimal point in string to convert.
gcc/testsuite/
PR c/41049
* dfp/pr41049.c: New test.
From-SVN: r151806
H.J. Lu [Thu, 17 Sep 2009 13:36:06 +0000 (13:36 +0000)]
re PR testsuite/41385 (Many regressions on trunk)
2009-09-17 H.J. Lu <hongjiu.lu@intel.com>
PR testsuite/41385
* gcc.dg/dfp/dfp.exp: Properly save DEFAULT_CFLAGS.
From-SVN: r151803
Alexander Monakov [Thu, 17 Sep 2009 13:33:37 +0000 (17:33 +0400)]
graphite-sese-to-poly.c (pdr_add_data_dimensions): Add bounds only for ARRAY_REFs.
2009-09-17 Alexander Monakov <amonakov@ispras.ru>
gcc:
* graphite-sese-to-poly.c (pdr_add_data_dimensions): Add bounds only
for ARRAY_REFs. Use array_ref_{low,up}_bound to determine bounds.
libgomp:
* testsuite/libgomp.graphite/bounds.c: New test.
From-SVN: r151802
Martin Jambor [Thu, 17 Sep 2009 11:35:38 +0000 (13:35 +0200)]
common.opt (fipa-sra): New switch.
2009-09-17 Martin Jambor <mjambor@suse.cz>
* common.opt (fipa-sra): New switch.
* opts.c (decode_options): Turn flag_ipa_sra on for opt2.
* timevar.def (TV_IPA_SRA): New timevar.
* params.def (ipa-sra-ptr-growth-factor): New parameter.
* doc/invoke.texi: Document -fipa-sra and ipa-sra-ptr-growth-factor.
* tree-sra.c: Include cgraph.c.
(enum sra_mode): Added SRA_MODE_EARLY_IPA.
(struct access): Added fields stmt, grp_maybe_modified, grp_scalar_ptr
and grp_not_necessarilly_dereferenced.
(func_param_count): New variable.
(encountered_apply_args): New variable.
(bb_dereferences): New variable.
(final_bbs): New variable.
(no_accesses_representant): New variable.
(no_accesses_p): New function.
(dump_access): Dump the new fields.
(sra_initialize): Set encountered_apply_args to false.
(get_ssa_base_param): New function.
(mark_parm_dereference): New function.
(create_access): Caring for INIDRECT_REFs and different handling of
varialble length accesses in early IPA SRA. Store the stmt - a new
parameter - to the new access.
(build_access_from_expr_1): New parameter stmt, passed to
create_access. Handle INDIRECT_REFs.
(build_access_from_expr): Pass the current statement to
build_access_from_expr_1.
(disqualify_ops_if_throwing_stmt): Trigger only in intraprocedural
passes.
(build_accesses_from_assign): Pass the current statement to
build_access_from_expr_1. Do not create assign links in IPA-SRA.
(scan_function): Call handle_ssa_defs on phi nodes. Set bits in
final_bbs when necessary. Check for calls to __builtin_apply_args.
Fixup EH info if anythng was changed.
(is_unused_scalar_param): New function.
(ptr_parm_has_direct_uses): New function.
(find_param_candidates): New function.
(mark_maybe_modified): New function.
(analyze_modified_params): New function.
(propagate_dereference_distances): New function.
(dump_dereferences_table): New function.
(analyze_caller_dereference_legality): New function.
(unmodified_by_ref_scalar_representative): New function.
(splice_param_accesses): New function.
(decide_one_param_reduction): New function.
(enum ipa_splicing_result): New type.
(splice_all_param_accesses): New function.
(get_param_index): New function.
(turn_representatives_into_adjustments): New function.
(analyze_all_param_acesses): New function.
(get_replaced_param_substitute): New function.
(get_adjustment_for_base): New function.
(replace_removed_params_ssa_names): New function.
(sra_ipa_reset_debug_stmts): New function.
(sra_ipa_modify_expr): New function.
(sra_ipa_modify_assign): New function.
(convert_callers): New function.
(modify_function): New function.
(ipa_sra_preliminary_function_checks): New function.
(ipa_early_sra): New function.
(ipa_early_sra_gate): New function.
(pass_early_ipa_sra): New variable.
* Makefile.in (tree-sra.o): Add cgraph.h to dependencies.
Testsuite:
* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Do not run IPA-SRA.
* gcc.dg/ipa/ipa-sra-1.c: New test.
* gcc.dg/ipa/ipa-sra-2.c: New test.
* gcc.dg/ipa/ipa-sra-3.c: New test.
* gcc.dg/ipa/ipa-sra-4.c: New test.
* gcc.dg/ipa/ipa-sra-5.c: New test.
* gcc.c-torture/execute/ipa-sra-1.c: New test.
* gcc.c-torture/execute/ipa-sra-2.c: New test.
From-SVN: r151800
Michael Matz [Thu, 17 Sep 2009 11:11:58 +0000 (11:11 +0000)]
re PR middle-end/41347 (ICE with -O3 or '-O2 -finline-functions')
PR middle-end/41347
* tree.c (build_type_attribute_qual_variant): Export.
* tree.h (build_type_attribute_qual_variant): Declare.
* tree-inline.c (remap_type_1): Use it to build variants with
the original qualifiers and attributes.
testsuite/
* gfortran.dg/pr41347.f90: New test.
From-SVN: r151799
Bob Duff [Thu, 17 Sep 2009 10:58:39 +0000 (12:58 +0200)]
g-socket.ads: Document the fact that Close_Selector has no effect on a closed selector.
2009-09-17 Bob Duff <duff@adacore.com>
* g-socket.ads: Document the fact that Close_Selector has no effect on
a closed selector.
* g-socket.adb: Raise an exception when a Selector that should be open
is closed.
(Check_Selector): Declare RSig as a constant rather than a renames,
less confusing.
From-SVN: r151798
Arnaud Charlet [Thu, 17 Sep 2009 10:54:32 +0000 (12:54 +0200)]
Minor reformatting.
From-SVN: r151797
Robert Dewar [Thu, 17 Sep 2009 10:54:01 +0000 (10:54 +0000)]
exp_ch9.adb, [...]: Minor reformatting
2009-09-17 Robert Dewar <dewar@adacore.com>
* exp_ch9.adb, exp_ch5.adb, exp_ch4.adb, prj-conf.adb, prj-env.ads,
prj-ext.adb: Minor reformatting
From-SVN: r151796
Arnaud Charlet [Thu, 17 Sep 2009 10:50:49 +0000 (12:50 +0200)]
[multiple changes]
2009-09-17 Emmanuel Briot <briot@adacore.com>
* prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to
spec.
(Do_Autoconf): If the object directory does not exists, create auto.cgpr
in a temporary directory instead
2009-09-17 Bob Duff <duff@adacore.com>
* a-dynpri.adb (Set_Priority): Don't do anything if the task is already
terminated.
(Get_Priority): Correct message for "terminated" case -- it said "null".
2009-09-17 Robert Dewar <dewar@adacore.com>
* exp_ch6.adb: Minor reformatting
From-SVN: r151795
Emmanuel Briot [Thu, 17 Sep 2009 10:46:35 +0000 (10:46 +0000)]
2009-09-17 Emmanuel Briot <briot@adacore.com>
* gnatcmd.adb, make.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
switch-m.adb, switch-m.ads, clean.adb, prj-tree.ads
(Project_Node_Tree_Data.Project_Path): New field.
* prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message
From-SVN: r151794
Emmanuel Briot [Thu, 17 Sep 2009 10:41:33 +0000 (10:41 +0000)]
prj-ext.adb, [...] (Is_External_Assignment): Remove duplicate code.
2009-09-17 Emmanuel Briot <briot@adacore.com>
* prj-ext.adb, prj-ext.ads, makeutl.adb (Is_External_Assignment):
Remove duplicate code.
(Prj.Ext): Fix memory leak
(Check): Now allow the syntax "-Xfoo=" to set an empty value to the
variable. This was previously allowed in the code in
Is_External_Assignment, and some tests rely on it
From-SVN: r151793
Arnaud Charlet [Thu, 17 Sep 2009 10:38:31 +0000 (12:38 +0200)]
[multiple changes]
2009-09-17 Bob Duff <duff@adacore.com>
* gnat_rm.texi, s-oscons-tmplt.c: Minor typo
2009-09-17 Emmanuel Briot <briot@adacore.com>
* gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads,
makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads,
prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads,
prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree.
Scenario variables are now specific to each project tree loaded in
memory.
Code clean ups.
2009-09-17 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Make_DT): Remove wrong line of code that was
undocumented and probably added by mistake.
From-SVN: r151792
Johannes Singler [Thu, 17 Sep 2009 08:42:39 +0000 (08:42 +0000)]
algobase.h: Replace tabs by spaces; correct line breaks.
2009-09-17 Johannes Singler <singler@ira.uka.de>
* include/parallel/algobase.h: Replace tabs by spaces;
correct line breaks.
* 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/equally_split.h: Likewise.
* include/parallel/find.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/types.h: Likewise.
* include/parallel/unique_copy.h: Likewise.
* include/parallel/workstealing.h: Likewise.
* include/parallel/algo.h: Likewise;
shorten _ForwardIterator to _FIterator.
* include/parallel/find_selectors.h: Likewise.
From-SVN: r151791
Andreas Krebbel [Thu, 17 Sep 2009 07:52:40 +0000 (07:52 +0000)]
cfglayout.c (fixup_reorder_chain): Accept conditional jumps without a fallthrough edge.
2009-09-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* cfglayout.c (fixup_reorder_chain): Accept conditional jumps
without a fallthrough edge.
2009-09-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.c-torture/compile/
20090917-1.c: New testcase.
From-SVN: r151790
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