Commit Graph

113221 Commits

Author SHA1 Message Date
Richard Henderson 4bdd090f8e libitm: Configure for gas cfi pseudo ops.
* asmcfi.m4: New file.

	* configure.ac (GCC_AS_CFI_PSEUDO_OP): Test it.
	* configure, aclocal.m4, config.h.in: Rebuild.
	* config/generic/asmcfi.h: New file.
	* config/x86/sjlj.S: Use it.

From-SVN: r181224
2011-11-09 10:09:53 -08:00
Francois-Xavier Coudert 29d281ca3a re PR libfortran/47972 (error.c:158:7: warning: return makes pointer from integer without a cast)
PR libfortran/47972
	* runtime/error.c (gf_strerror): Silence warning.

From-SVN: r181223
2011-11-09 10:09:42 -08:00
Jason Merrill e399136a6a Run most tests in both C++98 and C++11 modes.
gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_c++11): New.
	(check_effective_target_c++98): New.
	* lib/g++-dg.exp (g++-dg-runtest): New.
	* [various.exp]: Use g++-dg-runtest.
	* [various.C]: Fix for C++11 mode.
gcc/cp/
	* Make-lang.in (check_g++_parallelize): Add dg-torture.exp.
	(check-c++0x): Obsolete.
/
	* Makefile.def (language=c++): Remove check-c++0x.
	* Makefile.in (check-gcc-c++): Regenerate.

From-SVN: r181222
2011-11-09 12:53:53 -05:00
Jason Merrill 754ca64333 * [various.C]: Adjust for C++11 mode.
From-SVN: r181221
2011-11-09 12:53:37 -05:00
Jason Merrill bc3e284b71 * pt.c (invalid_nontype_parm_type_p): Avoid printing "<type error>".
From-SVN: r181220
2011-11-09 12:53:24 -05:00
Jason Merrill ecf658592b pt.c (convert_nontype_argument): Only integral arguments get early folding.
* pt.c (convert_nontype_argument): Only integral arguments
	get early folding.

From-SVN: r181219
2011-11-09 12:53:12 -05:00
Jason Merrill 78d16361e1 parser.c (cp_parser_alias_declaration): Don't do semantic processing if parsing failed.
* parser.c (cp_parser_alias_declaration): Don't do semantic
	processing if parsing failed.

From-SVN: r181218
2011-11-09 12:52:57 -05:00
Janne Blomqvist 161f270d4e PR 46686 Fix incorrect comment.
2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/46686
	* runtime/backtrace.c (show_backtrace): Fix incorrect comment.

From-SVN: r181217
2011-11-09 19:52:11 +02:00
Paolo Carlini 9b5e84de9d re PR preprocessor/51061 (Deprecated -I- option causes segfault)
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR preprocessor/51061
	* incpath.c (merge_include_chains): Make sure to not pass null
	pointers to free_path.

From-SVN: r181216
2011-11-09 17:26:37 +00:00
Paolo Carlini e8089b4a9d re PR c++/51045 (erroneous zero as null pointer constant warning at delete)
/cp
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51045
	* init.c (build_new_1, build_vec_delete_1, build_delete):
	Use nullptr_node.

/testsuite
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51045
	* g++.dg/warn/Wzero-as-null-pointer-constant-2.C: New.


2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* doc/invoke.texi ([Option Summary, C++ Language Options]):
	Add -Wzero-as-null-pointer-constant.

From-SVN: r181215
2011-11-09 17:22:22 +00:00
Paolo Carlini 6d96d7ff5e re PR c++/51045 (erroneous zero as null pointer constant warning at delete)
/cp
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51045
	* init.c (build_new_1, build_vec_delete_1, build_delete):
	Use nullptr_node.

/testsuite
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51045
	* g++.dg/warn/Wzero-as-null-pointer-constant-2.C: New.


2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* doc/invoke.texi ([Option Summary, C++ Language Options]):
	Add -Wzero-as-null-pointer-constant.

