Commit Graph

107947 Commits

Author SHA1 Message Date
Jakub Jelinek
e30ecc5d62 re PR c/48517 (ICE in build_unary_op, at c-typeck.c:3786)
PR c/48517
	* c-typeck.c (store_init_value): Set TREE_TYPE (decl) to
	qualified type.

	* gcc.c-torture/compile/pr48517.c: New test.

From-SVN: r172299
2011-04-12 08:43:12 +02:00
Jakub Jelinek
bae5cddff8 re PR c/48552 (ICE with void type expressions in asm inputs/outputs)
PR c/48552
	* c-typeck.c (build_asm_expr): Error out on attempts to use
	void type outputs or inputs for constraints that allow reg or
	don't allow memory.

	* gcc.dg/pr48552-1.c: New test.
	* gcc.dg/pr48552-2.c: New test.

From-SVN: r172298
2011-04-12 08:27:23 +02:00
Chung-Lin Tang
06eb52cab5 re PR target/48250 (ICE in reload_cse_simplify_operands, at postreload.c:403)
2011-04-11  Chung-Lin Tang  <cltang@codesourcery.com>
	    Richard Earnshaw  <rearnsha@arm.com>

	PR target/48250
	* config/arm/arm.c (arm_legitimize_reload_address): Update cases
	to use sign-magnitude offsets. Reject unsupported unaligned
	cases. Add detailed description in comments.
	* config/arm/arm.md (reload_outdf): Disable for ARM mode; change
	condition from TARGET_32BIT to TARGET_ARM.

Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>

From-SVN: r172297
2011-04-12 04:42:55 +00:00
Nathan Froyd
648a616b30 tree.h (struct typed_tree): New.
* tree.h (struct typed_tree): New.
	(struct tree_common): Include it instead of tree_base.
	(TREE_TYPE): Update for new location of type field.
	(TYPE_USER_ALIGN, TYPE_PACKED): Refer to base field directly.
	(DECL_USER_ALIGN, DECL_PACKED): Likewise.
	(union tree_node): Add typed field.
	* treestruct.def (TS_TYPED): New.
	* lto-streamer.c (check_handled_ts_structures): Handle it.
	* tree.c (MARK_TS_TYPED): New macro.
	(MARK_TS_COMMON): Call it instead of MARK_TS_BASE.

From-SVN: r172295
2011-04-12 02:18:41 +00:00
GCC Administrator
fa21c1fab1 Daily bump.
From-SVN: r172292
2011-04-12 00:18:57 +00:00
Jason Merrill
80c6dcf59b re PR c++/48535 ([C++0x][SFINAE] Hard errors during list-value-initialization)
PR c++/48535
	* decl.c (cp_complete_array_type_or_error): New.
	* semantics.c (finish_compound_literal): Use it.
	* cp-tree.h: Declare it.

From-SVN: r172287
2011-04-11 18:01:04 -04:00
Jason Merrill
76186d20cc re PR c++/48535 ([C++0x][SFINAE] Hard errors during list-value-initialization)
PR c++/48535
	* semantics.c (finish_compound_literal): Handle references.

From-SVN: r172286
2011-04-11 18:00:53 -04:00
Jason Merrill
834aa42659 re PR c++/48535 ([C++0x][SFINAE] Hard errors during list-value-initialization)
PR c++/48535
	* semantics.c (finish_compound_literal): Take complain parm.
	(build_lambda_object): Adjust.
	* cp-tree.h: Adjust.
	* call.c (convert_like_real): Adjust.
	* decl.c (check_initializer): Adjust.
	* parser.c (cp_parser_postfix_expression): Adjust.
	(cp_parser_functional_cast): Adjust.
	* pt.c (tsubst_copy_and_build): Adjust.
	* typeck2.c (process_init_constructor_record): Adjust.

From-SVN: r172285
2011-04-11 18:00:42 -04:00
Jason Merrill
55b13820b4 re PR c++/48534 ([C++0x][SFINAE] Compiler break down on explicit scoped enum => bool conversion)
PR c++/48534
	* cvt.c (ocp_convert): Use build_nop to convert to underlying type
	of scoped enum.

