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