From-SVN: r181214
2011-11-09 17:21:19 +00:00
Paolo Carlini db422ace3f re PR c++/51047 ([C++0x] SFINAE does not handle errors of ambiguous base members)
/cp
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51047
	* search.c (lookup_member): Change to take also a tsubst_flags_t
	parameter.
	(lookup_field, lookup_fnfields): Adjust calls.
	* typeck.c (lookup_destructor, finish_class_member_access_expr,
	build_ptrmemfunc_access_expr): Likewise.
	* class.c (handle_using_decl, maybe_note_name_used_in_class):
	Likewise.
	* pt.c (resolve_typename_type): Likewise.
	* semantics.c (lambda_function): Likewise.
	* parser.c (cp_parser_perform_range_for_lookup,
	cp_parser_lookup_name): Likewise.
	* friend.c (make_friend_class): Likewise.
	* name-lookup.c (pushdecl_maybe_friend_1, get_class_binding,
	do_class_using_decl, lookup_qualified_name): Likewise.
	* cp-tree.h (lookup_member): Adjust declaration.

/testsuite
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51047
	* g++.dg/cpp0x/sfinae29.C: New.

From-SVN: r181213
2011-11-09 17:19:12 +00:00
Tobias Burnus 60858d8a32 configure.ac: Make more cross-compile friendly.
2011-11-09  Tobias Burnus  <burnus@net-b.de>

        * configure.ac: Make more cross-compile friendly.
        * Makefile.in: Regenerate.
        * aclocal.m4: Regenerate.
        * config.h.in: Regenerate.
        * configure: Regenerate.

From-SVN: r181212
2011-11-09 18:17:57 +01:00
Eric Botcazou 68126bad7b sparc.c (output_v8plus_shift): Take INSN parameter first and adjust head comment.
* config/sparc/sparc.c (output_v8plus_shift): Take INSN parameter first
	and adjust head comment.
	(output_v8plus_mult): Change NAME into OPCODE and adjust throughout.
	(vector_init_bshuffle): Add head comment.
	(vector_init_move_words): Likewise.
	(vector_init_prepare_elts): Likewise.  Take LOCS parameter first.
	(sparc_expand_vector_init): Likewise.  Adjust call to above function.
	(sparc_expand_vector_init_vis2): Likewise.
	(sparc_expand_vector_init_vis1): Likewise.
	(sparc_expand_conditional_move): Likewise.
	(sparc_expand_vcond): Likewise.
	* config/sparc/sparc-protos.h (output_v8plus_shift): Adjust.
	* config/sparc/sparc.md (ashldi3_v8plus): Adjust call to
	output_v8plus_shift.
	(ashrdi3_v8plus): Likewise.
	(lshrdi3_v8plus): Likewise.

From-SVN: r181211
2011-11-09 16:41:22 +00:00
Matthew Gretton-Dann f5024b4a87 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* config/arm/arm-cores.def: Add -mcpu=cortex-a7.
	* config/arm/arm-tables.opt: Regenerate.
	* config/arm/arm-tune.md: Likewise.
	* config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex A-7.
	* doc/invoke.texi: Document -mcpu=cortex-a7.

From-SVN: r181210
2011-11-09 16:23:15 +00:00
Janne Blomqvist 1ff101ff12 PR 46686 Implement backtrace with _Unwind_Backtrace from libgcc.
2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/46686
	* configure.ac: Don't check execinfo.h, backtrace,
	backtrace_symbols_fd. Check execve instead of execvp. Call
	GCC_CHECK_UNWIND_GETIPINFO.
	* runtime/backtrace.c: Don't include unused headers, include
	limits.h and unwind.h.
	(CAN_FORK): Check execve instead of execvp.
	(GLIBC_BACKTRACE): Remove.
	(bt_header): Conform to gdb backtrace format.
	(struct bt_state): New struct.
	(trace_function): New function.
	(show_backtrace): Use _Unwind_Backtrace from libgcc instead of
	glibc backtrace functions.
	* Makefile.in: Regenerated.
	* aclocal.m4: Regenerated.
	* config.h.in: Regenerated.
	* configure: Regenerated.