From-SVN: r172284
2011-04-11 18:00:31 -04:00
Jason Merrill
ac4b1cc036 re PR c++/48523 ([C++0x] lambda cannot capture 'this' in class template)
PR c++/48523
	* tree.c (maybe_dummy_object): Use build_x_indirect_ref rather
	than cp_build_indirect_ref.

From-SVN: r172283
2011-04-11 18:00:20 -04:00
Jason Merrill
b24290fb5b PR c++/48457, Core 1238
PR c++/48457, Core 1238
	* call.c (reference_binding): Allow rvalue reference to bind to
	function lvalue.
	* tree.c (lvalue_kind): Functions are always lvalues.

From-SVN: r172282
2011-04-11 18:00:06 -04:00
Eric Botcazou
1e6d1da02d cfghooks.c (redirect_edge_and_branch_force): Localize variable.
* cfghooks.c (redirect_edge_and_branch_force): Localize variable.
	(force_nonfallthru): Do not alter the loop nest if no basic block
	was created.

From-SVN: r172281
2011-04-11 21:54:59 +00:00
Uros Bizjak
d8700b1cdb sse.md (VI): New mode iterator.
* config/i386/sse.md (VI): New mode iterator.
	(SSEMODEI): Remove.
	(AVX256MODEI): Ditto.
	(AVXMODEF4P): Ditto.
	(avxvecpsmode): Ditto.
	(one_cmpl<mode>2): Enable for TARGET_SSE.  Use VI mode iterator.
	(sse2_andnot<mode>3): New expander.
	(*andnot<mode>3): Merge with *sse2_andnot<mode>3 and
	*avx_andnot<mode>3.  Enable for TARGET_SSE.  Use VI mode iterator.
	(<any_logic:code><mode>3): Use VI mode iterator.
	(*<any_logic:code><mode>3): Merge with *sse2_<any_logic:code><mode>3
	and *avx_<any_logic:code><mode>3.  Use VI mode iterator.
	(*andnottf3): Handle AVX three-operand constraints.
	(*<any_logic:code>tf3): Handle AVX three-operand constraints.

From-SVN: r172280
2011-04-11 23:39:40 +02:00
Joseph Myers
b1372d5de2 config.gcc (x86_64-*-kfreebsd*-gnu): Use i386/kfreebsd-gnu.h.
2011-04-11  Joseph Myers  <joseph@codesourcery.com>
            Robert Millan  <rmh@gnu.org>

	* config.gcc (x86_64-*-kfreebsd*-gnu): Use i386/kfreebsd-gnu.h.
	* config/i386/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKER32,
	GNU_USER_DYNAMIC_LINKER64): Define.
	(REG_NAME): Don't undefine.
	(MD_UNWIND_SUPPORT): Undefine.
	* config/i386/knetbsd-gnu.h (GNU_USER_LINK_EMULATION): Define.
	(REG_NAME): Don't undefine.
	(MD_UNWIND_SUPPORT): Undefine.
	* config/i386/kopensolaris-gnu.h (GNU_USER_LINK_EMULATION):
	Define.

Co-Authored-By: Robert Millan <rmh@gnu.org>

From-SVN: r172279
2011-04-11 22:22:36 +01:00
Joseph Myers
761c0c6e90 gnu.h (GNU_USER_LINK_EMULATION): Define.
* config/i386/gnu.h (GNU_USER_LINK_EMULATION): Define.
	(CPP_SPEC, CC1_SPEC, ENDFILE_SPEC): Remove.

From-SVN: r172278
2011-04-11 22:21:49 +01:00
Xinliang David Li
26e0228f56 sanity check ic target
From-SVN: r172276
2011-04-11 20:37:57 +00:00
Basile Starynkevitch
6075765d8c Makefile.in (PLUGIN_HEADERS): Add gimple-pretty-print.h tree-pretty-print.h & realmpfr.h.
2011-04-11  Basile Starynkevitch  <basile@starynkevitch.net>

	* Makefile.in (PLUGIN_HEADERS): Add gimple-pretty-print.h
	tree-pretty-print.h & realmpfr.h.

