Commit Graph

109276 Commits

Author SHA1 Message Date
Ian Lance Taylor
2b4e07b814 re PR libstdc++/49060 (use of deleted memory in __gnu_cxx::hashtable::erase)
PR libstdc++/49060
	* include/backward/hashtable.h (hashtable::erase): Don't crash if
	erasing first and another element with a reference to the other
	element.
	* testsuite/backward/hash_set/49060.cc: New.

From-SVN: r174240
2011-05-25 23:09:14 +00:00
Nicola Pero
48126bcbc2 Fixed typo in last ChangeLog entry
From-SVN: r174238
2011-05-25 20:33:06 +00:00
Jason Merrill
de69121325 re PR c++/44311 ([C++0x] no error with switch over enum class and integer case)
PR c++/44311
	* decl.c (case_conversion): New.
	(finish_case_label): Use it.

From-SVN: r174231
2011-05-25 16:02:41 -04:00
Jason Merrill
f03a540243 print-tree.c (print_node): Only look at TREE_TYPE if TS_TYPED.
* print-tree.c (print_node): Only look at TREE_TYPE if TS_TYPED.
	* cp/ptree.c (cxx_print_xnode): Handle ARGUMENT_PACK_SELECT.

From-SVN: r174230
2011-05-25 15:52:18 -04:00
Jason Merrill
91db8b1345 re PR c++/45698 (C++0x Variadic Templates: Infinite template recursion rather than an error message)
PR c++/45698
	* pt.c (dependent_template_arg_p): See through ARGUMENT_PACK_SELECT.