From-SVN: r181209
2011-11-09 18:04:42 +02:00
Janus Weil 560bb0136f re PR fortran/50960 ([OOP] vtables not marked as constant)
2011-11-09  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50960
	* gfortran.dg/typebound_call_22.f03: New test case.

From-SVN: r181208
2011-11-09 16:56:53 +01:00
Janne Blomqvist ed10039e8b PR 50016 Slow I/O on MingW due to _commit
frontend ChangeLog:

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/50016
	* gfortran.texi (Data consistency and durability): New section.


testsuite ChangeLog:

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/50016
	* gfortran.dg/inquire_size.f90: Don't flush the unit.

libgfortran ChangeLog:

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/50016
	* io/inquire.c (inquire_via_unit): Flush the unit and use ssize.
	* io/unix.c (buf_flush): Don't call _commit.

From-SVN: r181207
2011-11-09 17:46:15 +02:00
Richard Guenther 26833b3de7 revert: tree-cfg.c (verify_gimple_call): Verify that gimple_call_cannot_inline_p is returning a conservative correct...
2011-11-09  Richard Guenther  <rguenther@suse.de>

	Revert
	2011-11-09  Richard Guenther  <rguenther@suse.de>

	* tree-cfg.c (verify_gimple_call): Verify that
	gimple_call_cannot_inline_p is returning a conservative
	correct result according to gimple_check_call_matching_types.

From-SVN: r181206
2011-11-09 15:05:20 +00:00
Richard Guenther 03cb5f3988 re PR tree-optimization/51039 (ICE: in estimate_function_body_sizes, at ipa-inline-analysis.c:1977 with -finline-small-functions -fno-ipa-pure-const and passing incompatible function ptr)
2011-11-09  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/51039
	* tree-cfg.c (verify_gimple_call): Verify that
	gimple_call_cannot_inline_p is returning a conservative
	correct result according to gimple_check_call_matching_types.
	* ipa-inline-analysis.c (estimate_function_body_sizes): Remove
	code dealing with un-inlinablility.
	* gimple-streamer-in.c (input_gimple_stmt): Update the
	non-inlinable flag.

	* gcc.dg/pr51039.c: New testcase.

From-SVN: r181205
2011-11-09 13:43:02 +00:00
Richard Guenther c4ac6e9400 re PR tree-optimization/51039 (ICE: in estimate_function_body_sizes, at ipa-inline-analysis.c:1977 with -finline-small-functions -fno-ipa-pure-const and passing incompatible function ptr)
2011-11-09  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/51039
	* gimple-low.c (gimple_check_call_args): Remove.
	(gimple_check_call_matching_types): Always return true.
	* tree-inline.c (setup_one_parameter): Always perform a
	valid gimple type change.
	(declare_return_variable): Likewise.

From-SVN: r181204
2011-11-09 13:25:17 +00:00
Rainer Orth e3d871e475 Use t-mingw-pthread on MingW
* config.host (i[34567]86-*-cygwin*): Move i386/t-mingw-pthread ...
	(i[34567]86-*-mingw*): ... here.
	(x86_64-*-mingw*): ... here.

From-SVN: r181203
2011-11-09 13:11:47 +00:00
Jakub Jelinek 69d3d9571b vector.md (vcondv4sfv4si, [...]): New patterns.
* config/rs6000/vector.md (vcondv4sfv4si, vcondv4siv4sf,
	vconduv4sfv4si): New patterns.
	* config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Handle
	different dest_mode from comparison mode.

	* lib/target-supports.exp (check_effective_target_vect_cond_mixed):
	Enable also for powerpc*-*-*.