From-SVN: r172275
2011-04-11 19:31:50 +00:00
Vladimir Makarov
a58dfa4999 re PR middle-end/48464 (@171649: ICE in setup_pressure_classes, at ira.c:877)
2011-04-11  Vladimir Makarov  <vmakarov@redhat.com>

	PR middle-end/48464
	* ira.c (setup_pressure_classes): Fix typo in loop condition.
	(setup_allocno_and_important_classes): Ditto.

From-SVN: r172274
2011-04-11 19:23:13 +00:00
Joseph Myers
107fd1c1e9 linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
* config/alpha/linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to
	GNU_USER_DYNAMIC_LINKER.
	* config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Change
	LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
	(TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
	GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/bfin/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/bfin/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Change
	LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
	(TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
	GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/frv/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.
	* config/gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
	GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/i386/gnu-user.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/i386/gnu-user64.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/i386/linux.h (GNU_USER_DYNAMIC_LINKER): Remove.
	* config/i386/linux64.h (GNU_USER_DYNAMIC_LINKER32,
	GNU_USER_DYNAMIC_LINKER64): Remove.
	* config/ia64/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.
	* config/kfreebsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
	GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/knetbsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
	GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/kopensolaris-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename
	to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
	GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
	(LINUX_DYNAMIC_LINKER32): Rename to GNU_USER_DYNAMIC_LINKER32.
	(LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
	* config/lm32/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/m32r/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.
	(TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
	GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/m68k/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.
	* config/m68k/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.
	* config/mips/linux64.h (LINUX_DYNAMIC_LINKERN32): Rename to
	GNU_USER_DYNAMIC_LINKERN32.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKERN32 to
	GNU_USER_DYNAMIC_LINKERN32.  Change LINUX_DYNAMIC_LINKER64 to
	GNU_USER_DYNAMIC_LINKER64.  Change LINUX_DYNAMIC_LINKER32 to
	GNU_USER_DYNAMIC_LINKER32.
	* config/mn10300/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.
	* config/moxie/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.
	* config/rs6000/linux64.h (LINUX_DYNAMIC_LINKER32): Rename to
	GNU_USER_DYNAMIC_LINKER32.
	(LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
	* config/rs6000/sysv4.h (LINUX_DYNAMIC_LINKER): Rename to
	GNU_USER_DYNAMIC_LINKER.
	* config/s390/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKER32 to
	GNU_USER_DYNAMIC_LINKER32.  Change LINUX_DYNAMIC_LINKER64 to
	GNU_USER_DYNAMIC_LINKER64.
	* config/sh/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(SUBTARGET_LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.
	* config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.
	* config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINK_ARCH32_SPEC): Change LINUX_DYNAMIC_LINKER32 to
	GNU_USER_DYNAMIC_LINKER32.
	(LINK_ARCH64_SPEC): Change LINUX_DYNAMIC_LINKER64 to
	GNU_USER_DYNAMIC_LINKER64.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKER64 to
	GNU_USER_DYNAMIC_LINKER64.
	* config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.

From-SVN: r172273
2011-04-11 19:46:05 +01:00
Joseph Myers
e24609cfc0 gnu-user.h: Copy from linux.h.
* config/i386/gnu-user.h: Copy from linux.h.  Update comments.
	(LINK_EMULATION, GLIBC_DYNAMIC_LINKER): Remove.
	(SUBTARGET_EXTRA_SPECS): Use GNU_USER_LINK_EMULATION and
	GNU_USER_DYNAMIC_LINKER.
	(MD_UNWIND_SUPPORT, REG_NAME): Remove.
	* config/i386/gnu-user64.h: Copy from linux64.h.  Update comments.
	(GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Remove.
	(LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32 and
	GNU_USER_DYNAMIC_LINKER64.
	(MD_UNWIND_SUPPORT, REG_NAME): Remove.
	* config/i386/kfreebsd-gnu.h (LINK_EMULATION): Change to
	GNU_USER_LINK_EMULATION.
	* config/i386/linux.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
	DEFAULT_PCC_STRUCT_RETURN, TARGET_TLS_DIRECT_SEG_REFS_DEFAULT,
	ASM_COMMENT_START, DBX_REGISTER_NUMBER, NO_PROFILE_COUNTERS,
	MCOUNT_NAME, SUBTARGET_FRAME_POINTER_REQUIRED, SIZE_TYPE,
	PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS,
	CPP_SPEC, CC1_SPEC): Remove.
	(LINK_EMULATION): Change to GNU_USER_LINK_EMULATION.
	(GNU_USER_DYNAMIC_LINKER): Define.
	(ASM_SPEC, SUBTARGET_EXTRA_SPECS, LINK_SPEC, ENDFILE_SPEC,
	ASM_OUTPUT_ALIGNED_BSS, ASM_OUTPUT_MAX_SKIP_ALIGN,
	ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX, CRT_GET_RFIB_DATA,
	LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT, TF_SIZE,
	TARGET_ASM_FILE_END, STACK_CHECK_MOVING_SP,
	STACK_CHECK_STATIC_BUILTIN, TARGET_THREAD_SSP_OFFSET,
	TARGET_CAN_SPLIT_STACK, TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
	* config/i386/linux64.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC,
	CC1_SPEC, DEFAULT_PCC_STRUCT_RETURN,
	TARGET_TLS_DIRECT_SEG_REFS_DEFAULT, SPEC_32, SPEC_64, ASM_SPEC,
	LINK_SPEC, ENDFILE_SPEC, MULTILIB_DEFAULTS, LIBGCC2_HAS_TF_MODE,
	LIBGCC2_TF_CEXT, TF_SIZE, TARGET_ASM_FILE_END): Remove.
	(GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64): Define.
	(STACK_CHECK_MOVING_SP, STACK_CHECK_STATIC_BUILTIN,
	TARGET_THREAD_SSP_OFFSET, TARGET_CAN_SPLIT_STACK,
	TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
	* config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Change to
	GNU_USER_DYNAMIC_LINKER.
	* config/kfreebsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
	GNU_USER_DYNAMIC_LINKER.  Unconditionally undefine and redefine.
	* config/knetbsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
	GNU_USER_DYNAMIC_LINKER.  Unconditionally undefine and redefine.
	* config/kopensolaris-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
	GNU_USER_DYNAMIC_LINKER.  Unconditionally undefine and redefine.
	* config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
	i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
	i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
	x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Use the new
	headers.

From-SVN: r172271
2011-04-11 19:44:32 +01:00
Rainer Orth
8fb3e11aa5 pr47917.c: Define _ISO_C_SOURCE=19990L for alpha*-dec-osf5*.
* gcc.dg/torture/pr47917.c: Define _ISO_C_SOURCE=19990L for
	alpha*-dec-osf5*.

From-SVN: r172270
2011-04-11 18:14:23 +00:00
Paolo Carlini
061217e948 moveable.cc: Actually run it in parallel-mode for check-parallel.
2011-04-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/25_algorithms/inplace_merge/moveable.cc: Actually run
	it in parallel-mode for check-parallel.
	* testsuite/25_algorithms/rotate/moveable.cc: Likewise.
	* testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
	* testsuite/25_algorithms/remove/moveable.cc: Likewise.
	* testsuite/25_algorithms/sort_heap/check_compare_by_value.cc:
	Likewise.
	* testsuite/25_algorithms/unique/moveable.cc: Likewise.
	* testsuite/25_algorithms/remove_if/moveable.cc: Likewise.
	* testsuite/25_algorithms/heap/moveable.cc: Likewise.

	* testsuite/25_algorithms/next_permutation/moveable.cc: Only skip
	the tests based on std::lexicographical_compare for check-parallel.
	* testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.

From-SVN: r172269
2011-04-11 17:50:39 +00:00
Kai Tietz
b8ce4e945b re PR target/9601 (-mrtd switch/stdcall attribute raises warnings for __buitltin functions)
2011-04-11  Kai Tietz  <ktietz@redhat.com>

	PR target/9601
	PR target/11772
	* config/i386/i386-protos.h (ix86_get_callcvt): New prototype.
	* config/i386/i386.c (ix86_handle_cconv_attribute): Adjust
	comment.
	(ix86_is_msabi_thiscall): Removed.
	(ix86_is_type_thiscall): Likewise.
	(ix86_get_callcvt): New function.
	(ix86_comp_type_attributes): Simplify check.
	(ix86_function_regparm): Use ix86_get_callcvt for calling
	convention attribute checks.
	(ix86_return_pops_args): Likewise.
	(ix86_static_chain): Likewise.
	(x86_this_parameter): Likewise.
	(x86_output_mi_thunk): Likewise.
	(ix86_function_type_abi): Optimize check for types without attributes.
	* config/i386/i386.h (IX86_CALLCVT_CDECL, IX86_CALLCVT_STDCALL,
	IX86_CALLCVT_FASTCALL, IX86_CALLCVT_THISCALL, IX86_CALLCVT_REGPARM,
	IX86_CALLCVT_SSEREGPARM): New macros to represent calling convention
	by flag-values.
	(IX86_BASE_CALLCVT): Helper macro.
	* config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
	Use ix86_get_callcvt for calling convention attribute checks and avoid
	symbol-decoration for stdcall in TARGET_RTD case.
	* config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
	Likewise.
	(gen_stdcall_or_fastcall_suffix): Adjust ident and use DECL_ORIGIN
	for declaration.

From-SVN: r172268
2011-04-11 19:44:04 +02:00
Uros Bizjak
a1b01a8459 * config/i386/sse.md: Fix unwanted commit.
From-SVN: r172266
2011-04-11 18:52:23 +02:00
Uros Bizjak
798dd0ba6c sse.md (VI_128): New mode iterator.
* config/i386/sse.md (VI_128): New mode iterator.
	(VI12_128): Rename from SSEMODE12.
	(VI14_128): Rename from SSEMODE14.
	(VI124_128): New mode iterator.
	(VI24_128): Rename from SSEMODE248.
	(VI248_128): Rename from SSEMODE248.
	(SSEMODE124C8): Remove.
	(*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
	(*sse2_<plusminus_insn><mode>3): Merge with
	*avx_<plusminus_insn><mode>3.
	(*mulv8hi3): Merge with *avx_mulv8hi3.
	(*<s>mulv8hi3_highpart): Merge with *avx_<s>mulv8hi3_highpart.
	(*sse2_umulv2siv2di3): Merge with *avx_umulv2siv2di3.
	(*sse2_pmaddwd): Merge with *avx_pmaddwd.
	(*sse4_1_mulv4si3): Merge with *avx_mulv4si3.
	(ashr<mode>3): Merge with *avx_ashr<mode>3.
	(lshr<mode>3): Merge with *avx_lshr<mode>3.
	(ashl<mode>3): Merge with *avx_ashl<mode>3.
	(sse2_ashlv1ti3): Merge with *avx_ashlv1ti3.
	(sse2_lshrv1ti3): Merge with *avx_lshrv1ti3.
	(*sse4_1_<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
	(*<smaxmin:code>v8hi3): Ditto.
	(*sse4_1_<umaxmin:code><mode>3): Merge with *avx_<umaxmin:code><mode>3.
	(*<smaxmin:code>v16qi3): Ditto.
	(*sse4_1_eqv2di3): Merge with *avx_eq<mode>3.
	(*sse2_eq<mode>3): Ditto.
	(*sse4_2_eqv2di3): Merge with *avx_gt<mode>3.
	(*sse2_gt<mode>3): Ditto.
	(vcondv2di): Split out of vcond<mode>.
	(vconduv2di): Split out of vcondu<mode>.

From-SVN: r172264
2011-04-11 18:12:53 +02:00
Richard Guenther
956011be1f gimplify.c (gimple_fold_indirect_ref): Check host_integerp before calling tree_low_cst.
2011-04-11  Richard Guenther  <rguenther@suse.de>

	* gimplify.c (gimple_fold_indirect_ref): Check host_integerp
	before calling tree_low_cst.

From-SVN: r172263
2011-04-11 15:50:57 +00:00
Tobias Burnus
155e5d5f55 re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-04-11  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * simplify.c (simplify_bound_dim): Exit for
        ucobound's last dimension unless -fcoarray=single.
        * trans-array (gfc_conv_descriptor_size_1): Renamed from
        gfc_conv_descriptor_size, made static, has now from_dim and
        to_dim arguments.
        (gfc_conv_descriptor_size): Call gfc_conv_descriptor_size.
        (gfc_conv_descriptor_cosize): New function.
        * trans-array.h (gfc_conv_descriptor_cosize): New prototype.
        * trans-intrinsic.c (conv_intrinsic_cobound): Add input_location
        and handle last codim of ucobound for when -fcoarray is not "single".

From-SVN: r172262
2011-04-11 17:50:47 +02:00
Richard Guenther
e6313a7840 stor-layout.c (layout_type): Compute all array index size operations in the original type.
2011-04-11  Richard Guenther  <rguenther@suse.de>

	* stor-layout.c (layout_type): Compute all array index size operations
	in the original type.
	(initialize_sizetypes): Add comment.
	(set_sizetype): Do not set TREE_TYPE of a TREE_VEC.

	c-family/
	* c-common.c (complete_array_type): Build a range type of
	proper type.

From-SVN: r172261
2011-04-11 15:47:30 +00:00
Joseph Myers
e69d737698 * common.opt (Tbss=, Tdata=, Ttext=): New options.
From-SVN: r172259
2011-04-11 16:25:37 +01:00
Martin Jambor
9f9ebcdfc6 cgraph.c (cgraph_local_info): Call cgraph_get_node instead of cgraph_node, handle NULL return value.
2011-04-11  Martin Jambor  <mjambor@suse.cz>

gcc/
	* cgraph.c (cgraph_local_info): Call cgraph_get_node instead
	of cgraph_node,	handle NULL return value.
	(cgraph_global_info): Likewise.
	(cgraph_rtl_info): Likewise.
	* tree-inline.c (estimate_num_insns): Likewise.
	* gimplify.c (unshare_body): Likewise.
	(unvisit_body): Likewise.
	(gimplify_body): Likewise.
	* predict.c (optimize_function_for_size_p): Likewise.
	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
	(call_may_clobber_ref_p_1): Likewise.
	* varasm.c (function_section_1): Likewise.
	(assemble_start_function): Likewise.

gcc/java/
	* decl.c (java_mark_decl_local): Call cgraph_get_node instead of
	cgraph_node and handle returned NULL.

From-SVN: r172258
2011-04-11 17:17:44 +02:00
Martin Jambor
581985d710 except.c (set_nothrow_function_flags): Call cgraph_get_node instead of cgraph_node.
2011-04-11  Martin Jambor  <mjambor@suse.cz>

	* except.c (set_nothrow_function_flags): Call cgraph_get_node instead
	of cgraph_node.
	* final.c (rest_of_clean_state): Likewise.
	* gimple-iterator.c (update_call_edge_frequencies): Likewise.
	* passes.c (pass_init_dump_file): Likewise.
	(execute_all_ipa_transforms): Likewise.
	(function_called_by_processed_nodes_p): Likewise.
	* predict.c (maybe_hot_frequency_p): Likewise.
	(probably_never_executed_bb_p): Likewise.
	(compute_function_frequency): Likewise.
	* tree-nested.c (check_for_nested_with_variably_modified): Likewise.
	(unnest_nesting_tree_1): Likewise.
	(lower_nested_functions): Likewise.
	* tree-optimize.c (execute_fixup_cfg): Likewise.
	(tree_rest_of_compilation): Likewise.
	* tree-profile.c (gimple_gen_ic_func_profiler): Likewise.
	* tree-sra.c (ipa_early_sra): Likewise.
	* tree-ssa-loop-ivopts.c (computation_cost): Likewise.
	* config/i386/i386.c (ix86_compute_frame_layout): Likewise.
	* ipa.c (record_cdtor_fn): Likewise.
	* ipa-inline.c (cgraph_early_inlining): Likewise.
	(compute_inline_parameters_for_current): Likewise.
	* ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
	* ipa-pure-const.c (local_pure_const): Likewise.
	* ipa-split.c (split_function): Likewise.
	(execute_split_functions): Likewise.
	* cgraphbuild.c (build_cgraph_edges): Likewise.
	(rebuild_cgraph_edges): Likewise.
	(cgraph_rebuild_references): Likewise.	
	(remove_cgraph_callee_edges): Likewise.
	* cgraphunit.c (cgraph_mark_if_needed): Likewise.
	(verify_cgraph_node): Likewise.
	(cgraph_analyze_functions): Likewise.
	(cgraph_preserve_function_body_p): Likewise.
	(save_inline_function_body): Likewise.
	(save_inline_function_body): Likewise.
	* tree-inline.c (copy_bb): Likewise.
	(optimize_inline_calls): Likewise.

From-SVN: r172257
2011-04-11 16:57:06 +02:00
Martin Jambor
57dbdc5a66 re PR tree-optimization/48195 (ICE: vector VEC(ipa_node_params_t,base) index domain error, in ipa_analyze_node at ipa-prop.c:1525 with -flto --param partial-inlining-entry-probability=101)
2011-04-11  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/48195
	* ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
	ipa_check_create_edge_args.
	(ipcp_generate_summary): Do not call ipa_check_create_node_params and
	ipa_check_create_edge_args.
	* ipa-inline.c (inline_generate_summary): Do not call
	ipa_check_create_node_params and ipa_check_create_edge_args.
	* ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
	ipa_check_create_edge_args.

	* testsuite/gcc.dg/ipa/pr48195.c: New test.

From-SVN: r172256
2011-04-11 16:25:55 +02:00
GCC Administrator
d0bfa8b5ab Daily bump.
From-SVN: r172252
2011-04-11 00:19:05 +00:00
Mike Stump
dd5a833e6e Remove doubled up words.
From-SVN: r172247
2011-04-10 18:46:45 +00:00
Jim Meyering
4b9726d48c Avoid memory overrun in a test leading to potential double-free.
2011-04-10  Jim Meyering  <meyering@redhat.com>

	    Avoid memory overrun in a test leading to potential double-free.
	    * testsuite/test-expandargv.c (writeout_test): Fix off-by-one error:
	    i.e., do copy the trailing NUL byte.

From-SVN: r172246
2011-04-10 18:13:23 +00:00
Mike Stump
5b2d2d52fe Cleanup double words.
From-SVN: r172245
2011-04-10 17:57:59 +00:00
Jonathan Wakely
3e49fb0379 re PR libstdc++/48541 (std::function(std::_Function_base) should use std::addressof)
2011-04-10  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/48541
	* include/std/functional (_Base_manager::_M_get_pointer): Use
	addressof.
	* testsuite/20_util/function/48541.cc: New.

From-SVN: r172244
2011-04-10 17:35:58 +01:00
Jonathan Wakely
07703a3785 re PR libstdc++/48465 (undefined reference to std::basic_string::_S_compare(unsigned long, unsigned long))
2011-04-10  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/48465
	* configure.ac (libtool_VERSION): Bump library version to 6:16:0.
	* configure: Regenerate.
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.16): Export missing symbols.
	* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.16.

From-SVN: r172241
2011-04-10 17:20:42 +01:00
Eric Botcazou
a8002065ff * gnat.dg/return3.adb: Remove unused switch.
From-SVN: r172239
2011-04-10 10:31:14 +00:00
GCC Administrator
85c56e4f89 Daily bump.
From-SVN: r172236
2011-04-10 00:18:43 +00:00
Anatoly Sokolov
d108e67950 expr.c (expand_expr_real_1): Use add_to_hard_reg_set function instead of loop.
* expr.c (expand_expr_real_1): Use add_to_hard_reg_set function
	instead of loop.
	* sel-sched.c (mark_unavailable_hard_regs): Likewise.
	* function.c (record_hard_reg_sets): Likewise.
	* ira.c (compute_regs_asm_clobbered): Likewise.
	* sched-deps.c (sched_analyze_1): Likewise.
	* reload1.c (mark_reload_reg_in_use, choose_reload_regs): Likewise.

From-SVN: r172231
2011-04-09 23:10:45 +04:00
Xinliang David Li
3411bc59c6 Fix PR48484
From-SVN: r172229
2011-04-09 16:29:08 +00:00
Duncan Sands
b365495ab5 Bail out rather than crashing in array_type_nelts if TYPE_MAX_VALUE is null.
From-SVN: r172227
2011-04-09 16:18:01 +00:00
GCC Administrator
273a32b891 Daily bump.
From-SVN: r172224
2011-04-09 00:18:46 +00:00
Mike Stump
d4dd174148 re PR testsuite/48506 (ssa-ccp-17.c = g.i fails)
PR testsuite/48506
	* gcc.dg/tree-ssa/ssa-ccp-17.c: Robustify against ports that
	default to fno-common.

From-SVN: r172218
2011-04-08 23:53:59 +00:00
Georg-Johann Lay
82fde1e5a5 sibcall-3.c: Don't xfail on AVR.
2011-04-08  Georg-Johann Lay  <avr@gjlay.de>

	* gcc.dg/sibcall-3.c: Don't xfail on AVR.
	* gcc.dg/sibcall-4.c: Don't xfail on AVR.

From-SVN: r172217
2011-04-08 23:17:52 +00:00
Eric Botcazou
68bc509a5c combine.c (combine_validate_cost): Adjust comments.
* combine.c (combine_validate_cost): Adjust comments.  Set registered
	cost of I0 to zero at the end, if any.

From-SVN: r172216
2011-04-08 22:31:22 +00:00
Thomas Koenig
51a30b323d re PR fortran/48448 (Implement -f(no-)frontend-optimization)
2011-04-08  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/48448
	* gfortran.h (gfc_option_t):  Add warn_function_elimination and
	flag_frontend_optimize.
	* lang.opt (Wfunction-elimination):  Add.
	(ffrontend-optimize):  Add.
	* invoke.texi:  Add documentation for -Wfunction-elimination
	and -ffrontend-optimize.  Add -faggressive-function-elimination
	to list of code generation options.
	* frontend-passes.c (gfc_run_passes):  Run optimizations if
	flag_frontend_optimize is set.
	(warn_function_elimination):  New function.
	(cfe_expr_0):  Call it if requested to do so.
	* options.c (gfc_init_options):  Initiate warn_function_elimination
	and flag_frontend_optimize.
	(gfc_post_options):  Set flag_frontend_optimize if not specified
	by user, depending on the optimization level.
	(gfc_handle_option):  Handle -Wfunction-elimination and
	-ffrontend-optimize.

2011-04-08  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/48448
	* gfortran.dg/function_optimize_5.f90:  New test.

From-SVN: r172215
2011-04-08 21:46:08 +00:00
Xinliang David Li
041e059f26 FDO insane profile
From-SVN: r172213
2011-04-08 21:03:12 +00:00
Xinliang David Li
6a801cf261 -dA enhancement
From-SVN: r172212
2011-04-08 21:01:08 +00:00