From-SVN: r174229
2011-05-25 15:52:10 -04:00
Jason Merrill
df23ba642d re PR c++/46005 ([C++0x] Don't allow "auto" as the simple-type-specifier of a typedef)
PR c++/46145
	* decl.c (grokdeclarator): Complain about auto typedef.

From-SVN: r174228
2011-05-25 15:52:02 -04:00
Jason Merrill
ce9b1898e5 re PR c++/46245 ([C++0x] rejects function with late-specified return type as a non-type template parameter)
PR c++/46245
	* decl.c (grokdeclarator): Complain later for auto parameter.
	* pt.c (splice_late_return_type): Handle use in a template
	type-parameter.

From-SVN: r174227
2011-05-25 15:51:54 -04:00
Jason Merrill
5e24286319 re PR c++/46696 ([C++0x] Implicit copy constructor can't construct array of subtype with user-defined copy constructor.)
PR c++/46696
	* typeck.c (cp_build_modify_expr): Check DECL_DEFAULTED_FN.

From-SVN: r174226
2011-05-25 15:51:44 -04:00
Jason Merrill
636e368d17 re PR c++/47184 ([C++0x] initialization construct interpreted as function declaration‏‏)
PR c++/47184
	* parser.c (cp_parser_parameter_declaration): Recognize
	list-initialization.
	(cp_parser_direct_declarator): Check for the closing
	paren before parsing definitely.

From-SVN: r174225
2011-05-25 15:50:49 -04:00
Uros Bizjak
c497c412b4 sse.md (*<sse>_maskcmp<mode>3_comm): New pattern.
* config/i386/sse.md (*<sse>_maskcmp<mode>3_comm): New pattern.

From-SVN: r174224
2011-05-25 21:48:44 +02:00
H.J. Lu
e470affed0 Put back "register_operand" check in 32bit QI ext patterns.
2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.md (*movqi_extv_1)): Put back
	"register_operand" check in "type" calculation.
	(*movqi_extzv_2): Likewise.

From-SVN: r174223
2011-05-25 12:27:56 -07:00
Richard Frith-Macdonald
b5a3450ff7 In libobjc/: 2011-05-25 Richard Frith-Macdonald <rfm@gnu.org> David Ayers <ayers@fsfe.org>
In libobjc/:
2011-05-25  Richard Frith-Macdonald <rfm@gnu.org>
	    David Ayers  <ayers@fsfe.org>

	PR libobjc/38037
	* sendmsg.c: Include objc/hash.h.
	(get_implementation): New function, mostly with code from get_imp
	updated to support the new +initialize dispatch table logic.
	(get_imp): Use get_implementation.
	(__objc_responds_to): Updated to support the new +initialize
	dispatch table logic.
	(class_respondsToSelector): Likewise.
	(objc_msg_lookup): Use get_implementation.
	(__objc_init_install_dtable): Removed.
	(__objc_install_methods_in_dtable): Updated arguments.
	(__objc_install_dispatch_table_for_class): Renamed to
	__objc_install_dtable_for_class and updated to support the new
	+initialize dispatch table logic.
	(__objc_update_dispatch_table_for_class): Updated to support the
	new +initialize dispatch table logic.
	(__objc_forward): Call get_implementation instead of get_imp.
	(prepared_dtable_table): New.
	(__objc_prepare_dtable_for_class): New.	
	(__objc_prepared_dtable_for_class): New.
	(__objc_get_prepared_imp): New.
	(__objc_install_prepared_dtable_for_class): New.

Co-Authored-By: David Ayers <ayers@fsfe.org>

From-SVN: r174221
2011-05-25 18:54:40 +00:00
Paolo Carlini
deaf34a90b random.h (random_device::min, max): Specify constexpr.
2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h (random_device::min, max): Specify constexpr.

From-SVN: r174219
2011-05-25 17:55:40 +00:00
Jakub Jelinek
0957c02992 c-common.c (def_fn_type): Remove extra va_end.
* c-common.c (def_fn_type): Remove extra va_end.

	* gcc-interface/utils.c (def_fn_type): Remove extra va_end.

From-SVN: r174218
2011-05-25 19:26:23 +02:00
H.J. Lu
6c81b2bc25 Update pause intrinsic.
2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>

	* doc/extend.texi (X86 Built-in Functions): Update pause
	intrinsic.

From-SVN: r174217
2011-05-25 10:18:29 -07:00
Bernd Schmidt
0c007eb2cd re PR bootstrap/49160 (Bootstrap failure)
PR bootstrap/49160
	* libgcc2.h (__powisf2, __powidf2, __powitf2, __powixf2,
	__mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3,
	__divxc3, __divtc3): Wrap definitions in #ifndef.

From-SVN: r174216
2011-05-25 16:42:23 +00:00
Janis Johnson
b8f98c5505 fp16-compile-none-1.c: Update expected error.
* gcc.target/arm/fp16-compile-none-1.c: Update expected error.
	* g++.dg/abi/packed1.C: Suppress warning.
	* g++.dg/warn/Wunused-parm-3.C: Likewise.
	* g++.dg/template/stdarg1.C: Likewise.
	* g++.dg/other/packed1.C: Remove arm from xfail list.

From-SVN: r174213
2011-05-25 16:30:27 +00:00
H.J. Lu
521ca78e26 Replace q_regs_operand with QIreg_operand in QI ext patterns.
2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/49142
	* config/i386/i386.md (*movqi_extv_1_rex64): Remove
	"register_operand" check and replace q_regs_operand with
	QIreg_operand in "type" calculation.
	(*movqi_extv_1): Likewise.
	(*movqi_extzv_2_rex64): Likewise.
	(*movqi_extzv_2): Likewise.

	* config/i386/predicates.md (QIreg_operand): New.

From-SVN: r174211
2011-05-25 09:19:36 -07:00
Richard Guenther
29f8b8449c tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix type-based offset disambiguation...
2011-05-25  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix
	type-based offset disambiguation, streamline MEM_REF and
	TARGET_MEM_REF handling.

From-SVN: r174206
2011-05-25 15:20:36 +00:00
Jason Merrill
b60f340870 re PR c++/48935 ([C++0x] Name lookup error at enum class)
PR c++/48935
	* parser.c (cp_parser_constructor_declarator_p): Don't check
	constructor_name_p for enums.
	(cp_parser_diagnose_invalid_type_name): Correct error message.

From-SVN: r174205
2011-05-25 10:35:17 -04:00
Jason Merrill
f41349a3d4 re PR c++/45418 ([C++0x] can't initialize array of non-trivial type with brace-init)
PR c++/45418
	* init.c (perform_member_init): Handle list-initialization
	of array of non-trivial class type.

From-SVN: r174204
2011-05-25 10:35:09 -04:00
Jason Merrill
c844b3a0ed re PR c++/45080 ([C++0x] Rejects lambda to function pointer conversion inside function template)
PR c++/45080
	* pt.c (instantiate_class_template_1): Call maybe_add_lambda_conv_op.
	* semantics.c (lambda_function): Check COMPLETE_OR_OPEN_TYPE_P.

From-SVN: r174203
2011-05-25 10:35:00 -04:00
Paolo Carlini
7f0d79d514 thread: Use noexcept throughout per the FDIS.
2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/thread: Use noexcept throughout per the FDIS.
	* include/std/mutex: Likewise.

From-SVN: r174202
2011-05-25 14:32:06 +00:00
Jason Merrill
bc7f13bf15 re PR c++/48292 ([C++0x] "sorry, unimplemented: use of 'type_pack_expansion' in template")
PR c++/48292
	* pt.c (tsubst_decl) [PARM_DECL]: Handle partial instantiation of
	function parameter pack.
	(tsubst_pack_expansion): Likewise.

From-SVN: r174201
2011-05-25 10:32:06 -04:00
Jason Merrill
0dfef520f0 cp-objcp-common.c (cp_common_init_ts): TYPE_ARGUMENT_PACK has TS_COMMON.
* cp-objcp-common.c (cp_common_init_ts): TYPE_ARGUMENT_PACK has
	TS_COMMON.

From-SVN: r174200
2011-05-25 10:31:56 -04:00
William Schmidt
24db9c23dd Remove spurious ChangeLog entry
From-SVN: r174198
2011-05-25 13:49:29 +00:00
H.J. Lu
74838de312 Implement x86 pause intrinsic.
gcc/

2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_PAUSE.
	(bdesc_special_args): Add pause intrinsic.

	* config/i386/i386.md (UNSPEC_PAUSE): New.
	(pause): Likewise.
	(*pause): Likewise.
	* config/i386/ia32intrin.h (__pause): Likewise.

	* doc/extend.texi (X86 Built-in Functions): Add documentation for
	pause intrinsic.

gcc/testsuite/

2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>

	 * gcc.target/i386/pause-1.c: New.

From-SVN: r174197
2011-05-25 06:42:58 -07:00
Bill Schmidt
d24ad7d6e9 re PR tree-optimization/46728 (GCC does not generate fmadd for pow (x, 0.75)+y on powerpc)
2011-05-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/46728
	* tree-ssa-math-opts.c (gimple_expand_builtin_pow): New.
	(execute_cse_sincos): Add switch case for BUILT_IN_POW.

From-SVN: r174196
2011-05-25 13:35:53 +00:00
Nathan Froyd
d9f8303fb6 move TS_EXP to be a substructure of TS_TYPED
move TS_EXP to be a substructure of TS_TYPED
gcc/
	* tree.h (struct tree_exp): Inherit from struct tree_typed.
	* tree.c (initialize_tree_contains_struct): Mark TS_EXP as TS_TYPED
	instead of TS_COMMON.

gcc/lto/
	* lto.c (lto_ft_typed): New function.
	(lto_ft_common): Call it.
	(lto_ft_constructor): Likewise.
	(lto_ft_expr): Likewise.
	(lto_fixup_prevailing_decls): Check for TS_COMMON before accessing
	TREE_CHAIN.

From-SVN: r174192
2011-05-25 12:52:10 +00:00
Bernd Schmidt
cdbf45414a libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if LIBGCC2_GNU_PREFIX is defined.
gcc/
	* libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if
	LIBGCC2_GNU_PREFIX is defined.
	(__N): New macro.
	(__powisf2, __powidf2, __powitf2, __powixf2, __bswapsi2, __bswapdi2,
	__mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3,
	__divtc3, __udiv_w_sdiv, __clear_cache, __enable_execute_stack,
	__clz_tab): Define using __N.
	(__absvsi2, __negvsi2, __addvsi3, __subvsi3, __mulvsi3): Likewise if
	COMPAT_SIMODE_TRAPPING_ARITHMETIC.
	* target.def (libfunc_gnu_prefix): New hook.
	* doc/tm.texi.in (LIBGCC2_GNU_PREFIX): Document.
	(TARGET_LIBFUNC_GNU_PREFIX): Add hook.
	* doc/tm.texi: Regenerate.
	* system.h (LIBGCC2_GNU_PREFIX): Poison.
	* optabs.c (gen_libfunc): Take the libfunc_gnu_prefix hook into
	account.
	(gen_interclass_conv_libfunc, gen_intraclass_conv_libfunc): Likewise.
	(init_optabs): Likewise for the bswap libfuncs.
	* tree.c (build_common_builtin_nodes): Likewise for complex multiply
	and divide.
	* config/t-slibgcc-elf-ver (SHLIB_MAPFILES): Use $$(libgcc_objdir).
	* config/t-slibgcc-sld (SHLIB_MAPFILES): Likewise.
	* libgcc-std.ver: Remove.
	* Makefile.in (srcdirify): Handle $$(libgcc_objdir).
	* config/frv/t-linux (SHLIB_MAPFILES): Use $$(libgcc_objdir) for
	libgcc-std.ver.
	* config/i386/t-linux (SHLIB_MAPFILES): Likewise.
	* config/mips/t-slibgcc-irix (SHLIB_MAPFILES): Likewise.
	* config/rs6000/t-aix43 (SHLIB_MAPFILES): Likewise.
	* config/rs6000/t-aix52 (SHLIB_MAPFILES): Likewise.
	* config/sparc/t-linux (SHLIB_MAPFILES): Likewise.
	* config/i386/t-linux (SHLIB_MAPFILES): Likewise.
	* config/i386/t-linux (SHLIB_MAPFILES): Likewise.
	* config/fixed-bit.h (FIXED_OP): Define differently depending on
	LIBGCC2_GNU_PREFIX. All uses changed not to pass leading underscores.
	(FIXED_CONVERT_OP, FIXED_CONVERT_OP2): Likewise.

	libgcc/
	* libgcc-std.ver.in: New file.
	* Makefile.in (LIBGCC_VER_GNU_PREFIX, LIBGCC_VER_SYMBOLS_PREFIX): New
	variables.
	(libgcc-std.ver): New rule.
	* config/t-gnu-prefix: New file.

From-SVN: r174187
2011-05-25 12:11:42 +00:00
Jan Hubicka
f242c0a5c0 lto-streamer-out.c (output_record_start): Use lto_output_enum
* lto-streamer-out.c (output_record_start): Use lto_output_enum
	(lto_output_tree): Use output_record_start.
	* lto-streamer-in.c (input_record_start): Use lto_input_enum
	(lto_get_pickled_tree): Use input_record_start.
	* lto-section-in.c (lto_section_overrun): Turn into fatal error.
	(lto_value_range_error): New function.
	* lto-streamer.h (lto_value_range_error): Declare.
	(lto_output_int_in_range, lto_input_int_in_range): New functions.
	(lto_output_enum, lto_input_enum): New macros.

From-SVN: r174186
2011-05-25 12:07:38 +00:00
Kai Tietz
52d0a7acad adaint.c (__gnat_to_canonical_file_list_next): Use array initialization instead of const/none-const pointer assignment.
2011-05-25  Kai Tietz  <ktietz@redhat.com>

        * adaint.c (__gnat_to_canonical_file_list_next): Use array
        initialization instead of const/none-const pointer assignment.

From-SVN: r174185
2011-05-25 13:59:49 +02:00
Eric Botcazou
a11e0df4da common.opt (flag_stack_usage_info): New variable.
* common.opt (flag_stack_usage_info): New variable.
	(-Wstack-usage): New option.
	* doc/invoke.texi (Warning options): Document -Wstack-usage.
	* opts.c (common_handle_option) <OPT_Wstack_usage_>: New case.
	<OPT_fstack_usage>: Likewise.
	* toplev.c (output_stack_usage): Handle -Wstack-usage.
	* calls.c (expand_call): Test flag_stack_usage_info variable instead
	of flag_stack_usage.
	(emit_library_call_value_1): Likewise.
	* explow.c (allocate_dynamic_stack_space): Likewise.
	* function.c (instantiate_virtual_regs ): Likewise.
	(prepare_function_start): Likewise.
	(rest_of_handle_thread_prologue_and_epilogue): Likewise.
	* config/alpha/alpha.c (alpha_expand_prologue): Likewise.
	* config/arm/arm.c (arm_expand_prologue): Likewise.
	(thumb1_expand_prologue): Likewise.
	* config/avr/avr.c (expand_prologue): Likewise.
	* config/i386/i386.c (ix86_expand_prologue): Likewise.
	* config/ia64/ia64.c (ia64_expand_prologue): Likewise.
	* config/m68k/m68k.c (m68k_expand_prologue): Likewise.
	* config/mips/mips.c (mips_expand_prologue): Likewise.
	* config/pa/pa.c (hppa_expand_prologue): Likewise.
	* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
	* config/s390/s390.c (s390_emit_prologue): Likewise.
	* config/sh/sh.c (sh_expand_prologue): Likewise.
	* config/sparc/sparc.c (sparc_expand_prologue): Likewise.
	* config/spu/spu.c (spu_expand_prologue): Likewise.

From-SVN: r174182
2011-05-25 11:00:14 +00:00
Richard Guenther
e7cfe2413f gimple.c (iterative_hash_canonical_type): Skip non-FIELD_DECLs.
2011-05-25  Richard Guenther  <rguenther@suse.de>

	* gimple.c (iterative_hash_canonical_type): Skip non-FIELD_DECLs.
	(gimple_canonical_types_compatible_p): Likewise.

From-SVN: r174181
2011-05-25 10:32:29 +00:00
Jan Hubicka
c5235f4c0e re PR middle-end/49062 (Many C++ tests ICE on Tru64 UNIX: non-DECL_ONE_ONLY node in a same_comdat_group list)
2011-05-25  Jan Hubicka  <jh@suse.cz>

	PR middle-end/49062
	* ipa.c (function_and_variable_visibility): Only add to same
	comdat group list if DECL_ONE_ONLY.

From-SVN: r174180
2011-05-25 10:20:12 +00:00
Andrey Belevantsev
8242a0f621 re PR rtl-optimization/49014 (ICE: in reset_sched_cycles_in_current_ebb, at sel-sched.c:7132 with even more insane set of flags)
PR rtl-optimization/49014
        * config/i386/athlon.md (athlon_ssecomi): Change type to ssecomi.

From-SVN: r174172
2011-05-25 11:59:06 +04:00
Jakub Jelinek
642a011de6 re PR c/49128 (-march=native generates unsupported instructions)
PR target/49128
	* config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.

From-SVN: r174171
2011-05-25 09:12:17 +02:00
Jakub Jelinek
4ac74df2cf cp-objcp-common.c (cp_common_init_ts): Mark CTOR_INITIALIZER as TS_TYPED.
* cp-objcp-common.c (cp_common_init_ts): Mark CTOR_INITIALIZER
	as TS_TYPED.

From-SVN: r174170
2011-05-25 09:10:05 +02:00
Jakub Jelinek
9893368980 re PR c++/49136 ([C++0x][constexpr] Incorrect constexpr c'tor evaluation with bitfields)
PR c++/49136
	* semantics.c (cxx_eval_bit_field_ref): Handle the
	case when BIT_FIELD_REF doesn't cover only a single field.

	* g++.dg/cpp0x/constexpr-bitfield2.C: New test.
	* g++.dg/cpp0x/constexpr-bitfield3.C: New test.

From-SVN: r174168
2011-05-25 09:00:01 +02:00
Ian Lance Taylor
349ea8e855 re PR go/48502 (os_test.TestStartProcess FAILs on Solaris 2)
PR go/48502
libgo/os: Fix test to run on Solaris.

Patch brought over from upstream library.

From-SVN: r174167
2011-05-25 05:57:54 +00:00
Vladimir Makarov
30a435d83a re PR rtl-optimization/48757 (internal compiler error: in compensate_edge, at reg-stack.c:2788)
2011-05-24  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/48757
	* ira-build.c (loop_with_eh_edge_p): Rename to
	loop_with_complex_edge_p, check edges on complexity, make function
	conditional.
	(mark_loops_for_removal): Make call of loop_with_complex_edge_p
	conditional.

2011-05-24  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/48757
	* gfortran.dg/pr48757.f:  New test case.

From-SVN: r174165
2011-05-25 02:15:58 +00:00
GCC Administrator
82625907a6 Daily bump.
From-SVN: r174157
2011-05-25 00:18:51 +00:00
Paolo Carlini
fa6642c965 dr2020.cc: Fix typo.
2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/duration/arithmetic/dr2020.cc: Fix typo.

From-SVN: r174152
2011-05-25 00:13:18 +00:00
Jason Merrill
f52f3c6dab re PR c++/49042 ([C++0x] wrong "protected" when using template and decltype)
PR c++/49042
	* pt.c (get_mostly_instantiated_function_type): Use
	push_deferring_access_checks rather than set flag_access_control.

From-SVN: r174151
2011-05-24 19:44:59 -04:00
Paolo Carlini
b850be9d50 re PR libstdc++/49151 ([C++0x][constexpr] chrono::duration has incorrect non-member operator semantics)
2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/49151
	* include/std/chrono (operator+, operator-, operator*, operator/,
	operator&): Implement LWG 2020 [WP]; specify constexpr.
	* testsuite/20_util/duration/arithmetic/dr2020.cc: New.

From-SVN: r174150
2011-05-24 23:29:19 +00:00
Eric Botcazou
24d1bbc7b5 sparc.c (sparc_option_override): If not set by the user, force flag_ira_share_save_slots to 0.
* config/sparc/sparc.c (sparc_option_override): If not set by the user,
	force flag_ira_share_save_slots to 0.

From-SVN: r174148
2011-05-24 22:28:48 +00:00
Ian Lance Taylor
5bb92e54b7 libgo: Make os.setenv_c work on systems without setenv.
From-SVN: r174147
2011-05-24 22:21:34 +00:00
Eric Botcazou
6577308791 var-tracking.c (compute_cfa_pointer): Adjust head comment.
* var-tracking.c (compute_cfa_pointer): Adjust head comment.
	(vt_initialize): Set PROLOGUE_BB unconditionally.
	Add block comment about CFA_BASE_RTX machinery.
	Reset FP_CFA_OFFSET to -1 on all invalid paths.
	Call vt_init_cfa_base only if FP_CFA_OFFSET isn't equal to -1.

From-SVN: r174146
2011-05-24 21:52:12 +00:00
Ian Lance Taylor
dd761d3aaf libgo: Irix portability fixes (no declaration for getaddrinfo).
From Rainer Orth.

From-SVN: r174145
2011-05-24 21:45:17 +00:00
Ian Lance Taylor
d14a6437c3 libgo: Solaris/Irix portability fixes.
From Rainer Orth.

From-SVN: r174144
2011-05-24 21:43:12 +00:00