Jakub Jelinek [Mon, 23 May 2011 18:07:43 +0000 (20:07 +0200)]
re PR debug/49032 (-gstabs generates reference to deleted static variable)
PR debug/49032
* dbxout.c: Include cgraph.h.
(dbxout_expand_expr): If a VAR_DECL is TREE_STATIC, not written
and without value expr, return NULL if no varpool node exists for
it or if it is not needed.
* Makefile.in (dbxout.o): Depend on $(CGRAPH_H).
* gcc.dg/debug/pr49032.c: New test.
From-SVN: r174083
Jakub Jelinek [Mon, 23 May 2011 18:02:03 +0000 (20:02 +0200)]
re PR c/49120 (bogus "value computed is not used" warning (variable-length array in compound statement))
PR c/49120
* c-decl.c (start_decl): Convert expr to void_type_node.
* gcc.dg/pr49120.c: New test.
From-SVN: r174081
Richard Sandiford [Mon, 23 May 2011 17:57:35 +0000 (17:57 +0000)]
re PR rtl-optimization/48826 (ICE in dwarf2out_var_location, at dwarf2out.c:22013)
gcc/
PR rtl-optimization/48826
* emit-rtl.c (try_split): When splitting a call that is followed
by a NOTE_INSN_CALL_ARG_LOCATION, move the note after the new call.
From-SVN: r174080
Jakub Jelinek [Mon, 23 May 2011 17:02:07 +0000 (19:02 +0200)]
cfgexpand.c (expand_debug_expr): For unused non-addressable parameters passed in memory prefer using...
* cfgexpand.c (expand_debug_expr): For unused non-addressable
parameters passed in memory prefer using DECL_INCOMING_RTL over
the pseudos it will be copied into.
From-SVN: r174079
H.J. Lu [Mon, 23 May 2011 16:51:42 +0000 (16:51 +0000)]
Save the initial options after checking vzeroupper.
gcc/
2011-05-23 H.J. Lu <hongjiu.lu@intel.com>
PR target/47315
* config/i386/i386.c (ix86_option_override_internal): Save the
initial options after checking vzeroupper.
gcc/testsuite/
2011-05-23 H.J. Lu <hongjiu.lu@intel.com>
PR target/47315
* gcc.target/i386/pr47315.c: New test.
From-SVN: r174078
David Li [Mon, 23 May 2011 16:17:28 +0000 (16:17 +0000)]
fix pr48988
From-SVN: r174077
Jason Merrill [Mon, 23 May 2011 15:48:37 +0000 (11:48 -0400)]
re PR c++/47263 ([C++0x] lambda + dynamic-exception-specification std::unexpected() is not called.)
PR c++/47263
* decl.c (use_eh_spec_block): Do use an EH spec block for a
lambda op().
From-SVN: r174076
Jason Merrill [Mon, 23 May 2011 15:39:48 +0000 (11:39 -0400)]
* libsupc++/exception_ptr.h: Fix compilation in C++0x mode.
From-SVN: r174075
Richard Guenther [Mon, 23 May 2011 15:36:32 +0000 (15:36 +0000)]
gimple.c (gimple_types_compatible_p_1): Always compare type names.
2011-05-23 Richard Guenther <rguenther@suse.de>
* gimple.c (gimple_types_compatible_p_1): Always compare type names.
(iterative_hash_gimple_type): Always hash type names.
From-SVN: r174074
Jason Merrill [Mon, 23 May 2011 15:32:39 +0000 (11:32 -0400)]
re PR libstdc++/49058 ([C++0x] Bind no-arguments functor failed using std::bind with -pedantic option.)
PR c++/49058
* call.c (splice_viable): Be strict in templates.
From-SVN: r174073
Jason Merrill [Mon, 23 May 2011 15:32:29 +0000 (11:32 -0400)]
re PR c++/47336 ([C++0x] ICE: "Error reporting routines re-entered")
PR c++/47336
* error.c (dump_template_bindings): Suppress access control.
From-SVN: r174072
Jason Merrill [Mon, 23 May 2011 15:32:19 +0000 (11:32 -0400)]
re PR c++/47544 ([C++0x] linker does not find =default constructor for explicitly instantiated template)
PR c++/47544
* pt.c (instantiate_decl): Handle =default.
From-SVN: r174071
Jason Merrill [Mon, 23 May 2011 15:32:10 +0000 (11:32 -0400)]
re PR c++/48617 ([C++0x] Problem with non-type template parameters and decltype)
PR c++/48617
* pt.c (invalid_nontype_parm_type_p): Allow DECLTYPE_TYPE.
From-SVN: r174070
Richard Guenther [Mon, 23 May 2011 14:52:31 +0000 (14:52 +0000)]
forwprop-11.c: Adjust and un-XFAIL.
2011-05-23 Richard Guenther <rguenther@suse.de>
* gcc.dg/tree-ssa/forwprop-11.c: Adjust and un-XFAIL.
From-SVN: r174069
Richard Guenther [Mon, 23 May 2011 14:36:28 +0000 (14:36 +0000)]
re PR tree-optimization/40874 (Function object abstraction penalty with inline functions.)
2011-05-23 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40874
* g++.dg/tree-ssa/pr40874.C: New testcase.
From-SVN: r174068
Nathan Froyd [Mon, 23 May 2011 14:20:49 +0000 (14:20 +0000)]
don't use TYPE_ARG_TYPES when calling c-family:check_function_arguments
don't use TYPE_ARG_TYPES when calling c-family:check_function_arguments
gcc/
* c-typeck.c (build_function_call_vec): Tweak call to
check_function_arguments.
gcc/c-family/
* c-common.h (check_function_arguments): Tweak prototype of
check_function_arguments.
* c-common.c (check_function_arguments): Likewise. Adjust
calls to check_function_nonnull, check_function_format, and
check_function_sentinel.
(check_function_sentinel): Take a FUNCTION_TYPE rather than
separate attributes and typelist arguments. Use
FOREACH_FUNCTION_ARGS to iterate over argument types.
gcc/cp/
* call.c (build_over_call): Tweak call to check_function_arguments.
* typeck.c (cp_build_function_call_vec): Likewise.
From-SVN: r174067
Richard Guenther [Mon, 23 May 2011 12:08:41 +0000 (12:08 +0000)]
re PR tree-optimization/49115 (invalid return value optimization (?) when exception is thrown and caught)
2011-05-23 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49115
* tree-ssa-alias.c (stmt_kills_ref_p_1): If the assignment
is not necessarily carried out, do not claim it kills the ref.
* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
* g++.dg/torture/pr49115.C: New testcase.
From-SVN: r174066
Richard Guenther [Mon, 23 May 2011 12:03:19 +0000 (12:03 +0000)]
re PR tree-optimization/15419 (memcpy pessimization)
2011-05-23 Richard Guenther <rguenther@suse.de>
PR middle-end/15419
* builtins.c (fold_builtin_memory_op): Be less restrictive about
what pointer types we accept for folding.
* gcc.dg/memcpy-3.c: New testcase.
From-SVN: r174065
Rainer Orth [Mon, 23 May 2011 11:12:25 +0000 (11:12 +0000)]
gthr-gnat.c: Remove.
gcc:
* gthr-gnat.c: Remove.
* gthr-gnat.h: Remove.
* Makefile.in (LIB2ADDEH): Remove $(srcdir)/gthr-gnat.c.
* config/t-freebsd (LIB2ADDEH): Likewise.
* config/t-linux (LIB2ADDEH): Likewise.
* config/t-sol2 (LIB2ADDEH): Likewise.
* config/ia64/t-vms (LIB2ADDEH): Likewise.
* configure.ac (target_thread_file): Remove gnat handling.
* configure: Regenerate.
* doc/install.texi (Configuration, --enable-threads): Remove gnat.
gcc/po:
* EXCLUDES: Remove gthr-gnat.c, gthr-gnat.h.
libgcc:
* config/s390/t-tpf (LIB2ADDEH): Remove $(gcc_srcdir)/gthr-gnat.c.
From-SVN: r174064
Tristan Gingold [Mon, 23 May 2011 10:20:01 +0000 (10:20 +0000)]
gcov.c (create_file_names): If no object directory is specified, keep the directory of the file.
* gcov.c (create_file_names): If no object directory is specified,
keep the directory of the file.
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r174062
Rainer Orth [Mon, 23 May 2011 10:00:39 +0000 (10:00 +0000)]
configure.ac (enable_threads): Remove irix; add lynx, tpf; sort list.
* configure.ac (enable_threads): Remove irix; add lynx, tpf; sort list.
* configure: Regenerate.
From-SVN: r174061
Jakub Jelinek [Mon, 23 May 2011 09:36:05 +0000 (11:36 +0200)]
re PR middle-end/48973 (Inliner bug with one-bit (1-bit) bitfield)
PR middle-end/48973
* expr.c (expand_expr_real_2) <case LT_EXPR>: If do_store_flag
failed and the comparison has a single bit signed type, use
constm1_rtx instead of const1_rtx for true value.
(do_store_flag): If ops->type is single bit signed type, disable
signel bit test optimization and pass -1 instead of 1 as last
parameter to emit_store_flag_force.
* gcc.c-torture/execute/pr48973-1.c: New test.
* gcc.c-torture/execute/pr48973-2.c: New test.
From-SVN: r174060
Jonathan Wakely [Mon, 23 May 2011 08:15:16 +0000 (08:15 +0000)]
re PR c++/18016 (Warn about member variables initialized with itself)
2011-05-23 Jonathan Wakely <jwakely.gcc@gmail.com>
PR c++/18016
* init.c (perform_member_init): Check for self-initialization.
From-SVN: r174058
Tom de Vries [Mon, 23 May 2011 07:27:59 +0000 (07:27 +0000)]
re PR middle-end/45098 (Missed induction variable optimization)
2011-05-23 Tom de Vries <tom@codesourcery.com>
PR target/45098
* tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith): New
function.
(infer_loop_bounds_from_undefined): Use new function.
From-SVN: r174056
Tom de Vries [Mon, 23 May 2011 07:00:02 +0000 (07:00 +0000)]
re PR middle-end/45098 (Missed induction variable optimization)
2011-05-23 Tom de Vries <tom@codesourcery.com>
PR target/45098
* gcc.target/arm/ivopts-6.c: New test.
From-SVN: r174055
GCC Administrator [Mon, 23 May 2011 00:19:31 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r174054
Paolo Carlini [Mon, 23 May 2011 00:05:24 +0000 (00:05 +0000)]
[multiple changes]
2011-05-22 Jonathan Wakely <jwakely.gcc@gmail.com>
* testsuite/20_util/bind/cv_quals_2.cc: New.
2011-05-22 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/49058
* include/std/functional (_Bind<_Functor(_Bound_args...)>::
operator()(_Args&&...)): Don't cv qualify _Functor directly
in the default template argument, SFINAE doesn't apply when
the functor has no arguments.
* testsuite/20_util/bind/49058_1.cc: New.
* testsuite/20_util/bind/49058_2.cc: Likewise.
From-SVN: r174048
Richard Sandiford [Sun, 22 May 2011 21:32:32 +0000 (21:32 +0000)]
mips.h (SUBTARGET_ASM_OPTIMIZING_SPEC): Delete.
gcc/
* config/mips/mips.h (SUBTARGET_ASM_OPTIMIZING_SPEC): Delete.
(ASM_SPEC): Add a -O* option here. Pass -O0 for -noasmopt,
-O1 for -fno-delayed-branch, -O2 if optimization is enabled,
and -O0 otherwise.
(EXTRA_SPECS): Remove subtarget_asm_optimizing_spec.
From-SVN: r174047
Eric Botcazou [Sun, 22 May 2011 21:29:20 +0000 (21:29 +0000)]
cfgcleanup.c (try_forward_edges): Do not update BB_FORWARDER_BLOCK.
* cfgcleanup.c (try_forward_edges): Do not update BB_FORWARDER_BLOCK.
(try_optimize_cfg): Update BB_FORWARDER_BLOCK if try_forward_edges
returns true.
From-SVN: r174046
Richard Sandiford [Sun, 22 May 2011 21:21:21 +0000 (21:21 +0000)]
mips.c (mips_default_arch): Honor MIPS_ISA_DEFAULT.
gcc/
* config/mips/mips.c (mips_default_arch): Honor MIPS_ISA_DEFAULT.
From-SVN: r174045
Eric Botcazou [Sun, 22 May 2011 20:10:54 +0000 (20:10 +0000)]
sparc.c (sparc_delegitimize_address): Handle UNSPEC_MOVE_PIC pattern.
* config/sparc/sparc.c (sparc_delegitimize_address): Handle
UNSPEC_MOVE_PIC pattern.
From-SVN: r174043
Eric Botcazou [Sun, 22 May 2011 20:01:01 +0000 (20:01 +0000)]
config.gcc (sparc-*-elf*): Add sparc/t-crtin.
* config.gcc (sparc-*-elf*): Add sparc/t-crtin.
(sparc-*-rtems*): Likewise.
(sparc64-*-elf*): Likewise.
(sparc64-*-rtems*): Likewise.
(sparc*-*-solaris2*): Likewise. Remove crti.o crtn.o extra parts.
* config/sparc/t-crtin: New file.
* config/sparc/t-sol2 (crti.o): Delete rule.
(crtn.o): Likewise.
* config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Delete.
* config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Likewise.
* config/sparc/sp64-elf.h (STARTFILE_SPEC): Tidy and add crti.o.
(ENDFILE_SPEC): Add crtn.o.
From-SVN: r174041
Tom de Vries [Sun, 22 May 2011 19:59:17 +0000 (19:59 +0000)]
Fix formulation
From-SVN: r174040
Tobias Burnus [Sun, 22 May 2011 19:34:16 +0000 (21:34 +0200)]
stop.c (stop_string,error_stop_string): Minor cleanup.
2011-05-22 Tobias Burnus <burnus@net-b.de>
* runtime/stop.c (stop_string,error_stop_string): Minor cleanup.
From-SVN: r174039
Uros Bizjak [Sun, 22 May 2011 19:04:54 +0000 (21:04 +0200)]
* lex.c (init_vectorized_lexer): Fix comparison of masked value.
From-SVN: r174037
Tom de Vries [Sun, 22 May 2011 19:00:33 +0000 (19:00 +0000)]
re PR middle-end/48689 (ICE in fold-const.c:13798 with fold checking)
2011-05-22 Tom de Vries <tom@codesourcery.com>
PR middle-end/48689
* fold-const.c (fold_checksum_tree): Guard TREE_CHAIN use with
CODE_CONTAINS_STRUCT (TS_COMMON).
From-SVN: r174035
Jakub Jelinek [Sun, 22 May 2011 19:00:00 +0000 (21:00 +0200)]
re PR middle-end/49029 (ICE in simplify_subreg, at simplify-rtx.c:5266)
PR middle-end/49029
* expmed.c (extract_fixed_bit_field): Test whether target can be used
only after deciding which mode to use.
* gcc.c-torture/compile/pr49029.c: New test.
From-SVN: r174034
Tom de Vries [Sun, 22 May 2011 18:57:19 +0000 (18:57 +0000)]
re PR middle-end/45098 (Missed induction variable optimization)
2011-05-22 Tom de Vries <tom@codesourcery.com>
PR target/45098
* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Fix const test
for call to get_shiftadd_cost.
From-SVN: r174033
Uros Bizjak [Sun, 22 May 2011 18:53:32 +0000 (20:53 +0200)]
re PR bootstrap/49104 (bootstrap failure on AMD K6-2 with illegal instruction (cmove) in stage2)
PR target/49104
* config/i386/cpuid.h (bit_MMXEXT): New define.
libcpp/ChangeLog:
2011-05-22 Uros Bizjak <ubizjak@gmail.com>
PR target/49104
* lex.c (init_vectorized_lexer): Do not set "minimum" when __3dNOW_A__
is defined. Check bit_MMXEXT and bit_CMOV to use search_line_mmx.
From-SVN: r174032
Jason Merrill [Sun, 22 May 2011 18:48:39 +0000 (14:48 -0400)]
re PR c++/48647 ([C++0x] SFINAE does not handle incompatible pointer types well in conditional operator)
PR c++/48647
* typeck.c (composite_pointer_type_r): Return error_mark_node
on error in SFINAE context.
From-SVN: r174031
Janne Blomqvist [Sun, 22 May 2011 16:38:05 +0000 (19:38 +0300)]
PR 48931 Make backtrace async-signal-safe, reformat output
From-SVN: r174030
Nick Clifton [Sun, 22 May 2011 14:51:34 +0000 (14:51 +0000)]
stormy16.c (xstormy16_init_builtins): prevent initialisation of non-existant args[2] element.
* config/stormy16/stormy16.c (xstormy16_init_builtins): prevent
initialisation of non-existant args[2] element. Use args[] array
not arg[] array to pass arguments to build_function_type_list.
From-SVN: r174029
Joseph Myers [Sun, 22 May 2011 14:20:12 +0000 (15:20 +0100)]
gcc_release (adjust_dirs, [...]): Remove.
* gcc_release (adjust_dirs, maybe_build_tarfile): Remove.
(build_tarfiles): Don't build separate files for languages and
core.
(build_diffs): Only build one set of diffs.
(announce_snapshot): Only announce one tar file.
(ADA_DIRS, CPLUSPLUS_DIRS, FORTRAN95_DIRS, GO_DIRS, JAVA_DIRS,
OBJECTIVEC_DIRS, TESTSUITE_DIRS): Remove. Don't adjust names
relative to WORKING_DIRECTORY.
From-SVN: r174028
Thomas Koenig [Sun, 22 May 2011 10:38:09 +0000 (10:38 +0000)]
frontend-passes.c (cfe_register_funcs): Also register character functions if their charlens are known and constant.
2011-05-22 Thomas Koenig <tkoenig@gcc.gnu.org>
* frontend-passes.c (cfe_register_funcs): Also register
character functions if their charlens are known and constant.
Also register allocatable functions.
2011-05-22 Thomas Koenig <tkoenig@gcc.gnu.org>
* gfortran.dg/function_optimize_8.f90: New test case.
From-SVN: r174027
Ira Rosen [Sun, 22 May 2011 08:04:43 +0000 (08:04 +0000)]
re PR tree-optimization/49087 (crash in vect_is_slp_reduction)
PR tree-optimization/49087
* tree-vect-loop.c (vect_is_slp_reduction): Fail if
LHS has no uses.
From-SVN: r174026
Jason Merrill [Sun, 22 May 2011 04:40:55 +0000 (00:40 -0400)]
re PR c++/49092 (ice in tree_add_const_value_attribute)
PR c++/49092
* dwarf2out.c (tree_add_const_value_attribute_for_decl): Check for
static storage duration.
From-SVN: r174024
GCC Administrator [Sun, 22 May 2011 00:18:45 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r174021
Eric Botcazou [Sat, 21 May 2011 22:49:05 +0000 (22:49 +0000)]
sparc.md (setjmp): Handle PIC mode and use the hard frame pointer.
* config/sparc/sparc.md (setjmp): Handle PIC mode and use the hard
frame pointer.
From-SVN: r174013
Eric Botcazou [Sat, 21 May 2011 22:03:37 +0000 (22:03 +0000)]
sparc.c (eligible_for_return_delay): Do not return false if there are call-saved registers here...
* config/sparc/sparc.c (eligible_for_return_delay): Do not return
false if there are call-saved registers here...
(sparc_can_use_return_insn_p): ...but here instead.
(save_or_restore_regs): Fix thinko.
(sparc_expand_prologue): Use current_function_is_leaf.
(sparc_frame_pointer_required): Likewise.
From-SVN: r174010
Eric Botcazou [Sat, 21 May 2011 22:02:25 +0000 (22:02 +0000)]
sparc.c (eligible_for_return_delay): Do not return false if there are call-saved registers here...
* config/sparc/sparc.c (eligible_for_return_delay): Do not return
false if there are call-saved registers here...
(sparc_can_use_return_insn_p): ...but here instead.
(save_or_restore_regs): Fix thinko.
(sparc_expand_prologue): Use current_function_is_leaf.
(sparc_frame_pointer_required): Likewise.
From-SVN: r174008
Jason Merrill [Sat, 21 May 2011 22:01:45 +0000 (18:01 -0400)]
re PR c++/48945 ([C++0x] static constexpr member function cannot be defined out-of class)
PR c++/48945
* decl.c (grokdeclarator): Don't add set const function-cv-qual
for constexpr fns to memfn_quals, just add it to the type.
(revert_static_member_fn): Don't complain about quals.
(check_static_quals): New.
(grokfndecl): Call it.
(start_preparsed_function): Don't call revert_static_member_fn.
From-SVN: r174007
Jason Merrill [Sat, 21 May 2011 22:01:38 +0000 (18:01 -0400)]
re PR c++/48945 ([C++0x] static constexpr member function cannot be defined out-of class)
PR c++/48945
* decl.c (revert_static_member_fn): Ignore const on constexpr fn.
From-SVN: r174006
Jason Merrill [Sat, 21 May 2011 22:01:29 +0000 (18:01 -0400)]
re PR c++/48780 ([C++0x] scoped enumerations and va_arg (default argument promotions))
PR c++/48780
* cvt.c (type_promotes_to): Don't promote scoped enums.
From-SVN: r174005
Paolo Carlini [Sat, 21 May 2011 21:50:39 +0000 (21:50 +0000)]
unique_ptr.h: Use noexcept per the FDIS.
2011-05-21 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/unique_ptr.h: Use noexcept per the FDIS.
From-SVN: r174004
Joseph Myers [Sat, 21 May 2011 19:45:27 +0000 (20:45 +0100)]
re PR ada/49097 (gnatbind link fails to find version_string, potential ranlib concurrency problem)
PR ada/49097
* gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on
$(LIBDEPS).
From-SVN: r174002
Janus Weil [Sat, 21 May 2011 19:12:51 +0000 (21:12 +0200)]
re PR fortran/48699 ([OOP] MOVE_ALLOC inside SELECT TYPE)
2011-05-21 Janus Weil <janus@gcc.gnu.org>
PR fortran/48699
* match.c (select_type_set_tmp): Make the temporary ALLOCATABLE if the
selector is ALLOCATABLE.
2011-05-21 Janus Weil <janus@gcc.gnu.org>
PR fortran/48699
* gfortran.dg/select_type_23.f03: New.
From-SVN: r174001
Nick Clifton [Sat, 21 May 2011 16:35:38 +0000 (16:35 +0000)]
re PR target/49098 (unused parameters in rx.c:rx_memory_move_cost)
PR target/49098
* config/rx/rx.c (rx_memory_move_cost): Note unused parameters.
From-SVN: r173999
Nicola Pero [Sat, 21 May 2011 15:57:11 +0000 (15:57 +0000)]
In gcc/objc/: 2011-05-21 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2011-05-21 Nicola Pero <nicola.pero@meta-innovation.com>
* config-lang.in (gtfiles): Updated order of files to fix building
when the gcc/cp directory is missing, as in the case of some
release tarballs.
From-SVN: r173998
Nicola Pero [Sat, 21 May 2011 13:08:18 +0000 (13:08 +0000)]
In gcc/: 2011-05-21 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2011-05-21 Nicola Pero <nicola.pero@meta-innovation.com>
* gengtype.c (walk_type): Implemented "atomic" GTY option.
* doc/gty.texi (GTY Options): Document "atomic" GTY option.
From-SVN: r173996
Joseph Myers [Sat, 21 May 2011 11:34:29 +0000 (12:34 +0100)]
opt-read.awk: New.
* opt-read.awk: New. Split out of optc-gen.awk and opth-gen.awk.
* optc-gen.awk: Move common code to opt-read.awk.
* opth-gen.awk: Likewise.
* Makefile.in (options.c, s-options-h): Update to use
opt-read.awk.
From-SVN: r173995
Jason Merrill [Sat, 21 May 2011 03:57:12 +0000 (23:57 -0400)]
re PR c++/49066 ([C++0x] Non-defining declaration of deleted function suppresses usage validation)
PR c++/49066
* decl.c (duplicate_decls): Preserve DECL_DELETED_FN.
From-SVN: r173993
Paolo Carlini [Sat, 21 May 2011 00:30:57 +0000 (00:30 +0000)]
propagation_consistent.cc: Fix vs POD-ness of value_type.
2011-05-20 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/21_strings/basic_string/requirements/exception/
propagation_consistent.cc: Fix vs POD-ness of value_type.
* testsuite/21_strings/basic_string/requirements/exception/
basic.cc: Likewise.
* testsuite/ext/vstring/requirements/exception/
propagation_consistent.cc: Likewise.
* testsuite/ext/vstring/requirements/exception/basic.cc: Likewise.
From-SVN: r173992
GCC Administrator [Sat, 21 May 2011 00:18:21 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r173991
Paolo Carlini [Sat, 21 May 2011 00:05:03 +0000 (00:05 +0000)]
char_traits.h: Use noexcept throughout.
2011-05-20 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/char_traits.h: Use noexcept throughout.
* include/std/typeindex: Likewise.
* include/std/tuple (_Tuple_impl<>_Tuple_impl(_Tuple_impl&&)): Use
noexcept; adjust callers.
* include/bits/stl_pair.h (pair<>::pair(pair<>&&)): Use noexcept.
* testsuite/20_util/tuple/cons/noexcept_move_construct.cc: New.
* testsuite/20_util/pair/cons/noexcept_move_construct.cc: Likewise.
* testsuite/20_util/pair/noexcept_swap.cc: Likewise.
* testsuite/20_util/pair/noexcept_move_assign.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
line numbers.
From-SVN: r173986
Jason Merrill [Fri, 20 May 2011 20:40:06 +0000 (16:40 -0400)]
* tree.c (stabilize_expr): Fix typo.
From-SVN: r173982
Jason Merrill [Fri, 20 May 2011 20:39:59 +0000 (16:39 -0400)]
DR 1073 PR c++/49082
DR 1073
PR c++/49082
* typeck.c (comp_except_specs): noexcept(false) is not compatible
with throw(type-list).
* typeck2.c (merge_exception_specifiers): noexcept(false)
beats any more limited specification.
From-SVN: r173981
Nathan Froyd [Fri, 20 May 2011 20:01:46 +0000 (20:01 +0000)]
remove TYPE_ARG_TYPES from godump.c
remove TYPE_ARG_TYPES from godump.c
* godump.c (go_format_type): Don't use TYPE_ARG_TYPES.
From-SVN: r173980
Nathan Froyd [Fri, 20 May 2011 19:57:52 +0000 (19:57 +0000)]
remove some TYPE_ARG_TYPES usage in objc/
remove some TYPE_ARG_TYPES usage in objc/
* objc-act.c (objc_compare_types): Use function_args_iterator
instead of TYPE_ARG_TYPES to compare function argument types.
From-SVN: r173977
Tom de Vries [Fri, 20 May 2011 19:32:30 +0000 (19:32 +0000)]
re PR middle-end/45098 (Missed induction variable optimization)
2011-05-20 Tom de Vries <tom@codesourcery.com>
PR target/45098
* tree-ssa-loop-ivopts.c: Include expmed.h.
(get_shiftadd_cost): New function.
(force_expr_to_var_cost): Declare forward. Use get_shiftadd_cost.
From-SVN: r173976
Jakub Jelinek [Fri, 20 May 2011 18:22:49 +0000 (20:22 +0200)]
re PR bootstrap/49086 (libgomp/task.c:79:1: internal compiler error: Segmentation fault)
PR bootstrap/49086
* gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL
for PHI args that are SSA_NAME_IS_DEFAULT_DEF.
From-SVN: r173967
Janus Weil [Fri, 20 May 2011 18:05:26 +0000 (20:05 +0200)]
re PR fortran/48706 (Type extension inside subroutine)
2011-05-20 Janus Weil <janus@gcc.gnu.org>
PR fortran/48706
* module.c (write_dt_extensions): Do not write extended types which
are local to a subroutine.
2011-05-20 Janus Weil <janus@gcc.gnu.org>
PR fortran/48706
* gfortran.dg/extends_12.f03: New.
From-SVN: r173966
Jason Merrill [Fri, 20 May 2011 18:01:22 +0000 (14:01 -0400)]
re PR c++/24163 (dependent Base class scope examined during unqualified name lookup in template)
PR c++/24163
PR c++/29131
gcc/cp/
* pt.c (tsubst_copy_and_build) [CALL_EXPR]: Avoid repeating
unqualified lookup.
* semantics.c (perform_koenig_lookup): Add complain parm.
* cp-tree.h: Adjust.
* parser.c (cp_parser_postfix_expression): Adjust.
(cp_parser_perform_range_for_lookup): Adjust.
libstdc++-v3/
* include/ext/pb_ds/assoc_container.hpp: Explicitly qualify calls to
functions from dependent bases.
* include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/rb_tree_map_/
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/tree_policy/
order_statistics_imp.hpp: Likewise.
* include/ext/pb_ds/detail/trie_policy/
prefix_search_node_update_imp.hpp: Likewise.
* include/ext/rc_string_base.h: Likewise.
* include/ext/rope: Likewise.
* include/ext/ropeimpl.h: Likewise.
* testsuite/util/exception/safety.h: Likewise.
* testsuite/util/native_type/native_priority_queue.hpp: Likewise.
* testsuite/util/testsuite_io.h: Likewise.
* include/std/functional: Declare mem_fn earlier.
* include/tr1/functional: Likewise.
* include/tr1/exp_integral.tcc: Declare __expint_E1 earlier.
From-SVN: r173965
Jason Merrill [Fri, 20 May 2011 18:01:08 +0000 (14:01 -0400)]
* semantics.c (finish_call_expr): SET_EXPR_LOCATION.
From-SVN: r173964
Joseph Myers [Fri, 20 May 2011 16:38:24 +0000 (17:38 +0100)]
* Makefile.in: Update comment referring to $(OBJS-common).
From-SVN: r173963
Ian Lance Taylor [Fri, 20 May 2011 16:21:48 +0000 (16:21 +0000)]
godump.c (go_output_typedef): Put enum constants in the macro hash table to avoid duplicate Go const definitions.
* godump.c (go_output_typedef): Put enum constants in the macro
hash table to avoid duplicate Go const definitions.
From-SVN: r173962
Joseph Myers [Fri, 20 May 2011 15:19:05 +0000 (16:19 +0100)]
Makefile.in (LIBDEPS): Add libcommon.a.
* Makefile.in (LIBDEPS): Add libcommon.a.
(LIBS): Likewise.
(GCC_OBJS): Remove diagnostic.o, pretty-print.o and input.o.
(OBJS-common): Remove diagnostic.o, input.o, intl.o,
pretty-print.o and version.o.
(OBJS-libcommon): New.
(ALL_HOST_BACKEND_OBJS): Add $(OBJS-libcommon).
(BACKEND): Add libcommon.a.
(MOSTLYCLEANFILES): Likewise.
(libcommon.a): New.
(xgcc$(exeext)): Don't explicitly use version.o and intl.o.
(cpp$(exeext)): Likewise.
(COLLECT2_OBJS): Remove intl.o, version.o, diagnostic.o,
pretty-print.o and input.o.
(lto-wrapper$(exeext)): Don't explicitly use intl.o.
(lto-wrapper.o): Depend on $(DIAGNOSTIC_H).
(errors.o): Remove.
(mips-tfile): Don't explicitly use version.o.
(mips-tdump): Likewise.
(gcov.o): Depend on $(DIAGNOSTIC_H).
(gcov-dump.o): Depend on intl.h and $(DIAGNOSTIC_H).
(GCOV_OBJS): Remove intl.o, version.o and errors.o.
(GCOV_DUMP_OBJS): Remove version.o and errors.o.
* gcov-dump.c: Include intl.h and diagnostic.h.
(main): Initialize diagnostics.
* gcov.c: Include diagnostic.h.
(fnotice): Remove.
(main): Initialize diagnostics.
* lto-wrapper.c: Include diagnostic.h.
(main): Initialize diagnostics.
ada:
* gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove
version.o.
* gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
libcommon.a instead of version.o.
cp:
* Make-lang.in (GXX_OBJS): Remove intl.o and version.o.
fortran:
* Make-lang.in (GFORTRAN_D_OBJS): Remove version.o and intl.o.
go:
* Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
java:
* Make-lang.in ($(XGCJ)$(exeext)): Don't explicitly use intl.o and
version.o.
(JCFDUMP_OBJS): Remove errors.o, version.o and intl.o.
(JVGENMAIN_OBJS): Remove errors.o and intl.o.
(java/jcf-dump.o, java/jvgenmain.o): Depend in $(DIAGNOSTIC_H).
* jcf-dump.c: Include diagnostic.h.
(main): Initialize diagnostics.
* jvgenmain.c: Include diagnostic.h.
(main): Initialize diagnostics.
From-SVN: r173958
Michael Matz [Fri, 20 May 2011 15:10:14 +0000 (15:10 +0000)]
* Makefile.in (OBJS-common, OBJS-md, OBJS-archive): Merge into OBJS.
From-SVN: r173957
Michael Matz [Fri, 20 May 2011 15:09:35 +0000 (15:09 +0000)]
lto-streamer.c (lto_record_common_node): Don't track seen nodes...
* lto-streamer.c (lto_record_common_node): Don't track seen nodes,
use lto_streamer_cache_append directly instead of returning a VEC.
(preload_common_node): Remove.
(lto_get_common_nodes): Rename to lto_preload_common_nodes, don't
track seen nodes.
(lto_streamer_cache_create): Call lto_preload_common_nodes.
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r173956
Richard Guenther [Fri, 20 May 2011 15:02:49 +0000 (15:02 +0000)]
re PR tree-optimization/49079 (Bogus constant folding)
2011-05-20 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49079
* tree-dfa.c (get_ref_base_and_extent): Handle view-converting
MEM_REFs correctly for the trailing array access detection.
Special case constants the same way as decls for overall size
constraining.
* gcc.dg/torture/pr49079.c: New testcase.
From-SVN: r173954
Uros Bizjak [Fri, 20 May 2011 14:49:56 +0000 (16:49 +0200)]
mingw32.h (OUTPUT_QUOTED_STRING): Fix macro argument expansion.
* config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Fix macro
argument expansion.
From-SVN: r173953
Janne Blomqvist [Fri, 20 May 2011 14:45:51 +0000 (17:45 +0300)]
PR 48977 Denormal exception on glibc targets
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r173952
Jakub Jelinek [Fri, 20 May 2011 14:19:05 +0000 (16:19 +0200)]
re PR tree-optimization/49073 (g++ optimizer breaks do-while code)
PR tree-optimization/49073
* gimple-fold.c (and_comparisons_1, or_comparisons_1): Return
NULL if PHI argument is SSA_NAME, whose def_stmt is dominated
by the PHI.
* tree-ssa-ifcombine.c (tree_ssa_ifcombine): Calculate dominators.
* gcc.c-torture/execute/pr49073.c: New test.
From-SVN: r173948
Janne Blomqvist [Fri, 20 May 2011 12:55:45 +0000 (15:55 +0300)]
Clarify FP exception documentation and messages
From-SVN: r173944
Richard Guenther [Fri, 20 May 2011 09:35:44 +0000 (09:35 +0000)]
re PR middle-end/48849 (SPEC CPU 2000/2006 failed to build with LTO)
2011-05-20 Richard Guenther <rguenther@suse.de>
PR middle-end/48849
* gimple.c (gimple_register_canonical_type): Compute TYPE_CANONICAL
of pointer types the same way the middle-end does.
From-SVN: r173939
Richard Guenther [Fri, 20 May 2011 09:35:03 +0000 (09:35 +0000)]
gimple.c (gimple_register_type_1): Do not fiddle with main-variant or pointer-to chains.
2011-05-20 Richard Guenther <rguenther@suse.de>
* gimple.c (gimple_register_type_1): Do not fiddle with
main-variant or pointer-to chains. Delay all fixup to
uniquify_nodes.
lto/
* lto.c (lto_ft_common): Remove pointer-to chain teardown.
(lto_ft_type): Move main-variant and pointer-to chain building ...
(uniquify_nodes): ... here. Compute TYPE_CANONICAL also here,
in a separate final loop.
From-SVN: r173938
GCC Administrator [Fri, 20 May 2011 00:19:26 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173935
Ian Lance Taylor [Fri, 20 May 2011 00:18:15 +0000 (00:18 +0000)]
Update to current version of Go library.
From-SVN: r173931
Quentin Neill [Thu, 19 May 2011 23:04:22 +0000 (23:04 +0000)]
sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
2011-05-19 Quentin Neill <quentin.neill@amd.com>
* config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
(fma4_fmaddsub): Likewise
From-SVN: r173929
Jan Hubicka [Thu, 19 May 2011 21:49:10 +0000 (23:49 +0200)]
gimple.c (gtc_visited, [...]): Remove.
* gimple.c (gtc_visited, gtc_ob, type_pair_hash, type_pair_eq): Remove.
(GIMPLE_TYPE_PAIR_SIZE): New macro.
(type_pair_cache): New static var.
(lookup_type_pair): Use fixed sized custom hash; make inline.
(gtc_visit, gimple_types_compatible_p, gimple_register_type_1): Update
calls of lookup_type_pair.
(print_gimple_types_stats): Remove cache stats.
(free_gimple_type_tables): Free type_pair_cache instead of gtc_visited
and gtc_ob.
From-SVN: r173925
Uros Bizjak [Thu, 19 May 2011 21:09:25 +0000 (23:09 +0200)]
i386.c (option_override_internal): Enable TARGET_CMOVE when TARGET_RDRND is active.
* config/i386/i386.c (option_override_internal): Enable TARGET_CMOVE
when TARGET_RDRND is active.
(ix86_expand_builtin) <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>:
Generate dummy SImode target register when target is NULL.
From-SVN: r173921
Tobias Burnus [Thu, 19 May 2011 20:53:33 +0000 (22:53 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-06-19 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* trans-types.c (gfc_get_element_type): Handle scalar coarrays.
(gfc_get_nodesc_array_type): Make a variant-type copy for scalar
coarrays.
* trans.c (gfc_build_array_ref): Return original type not
* variant
copy for scalar coarrays.
* trans-array.c (gfc_conv_array_ref): Ditto.
2011-06-19 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* gfortran.dg/coarray_21.f90: New.
From-SVN: r173920
Paolo Carlini [Thu, 19 May 2011 20:48:39 +0000 (20:48 +0000)]
tuple (tuple_element<__i, [...]): Add.
2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/tuple (tuple_element<__i, const _Tp>,
tuple_element<__i, volatile _Tp>, tuple_element<__i,
const volatile _Tp>, tuple_size<const _Tp>, tuple_size<volatile _Tp>,
tuple_size<const volatile _Tp>): Add.
* include/std/utility (tuple_size<std::pair<_Tp1, _Tp2>>): Tweak.
* include/std/array (tuple_size<array<_Tp, _Nm>>): Likewise.
* testsuite/20_util/tuple/cv_tuple_size.cc: New.
* testsuite/20_util/tuple/cv_tuple_element.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Tweak dg-warning
line number.
From-SVN: r173919
Paolo Carlini [Thu, 19 May 2011 17:20:22 +0000 (17:20 +0000)]
tuple (tuple<>::operator=(tuple&&)): Specify as noexcept.
2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/tuple (tuple<>::operator=(tuple&&)): Specify as
noexcept.
(__get_helper): Likewise.
(_Head_base<>::_M_head, _Tuple_impl<>::_M_head, _M_tail): Likewise.
* include/bits/move.h (swap): Likewise.
* include/bits/algorithmfwd.h (swap): Adjust.
* include/bits/stl_pair.h (pair<>::operator=(pair&&)): Spec noexcept.
* testsuite/util/testsuite_allocator.h (uneq_allocator): In C++0x
mode, prefer delete to access control to make the type not copy
assignable.
* testsuite/util/testsuite_tr1.h: Add test classes.
* testsuite/20_util/tuple/noexcept_swap.cc: New.
* testsuite/20_util/tuple/noexcept_move_assign.cc: Likewise.
* testsuite/25_algorithms/reverse/moveable.cc: Likewise, prefer
delete to access control.
* testsuite/25_algorithms/swap_ranges/moveable.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
line numbers.
From-SVN: r173917
Joseph Myers [Thu, 19 May 2011 16:27:59 +0000 (17:27 +0100)]
gcc_update (gcc/config/arm/arm-tables.opt): Also depend on gcc/config/arm/arm-fpus.def.
contrib:
* gcc_update (gcc/config/arm/arm-tables.opt): Also depend on
gcc/config/arm/arm-fpus.def.
gcc:
* config/arm/arm-fpus.def: New.
* config/arm/genopt.sh: Generate Enum and EnumValue entries from
arm-fpus.def.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm.c (all_fpus): Move contents to arm-fpus.def.
(arm_option_override): Don't decode FPU name to string here.
* config/arm/arm.opt (mfpu=): Use Enum.
* config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt, arm.o):
Update dependencies.
From-SVN: r173916
Joseph Myers [Thu, 19 May 2011 16:25:12 +0000 (17:25 +0100)]
collect2.c: Include diagnostic.h.
* collect2.c: Include diagnostic.h.
(fatal_perror, fatal, error, fancy_abort): Remove.
(main): Set progname. Call xmalloc_set_program_name and
diagnostic_initialize.
(maybe_run_lto_and_relink, main, collect_execute, scan_prog_file,
scan_libraries, resolve_lib_name): Call fatal_error instead of
fatal and fatal_perror.
* collect2.h (error, fatal, fatal_perror): Don't declare.
* tlink.c: Include diagnostic-core.h.
(recompile_files): Call fatal_error instead of fatal_perror.
* Makefile.in (COLLECT2_OBJS): Include diagnostic.o,
pretty-print.o and input.o.
(collect2.o, tlink.o): Update dependencies.
testsuite:
* lib/prune.exe (prune_gcc_output): Expect "error:" in collect2
output.
From-SVN: r173915
Rainer Orth [Thu, 19 May 2011 14:37:14 +0000 (14:37 +0000)]
* config/i386/i386.md (tls_initial_exec_64_sun): Add semicolon.
From-SVN: r173914
Rainer Orth [Thu, 19 May 2011 14:29:05 +0000 (14:29 +0000)]
re PR target/40483 (gcc 4.x needs to utilize better COMDAT mechanism under Solaris)
PR target/40483
* configure.ac (gcc_cv_as_comdat_group_group): Check for Sun as
COMDAT group syntax, both SPARC and x86 variants.
(HAVE_COMDAT_GROUP): Also define if gcc_cv_as_comdat_group_group.
* configure: Regenerate.
* config/sol2.h (TARGET_SOLARIS): Define.
(PUSHSECTION_FORMAT): Remove.
(SECTION_NAME_FORMAT): Define.
* config/sol2.c: Include hashtab.h.
(solaris_output_init_fini): Replace PUSHSECTION_FORMAT by its
expansion, using SECTION_NAME_FORMAT.
(solaris_comdat_htab): New variable.
(struct comdat_entry): Define.
(comdat_hash): New function.
(comdat_eq): New function.
(solaris_elf_asm_comdat_section): New function.
(solaris_define_comdat_signature): New function.
(solaris_code_end): New function.
* config/sol2-protos.h (solaris_elf_asm_comdat_section): Declare.
(solaris_code_end): Declare.
* config/t-sol2 (sol2.o): Add $HASHTAB_H dependency.
* config/i386/i386.c (ix86_code_end) [TARGET_SOLARIS]: Call
solaris_code_end.
(i386_solaris_elf_named_section): Wrap in TARGET_SOLARIS.
Remove ATTRIBUTE_UNUSED.
[!USE_GAS]: Call solaris_elf_asm_comdat_section for
SECTION_LINKONCE sections if HAVE_COMDAT_GROUP.
* config/sparc/sparc.c (sparc_solaris_elf_asm_named_section):
Likewise.
* config/i386/sol2-10.h (TARGET_ASM_NAMED_SECTION): Moved ...
* config/i386/sol2.h (TARGET_ASM_NAMED_SECTION): ... here.
* config/sparc/sol2.h (TARGET_ASM_CODE_END): Redefine.
(PUSHSECTION_FORMAT): Remove.
(SECTION_NAME_FORMAT): Redefine.
From-SVN: r173913
Jakub Jelinek [Thu, 19 May 2011 13:11:56 +0000 (15:11 +0200)]
re PR c++/49043 ([OpenMP & C++0x]: Compiler error when lambda-function within OpenMP loop)
PR c++/49043
* decl.c (check_omp_return): Stop searching on sk_function_parms.
* testsuite/libgomp.c++/pr49043.C: New test.
From-SVN: r173907
Richard Guenther [Thu, 19 May 2011 13:07:50 +0000 (13:07 +0000)]
re PR middle-end/49063 (FAIL: gcc.dg/builtin-object-size-11.c)
2011-05-19 Richard Guenther <rguenther@suse.de>
PR testsuite/49063
* gcc.dg/builtin-object-size-11.c: Use -std=gnu89.
From-SVN: r173906
Kai Tietz [Thu, 19 May 2011 11:16:20 +0000 (13:16 +0200)]
tree-cfg.c (verify_gimple_assign_binary): Barf on TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR.
2011-05-19 Kai Tietz <ktietz@redhat.com>
* tree-cfg.c (verify_gimple_assign_binary): Barf on
TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR.
(gimplify_expr): Move TRUTH_AND|OR|XOR_EXPR to its binary form.
From-SVN: r173903