Commit Graph

109009 Commits

Author SHA1 Message Date
Tom de Vries
5fb43dd835 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
2011-05-22 19:00:33 +00:00
Jakub Jelinek
ccb1b17ba8 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
2011-05-22 21:00:00 +02:00
Tom de Vries
50ad7db2a8 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
2011-05-22 18:57:19 +00:00
Uros Bizjak
ef230b3836 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
2011-05-22 20:53:32 +02:00
Jason Merrill
7a1db261de 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
2011-05-22 14:48:39 -04:00
Janne Blomqvist
eec2794c17 PR 48931 Make backtrace async-signal-safe, reformat output
From-SVN: r174030
2011-05-22 19:38:05 +03:00
Nick Clifton
15f072f97b 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
2011-05-22 14:51:34 +00:00
Joseph Myers
ba7923d19f 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
2011-05-22 15:20:12 +01:00
Thomas Koenig
42a2717cb7 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
2011-05-22 10:38:09 +00:00
Ira Rosen
e38fdc948a 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
2011-05-22 08:04:43 +00:00
Jason Merrill
5b018c651a 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
2011-05-22 00:40:55 -04:00
GCC Administrator
b42bf620b0 Daily bump.
From-SVN: r174021
2011-05-22 00:18:45 +00:00
Eric Botcazou
abd9a770ee 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
2011-05-21 22:49:05 +00:00
Eric Botcazou
bd9a3248ab 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
2011-05-21 22:03:37 +00:00
Eric Botcazou
6d1e6c0f5b 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
2011-05-21 22:02:25 +00:00
Jason Merrill
fa4a1e468d 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
2011-05-21 18:01:45 -04:00
Jason Merrill
b6413764c0 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
2011-05-21 18:01:38 -04:00
Jason Merrill
967444bbf8 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
2011-05-21 18:01:29 -04:00
Paolo Carlini
525fe1cf88 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
2011-05-21 21:50:39 +00:00
Joseph Myers
9fe72ebdc8 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
2011-05-21 20:45:27 +01:00
Janus Weil
43a9eec7c4 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
2011-05-21 21:12:51 +02:00
Nick Clifton
a5dfec9a97 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
2011-05-21 16:35:38 +00:00
Nicola Pero
43e4226bb4 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
2011-05-21 15:57:11 +00:00
Nicola Pero
555c377190 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
2011-05-21 13:08:18 +00:00
Joseph Myers
86fa5de4fc 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
2011-05-21 12:34:29 +01:00
Jason Merrill
c54a6b8359 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
2011-05-20 23:57:12 -04:00
Paolo Carlini
11436beb87 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
2011-05-21 00:30:57 +00:00
GCC Administrator
cab8411229 Daily bump.
From-SVN: r173991
2011-05-21 00:18:21 +00:00
Paolo Carlini
2789f415a1 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
2011-05-21 00:05:03 +00:00
Jason Merrill
fa07d25b40 * tree.c (stabilize_expr): Fix typo.
From-SVN: r173982
2011-05-20 16:40:06 -04:00
Jason Merrill
5e3f417f3e 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
2011-05-20 16:39:59 -04:00
Nathan Froyd
bce33ab2b4 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
2011-05-20 20:01:46 +00:00
Nathan Froyd
769b55b24f 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
2011-05-20 19:57:52 +00:00
Tom de Vries
e6450c11b2 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
2011-05-20 19:32:30 +00:00
Jakub Jelinek
0e8b84ec02 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
2011-05-20 20:22:49 +02:00
Janus Weil
54381af734 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
2011-05-20 20:05:26 +02:00
Jason Merrill
94df301fa0 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
2011-05-20 14:01:22 -04:00
Jason Merrill
6e04dcd56f * semantics.c (finish_call_expr): SET_EXPR_LOCATION.
From-SVN: r173964
2011-05-20 14:01:08 -04:00
Joseph Myers
946bdf673b * Makefile.in: Update comment referring to $(OBJS-common).
From-SVN: r173963
2011-05-20 17:38:24 +01:00
Ian Lance Taylor
c53aafdf3f 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
2011-05-20 16:21:48 +00:00
Joseph Myers
2691e6d733 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
2011-05-20 16:19:05 +01:00
Michael Matz
252b3e8c78 * Makefile.in (OBJS-common, OBJS-md, OBJS-archive): Merge into OBJS.
From-SVN: r173957
2011-05-20 15:10:14 +00:00
Michael Matz
2ee36ba6e7 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
2011-05-20 15:09:35 +00:00
Richard Guenther
90ff582fb1 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
2011-05-20 15:02:49 +00:00
Uros Bizjak
3cda91d863 mingw32.h (OUTPUT_QUOTED_STRING): Fix macro argument expansion.
* config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Fix macro
	argument expansion.

From-SVN: r173953
2011-05-20 16:49:56 +02:00
Janne Blomqvist
9272cac88a PR 48977 Denormal exception on glibc targets
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r173952
2011-05-20 17:45:51 +03:00
Jakub Jelinek
6c66f73369 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
2011-05-20 16:19:05 +02:00
Janne Blomqvist
57b4d355a1 Clarify FP exception documentation and messages
From-SVN: r173944
2011-05-20 15:55:45 +03:00
Richard Guenther
0ea80a1603 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
2011-05-20 09:35:44 +00:00
Richard Guenther
fb291a1ea7 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
2011-05-20 09:35:03 +00:00