From-SVN: r181202
2011-11-09 13:22:17 +01:00
Francois-Xavier Coudert 7298eef346 re PR fortran/50540 (Internal Error: Can't convert UNKNOWN to INTEGER(4) (r178939))
PR fortran/50540
	* resolve.c (resolve_forall_iterators): Transform internal errors
	to normal errors.
	* gfortran.dg/forall_16.f90: New test.

From-SVN: r181200
2011-11-09 09:51:49 +00:00
Janus Weil 9c63ca5a1d re PR fortran/50960 ([OOP] vtables not marked as constant)
2011-11-09  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50960
	* class.c (gfc_find_derived_vtab): Make the vtab symbols FL_PARAMETER.
	* expr.c (gfc_simplify_expr): Prevent vtabs from being replaced with
	their value.
	* resolve.c (resolve_values): Use-associated symbols do not need to
	be resolved again.
	(resolve_fl_parameter): Make sure the symbol has a value.

From-SVN: r181199
2011-11-09 10:45:36 +01:00
Francois-Xavier Coudert 02c74373cf re PR fortran/38718 (some simplifiers for elemental intrinsics missing; required for init expressions)
PR fortran/38718

	* intrinsic.c (add_functions): Add gfc_simplify_dreal.
	* intrinsic.h (gfc_simplify_dreal): New proto.
	* simplify.c (gfc_simplify_dreal): New function.

	* gfortran.dg/initialization_29.f90: Expand test.

From-SVN: r181198
2011-11-09 09:41:17 +00:00
Richard Guenther c5bdb340d6 gimple-fold.c (canonicalize_constructor_val): Mark address-taken variables addressable.
2011-11-09  Richard Guenther  <rguenther@suse.de>

	* gimple-fold.c (canonicalize_constructor_val): Mark
	address-taken variables addressable.

From-SVN: r181197
2011-11-09 08:32:26 +00:00
Jonathan Wakely 6c23509047 unordered_map: Add missing copy constructors.
* include/profile/unordered_map: Add missing copy constructors.
	* include/profile/unordered_set: Likewise.

From-SVN: r181196
2011-11-09 08:23:30 +00:00
Dodji Seketeli bd0424fa93 PR c++/51027 - accepts alias-declaration without ';'
gcc/cp/

	* parser.c (cp_parser_alias_declaration): Require ';' at the end
	of the declaration.

libstdc++-v3/

	* include/ext/pointer.h (rebind): Append missing ';'.

gcc/testsuite

	* g++.dg/cpp0x/alias-decl-12.C: New test.
	* g++.dg/ext/alias-decl-attr4.C: Append missing ';'.

From-SVN: r181195
2011-11-09 09:00:58 +01:00
Eric Botcazou c2b32b0fd4 Fix entry
From-SVN: r181194
2011-11-09 07:58:34 +00:00
Dodji Seketeli acfdadb47b PR debug/51032 - ICE in dbxout_type, at dbxout.c:2372
gcc/cp/

	* decl2.c (check_member_template): Accept alias templates and ...
	* parser.c (cp_parser_alias_declaration): ... use it here.

gcc/testsuite/

	* g++.dg/cpp0x/alias-decl-debug-0.C: New test.

From-SVN: r181193
2011-11-09 08:51:12 +01:00
Francois-Xavier Coudert f354bf1d8c re PR fortran/21881 (ICE instead of error for large arrays in derived types)
PR fortran/21881
	* trans-types.c (gfc_get_dtype): Issue a fatal error instead of
	an internal error.

From-SVN: r181192
2011-11-09 06:57:10 +00:00
Ira Rosen 9b858c880b re PR tree-optimization/51015 (ice in vect_determine_vectorization_factor with -O3)
PR tree-optimization/51015
        * tree-vect-loop.c (vect_determine_vectorization_factor): Expect
        vectype to be set for pattern def stmts.

From-SVN: r181191
2011-11-09 06:41:59 +00:00
David S. Miller 65c5ced37b Implement vect_cmdline_needed properly on sparc.
* lib/target-supports.exp (check_effective_target_sparc_vis): New.
	(check_effective_target_vect_cmdline_needed): Use it when sparc*-*-*

From-SVN: r181190
2011-11-08 21:23:02 -08:00
Jonathan Wakely 425006751b stl_vector.h (vector::_Alloc_traits): Make private.
* include/bits/stl_vector.h (vector::_Alloc_traits): Make private.
	* include/debug/vector: Add allocator-extended constructors, ensure
	move assignment and swap have same allocator propagation semantics
	and exceptions specification as base class.
	* include/profile/vector: Likewise.
	(vector::push_back(_Tp&&)): Forward argument as rvalue.
	* testsuite/23_containers/vector/debug/alloc_prop.cc: New.
	* doc/xml/manual/status_cxx2011.xml: Clarify status of container
	requirements with respect to allocators.
	(status.iso.200x): Add anchor for old ID to preserve existing links.

From-SVN: r181189
2011-11-09 01:26:04 +00:00
Alan Modra ffe1468659 function.c (bb_active_p): Delete.
* function.c (bb_active_p): Delete.
	(dup_block_and_redirect, active_insn_between): New functions.
	(convert_jumps_to_returns, emit_return_for_exit): New functions,
	split out from..
	(thread_prologue_and_epilogue_insns): ..here.  Delete
	shadowing variables.  Don't do prologue register clobber tests
	when shrink wrapping already failed.  Delete all last_bb_active
	code.  Instead compute tail block candidates for duplicating
	exit path.  Remove these from antic set.  Duplicate tails when
	reached from both blocks needing a prologue/epilogue and
	blocks not needing such.
	* ifcvt.c (dead_or_predicable): Test both flag_shrink_wrap and
	HAVE_simple_return.
	* bb-reorder.c (get_uncond_jump_length): Make global.
	* bb-reorder.h (get_uncond_jump_length): Declare.
	* cfgrtl.c (rtl_create_basic_block): Comment typo fix.
	(rtl_split_edge): Likewise.  Warning fix.
	(rtl_duplicate_bb): New function.
	(rtl_cfg_hooks): Enable can_duplicate_block_p and duplicate_block.
	* Makefile.in (function.o): Update dependencies.

From-SVN: r181188
2011-11-09 11:50:14 +10:30
GCC Administrator dce5eb107d Daily bump.
From-SVN: r181187
2011-11-09 00:18:19 +00:00
Francois-Xavier Coudert b35f6a97ab re PR fortran/50404 (SIGSEGV in gfc_resolve_close)
PR fortran/50404
	* io.c (gfc_resolve_close): CLOSE requires a UNIT.
	* gfortran.dg/io_constraints_3.f90: Improve testcase.

From-SVN: r181183
2011-11-08 23:54:43 +00:00
Richard Henderson 4408b0865b Fix a darwin10 build problem.
local.cc:113:6: error: only weak aliases are supported in this configuration

	* local.cc (_ITM_LB): Use a normal call, not a function alias.

From-SVN: r181182
2011-11-08 15:36:33 -08:00
Francois-Xavier Coudert b8bc0ff76b re PR fortran/50409 (SIGSEGV in gfc_simplify_expr)
PR fortran/50409
	* expr.c (gfc_simplify_expr): Substrings can't have negative
	length.
	* gcc/testsuite/gfortran.dg/string_5.f90: Improve testcase.

From-SVN: r181181
2011-11-08 23:15:11 +00:00
Francois-Xavier Coudert 6ef982714c re PR libfortran/47972 (error.c:158:7: warning: return makes pointer from integer without a cast)
PR libfortran/47972
	* runtime/error.c (gf_strerror): Silence warning.

From-SVN: r181180
2011-11-08 21:58:47 +00:00
Richard Henderson e948157df8 Test for libitm directory present before testing for support.
From-SVN: r181179
2011-11-08 13:18:26 -08:00
Ulrich Weigand 86fc3d06b0 tm.texi.in (MODE_CODE_BASE_REG_CLASS): Add address space argument.
* doc/tm.texi.in (MODE_CODE_BASE_REG_CLASS): Add address space
	argument.
	(REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
	* doc/tm.texi: Regenerate.

	* config/cris/cris.h (MODE_CODE_BASE_REG_CLASS): Add address
	space argument.
	(REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
	* config/bfin/bfin.h (MODE_CODE_BASE_REG_CLASS): Likewise.
	(REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
	* config/avr/avr.h (MODE_CODE_BASE_REG_CLASS): Add address space
	argument.
	(REGNO_MODE_CODE_OK_FOR_BASE_P): Ditto.
	* config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.
	(avr_regno_mode_code_ok_for_base_p): Ditto.
	* config/avr/avr.c (avr_mode_code_base_reg_class): Ditto.
	(avr_regno_mode_code_ok_for_base_p): Ditto.
	(avr_reg_ok_for_addr_p): Pass AS down to
	avr_regno_mode_code_ok_for_base_p.

	* addresses.h (base_reg_class): Add address space argument.
	Pass to MODE_CODE_BASE_REG_CLASS.
	(ok_for_base_p_1): Add address space argument.  Pass to
	REGNO_MODE_CODE_OK_FOR_BASE_P.
	(regno_ok_for_base_p): Add address space argument.  Pass to
	ok_for_base_p_1.

	* regrename.c (scan_rtx_address): Add address space argument.
	Pass address space to regno_ok_for_base_p and base_reg_class.
	Update recursive calls.
	(scan_rtx): Pass address space to scan_rtx_address.
	(build_def_use): Likewise.
	* regcprop.c (replace_oldest_value_addr): Add address space
	argument.  Pass to regno_ok_for_base_p and base_reg_class.
	Update recursive calls.
	(replace_oldest_value_mem): Pass address space to
	replace_oldest_value_addr.
	(copyprop_hardreg_forward_1): Likewise.

	* reload.c (find_reloads_address_1): Add address space argument.
	Pass address space to base_reg_class and regno_ok_for_base_p.
	Update recursive calls.
	(find_reloads_address): Pass address space to base_reg_class,
	regno_ok_for_base_p, and find_reloads_address_1.
	(find_reloads): Pass address space to base_reg_class.
	(find_reloads_subreg_address): Likewise.

	* ira-costs.c (record_reg_classes): Update calls to base_reg_class.
	(ok_for_base_p_nonstrict): Add address space argument.  Pass to
	ok_for_base_p_1.
	(record_address_regs): Add address space argument.  Pass to
	base_reg_class and ok_for_base_p_nonstrict.  Update recursive calls.
	(record_operand_costs): Pass address space to record_address_regs.
	(scan_one_insn): Likewise.

	* caller-save.c (init_caller_save): Update call to base_reg_class.
	* ira-conflicts.c (ira_build_conflicts): Likewise.
	* reload1.c (maybe_fix_stack_asms): Likewise.

Co-Authored-By: Georg-Johann Lay <avr@gjlay.de>

From-SVN: r181175
2011-11-08 17:36:45 +00:00
Jason Merrill ca8dc27473 re PR c++/50835 (Lvalue-ness of conditional operator results is incorrect in a function template)
PR c++/50835
	* typeck.c (build_x_conditional_expr): Preserve lvalue/xvalueness.
	* tree.c (lvalue_kind) [NON_DEPENDENT_EXPR]: Return clk_ordinary
	in C++98.

From-SVN: r181174
2011-11-08 12:10:09 -05:00
Rainer Orth e55cef40ed Build softfp for c6x
* config/c6x/t-elf (LIB2ADD): Add instead of assigning.

From-SVN: r181173
2011-11-08 16:50:37 +00:00
Michael Matz 47598145be gengtype.c (write_field_root): Avoid out-of-scope access of newv.
* gengtype.c (write_field_root): Avoid out-of-scope access of newv.

	* tree-stdarg.c (execute_optimize_stdarg): Accept clobbers.

	* tree.h (TREE_CLOBBER_P): New macro.
	* gimple.h (gimple_clobber_p): New inline function.
	* gimplify.c (gimplify_bind_expr): Add clobbers for all variables
	that go out of scope and live in memory.
	* tree-ssa-operands.c (get_expr_operands): Transfer volatility also
	for constructors.
	* cfgexpand.c (decl_to_stack_part): New static variable.
	(add_stack_var): Allocate it, and remember mapping.
	(fini_vars_expansion): Deallocate it.
	(stack_var_conflict_p): Add early outs.
	(visit_op, visit_conflict, add_scope_conflicts_1,
	add_scope_conflicts): New static functions.
	(expand_used_vars_for_block): Don't call add_stack_var_conflict, tidy.
	(expand_used_vars): Add scope conflicts.
	(expand_gimple_stmt_1): Expand clobbers to nothing.
	(expand_debug_expr): Ditto.

	* tree-pretty-print.c (dump_generic_node): Dump clobbers nicely.
	* tree-ssa-live.c (remove_unused_locals): Remove clobbers that
	refer to otherwise unused locals.
	* tree-sra.c (build_accesses_from_assign): Ignore clobbers.
	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Clobbers of
	SSA names aren't necessary.
	(propagate_necessity): Accept and ignore constructors on the rhs,
	tidy.
	* gimple.c (walk_gimple_op): Accept constructors like mem_rhs.
	* tree-ssa-structalias.c (find_func_aliases): Clobbers don't store
	any known value.
	* tree-ssa-sccvn.c (vn_reference_lookup_3): Ditto, in particular they
	don't zero-initialize something.
	* tree-ssa-phiopt.c (cond_if_else_store_replacement_1): Ignore
	clobber RHS, we don't want PHI nodes with those.

testsuite/
	* gcc.dg/tree-ssa/20031015-1.c: Adjust.
	* g++.dg/tree-ssa/ehcleanup-1.C: Ditto.
	* g++.dg/eh/builtin1.C: Rewrite to not use local variables.
	* g++.dg/eh/builtin2.C: Ditto.
	* g++.dg/eh/builtin3.C: Ditto.

From-SVN: r181172
2011-11-08 16:47:16 +00:00
Jonathan Wakely a58a38b32c shared_ptr_base.h (_Sp_counted_ptr): Make 'final'.
* include/bits/shared_ptr_base.h (_Sp_counted_ptr): Make 'final'.
	(_Sp_counted_deleter): Make 'final'. Use allocator_traits.
	(_Sp_counted_ptr_inplace): Make 'final'. Use allocator_traits.
	Derive from _Sp_counted_ptr instead of _Sp_counted_deleter to use EBO
	for the allocator.
	(__shared_count, __shared_ptr): Use allocator_traits.
	* include/std/future (__future_base::_Result_alloc): Make 'final'. Use
	allocator traits.
	(__future_base::_Task_state): Make 'final'.
	(__future_base::_Deferred_state): Likewise.
	(__future_base::_Async_state): Likewise.
	* testsuite/20_util/shared_ptr/cons/alloc_min.cc: New.
	* testsuite/20_util/shared_ptr/creation/alloc_min.cc: New.
	* testsuite/20_util/shared_ptr/creation/private.cc: New.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
	* testsuite/30_threads/packaged_task/cons/alloc_min.cc: New.
	* testsuite/30_threads/promise/cons/alloc_min.cc: New.

From-SVN: r181171
2011-11-08 16:45:54 +00:00
Jakub Jelinek 8ebe5133dc i386.c (ix86_preferred_simd_mode): Even for TARGET_AVX if not TARGET_PREFER_AVX128 return 32-byte integer vectors.
* config/i386/i386.c (ix86_preferred_simd_mode): Even for TARGET_AVX
	if not TARGET_PREFER_AVX128 return 32-byte integer vectors.

	* gcc.target/i386/avx-cvt-2.c: Adjust for 32-byte integer vectors
	being prefered even for -mavx.
	* gcc.target/i386/avx-cvt-3.c: New test.

From-SVN: r181170
2011-11-08 17:29:51 +01:00
Richard Henderson 3d3b05ff4f Fix tests for libitm support.
From-SVN: r181169
2011-11-08 08:28:30 -08:00
Richard Henderson 01f3428caf Check for libitm support at top-level.
From-SVN: r181168
2011-11-08 08:06:25 -08:00