Paolo Carlini [Tue, 4 Aug 2015 11:05:02 +0000 (11:05 +0000)]
re PR c++/66427 (The compiler rejects too complex variable templates)
2015-08-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/66427
* g++.dg/cpp1y/var-templ34.C: New.
From-SVN: r226568
Kyrylo Tkachov [Tue, 4 Aug 2015 10:45:48 +0000 (10:45 +0000)]
[AArch64][14/14] Reuse target_option_current_node when passing pragma string to target attribute
* config/aarch64/aarch64.c (aarch64_option_valid_attribute_p):
Exit early and use target_option_current_node if processing current
pragma.
From-SVN: r226567
Kyrylo Tkachov [Tue, 4 Aug 2015 10:43:15 +0000 (10:43 +0000)]
[doc][13/14] Document AArch64 target attributes and pragmas
* doc/extend.texi (AArch64 Function Attributes): New node.
(AArch64 Pragmas): Likewise.
From-SVN: r226566
Kyrylo Tkachov [Tue, 4 Aug 2015 10:41:31 +0000 (10:41 +0000)]
[AArch64][12/14] Target attributes and target pragmas tests
* gcc.target/aarch64/pragma_cpp_predefs_1.c: New test.
* gcc.target/aarch64/target_attr_1.c: Likewise.
* gcc.target/aarch64/target_attr_2.c: Likewise.
* gcc.target/aarch64/target_attr_3.c: Likewise.
* gcc.target/aarch64/target_attr_4.c: Likewise.
* gcc.target/aarch64/target_attr_5.c: Likewise.
* gcc.target/aarch64/target_attr_6.c: Likewise.
* gcc.target/aarch64/target_attr_7.c: Likewise.
* gcc.target/aarch64/target_attr_8.c: Likewise.
* gcc.target/aarch64/target_attr_9.c: Likewise.
* gcc.target/aarch64/target_attr_10.c: Likewise.
* gcc.target/aarch64/target_attr_11.c: Likewise.
* gcc.target/aarch64/target_attr_12.c: Likewise.
* gcc.target/aarch64/target_attr_13.c: Likewise.
* gcc.target/aarch64/target_attr_14.c: Likewise.
* gcc.target/aarch64/target_attr_15.c: Likewise.
From-SVN: r226565
Kyrylo Tkachov [Tue, 4 Aug 2015 10:39:42 +0000 (10:39 +0000)]
[AArch64][11/14] Re-layout SIMD builtin types on builtin expansion
* config/aarch64/aarch64.c (aarch64_option_valid_attribute_p):
Initialize simd builtins if TARGET_SIMD.
* config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
Make sure that the builtins are initialized only once no matter how
many times the function is called.
(aarch64_init_builtins): Unconditionally initialize crc builtins.
(aarch64_relayout_simd_param): New function.
(aarch64_simd_expand_args): Use above during argument expansion.
* config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Initialize
simd builtins if TARGET_SIMD.
* config/aarch64/aarch64-protos.h (aarch64_init_simd_builtins): New
prototype.
(aarch64_relayout_simd_types): Likewise.
* gcc.target/aarch64/target_attr_crypto_ice_1.c: New test.
From-SVN: r226564
Kyrylo Tkachov [Tue, 4 Aug 2015 10:35:16 +0000 (10:35 +0000)]
[AArch64][10/14] Implement target pragmas
* config.gcc (aarch64*-*-*): Specify c_target_objs and cxx_target_objs.
* config/aarch64/aarch64.h (REGISTER_TARGET_PRAGMAS): Define.
(TARGET_CPU_CPP_BUILTINS): Redefine to call aarch64_cpu_cpp_builtins.
* config/aarch64/aarch64.c (aarch64_override_options_internal): Remove
static keyword.
(aarch64_reset_previous_fndecl): New function.
(aarch64_handle_attr_isa_flags): Handle "+nothing" in the beginning of
the string.
* config/aarch64/aarch64-c.c: New file.
* config/aarch64/arm_acle.h: Add pragma +crc+nofp at the top.
Push and pop options at beginning and end. Remove ifdef
__ARM_FEATURE_CRC32.
* config/aarch64/arm_neon.h: Remove #ifdef check on __ARM_NEON.
Add pragma +nothing+simd and +nothing+crypto where appropriate.
* config/aarch64/t-aarch64 (aarch64-c.o): New rule.
* config/aarch64/aarch64-protos.h (aarch64_cpu_cpp_builtins):
Define prototype.
(aarch64_register_pragmas): Likewise.
(aarch64_reset_previous_fndecl): Likewise.
(aarch64_process_target_attr): Likewise.
(aarch64_override_options_internal): Likewise.
* gcc.target/aarch64/arm_neon-nosimd-error.c: Delete.
From-SVN: r226563
Kyrylo Tkachov [Tue, 4 Aug 2015 10:17:13 +0000 (10:17 +0000)]
[AArch64][9/14] Implement TARGET_CAN_INLINE_P
* config/aarch64/aarch64.c (aarch64_tribools_ok_for_inlining_p):
New function.
(aarch64_can_inline_p): Likewise.
(TARGET_CAN_INLINE_P): Define.
From-SVN: r226561
Kyrylo Tkachov [Tue, 4 Aug 2015 10:14:00 +0000 (10:14 +0000)]
[AArch64][8/14] Implement TARGET_OPTION_VALID_ATTRIBUTE_P
* common/config/aarch64/aarch64-common.c (aarch64_handle_option):
Remove static. Handle OPT_mgeneral_regs_only,
OPT_mfix_cortex_a53_835769, OPT_mstrict_align,
OPT_momit_leaf_frame_pointer.
* config/aarch64/aarch64.c: Include opts.h and diagnostic.h
(aarch64_attr_opt_type): New enum.
(aarch64_attribute_info): New struct.
(aarch64_handle_attr_arch): New function.
(aarch64_handle_attr_cpu): Likewise.
(aarch64_handle_attr_tune): Likewise.
(aarch64_handle_attr_isa_flags): Likewise.
(aarch64_attributes): New table.
(aarch64_process_one_target_attr): New function.
(num_occurences_in_str): Likewise.
(aarch64_process_target_attr): Likewise.
(aarch64_option_valid_attribute_p): Likewise.
(TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
* config/aarch64/aarch64-protos.h: Include input.h
(aarch64_handle_option): Declare prototype.
From-SVN: r226560
Kyrylo Tkachov [Tue, 4 Aug 2015 10:10:28 +0000 (10:10 +0000)]
[AArch64][7/14] Implement TARGET_SET_CURRENT_FUNCTION
* config/aarch64/aarch64.h (SWITCHABLE_TARGET): Define.
* config/aarch64/aarch64.c: Include target-globals.h
(aarch64_previous_fndecl): New variable.
(aarch64_set_current_function): New function.
(TARGET_SET_CURRENT_FUNCTION): Define.
From-SVN: r226559
Kyrylo Tkachov [Tue, 4 Aug 2015 10:06:51 +0000 (10:06 +0000)]
[AArch64][6/14] Implement TARGET_OPTION_SAVE/TARGET_OPTION_RESTORE
* config/aarch64/aarch64.opt (explicit_tune_core): New TargetVariable.
(explicit_arch): Likewise.
(x_aarch64_isa_flags): Likewise.
(mgeneral-regs-only): Mark as Save.
(mfix-cortex-a53-835769): Likewise.
(mcmodel=): Likewise.
(mstrict-align): Likewise.
(momit-leaf-frame-pointer): Likewise.
(mtls-dialect): Likewise.
(master=): Likewise.
* config/aarch64/aarch64.h (ASM_DECLARE_FUNCTION_NAME): Define.
(aarch64_isa_flags): Remove extern declaration.
* config/aarch64/aarch64.c (aarch64_validate_mcpu): Return a bool
to indicate success or failure.
(aarch64_validate_march): Likewise.
(aarch64_validate_mtune): Likewise.
(aarch64_isa_flags): Delete.
(aarch64_override_options_internal): Access opts->x_aarch64_isa_flags
instead of aarch64_isa_flags.
(aarch64_get_tune_cpu): New function.
(aarch64_get_arch): Likewise.
(aarch64_override_options): Use above and set up explicit_tune_core
and explicit_arch.
(aarch64_print_extension): Move earlier in file. Add isa_flags
argument and use that instead of the global aarch64_isa_flags.
(aarch64_option_save): New function.
(aarch64_option_restore): Likewise.
(aarch64_option_print): Likewise.
(aarch64_declare_function_name): Likewise.
(aarch64_start_file): Delete.
(TARGET_ASM_FILE_START): Do not define.
(TARGET_OPTION_RESTORE, TARGET_OPTION_PRINT): Define.
* config/aarch64/aarch64-protos.h (aarch64_declare_function_name):
Declare prototype.
From-SVN: r226558
Kyrylo Tkachov [Tue, 4 Aug 2015 10:02:56 +0000 (10:02 +0000)]
[AArch64][5/14] Make flag_omit_leaf_frame_pointer intialize to 2. Define and use TARGET_OMIT_LEAF_FRAME_POINTER
* config/aarch64/aarch64.opt (momit-leaf-frame-pointer): Initialize
flag_omit_leaf_frame_pointer to 2.
From-SVN: r226557
Kyrylo Tkachov [Tue, 4 Aug 2015 10:01:06 +0000 (10:01 +0000)]
[AArch64][4/14] Create TARGET_FIX_ERR_A53_835769 and use that instead of aarch64_fix_a53_err835769
* config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_835769_DEFAULT): Always
define to 0 or 1.
(TARGET_FIX_ERR_A53_835769): New macro.
* config/aarch64/aarch64.c (aarch64_override_options_internal): Remove
handling of opts->x_aarch64_fix_a53_err835769.
(aarch64_madd_needs_nop): Check for TARGET_FIX_ERR_A53_835769 rather
than aarch64_fix_a53_err835769.
* config/aarch64/aarch64-elf-raw.h: Update for above changes.
* config/aarch64/aarch64-linux.h: Likewise.
From-SVN: r226556
Uros Bizjak [Tue, 4 Aug 2015 09:54:08 +0000 (11:54 +0200)]
i386.c (ix86_expand_int_movcc): Check result of ix86_expand_int_movcc as boolean.
* config/i386/i386.c (ix86_expand_int_movcc): Check result of
ix86_expand_int_movcc as boolean.
From-SVN: r226555
Kyrylo Tkachov [Tue, 4 Aug 2015 09:52:52 +0000 (09:52 +0000)]
[AArch64][3/14] Refactor option override code
* config/aarch64/aarch64.opt (aarch64_arch_string): Delete.
(aarch64_cpu_string): Likewise.
(aarch64_tune_string): Likewise.
* config/aarch64/aarch64.c (aarch64_parse_opt_result): New enum.
(aarch64_parse_extension): Return aarch64_parse_opt_result.
Add extra argument to put result into.
(aarch64_parse_arch): Likewise. Do not set selected_cpu.
(aarch64_parse_cpu): Add arguments to put results into. Return
aarch64_parse_opt_result.
(aarch64_parse_tune): Likewise.
(aarch64_override_options_after_change_1): New function.
(aarch64_override_options_internal): New function.
(aarch64_validate_mcpu): Likewise.
(aarch64_validate_march): Likewise.
(aarch64_validate_mtune): Likewise.
(aarch64_override_options): Update to reflect above changes.
Move some logic into aarch64_override_options_internal.
Initialize target_option_default_node and target_option_current_node.
(aarch64_override_options_after_change): Move logic into
aarch64_override_options_after_change_1 and call it with global_options.
(initialize_aarch64_code_model): Take a gcc_options pointer and use the
flag values from that.
* gcc.target/aarch64/cpu-diagnostics-3.c: Update expected error
message.
From-SVN: r226554
Kyrylo Tkachov [Tue, 4 Aug 2015 09:47:49 +0000 (09:47 +0000)]
[AArch64][2/14] Refactor arches handling, add arch enum identifier
* config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
__ARM_ARCH_8A directly rather than with cpp_define_formatted.
* config/aarch64/aarch64.c (struct processor): Add arch field.
(all_architectures): Handle above, move above all_cores.
(all_cores): Handle above.
(aarch64_parse_arch): Handle above changes.
* config/aarch64/aarch64-arches.def (armv8-a): Extend according to
above. Update comments.
(armv8.1-a): Likewise.
* config/aarch64/aarch64-cores.def: Update according to above.
* config/aarch64/aarch64-opts.h (aarch64_arch): New enum.
* config/aarch64/driver-aarch64.c (struct aarch64_arch): Rename to
aarch64_arch_driver_info.
From-SVN: r226553
Kyrylo Tkachov [Tue, 4 Aug 2015 09:44:18 +0000 (09:44 +0000)]
[AArch64][1/14] Add ident field to struct processor
* config/aarch64/aarch64.c (struct processor): Add ident field.
Rename core sched_core.
(all_cores): Handle above changes.
(all_architectures): Likewise.
(aarch64_parse_arch): Likewise.
(aarch64_override_options): Likewise.
From-SVN: r226552
Richard Biener [Tue, 4 Aug 2015 09:40:54 +0000 (09:40 +0000)]
gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove dispatching to fold_binary for GIMPLE_BINARY_RHS and for comparisons...
2015-08-04 Richard Biener <rguenther@suse.de>
* gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
dispatching to fold_binary for GIMPLE_BINARY_RHS and for
comparisons embedded in [VEC_]COND_EXPRs.
From-SVN: r226551
Uros Bizjak [Tue, 4 Aug 2015 09:24:15 +0000 (11:24 +0200)]
* config/fpu-387.h: Remove unwanted whitespace.
From-SVN: r226550
Uros Bizjak [Tue, 4 Aug 2015 09:16:52 +0000 (11:16 +0200)]
fpu-387.h (get_fpu_trap_exceptions): Add temporary variable to improve generated code.
* config/fpu-387.h (get_fpu_trap_exceptions): Add temporary variable
to improve generated code.
From-SVN: r226549
Francois-Xavier Coudert [Tue, 4 Aug 2015 07:27:19 +0000 (07:27 +0000)]
re PR fortran/64022 ([F2003][IEEE] ieee_support_flag does not handle kind=10 and kind=16 REAL variables)
PR fortran/64022
* simplify.c (gfc_simplify_ieee_selected_real_kind): Extend IEEE
support to all real kinds.
* ieee/ieee_exceptions.F90: Support all real kinds.
* ieee/ieee_arithmetic.F90: Likewise.
* ieee/ieee_helper.c (ieee_class_helper_10,
ieee_class_helper_16): New functions
* gfortran.map (GFORTRAN_1.7): Add entries.
* gfortran.dg/ieee/ieee_7.f90: Adjust test.
* gfortran.dg/ieee/large_1.f90: New test.
From-SVN: r226548
Abe Skolnik [Tue, 4 Aug 2015 03:53:10 +0000 (03:53 +0000)]
tree-if-conv.c: Fix various typos in comments.
* tree-if-conv.c: Fix various typos in comments.
* tree-vect-stmts.c: Likewise.
From-SVN: r226544
Ian Lance Taylor [Tue, 4 Aug 2015 03:39:21 +0000 (03:39 +0000)]
runtime: initialize variable to avoid compiler warning
Reviewed-on: https://go-review.googlesource.com/13095
From-SVN: r226543
Thomas Preud'homme [Tue, 4 Aug 2015 02:11:58 +0000 (02:11 +0000)]
re PR debug/67043 (-fcompare-debug failure with -O3)
2015-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
PR tree-optimization/67043
* loop-invariant.c (move_invariant_reg): Recompute luids in loop
preheader after hoisting invariant in it.
(find_defs): Force recomputation of all luids.
gcc/testsuite/
PR tree-optimization/67043
* gcc.dg/pr67043.c: New test.
From-SVN: r226540
Nathan Sidwell [Tue, 4 Aug 2015 00:40:18 +0000 (00:40 +0000)]
plugin-nvptx.c: Don't include dlfcn.h.
* plugin/plugin-nvptx.c: Don't include dlfcn.h.
(cuda_errlist): Constify.
(errmsg): Move into ...
(cuda_error): ... here. Make smaller.
(_XSTR, _STR): Delete.
(cuda_synames): Delete.
(verify_device_library): Delete.
(nvptx_init): Don't call it.
From-SVN: r226539
GCC Administrator [Tue, 4 Aug 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226538
Ian Lance Taylor [Mon, 3 Aug 2015 21:18:56 +0000 (21:18 +0000)]
syscall: RawSockaddr fix for ppc64, ppc64le
The struct RawSockaddr contains a field Data which
should be uint8 on ppc64 and ppc64le, but is declared
as int8 in gccgo. This change adds a two new files
which contain the structure declaration for
RawSockaddr, one with the correct types for for ppc64
and ppc64le, and the other for non-ppc64 platforms.
Fixes golang/go#11469
Reviewed-on: https://go-review.googlesource.com/11946
From-SVN: r226533
Peter Bergner [Mon, 3 Aug 2015 21:11:20 +0000 (16:11 -0500)]
htm.md (tabort.): Restrict the source operand to using a base register.
gcc/
* config/rs6000/htm.md (tabort.): Restrict the source operand to
using a base register.
gcc/testsuite/
* gcc.target/powerpc/htm-tabort-no-r0.c: New test.
From-SVN: r226532
David Malcolm [Mon, 3 Aug 2015 20:14:21 +0000 (20:14 +0000)]
Refactoring of timevar API
gcc/ChangeLog:
* main.c (main): Pass in NULL for toplev's external_timer.
* timevar.c: Include coretypes.h.
(class timer::named_items): New.
(timer::named_items::named_items): New.
(timer::named_items::~named_items): New.
(timer::named_items::push): New.
(timer::named_items::pop): New.
(timer::named_items::print): New.
(timer::timer): Initialize field "m_jit_client_items".
(timer::~timer): New.
(timer::push): Move bulk of implementation to...
(timer::push_internal): ...here. New function.
(timer::pop): Move bulk of implementation to...
(timer::pop_internal): ...here. New function.
(timer::push_client_item): New.
(timer::pop_client_item): New.
(timer::print_row): New function, taken from timer::print.
(timer::print): Print "GCC items" header if we also have client
items. Move row-printing to timer::print_row. Print any client
items.
(timer::get_topmost_item_name): New method.
* timevar.def (TV_JIT_ACQUIRING_MUTEX): New.
(TV_JIT_CLIENT_CODE): New.
* timevar.h (timer::push_client_item): New declaration.
(timer::pop_client_item): New declaration.
(timer::get_topmost_item_name): New method.
(timer::push_internal): New declaration.
(timer::pop_internal): New declaration.
(timer::print_row): New declaration.
(timer::named_items): New declaration.
(timer::m_jit_client_items): New field.
(timer): Add friend class named_items.
(auto_timevar::auto_timevar): Add timer param.
(auto_timevar::~auto_timevar): Use field "m_timer".
(auto_timevar::m_timer): New field.
* toplev.c (initialize_rtl): Add g_timer as param when
constructing auto_timevar instance.
(toplev::toplev): Add "external_timer" param, and use it to
initialize the "g_timer" global if non-NULL.
(toplev::~toplev): If this created "g_timer", delete it.
* toplev.h (toplev::toplev): Replace "use_TV_TOTAL" bool param
with "external_timer" timer *.
gcc/jit/ChangeLog:
* docs/topics/compatibility.rst (LIBGCCJIT_ABI_4): New.
* docs/topics/contexts.rst (GCC_JIT_BOOL_OPTION_DUMP_SUMMARY):
We no longer show a profile.
* docs/topics/index.rst (Topic Reference): Add performance.rst.
* docs/topics/performance.rst: New file.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
* jit-playback.c (gcc::jit::playback::context::compile): Add timer
param when constructing the "toplev" instance.
(gcc::jit::playback::context::acquire_mutex): Add timer param when
constructing auto_timevar instance.
(gcc::jit::playback::context::make_fake_args): If we have a timer,
add "-ftime-report".
(gcc::jit::playback::context::invoke_driver): Add timer param when
constructing auto_timevar instance.
(gcc::jit::playback::context::dlopen_built_dso): Likewise.
* jit-playback.h (gcc::jit::playback::context::get_timer): New accessor.
* jit-recording.c: Include timevar.h.
(gcc::jit::recording::context::context): Initialize field "m_timer".
* jit-recording.h: Add forward declaration of class timer.
(gcc::jit::recording::context::set_timer): New method.
(gcc::jit::recording::context::get_timer): New method.
(gcc::jit::recording::context::m_timer): New field.
* libgccjit++.h (gccjit::timer): New class.
(gccjit::auto_time): New class.
(gccjit::context::set_timer): New method.
(gccjit::context::get_timer): New.
(gccjit::timer::timer): New.
(gccjit::timer::push): New.
(gccjit::timer::pop): New.
(timer::print): New.
(timer::get_inner_timer): New.
(timer::release): New.
(auto_time::auto_time): New.
(auto_time::~auto_time): New.
* libgccjit.c: Include timevar.h.
(struct gcc_jit_timer): New.
(gcc_jit_timer_new): New function.
(gcc_jit_timer_release): New function.
(gcc_jit_context_set_timer): New function.
(gcc_jit_context_get_timer): New function.
(gcc_jit_timer_push): New function.
(gcc_jit_timer_pop): New function.
(gcc_jit_timer_print): New function.
* libgccjit.h (LIBGCCJIT_HAVE_TIMING_API): New macro.
(gcc_jit_timer): New typedef.
(gcc_jit_timer_new): New function.
(gcc_jit_timer_release): New function.
(gcc_jit_context_set_timer): New function.
(gcc_jit_context_get_timer): New function.
(gcc_jit_timer_push): New function.
(gcc_jit_timer_pop): New function.
(gcc_jit_timer_print): New function.
* libgccjit.map (LIBGCCJIT_ABI_4): New.
(gcc_jit_timer_new): New function.
(gcc_jit_timer_release): New function.
(gcc_jit_context_set_timer): New function.
(gcc_jit_context_get_timer): New function.
(gcc_jit_timer_push): New function.
(gcc_jit_timer_pop): New function.
(gcc_jit_timer_print): New function.
gcc/testsuite/ChangeLog:
* jit.dg/test-benchmark.c (test_jit): Add param "timer" and use
it to push/pop timing items.
(main): For each optimization level, create a gcc_jit_timer, and
time all of the iteration within that level cumulatively.
* jit.dg/test-error-gcc_jit_timer_pop-mismatch.c: New test case.
* jit.dg/test-error-gcc_jit_timer_pop-too-many.c: New test case.
From-SVN: r226530
Ian Lance Taylor [Mon, 3 Aug 2015 19:55:00 +0000 (19:55 +0000)]
compiler: Don't allow multiple function declarations.
Fixes golang/go#11573.
Reviewed-on: https://go-review.googlesource.com/12508
From-SVN: r226529
Alexander Basov [Mon, 3 Aug 2015 19:34:31 +0000 (19:34 +0000)]
re PR middle-end/64744 (ARM: gcc internal compiler error: in store_field, at expr.c:6659)
PR middle-end/64744
PR middle-end/48470
PR middle-end/43404
* cfgexpand.c (expand_one_var): Add check if stack is going to
be used in naked function.
* expr.c (expand_expr_addr_expr_1): Remove excess checking
whether expression should not reside in MEM.
* function.c (use_register_for_decl): Do not use registers for
non-register things (volatile, float, BLKMode) in naked functions.
PR middle-end/64744
PR middle-end/48470
PR middle-end/43404
* gcc.target/arm/pr43404.c : New testcase.
* gcc.target/arm/pr48470.c : New testcase.
* gcc.target/arm/pr64744-1.c : New testcase.
* gcc.target/arm/pr64744-2.c : New testcase.
From-SVN: r226528
Ian Lance Taylor [Mon, 3 Aug 2015 18:53:56 +0000 (18:53 +0000)]
compiler: Don't make erroneous type descriptors.
There is no need to make type descriptors for named types when there
are errors during package compilation. Particularly, if the error in
package compilation is from a malformed named type, there is no
guarantee a type descriptor can be created.
Fixes golang/go#11560.
Reviewed-on: https://go-review.googlesource.com/12792
From-SVN: r226527
Ian Lance Taylor [Mon, 3 Aug 2015 18:23:42 +0000 (18:23 +0000)]
libgo/testsuite: kill sleep process in gotest
This change modifies the "gotest" shell script
to kill all processes, including "sleep", spawned
by the timeout subshell. This prevents the sleep
process from living beyond the gotest process.
BACKGROUND
The "gotest" shell script spawns "sleep" processes
in the background to kill off test cases that run
past their specified timeout. There are commands
included that appear to kill the sleep process,
but they only kill the parent shell, causing the
sleep process to reparent.
The orphaned sleep process can cause issues when
gotest is run under some build systems, such as
Ninja [0]. The particular issue with Ninja is the
method it uses to identify terminated processes:
it creates a pipe, passes the write end to the
child process, and waits for EOF. In the case of
libgo/gotest, the orphaned sleep process inherits
the pipe FD and keeps it open for 4 minutes by
default.
[0] https://github.com/martine/ninja
Reviewed-on: https://go-review.googlesource.com/12227
From-SVN: r226526
Ian Lance Taylor [Mon, 3 Aug 2015 17:54:50 +0000 (17:54 +0000)]
re PR go/67101 (mprof.goc:408:5: error: calling ‘__builtin_frame_address’ with a nonzero argument is unsafe [-Werror=frame-address])
PR go/67101
runtime: Remove call to __builtin_frame_address.
__builtin_frame_address was only supposed to use nonzero arguments
for debugging purposes. Calling it with nonzero arguments can have
unpredictable results and uses are now marked unsafe when
-Wframe-address is enabled.
Reviewed-on: https://go-review.googlesource.com/13063
From-SVN: r226525
John David Anglin [Mon, 3 Aug 2015 17:26:19 +0000 (17:26 +0000)]
re PR target/67060 (FAIL: gcc.dg/pr56228.c (test for excess errors))
PR target/67060
* config/pa/pa.md (call_reg_64bit): Remove reg:DI 1 clobber.
Adjust splits to match new pattern.
From-SVN: r226522
Michael Meissner [Mon, 3 Aug 2015 17:06:24 +0000 (17:06 +0000)]
vector.md (VEC_L): Add KFmode and TFmode.
2015-08-03 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/vector.md (VEC_L): Add KFmode and TFmode.
(VEC_M): Likewise.
(VEC_N): Likewise.
(mov<mode>, VEC_M iterator): Add support for IEEE 128-bit floating
point in VSX registers.
* config/rs6000/constraints.md (wb constraint): Document unused
w<x> constraint.
(we constraint): Likewise.
(wo constraint): Likewise.
(wp constraint): New constraint for IEEE 128-bit floating point in
VSX registers.
(wq constraint): Likewise.
* config/rs6000/predicates.md (easy_fp_constant): Add support for
IEEE 128-bit floating point in VSX registers.
(easy_scalar_constant): Likewise.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add new
constraints (wp, wq) for IEEE 128-bit floating point in VSX
registers.
(rs6000_init_hard_regno_mode_ok): Likewise.
* config/rs6000/vsx.md (VSX_LE_128): Add support for IEEE 128-bit
floating point in VSX registers.
(VSX_L): Likewise.
(VSX_M): Likewise.
(VSX_M2): Likewise.
(VSm): Likewise.
(VSs): Likewise.
(VSr): Likewise.
(VSa): Likewise.
(VSv): Likewise.
(vsx_le_permute_<mode>): Add support to properly swap bytes for
IEEE 128-bit floating point in VSX registers on little endian.
(vsx_le_undo_permute_<mode>): Likewise.
(vsx_le_perm_load_<mode>): Likewise.
(vsx_le_perm_store_<mode>): Likewise.
(splitters for IEEE 128-bit fp moves): Likewise.
* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wp and
wq constraints.
* config/rs6000/altivec.md (VM): Add support for IEEE 128-bit
floating point in VSX registers.
(VM2): Likewise.
* doc/md.text (Machine Constraints): Document wp and wq
constraints on PowerPC.
From-SVN: r226520
H.J. Lu [Mon, 3 Aug 2015 16:58:03 +0000 (16:58 +0000)]
Add a testcase for PR tree-optimization/67077
PR tree-optimization/67077
* gcc.dg/pr67077.c: New test.
From-SVN: r226518
Steven G. Kargl [Mon, 3 Aug 2015 16:56:39 +0000 (16:56 +0000)]
re PR fortran/66942 (trans-expr.c:5701 runtime error: member call on null pointer of type 'struct vec')
2015-08-03 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/66942
* trans-expr.c (gfc_conv_procedure_call): Avoid NULL pointer reference
From-SVN: r226517
Jeff Law [Mon, 3 Aug 2015 16:26:13 +0000 (10:26 -0600)]
re PR middle-end/66314 (ice in verify_loop_structure)
PR middle-end/66314
PR gcov-profile/66899
* tree-ssa-threadupdate.c (mark_threaded_blocks): Correctly
iterate over the jump threading paths when an element in the
jump threading paths array is eliminated.
PR middle-end/66314
PR gcov-profile/66899
* gcc.dg/pr66899.c: New test.
* gcc.dg/pr66314.c: New test.
From-SVN: r226516
Jonathan Wakely [Mon, 3 Aug 2015 15:56:17 +0000 (16:56 +0100)]
re PR libstdc++/67078 (FAIL: 24_iterators/container_access.cc (test for excess errors) on aarch64-none-elf)
PR libstdc++/67078
* include/bits/range_access.h (size, empty, data): Fix _N bad name.
From-SVN: r226515
Segher Boessenkool [Mon, 3 Aug 2015 15:33:45 +0000 (17:33 +0200)]
* Makefile.in (OBJS): Put gimple-match.o and generic-match.o first.
From-SVN: r226514
Patrick Palka [Mon, 3 Aug 2015 14:57:25 +0000 (14:57 +0000)]
Avoid recomputing the defining predicate chains for the same PHI
gcc/ChangeLog:
* tree-ssa-uninit.c (find_uninit_use): Declare and pass to
is_use_properly_guarded the variable def_preds. Free its
contents before returning.
(prune_uninit_phi_opnds_in_unrealizable_paths): Same.
(is_use_properly_guarded): Replace local variable def_preds with
a parameter. Adjust accordingly. Only update *def_preds if it's
the empty vector.
From-SVN: r226511
Marek Polacek [Mon, 3 Aug 2015 13:55:28 +0000 (13:55 +0000)]
re PR c/67088 (Incorrect location of error on invalid type used in bit-field declaration)
PR c/67088
* c-decl.c (check_bitfield_type_and_width): Add location parameter.
Use it.
(grokdeclarator): Pass LOC down to check_bitfield_type_and_width.
* gcc.dg/pr67088.c: New test.
From-SVN: r226506
Richard Biener [Mon, 3 Aug 2015 13:45:22 +0000 (13:45 +0000)]
genmatch.c (simplify::for_subst_vec): New member.
2015-08-03 Richard Biener <rguenther@suse.de>
* genmatch.c (simplify::for_subst_vec): New member.
(binary_ok): New helper for for lowering.
(lower_for): Delay substituting operators into result expressions
if we can merge the results eventually again.
(capture_info::walk_result): Adjust for user_id appearing as
result expression operator.
(expr::gen_transform): Likewise.
(dt_simplify::gen_1): Likewise.
(dt_simplify::gen): Pass not substituted operators to tail
functions or initialize local variable with it.
(decision_tree::gen): Adjust function signature.
* match.pd: Fix tests against global code and add default
cases to switch stmts.
From-SVN: r226505
Richard Biener [Mon, 3 Aug 2015 13:28:46 +0000 (13:28 +0000)]
genmatch.c (simplify::for_subst_vec): New member.
2015-08-03 Richard Biener <rguenther@suse.de>
* genmatch.c (simplify::for_subst_vec): New member.
(binary_ok): New helper for for lowering.
(lower_for): Delay substituting operators into result expressions
if we can merge the results eventually again.
(capture_info::walk_result): Adjust for user_id appearing as
result expression operator.
(expr::gen_transform): Likewise.
(dt_simplify::gen_1): Likewise.
(dt_simplify::gen): Pass not substituted operators to tail
functions or initialize local variable with it.
(decision_tree::gen): Adjust function signature.
* match.pd: Fix tests against global code and add default
cases to switch stmts.
From-SVN: r226504
Richard Biener [Mon, 3 Aug 2015 13:20:22 +0000 (13:20 +0000)]
genmatch.c (dt_simplify::gen): Create captures array with an initializer.
2015-08-03 Richard Biener <rguenther@suse.de>
* genmatch.c (dt_simplify::gen): Create captures array
with an initializer.
From-SVN: r226503
Ulrich Weigand [Mon, 3 Aug 2015 11:48:57 +0000 (11:48 +0000)]
configure.ac: Set aliasing_flags to -fno-strict-aliasing if...
gcc/ChangeLog:
* configure.ac: Set aliasing_flags to -fno-strict-aliasing if
the host compiler is affected by placement new aliasing bug.
* configure: Regenerate.
* Makefile.in (ALIASING_FLAGS): New variable.
(ALL_CXXFLAGS): Add $(ALIASING_FLAGS).
From-SVN: r226499
Szabolcs Nagy [Mon, 3 Aug 2015 11:12:00 +0000 (11:12 +0000)]
[ARM] PR target/66731 Fix vnmul insn with -frounding-math
gcc:
PR target/66731
* config/arm/vfp.md (negmuldf3_vfp): Add new pattern.
(negmulsf3_vfp): Likewise.
(muldf3negdf_vfp): Disable for -frounding-math.
(mulsf3negsf_vfp): Likewise.
* config/arm/arm.c (arm_new_rtx_costs): Fix NEG cost for VNMUL,
fix MULT cost with -frounding-math.
gcc/testsuite:
PR target/66731
* gcc.target/arm/vnmul-1.c: New.
* gcc.target/arm/vnmul-2.c: New.
* gcc.target/arm/vnmul-3.c: New.
* gcc.target/arm/vnmul-4.c: New.
From-SVN: r226496
Mikael Morin [Mon, 3 Aug 2015 10:03:55 +0000 (10:03 +0000)]
Fix random class_allocate_18.f90 failure
PR fortran/64921
gcc/fortran/
* class.c (generate_finalization_wrapper): Set finalization
procedure symbol's always_explicit attribute.
gcc/testsuite/
* gfortran.dg/class_allocate_20.f90: New.
From-SVN: r226493
Kyrylo Tkachov [Mon, 3 Aug 2015 08:14:42 +0000 (08:14 +0000)]
[RTL-ifcvt] Improve conditional select ops on immediates
* ifcvt.c (noce_try_store_flag_constants): Make logic of the case
when diff == STORE_FLAG_VALUE or diff == -STORE_FLAG_VALUE more
explicit. Prefer to add the flag whenever possible.
(noce_process_if_block): Try noce_try_store_flag_constants before
noce_try_cmove.
* gcc.target/aarch64/csel_bfx_1.c: New test.
* gcc.target/aarch64/csel_imms_inc_1.c: Likewise.
From-SVN: r226491
Richard Biener [Mon, 3 Aug 2015 07:39:12 +0000 (07:39 +0000)]
genmatch.c (struct sinfo, [...]): New hash-map to record equivalent transforms.
2015-08-03 Richard Biener <rguenther@suse.de>
* genmatch.c (struct sinfo, struct sinfo_hashmap_traits, sinfo_map_t):
New hash-map to record equivalent transforms.
(dt_node::analyze): Populate the equivalent transforms hash-map.
(dt_simplify::info): Add reference to hash-map entry.
(dt_simplify::gen): If we have split out a function for the
transform, generate a call to it.
(sinfo_hashmap_traits::hash): New function.
(compare_op): New helper function for ...
(sinfo_hashmap_traits::equal_keys): ... this new function.
(decision_tree::gen): Split out common equivalent transforms
into functions.
From-SVN: r226490
Richard Biener [Mon, 3 Aug 2015 07:28:11 +0000 (07:28 +0000)]
gimple-fold.c (fold_gimple_assign): Remove folding of the comparison in COND_EXPRs.
2015-08-03 Richard Biener <rguenther@suse.de>
* gimple-fold.c (fold_gimple_assign): Remove folding of
the comparison in COND_EXPRs.
From-SVN: r226489
Richard Biener [Mon, 3 Aug 2015 07:27:40 +0000 (07:27 +0000)]
gimple-match-head.c (gimple_simplify): For [VEC_]COND_EXPRs on the rhs of assignments first simplify the embedded...
2015-08-03 Richard Biener <rguenther@suse.de>
* gimple-match-head.c (gimple_simplify): For [VEC_]COND_EXPRs
on the rhs of assignments first simplify the embedded
GENERIC condition.
From-SVN: r226488
Richard Biener [Mon, 3 Aug 2015 07:13:36 +0000 (07:13 +0000)]
re PR tree-optimization/66917 (ARM: NEON: memcpy compiles to vst1 with incorrect alignment)
2015-08-03 Richard Biener <rguenther@suse.de>
PR tree-optimization/66917
* tree-vectorizer.h (struct dataref_aux): Add base_element_aligned
field.
(DR_VECT_AUX): New macro.
(set_dr_misalignment): Adjust.
(dr_misalignment): Likewise.
* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
Compute whether the base is at least element aligned.
* tree-vect-stmts.c (ensure_base_align): Adjust.
(vectorizable_store): If the base is not element aligned
preserve alignment of the original access if misalignment is unknown.
(vectorizable_load): Likewise.
From-SVN: r226487
Bin Cheng [Mon, 3 Aug 2015 01:54:28 +0000 (01:54 +0000)]
MAINTAINERS (loop ivopts): Add the entry and myself.
* MAINTAINERS (loop ivopts): Add the entry and myself.
From-SVN: r226486
GCC Administrator [Mon, 3 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226483
Martin Sebor [Sun, 2 Aug 2015 23:14:18 +0000 (23:14 +0000)]
c.opt (-Wframe-address): New warning option.
gcc/ChangeLog
2015-07-28 Martin Sebor <msebor@redhat.com>
* c-family/c.opt (-Wframe-address): New warning option.
* doc/invoke.texi (Wframe-address): Document it.
* doc/extend.texi (__builtin_frame_address, __builtin_return_address):
Clarify possible effects of calling the functions with non-zero
arguments and mention -Wframe-address.
* builtins.c (expand_builtin_frame_address): Handle -Wframe-address.
gcc/testsuite/ChangeLog
2015-07-28 Martin Sebor <msebor@redhat.com>
* g++.dg/Wframe-address-in-Wall.C: New test.
* g++.dg/Wframe-address.C: New test.
* g++.dg/Wno-frame-address.C: New test.
* gcc.dg/Wframe-address-in-Wall.c: New test.
* gcc.dg/Wframe-address.c: New test.
* gcc.dg/Wno-frame-address.c: New test.
From-SVN: r226480
Patrick Palka [Sun, 2 Aug 2015 17:39:23 +0000 (17:39 +0000)]
Improve -Wmisleading-indentation heuristics
gcc/c-family/ChangeLog:
* c-indentation.c (should_warn_for_misleading_indentation):
Improve heuristics.
gcc/testsuite/ChangeLog:
* c-c++-common/Wmisleading-indentation.c: Add more tests.
From-SVN: r226479
Patrick Palka [Sun, 2 Aug 2015 17:35:33 +0000 (17:35 +0000)]
Remove is_first_nonwhitespace_on_line(), instead improve get_visual_column()
gcc/c-family/ChangeLog:
* c-indentation.c (get_visual_column): Add parameter first_nws,
use it. Update comment documenting the function.
(is_first_nonwhitespace_on_line): Remove.
(should_warn_for_misleading_indentation): Replace usage of
of is_first_nonwhitespace_on_line with get_visual_column.
From-SVN: r226478
Patrick Palka [Sun, 2 Aug 2015 17:31:55 +0000 (17:31 +0000)]
Refactor entry point to -Wmisleading-indentation
gcc/c-family/ChangeLog:
* c-indentation.h (struct token_indent_info): Define.
(get_token_indent_info): Define.
(warn_for_misleading_information): Declare.
* c-common.h (warn_for_misleading_information): Remove.
* c-identation.c (warn_for_misleading_indentation):
Change declaration to take three token_indent_infos. Adjust
accordingly.
* c-identation.c (should_warn_for_misleading_indentation):
Likewise. Bail out early if the body is a compound statement.
(guard_tinfo_to_string): Define.
gcc/c/ChangeLog:
* c-parser.c (c_parser_if_body): Take token_indent_info
argument. Call warn_for_misleading_indentation even when the
body is a semicolon. Extract token_indent_infos corresponding
to the guard, body and next tokens. Adjust call to
warn_for_misleading_indentation accordingly.
(c_parser_else_body): Likewise.
(c_parser_if_statement): Likewise.
(c_parser_while_statement): Likewise.
(c_parser_for_statement): Likewise.
gcc/cp/ChangeLog:
* parser.c (cp_parser_selection_statement): Move handling of
semicolon body to ...
(cp_parser_implicitly_scoped_statement): .. here. Call
warn_for_misleading_indentation even when the body is a
semicolon. Extract token_indent_infos corresponding to the
guard, body and next tokens. Adjust call to
warn_for_misleading_indentation accordingly. Take
token_indent_info argument.
(cp_parser_already_scoped_statement): Likewise.
(cp_parser_selection_statement, cp_parser_iteration_statement):
Extract a token_indent_info corresponding to the guard token.
From-SVN: r226477
Michael Collison [Sun, 2 Aug 2015 05:15:55 +0000 (05:15 +0000)]
arm.md (*arm_smin_cmp): New pattern.
2015-08-01 Michael Collison <michael.collison@linaro.org
Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
* gcc/config/arm/arm.md (*arm_smin_cmp): New pattern.
(*arm_umin_cmp): Likewise.
* gcc.target/arm/mincmp.c: New test.
From-SVN: r226476
Caroline Tice [Sun, 2 Aug 2015 01:17:39 +0000 (18:17 -0700)]
re PR bootstrap/66521 (xgcc: cc1plus segfaults when compiling libstdc++-v3/src/c++11/ostream-inst.cc)
Fix PR 66521
libvtv/ChangeLog
2015-08-01 Caroline Tice <cmtice@google.com>
PR 66521
* Makefile.am: Update to match latest tree.
* Makefile.in: Regenerate.
* testsuite/lib/libvtv: Brought up to date.
* vtv_malloc.cc (VTV_DEBUG): Update function call to match renamed
function (old bug!).
* vtv_rts.cc (debug_functions, debug_init, debug_verify_vtable): Update
initializations to work correctly with VTV_DEBUG defined.
gcc/ChangeLog:
2015-08-01 Caroline Tice <cmtice@google.com>
PR 66521
* vtable-verify.c (vtbl_mangled_name_types, vtbl_mangled_name_ids): New
global variables.
(vtbl_find_mangled_name): New function.
(vtbl_register_mangled_name): New function.
(vtbl_map_get_node): If DECL_ASSEMBLER_NAME is "<anon>", look up
mangled name in mangled name vectors.
(find_or_create_vtbl_map_node): Ditto.
(var_is_used_for_virtual_call_p): Add recursion_depth parameter;
update recursion_depth on function entry; pass it to every recursive
call; automatically exit if depth > 25 (give up looking at that point).
(verify_bb_vtables): Initialize recursion_depth and pass it to
var_is_used_for_virtual_call_p.
* vtable-verify.h (vtbl_mangbled_name_types, vtbl_mangled_name_ids): New
global variable decls.
(vtbl_register_mangled_name): New extern function decl.
gcc/cp/ChangeLog:
2015-08-01 Caroline Tice <cmtice@google.com>
PR 66521
* mangle.c : Add vtable-verify.h to include files.
(get_mangled_vtable_map_var_name): If the DECL_ASSEMBLER_NAME
is "<anon>" get the real mangled name for the class instead, and
also store the real mangled name in a vector for use later.
From-SVN: r226471
GCC Administrator [Sun, 2 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226468
Paul Thomas [Sat, 1 Aug 2015 18:37:25 +0000 (18:37 +0000)]
re PR fortran/67091 ([OOP] Bad result for type-bound procedures returning pointers to the intrinsic function ASSOCIATED)
2015-08-01 Paul Thomas <pault@gcc.gnu.org>
PR fortran/67091
* trans-intrinsic.c (gfc_conv_associated): Add the pre and post
blocks for the second argument to se.
2015-08-01 Paul Thomas <pault@gcc.gnu.org>
PR fortran/67091
* gfortran.dg/associated_target_6.f03: New test
From-SVN: r226464
Tom de Vries [Sat, 1 Aug 2015 08:29:29 +0000 (08:29 +0000)]
Allow non-overflow ops in reductions
2015-08-01 Tom de Vries <tom@codesourcery.com>
* tree.c (operation_can_overflow, operation_no_trapping_overflow): New
function.
* tree.h (operation_can_overflow, operation_no_trapping_overflow):
Declare.
* tree-vect-loop.c (vect_is_simple_reduction_1): Use
operation_no_trapping_overflow. Allow non-overflow operations.
* graphite-sese-to-poly.c (is_reduction_operation_p): Allow non-overflow
operations.
* gcc.dg/autopar/reduc-2char.c (init_arrays): Mark with attribute
optimize ("-ftree-parallelize-loops=0").
Add successful scans for 2 detected reductions. Add xfail scans for 3
detected reductions.
* gcc.dg/autopar/reduc-2short.c: Same.
* gcc.dg/autopar/reduc-8.c (init_arrays): Mark with attribute
optimize ("-ftree-parallelize-loops=0"). Add successful scans for 2
detected reductions.
* gcc.dg/vect/trapv-vect-reduc-4.c: Update scan to match vectorized min
and max reductions.
From-SVN: r226463
GCC Administrator [Sat, 1 Aug 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226462
Ian Lance Taylor [Fri, 31 Jul 2015 23:17:49 +0000 (23:17 +0000)]
compiler: Report errors for malformed builtin calls.
Errors reported from malformed builtin calls are handled in a later
pass than the one in which they are detected. If a malformed builtin
call is lowered into an error expression too early, these errors will
never be reported.
Fixes golang/go#11561.
Reviewed-on: https://go-review.googlesource.com/12778
From-SVN: r226459
Kaz Kojima [Fri, 31 Jul 2015 22:19:51 +0000 (22:19 +0000)]
re PR target/67049 (sh64-elf: internal compiler error: in df_uses_record, at df-scan.c:3001)
PR target/67049
* config/sh/sh.md (GOTaddr2picreg): Fix typo added with the last change.
From-SVN: r226457
Ian Lance Taylor [Fri, 31 Jul 2015 22:16:12 +0000 (22:16 +0000)]
compiler: Check the type in function declarations.
Function declarations don't create a block where the variables listed
in the parameter list are declared. Because there are no variables
declared, the types of the parameter variables is unchecked, allowing
for invalid values to be used as the type. This patch adds a special
case to the check_types pass for function declarations.
Fixes golang/go#11567.
Reviewed-on: https://go-review.googlesource.com/12662
From-SVN: r226456
Ian Lance Taylor [Fri, 31 Jul 2015 19:11:18 +0000 (19:11 +0000)]
compiler: Update unicode tables.
Fixes golang/go#11569.
Reviewed-on: https://go-review.googlesource.com/12652
From-SVN: r226452
Nathan Sidwell [Fri, 31 Jul 2015 17:54:31 +0000 (17:54 +0000)]
* MAINTAINERS (nvptx): Add self.
From-SVN: r226449
Ian Lance Taylor [Fri, 31 Jul 2015 17:52:38 +0000 (17:52 +0000)]
compiler: Don't allow builtin function values.
According to the spec, http://golang.org/ref/spec#Built-in_functions:
"built-in functions do not have standard Go types, so they can only
appear in call expressions; they cannot be used as function values."
Fixes golang/go#11570.
Reviewed-on: https://go-review.googlesource.com/12543
From-SVN: r226448
Kyrylo Tkachov [Fri, 31 Jul 2015 16:39:35 +0000 (16:39 +0000)]
[ARM][2/3] Make if_neg_move and if_move_neg into insn_and_split
* config/arm/arm.md (*if_neg_move): Convert to insn_and_split.
Enable for TARGET_32BIT.
(*if_move_neg): Likewise.
From-SVN: r226447
Nick Clifton [Fri, 31 Jul 2015 15:55:16 +0000 (15:55 +0000)]
m32r.c (m32r_attribute_identifier): New function.
* config/m32r/m32r.c (m32r_attribute_identifier): New function.
Returns true for __model__.
(TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
From-SVN: r226445
Alan Modra [Fri, 31 Jul 2015 14:05:42 +0000 (23:35 +0930)]
re PR go/66870 (split stack issues on ppc64le and ppc64)
PR target/66870
* config/rs6000/rs6000.c (machine_function): Add split_stack_argp_used.
(rs6000_emit_prologue): Set it.
(rs6000_set_up_by_prologue): Specify r12 when split_stack_argp_used.
From-SVN: r226443
Marek Polacek [Fri, 31 Jul 2015 11:12:57 +0000 (11:12 +0000)]
re PR sanitizer/66977 (-fsanitize=shift may introduce uninitialized variables)
PR sanitizer/66977
* typeck.c (get_member_function_from_ptrfunc): Don't sanitize
RSHIFT_EXPR.
* g++.dg/ubsan/pr66977.C: New test.
From-SVN: r226440
Richard Biener [Fri, 31 Jul 2015 10:36:56 +0000 (10:36 +0000)]
fold-const.c (fold_binary_loc): Remove X ^ C1 == C2 -> X == (C1 ^ C2) which is already implemented in match.pd.
2015-07-31 Richard Biener <rguenther@suse.de>
* fold-const.c (fold_binary_loc): Remove X ^ C1 == C2
-> X == (C1 ^ C2) which is already implemented in match.pd.
Remove redundant dispatching to fold_relational_const.
Move unordered self and NaN compares ...
* match.pd: ... as patterns here. Remove some stray captures
and add a comment.
From-SVN: r226434
Petr Murzin [Fri, 31 Jul 2015 09:14:07 +0000 (09:14 +0000)]
Refactoring masked built-in decls to use proper mask type.
gcc/
* config/i386/i386.c
(bdesc_special_args): Convert mask type from signed to unsigned for
masked builtins.
(ix86_expand_args_builtin): Do not handle UINT_FTYPE_V2DF,
UINT64_FTYPE_V2DF, UINT64_FTYPE_V4SF, V16QI_FTYPE_V8DI,
V16HI_FTYPE_V16SI, V16SI_FTYPE_V16SI, V16SF_FTYPE_FLOAT,
V8HI_FTYPE_V8DI, V8UHI_FTYPE_V8UHI, V8SI_FTYPE_V8DI, V8SF_FTYPE_V8DF,
V8DI_FTYPE_INT64, V8DI_FTYPE_V4DI, V8DI_FTYPE_V8DI, V8DF_FTYPE_DOUBLE,
V8DF_FTYPE_V8SI, V16SI_FTYPE_V16SI_V16SI, V16SF_FTYPE_V16SF_V16SI,
V8DI_FTYPE_V8DI_V8DI, V8DF_FTYPE_V8DF_V8DI, V4SI_FTYPE_V4SF_V4SF,
V4SF_FTYPE_V4SF_UINT64, V2UDI_FTYPE_V4USI_V4USI, V2DI_FTYPE_V2DF_V2DF,
V2DF_FTYPE_V2DF_UINT64, V4UDI_FTYPE_V8USI_V8USI, QI_FTYPE_V8DI_V8DI,
HI_FTYPE_V16SI_V16SI, HI_FTYPE_HI_INT, V16SF_FTYPE_V16SF_V16SF_V16SF,
V16SF_FTYPE_V16SF_V16SI_V16SF, V16SF_FTYPE_V16SI_V16SF_HI,
V16SF_FTYPE_V16SI_V16SF_V16SF, V16SI_FTYPE_V16SF_V16SI_HI,
V8DI_FTYPE_V8SF_V8DI_QI, V8SF_FTYPE_V8DI_V8SF_QI, V8DI_FTYPE_PV4DI,
V8DF_FTYPE_V8DI_V8DF_QI, V16SI_FTYPE_V16SI_V16SI_V16SI,
V2DI_FTYPE_V2DI_V2DI_V2DI, V8DI_FTYPE_V8DF_V8DI_QI, V8DF_FTYPE_PV4DF,
V8SI_FTYPE_V8SI_V8SI_V8SI, V8DF_FTYPE_V8DF_V8DF_V8DF, UINT_FTYPE_V4SF,
V8DF_FTYPE_V8DF_V8DI_V8DF, V8DF_FTYPE_V8DI_V8DF_V8DF,
V8DF_FTYPE_V8SF_V8DF_QI, V8DI_FTYPE_V8DI_V8DI_V8DI, V16SF_FTYPE_PV4SF,
V8SF_FTYPE_V8DF_V8SF_QI, V8SI_FTYPE_V8DF_V8SI_QI, V16SI_FTYPE_PV4SI,
V2DF_FTYPE_V2DF_V4SF_V2DF_QI, V4SF_FTYPE_V4SF_V2DF_V4SF_QI,
V8DI_FTYPE_V8DI_SI_V8DI_V8DI, QI_FTYPE_V8DF_V8DF_INT_QI,
HI_FTYPE_V16SF_V16SF_INT_HI, V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI,
VOID_FTYPE_PDOUBLE_V2DF_QI, VOID_FTYPE_PFLOAT_V4SF_QI,
V2DF_FTYPE_PCDOUBLE_V2DF_QI, V4SF_FTYPE_PCFLOAT_V4SF_QI.
* config/i386/i386-builtin-types.def
(V16QI_FTYPE_V16SI): Remove.
(V8DF_FTYPE_V8SI): Ditto.
(V8HI_FTYPE_V8DI): Ditto.
(V8SI_FTYPE_V8DI): Ditto.
(V8SF_FTYPE_V8DF): Ditto.
(V8SF_FTYPE_V8DF_V8SF_QI): Ditto.
(V16HI_FTYPE_V16SI): Ditto.
(V16SF_FTYPE_V16HI): Ditto.
(V16SF_FTYPE_V16HI_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SI): Ditto.
(V4DI_FTYPE_V4DI): Ditto.
(V16SI_FTYPE_V16SF): Ditto.
(V16SF_FTYPE_FLOAT): Ditto.
(V8DF_FTYPE_DOUBLE): Ditto.
(V8DI_FTYPE_INT64): Ditto.
(V8DI_FTYPE_V4DI): Ditto.
(V16QI_FTYPE_V8DI): Ditto.
(UINT_FTYPE_V4SF): Ditto.
(UINT64_FTYPE_V4SF): Ditto.
(UINT_FTYPE_V2DF): Ditto.
(UINT64_FTYPE_V2DF): Ditto.
(V16SI_FTYPE_V16SI): Ditto.
(V8DI_FTYPE_V8DI): Ditto.
(V16SI_FTYPE_PV4SI): Ditto.
(V16SF_FTYPE_PV4SF): Ditto.
(V8DI_FTYPE_PV2DI): Ditto.
(V8DF_FTYPE_PV2DF): Ditto.
(V4DI_FTYPE_PV2DI): Ditto.
(V4DF_FTYPE_PV2DF): Ditto.
(V16SI_FTYPE_PV2SI): Ditto.
(V16SF_FTYPE_PV2SF): Ditto.
(V8DI_FTYPE_PV4DI): Ditto.
(V8DF_FTYPE_PV4DF): Ditto.
(V8SF_FTYPE_FLOAT): Ditto.
(V4SF_FTYPE_FLOAT): Ditto.
(V4DF_FTYPE_DOUBLE): Ditto.
(V8SF_FTYPE_PV4SF): Ditto.
(V8SI_FTYPE_PV4SI): Ditto.
(V4SI_FTYPE_PV2SI): Ditto.
(V8SF_FTYPE_PV2SF): Ditto.
(V8SI_FTYPE_PV2SI): Ditto.
(V16SF_FTYPE_PV8SF): Ditto.
(V16SI_FTYPE_PV8SI): Ditto.
(V8DI_FTYPE_V8SF): Ditto.
(V4DI_FTYPE_V4SF): Ditto.
(V2DI_FTYPE_V4SF): Ditto.
(V64QI_FTYPE_QI): Ditto.
(V32HI_FTYPE_HI): Ditto.
(V8UHI_FTYPE_V8UHI): Ditto.
(V16UHI_FTYPE_V16UHI): Ditto.
(V32UHI_FTYPE_V32UHI): Ditto.
(V2UDI_FTYPE_V2UDI): Ditto.
(V4UDI_FTYPE_V4UDI): Ditto.
(V8UDI_FTYPE_V8UDI): Ditto.
(V4USI_FTYPE_V4USI): Ditto.
(V8USI_FTYPE_V8USI): Ditto.
(V16USI_FTYPE_V16USI): Ditto.
(V2DF_FTYPE_V2DF_UINT64): Ditto.
(V2DI_FTYPE_V2DF_V2DF): Ditto.
(V2UDI_FTYPE_V4USI_V4USI): Ditto.
(V8DF_FTYPE_V8DF_V8DI): Ditto.
(V4SF_FTYPE_V4SF_UINT64): Ditto.
(V4SI_FTYPE_V4SF_V4SF): Ditto.
(V16SF_FTYPE_V16SF_V16SI): Ditto.
(V64QI_FTYPE_V32HI_V32HI): Ditto.
(V32HI_FTYPE_V16SI_V16SI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_V8DI_INT_QI): Ditto.
(V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI): Ditto.
(V32HI_FTYPE_V64QI_V64QI): Ditto.
(V32HI_FTYPE_V32HI_V32HI): Ditto.
(V16HI_FTYPE_V16HI_V16HI_INT_V16HI_HI): Ditto.
(V16SI_FTYPE_V16SI_V4SI): Ditto.
(V16SI_FTYPE_V16SI_V16SI): Ditto.
(V16SI_FTYPE_V32HI_V32HI): Ditto.
(V16SI_FTYPE_V16SI_SI): Ditto.
(V8DI_FTYPE_V8DI_V8DI): Ditto.
(V4UDI_FTYPE_V8USI_V8USI): Ditto.
(V8DI_FTYPE_V16SI_V16SI): Ditto.
(V8DI_FTYPE_V8DI_V2DI): Ditto.
(QI_FTYPE_QI): Ditto.
(SI_FTYPE_SI): Ditto.
(DI_FTYPE_DI): Ditto.
(QI_FTYPE_QI_QI): Ditto.
(QI_FTYPE_QI_INT): Ditto.
(HI_FTYPE_HI_INT): Ditto.
(SI_FTYPE_SI_INT): Ditto.
(DI_FTYPE_DI_INT): Ditto.
(HI_FTYPE_V16QI_V16QI): Ditto.
(SI_FTYPE_V32QI_V32QI): Ditto.
(DI_FTYPE_V64QI_V64QI): Ditto.
(QI_FTYPE_V8HI_V8HI): Ditto.
(HI_FTYPE_V16HI_V16HI): Ditto.
(SI_FTYPE_V32HI_V32HI): Ditto.
(QI_FTYPE_V4SI_V4SI): Ditto.
(QI_FTYPE_V8SI_V8SI): Ditto.
(QI_FTYPE_V2DI_V2DI): Ditto.
(QI_FTYPE_V4DI_V4DI): Ditto.
(QI_FTYPE_V8DI_V8DI): Ditto.
(HI_FTYPE_V16SI_V16SI): Ditto.
(HI_FTYPE_V16SI_V16SI_INT_HI): Ditto.
(QI_FTYPE_V8DF_V8DF_INT_QI): Ditto.
(HI_FTYPE_V16SF_V16SF_INT_HI): Ditto.
(V32HI_FTYPE_V32HI_V32HI_V32HI): Ditto.
(V4SF_FTYPE_V4SF_V2DF_V4SF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_V8DF): Ditto.
(V16SF_FTYPE_V16SF_V16SF_V16SF): Ditto.
(V8DF_FTYPE_V8SF_V8DF_QI): Ditto.
(V8DI_FTYPE_V8DF_V8DI_QI): Ditto.
(V8DF_FTYPE_V8DI_V8DF_V8DF): Ditto.
(V2DF_FTYPE_V2DF_V4SF_V2DF_QI): Ditto.
(V16SF_FTYPE_V16SI_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SI_V16SF_V16SF): Ditto.
(V8SI_FTYPE_V8DF_V8SI_QI): Ditto.
(V8DI_FTYPE_PCCHAR_V8DI_QI): Ditto.
(V8SF_FTYPE_PCFLOAT_V8SF_QI): Ditto.
(V4SF_FTYPE_PCFLOAT_V4SF_QI): Ditto.
(V4DF_FTYPE_PCDOUBLE_V4DF_QI): Ditto.
(V2DF_FTYPE_PCDOUBLE_V2DF_QI): Ditto.
(V8SI_FTYPE_PCCHAR_V8SI_QI): Ditto.
(V4SI_FTYPE_PCCHAR_V4SI_QI): Ditto.
(V4DI_FTYPE_PCCHAR_V4DI_QI): Ditto.
(V2DI_FTYPE_PCCHAR_V2DI_QI): Ditto.
(V16SF_FTYPE_PCV8SF_V16SF_HI): Ditto.
(V16SI_FTYPE_PCV8SI_V16SI_HI): Ditto.
(V8DF_FTYPE_PCV2DF_V8DF_QI): Ditto.
(V8SF_FTYPE_PCV4SF_V8SF_QI): Ditto.
(V8DI_FTYPE_PCV2DI_V8DI_QI): Ditto.
(V8SI_FTYPE_PCV4SI_V8SI_QI): Ditto.
(V4DF_FTYPE_PCV2DF_V4DF_QI): Ditto.
(V4DI_FTYPE_PCV2DI_V4DI_QI): Ditto.
(VOID_FTYPE_PDOUBLE_V2DF_QI): Ditto.
(VOID_FTYPE_PFLOAT_V4SF_QI): Ditto.
(V16SI_FTYPE_V16SF_V16SI_HI): Ditto.
(V8DI_FTYPE_V8SF_V8DI_QI): Ditto.
(V8SF_FTYPE_V8DI_V8SF_QI): Ditto.
(V8DF_FTYPE_V8DI_V8DF_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_V2DI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_V4SI): Ditto.
(V2UDI_FTYPE_V2UDI_V2UDI_V2UDI): Ditto.
(V4USI_FTYPE_V4USI_V4USI_V4USI): Ditto.
(V8UHI_FTYPE_V8UHI_V8UHI_V8UHI): Ditto.
(V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_V4DI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_V8SI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_V8DI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_V16SI): Ditto.
(V2DF_FTYPE_V2DF_V2DI_V2DF): Ditto.
(V4DF_FTYPE_V4DF_V4DI_V4DF): Ditto.
(V8DF_FTYPE_V8DF_V8DI_V8DF): Ditto.
(V4SF_FTYPE_V4SF_V4SI_V4SF): Ditto.
(V8SF_FTYPE_V8SF_V8SI_V8SF): Ditto.
(V16SF_FTYPE_V16SF_V16SI_V16SF): Ditto.
(V8DI_FTYPE_V8DI_SI_V8DI_V8DI): Ditto.
(PVOID_FTYPE_PVOID_PVOID_ULONG): Ditto.
(V4SF_FTYPE_V2DF_V4SF_QI): Convert mask type from signed to unsigned.
(V4SF_FTYPE_V4DF_V4SF_QI): Ditto.
(V4SF_FTYPE_V8HI_V4SF_QI): Ditto.
(V8SF_FTYPE_V8HI_V8SF_QI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_HI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_QI): Ditto.
(V2DF_FTYPE_V4DF_INT_V2DF_QI): Ditto.
(V2DF_FTYPE_V8DF_INT_V2DF_QI): Ditto.
(V2DI_FTYPE_V2DI_INT_V2DI_QI): Ditto.
(V4DF_FTYPE_V8DF_INT_V4DF_QI): Ditto.
(V4SF_FTYPE_V8SF_INT_V4SF_QI): Ditto.
(V4SI_FTYPE_V2DF_V4SI_QI): Ditto.
(V4SI_FTYPE_V4SI_INT_V4SI_QI): Ditto.
(V4SI_FTYPE_V8HI_V8HI_V4SI_QI): Ditto.
(V4SI_FTYPE_V8SI_INT_V4SI_QI): Ditto.
(V8HI_FTYPE_V16QI_V16QI_V8HI_QI): Ditto.
(V8HI_FTYPE_V8SF_INT_V8HI_QI): Ditto.
(V8HI_FTYPE_V4SF_INT_V8HI_QI): Ditto.
(V8SF_FTYPE_V16SF_INT_V8SF_QI): Ditto.
(V4SF_FTYPE_V16SF_INT_V4SF_QI): Ditto.
(V8DF_FTYPE_V8DF_V2DF_INT_V8DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V4DF_INT_V8DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_INT_V8DF_QI): Ditto.
(V8DF_FTYPE_V8DF_INT_V8DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_V4DI_INT_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_V2DI_INT_QI): Ditto.
(V16SF_FTYPE_V16SF_V16SF_INT_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SF_INT_V16SF_HI): Ditto.
(V16SI_FTYPE_V16SI_V4SI_INT_V16SI_HI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_V8SI_INT_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_V4SI_INT_QI): Ditto.
(V16SF_FTYPE_V16SF_V4SF_INT_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SF_V8SF_INT_V16SF_HI): Ditto.
(V16HI_FTYPE_V32QI_V32QI_V16HI_HI): Ditto.
(V32HI_FTYPE_V64QI_V64QI_V32HI_SI): Ditto.
(V16HI_FTYPE_V16SF_INT_V16HI_HI): Ditto.
(V16SI_FTYPE_V16SI_V8SI_INT_V16SI_HI): Ditto.
(V4SI_FTYPE_V16SI_INT_V4SI_QI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_INT_V16SI_HI): Ditto.
(V8SI_FTYPE_V16HI_V16HI_V8SI_QI): Ditto.
(V16SI_FTYPE_V32HI_V32HI_V16SI_HI): Ditto.
(V8SI_FTYPE_V8SI_INT_V8SI_QI): Ditto.
(V8SI_FTYPE_V16SI_INT_V8SI_QI): Ditto.
(V16SI_FTYPE_V16SI_V4SI_V16SI_HI): Ditto.
(V16SI_FTYPE_V16SI_INT_V16SI_HI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_INT_V8DI_QI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_INT_V8DI_DI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_INT_V4DI_SI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_INT_V2DI_HI): Ditto.
(V8DI_FTYPE_V8DI_V2DI_INT_V8DI_QI): Ditto.
(V8DI_FTYPE_V8DI_V4DI_INT_V8DI_QI): Ditto.
(V4DI_FTYPE_V8DI_INT_V4DI_QI): Ditto.
(V8DI_FTYPE_V8DI_V2DI_V8DI_QI): Ditto.
(V8DI_FTYPE_V8DI_INT_V8DI_QI): Ditto.
(V4DI_FTYPE_V4DI_INT_V4DI_QI): Ditto.
(V2DI_FTYPE_V4DI_INT_V2DI_QI): Ditto.
(V2DI_FTYPE_V8DI_INT_V2DI_QI): Ditto.
(HI_FTYPE_HI): Ditto.
(HI_FTYPE_V16QI): Ditto.
(SI_FTYPE_V32QI): Ditto.
(DI_FTYPE_V64QI): Ditto.
(QI_FTYPE_V8HI): Ditto.
(HI_FTYPE_V16HI): Ditto.
(SI_FTYPE_V32HI): Ditto.
(QI_FTYPE_V4SI): Ditto.
(QI_FTYPE_V8SI): Ditto.
(HI_FTYPE_V16SI): Ditto.
(QI_FTYPE_V2DI): Ditto.
(QI_FTYPE_V4DI): Ditto.
(QI_FTYPE_V8DI): Ditto.
(V16QI_FTYPE_HI): Ditto.
(V32QI_FTYPE_SI): Ditto.
(V64QI_FTYPE_DI): Ditto.
(V8HI_FTYPE_QI): Ditto.
(V16HI_FTYPE_HI): Ditto.
(V32HI_FTYPE_SI): Ditto.
(V4SI_FTYPE_QI): Ditto.
(V4SI_FTYPE_HI): Ditto.
(V8SI_FTYPE_QI): Ditto.
(V8SI_FTYPE_HI): Ditto.
(V2DI_FTYPE_QI): Ditto.
(V4DI_FTYPE_QI): Ditto.
(HI_FTYPE_HI_HI): Ditto.
(SI_FTYPE_SI_SI): Ditto.
(DI_FTYPE_DI_DI): Ditto.
(HI_FTYPE_V16QI_V16QI_HI): Ditto.
(HI_FTYPE_V16QI_V16QI_INT_HI): Ditto.
(SI_FTYPE_V32QI_V32QI_SI): Ditto.
(SI_FTYPE_V32QI_V32QI_INT_SI): Ditto.
(DI_FTYPE_V64QI_V64QI_DI): Ditto.
(DI_FTYPE_V64QI_V64QI_INT_DI): Ditto.
(QI_FTYPE_V8HI_V8HI_QI): Ditto.
(QI_FTYPE_V8HI_V8HI_INT_QI): Ditto.
(HI_FTYPE_V16HI_V16HI_HI): Ditto.
(HI_FTYPE_V16HI_V16HI_INT_HI): Ditto.
(SI_FTYPE_V32HI_V32HI_SI): Ditto.
(SI_FTYPE_V32HI_V32HI_INT_SI): Ditto.
(QI_FTYPE_V4SI_V4SI_QI): Ditto.
(QI_FTYPE_V4SI_V4SI_INT_QI): Ditto.
(QI_FTYPE_V8SI_V8SI_QI): Ditto.
(QI_FTYPE_V8SI_V8SI_INT_QI): Ditto.
(QI_FTYPE_V2DI_V2DI_QI): Ditto.
(QI_FTYPE_V2DI_V2DI_INT_QI): Ditto.
(QI_FTYPE_V4DI_V4DI_QI): Ditto.
(QI_FTYPE_V4DI_V4DI_INT_QI): Ditto.
(QI_FTYPE_V8DI_V8DI_QI): Ditto.
(HI_FTYPE_V16SI_V16SI_HI): Ditto.
(QI_FTYPE_V8DI_V8DI_INT): Ditto.
(QI_FTYPE_V8DI_V8DI_INT_QI): Ditto.
(HI_FTYPE_V16SI_V16SI_INT): Ditto.
(HI_FTYPE_V16SI_V16SI_INT _HI): Ditto.
(QI_FTYPE_V8DF_V8DF_INT): Ditto.
(QI_FTYPE_V8DF_V8DF_INT_QI_INT): Ditto.
(HI_FTYPE_V16SF_V16SF_INT): Ditto.
(HI_FTYPE_V16SF_V16SF_INT_HI_INT): Ditto.
(QI_FTYPE_V2DF_V2DF_INT): Ditto.
(QI_FTYPE_V2DF_V2DF_INT_QI): Ditto.
(QI_FTYPE_V2DF_V2DF_INT_QI_INT): Ditto.
(QI_FTYPE_V4SF_V4SF_INT): Ditto.
(QI_FTYPE_V4SF_V4SF_INT_QI): Ditto.
(QI_FTYPE_V4SF_V4SF_INT_QI_INT): Ditto.
(V16SI_FTYPE_HI): Ditto.
(V8DI_FTYPE_QI): Ditto.
(V2DF_FTYPE_V2DI_V2DF_V2DF_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DI_V2DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V2DF_INT_V4DF_QI): Ditto.
(V4SF_FTYPE_V4SI_V4SF_V4SF_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SI_V4SF_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_V4SF_QI): Ditto.
(V8SF_FTYPE_V8SF_V4SF_INT_V8SF_QI): Ditto.
(V8SI_FTYPE_V8SI_V4SI_INT_V8SI_QI): Ditto.
(V4DI_FTYPE_V4DI_V2DI_INT_V4DI_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_QI): Ditto.
(V2DF_FTYPE_V4SF_V2DF_QI): Ditto.
(V2DF_FTYPE_V4SI_V2DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_QI): Ditto.
(V4DF_FTYPE_V4SF_V4DF_QI): Ditto.
(V4DF_FTYPE_V4SI_V4DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_QI): Ditto.
(V8DF_FTYPE_V8SI_V8DF_QI): Ditto.
(V2DI_FTYPE_V4SI_V2DI_QI): Ditto.
(V2DI_FTYPE_V8HI_V2DI_QI): Ditto.
(V4DI_FTYPE_V4DF_V4DI_QI): Ditto.
(V2DI_FTYPE_V2DF_V2DI_QI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_V2DI_QI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_INT_V2DI_QI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_V4DI_QI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_INT_V4DI_QI): Ditto.
(V8DI_FTYPE_V8SI_V8DI_QI): Ditto.
(V8DI_FTYPE_V8HI_V8DI_QI): Ditto.
(V8DI_FTYPE_V16QI_V8DI_QI): Ditto.
(V2DI_FTYPE_V16QI_V2DI_QI): Ditto.
(V4DI_FTYPE_V16QI_V4DI_QI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_QI): Ditto.
(V4DI_FTYPE_V4SI_V4DI_QI): Ditto.
(V4DI_FTYPE_V8HI_V4DI_QI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_V8DI_QI): Ditto.
(V8DF_FTYPE_V8DI_V8DF_V8DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DI_V8DF_QI): Ditto.
(V4DF_FTYPE_V4DI_V4DF_V4DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DI_V4DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_V4DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_V8DF_QI): Ditto.
(V16QI_FTYPE_V16QI_V16QI_V16QI_HI): Ditto.
(V16HI_FTYPE_V16HI_V16HI_V16HI_HI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_V16SI_HI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_V2DF_QI): Ditto.
(V32HI_FTYPE_V32HI_V32HI_V32HI_SI): Ditto.
(V64QI_FTYPE_V64QI_V64QI_V64QI_DI): Ditto.
(V32QI_FTYPE_V32QI_V32QI_V32QI_SI): Ditto.
(V8HI_FTYPE_V8HI_V8HI_V8HI_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_QI): Ditto.
(V4SF_FTYPE_V4SI_V4SF_QI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_QI): Ditto.
(V8SF_FTYPE_V8SI_V8SF_QI): Ditto.
(V16SF_FTYPE_V16SF_V16SF_HI): Ditto.
(V4SI_FTYPE_V16QI_V4SI_QI): Ditto.
(V4SI_FTYPE_V8HI_V4SI_QI): Ditto.
(V8SI_FTYPE_V8SI_V8SI_QI): Ditto.
(V8SI_FTYPE_V8HI_V8SI_QI): Ditto.
(V8SI_FTYPE_V16QI_V8SI_QI): Ditto.
(V4SI_FTYPE_V4SI_V4SI_V4SI_QI): Ditto.
(V4SI_FTYPE_V4SI_V4SI_INT_V4SI_QI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_V8SF_QI): Ditto.
(V8SF_FTYPE_V8SI_V8SF_V8SF_QI): Ditto.
(V8SF_FTYPE_V8SF_V8SI_V8SF_QI): Ditto.
(V8SI_FTYPE_V8SI_V8SI_V8SI_QI): Ditto.
(V8SI_FTYPE_V8SI_V8SI_INT_V8SI_QI): Ditto.
(V16SF_FTYPE_V16SF_V16SF_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SI_V16SF_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SF_V16SI_V16SF_HI): Ditto.
(V16SF_FTYPE_V8SF_V16SF_HI): Ditto.
(V16SF_FTYPE_V4SF_V16SF_HI): Ditto.
(V8DF_FTYPE_V4DF_V8DF_QI): Ditto.
(V8DF_FTYPE_V2DF_V8DF_QI): Ditto.
(V16SI_FTYPE_V8SI_V16SI_HI): Ditto.
(V16SI_FTYPE_V4SI_V16SI_HI): Ditto.
(V16SI_FTYPE_SI_V16SI_HI): Ditto.
(V16SI_FTYPE_V16HI_V16SI_HI): Ditto.
(V16SI_FTYPE_V16QI_V16SI_HI): Ditto.
(V8DI_FTYPE_V4DI_V8DI_QI): Ditto.
(V4SI_FTYPE_V4DF_V4SI_QI): Ditto.
(V8DI_FTYPE_V2DI_V8DI_QI): Ditto.
(V8DI_FTYPE_DI_V8DI_QI): Ditto.
(V16QI_FTYPE_V16SI_V16QI_HI): Ditto.
(V16QI_FTYPE_V8DI_V16QI_QI): Ditto.
(V32HI_FTYPE_V32HI_V32HI_SI): Ditto.
(V32HI_FTYPE_V32QI_V32HI_SI): Ditto.
(V16HI_FTYPE_V16HI_V16HI_HI): Ditto.
(V16HI_FTYPE_V16QI_V16HI_HI): Ditto.
(V8HI_FTYPE_V16QI_V8HI_QI): Ditto.
(V8SF_FTYPE_V4SF_V8SF_QI): Ditto.
(V4DF_FTYPE_V2DF_V4DF_QI): Ditto.
(V8SI_FTYPE_V4SI_V8SI_QI): Ditto.
(V8SI_FTYPE_SI_V8SI_QI): Ditto.
(V4SI_FTYPE_V4SI_V4SI_QI): Ditto.
(V4SI_FTYPE_SI_V4SI_QI): Ditto.
(V4DI_FTYPE_V2DI_V4DI_QI): Ditto.
(V4DI_FTYPE_DI_V4DI_QI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_QI): Ditto.
(V2DI_FTYPE_DI_V2DI_QI): Ditto.
(V64QI_FTYPE_V64QI_V64QI_DI): Ditto.
(V64QI_FTYPE_V16QI_V64QI_DI): Ditto.
(V64QI_FTYPE_QI_V64QI_DI): Ditto.
(V32QI_FTYPE_V32QI_V32QI_SI): Ditto.
(V32QI_FTYPE_V16QI_V32QI_SI): Ditto.
(V32QI_FTYPE_QI_V32QI_SI): Ditto.
(V16QI_FTYPE_V16QI_V16QI_HI): Ditto.
(V16QI_FTYPE_QI_V16QI_HI): Ditto.
(V32HI_FTYPE_V8HI_V32HI_SI): Ditto.
(V32HI_FTYPE_HI_V32HI_SI): Ditto.
(V16HI_FTYPE_V8HI_V16HI_HI): Ditto.
(V16HI_FTYPE_HI_V16HI_HI): Ditto.
(V8HI_FTYPE_V8HI_V8HI_QI): Ditto.
(V8HI_FTYPE_HI_V8HI_QI): Ditto.
(V64QI_FTYPE_PCV64QI_V64QI_DI): Ditto.
(V32HI_FTYPE_PCV32HI_V32HI_SI): Ditto.
(V32QI_FTYPE_PCV32QI_V32QI_SI): Ditto.
(V16SF_FTYPE_PCV16SF_V16SF_HI): Ditto.
(V8DF_FTYPE_PCV8DF_V8DF_QI): Ditto.
(V16SI_FTYPE_PCV16SI_V16SI_HI): Ditto.
(V16HI_FTYPE_PCV16HI_V16HI_HI): Ditto.
(V16QI_FTYPE_PCV16QI_V16QI_HI): Ditto.
(V8SF_FTYPE_PCV8SF_V8SF_QI): Ditto.
(V8DI_FTYPE_PCV8DI_V8DI_QI): Ditto.
(V8SI_FTYPE_PCV8SI_V8SI_QI): Ditto.
(V8HI_FTYPE_PCV8HI_V8HI_QI): Ditto.
(V4DF_FTYPE_PCV4DF_V4DF_QI): Ditto.
(V4SF_FTYPE_PCV4SF_V4SF_QI): Ditto.
(V4DI_FTYPE_PCV4DI_V4DI_QI): Ditto.
(V4SI_FTYPE_PCV4SI_V4SI_QI): Ditto.
(V2DF_FTYPE_PCV2DF_V2DF_QI): Ditto.
(V2DI_FTYPE_PCV2DI_V2DI_QI): Ditto.
(V16HI_FTYPE_V16SI_V16HI_HI): Ditto.
(V8SI_FTYPE_V8DI_V8SI_QI): Ditto.
(V8HI_FTYPE_V8DI_V8HI_QI): Ditto.
(V16QI_FTYPE_V8HI_V16QI_QI): Ditto.
(V16QI_FTYPE_V16HI_V16QI_HI): Ditto.
(V16QI_FTYPE_V4SI_V16QI_QI): Ditto.
(V16QI_FTYPE_V8SI_V16QI_QI): Ditto.
(V8HI_FTYPE_V4SI_V8HI_QI): Ditto.
(V8HI_FTYPE_V8SI_V8HI_QI): Ditto.
(V16QI_FTYPE_V2DI_V16QI_QI): Ditto.
(V16QI_FTYPE_V4DI_V16QI_QI): Ditto.
(V8HI_FTYPE_V2DI_V8HI_QI): Ditto.
(V8HI_FTYPE_V4DI_V8HI_QI): Ditto.
(V4SI_FTYPE_V2DI_V4SI_QI): Ditto.
(V4SI_FTYPE_V4DI_V4SI_QI): Ditto.
(V32QI_FTYPE_V32HI_V32QI_SI): Ditto.
(V2DF_FTYPE_V2DF_INT_V2DF_QI): Ditto.
(V4DF_FTYPE_V4DF_INT_V4DF_QI): Ditto.
(V4SF_FTYPE_V4SF_INT_V4SF_QI): Ditto.
(V8SF_FTYPE_V8SF_INT_V8SF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_INT_V4DF_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_INT_V2DF_QI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_INT_V8SF_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_INT_V4SF_QI): Ditto.
(VOID_FTYPE_PV8DF_V8DF_QI): Ditto.
(VOID_FTYPE_PV8SI_V8DI_QI): Ditto.
(VOID_FTYPE_PV8HI_V8DI_QI): Ditto.
(VOID_FTYPE_PV8HI_V4DI_QI): Ditto.
(VOID_FTYPE_PV8HI_V2DI_QI): Ditto.
(VOID_FTYPE_PV4SI_V4DI_QI): Ditto.
(VOID_FTYPE_PV4SI_V2DI_QI): Ditto.
(VOID_FTYPE_PV8HI_V8SI_QI): Ditto.
(VOID_FTYPE_PV8HI_V4SI_QI): Ditto.
(VOID_FTYPE_PV4DF_V4DF_QI): Ditto.
(VOID_FTYPE_PV2DF_V2DF_QI): Ditto.
(VOID_FTYPE_PV16SF_V16SF_HI): Ditto.
(VOID_FTYPE_PV8SF_V8SF_QI): Ditto.
(VOID_FTYPE_PV4SF_V4SF_QI): Ditto.
(VOID_FTYPE_PV8DI_V8DI_QI): Ditto.
(VOID_FTYPE_PV4DI_V4DI_QI): Ditto.
(VOID_FTYPE_PV2DI_V2DI_QI): Ditto.
(VOID_FTYPE_PV16SI_V16SI_HI): Ditto.
(VOID_FTYPE_PV16HI_V16SI_HI): Ditto.
(VOID_FTYPE_PV16QI_V16SI_HI): Ditto.
(VOID_FTYPE_PV16QI_V8SI_QI): Ditto.
(VOID_FTYPE_PV16QI_V4SI_QI): Ditto.
(VOID_FTYPE_PV16QI_V8DI_QI): Ditto.
(VOID_FTYPE_PV16QI_V4DI_QI): Ditto.
(VOID_FTYPE_PV16QI_V2DI_QI): Ditto.
(VOID_FTYPE_PV8SI_V8SI_QI): Ditto.
(VOID_FTYPE_PV4SI_V4SI_QI): Ditto.
(VOID_FTYPE_PV32HI_V32HI_SI): Ditto.
(VOID_FTYPE_PV16HI_V16HI_HI): Ditto.
(VOID_FTYPE_PV8HI_V8HI_QI): Ditto.
(VOID_FTYPE_PV64QI_V64QI_DI): Ditto.
(VOID_FTYPE_PV32QI_V32QI_SI): Ditto.
(VOID_FTYPE_PV16QI_V16QI_HI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_V8DI_INT_QI): Ditto.
(V8SI_FTYPE_V8SF_V8SI_QI): Ditto.
(V4SI_FTYPE_V4SF_V4SI_QI): Ditto.
(V4DI_FTYPE_V4SF_V4DI_QI): Ditto.
(V2DI_FTYPE_V4SF_V2DI_QI): Ditto.
(V4SF_FTYPE_V4DI_V4SF_QI): Ditto.
(V4SF_FTYPE_V2DI_V4SF_QI): Ditto.
(V4DF_FTYPE_V4DI_V4DF_QI): Ditto.
(V2DF_FTYPE_V2DI_V2DF_QI): Ditto.
(V32HI_FTYPE_V32HI_INT_V32HI_SI): Ditto.
(V32HI_FTYPE_V32HI_V8HI_V32HI_SI): Ditto.
(V16HI_FTYPE_V16HI_INT_V16HI_HI): Ditto.
(V16HI_FTYPE_V16HI_V8HI_V16HI_HI): Ditto.
(V8HI_FTYPE_V8HI_INT_V8HI_QI): Ditto.
(V32HI_FTYPE_V64QI_V64QI_INT_V32HI_SI): Ditto.
(V16HI_FTYPE_V32QI_V32QI_INT_V16HI_HI): Ditto.
(V8HI_FTYPE_V16QI_V16QI_INT_V8HI_QI): Ditto.
(V64QI_FTYPE_V32HI_V32HI_V64QI_DI): Ditto.
(V32QI_FTYPE_V16HI_V16HI_V32QI_SI): Ditto.
(V16QI_FTYPE_V8HI_V8HI_V16QI_HI): Ditto.
(V32HI_FTYPE_V16SI_V16SI_V32HI_SI): Ditto.
(V16HI_FTYPE_V8SI_V8SI_V16HI_HI): Ditto.
(V8HI_FTYPE_V4SI_V4SI_V8HI_QI): Ditto.
(V8DI_FTYPE_V16SI_V16SI_V8DI_QI): Ditto.
(V4DI_FTYPE_V8SI_V8SI_V4DI_QI): Ditto.
(V2DI_FTYPE_V4SI_V4SI_V2DI_QI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_V16SI_INT_HI): Ditto.
(V8SI_FTYPE_V8SI_V8SI_V8SI_INT_QI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_V4DI_INT_QI): Ditto.
(V4SI_FTYPE_V4SI_V4SI_V4SI_INT_QI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_V2DI_INT_QI): Ditto.
(V8SI_FTYPE_V8SI_V4SI_V8SI_QI): Ditto.
(V4DI_FTYPE_V4DI_V2DI_V4DI_QI): Ditto.
(QI_FTYPE_V4DF_V4DF_INT_QI): Ditto.
(QI_FTYPE_V8SF_V8SF_INT_QI): Ditto.
(QI_FTYPE_V8DF_INT_QI): Ditto.
(QI_FTYPE_V4DF_INT_QI): Ditto.
(QI_FTYPE_V2DF_INT_QI): Ditto.
(HI_FTYPE_V16SF_INT_HI): Ditto.
(QI_FTYPE_V8SF_INT_QI): Ditto.
(QI_FTYPE_V4SF_INT_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_V8DF_QI_INT): Ditto.
From-SVN: r226431
Richard Biener [Fri, 31 Jul 2015 07:29:55 +0000 (07:29 +0000)]
gimple-fold.c (fold_gimple_assign): Remove folding of GIMPLE_BINARY_RHS.
2015-07-31 Richard Biener <rguenther@suse.de>
* gimple-fold.c (fold_gimple_assign): Remove folding of
GIMPLE_BINARY_RHS.
From-SVN: r226429
Andreas Schwab [Fri, 31 Jul 2015 07:08:20 +0000 (07:08 +0000)]
go-lang.c (go_langhook_init_options_struct): Don't set x_flag_split_stack.
* go-lang.c (go_langhook_init_options_struct): Don't set
x_flag_split_stack.
(go_langhook_post_options): Set it here instead.
From-SVN: r226428
Tom de Vries [Fri, 31 Jul 2015 06:26:44 +0000 (06:26 +0000)]
Don't cancel loop tree in parloops
2015-07-31 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/66846
* omp-low.c (expand_omp_taskreg) [ENABLE_CHECKING]: Call
verify_loop_structure for child_cfun if !LOOPS_NEED_FIXUP.
(expand_omp_target) [ENABLE_CHECKING]: Same.
(execute_expand_omp) [ENABLE_CHECKING]: Call verify_loop_structure for
cfun if !LOOPS_NEED_FIXUP.
(expand_omp_for_static_nochunk): Handle simple latch bb. Handle case
that omp_for already has its own loop struct.
* tree-parloops.c (create_phi_for_local_result)
(create_call_for_reduction): Handle simple latch bb.
(create_parallel_loop): Add simple latch bb to preserve
LOOPS_HAVE_SIMPLE_LATCHES. Record new exit. Handle simple latch bb.
(gen_parallel_loop): Remove call to cancel_loop_tree.
(parallelize_loops): Skip loops that are inner loops of parallelized
loops.
(pass_parallelize_loops::execute) [ENABLE_CHECKING]: Call
verify_loop_structure.
From-SVN: r226427
Joseph Myers [Fri, 31 Jul 2015 00:49:18 +0000 (01:49 +0100)]
* sv.po: Update.
From-SVN: r226425
Joseph Myers [Fri, 31 Jul 2015 00:48:04 +0000 (01:48 +0100)]
* sv.po: Update.
From-SVN: r226423
GCC Administrator [Fri, 31 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226422
Anatoly Sokolov [Thu, 30 Jul 2015 21:36:18 +0000 (00:36 +0300)]
[V850] Hookize LIBCALL_VALUE
From-SVN: r226418
Anatoly Sokolov [Thu, 30 Jul 2015 21:25:29 +0000 (00:25 +0300)]
Use lowpart_subreg instead of simplify_gen_subreg
From-SVN: r226417
Jason Merrill [Thu, 30 Jul 2015 19:16:23 +0000 (15:16 -0400)]
c-pretty-print.c (unary_expression): Don't print '*' for reference decay.
* c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
'*' for reference decay.
From-SVN: r226410
Uros Bizjak [Thu, 30 Jul 2015 16:13:02 +0000 (18:13 +0200)]
* gcc.target/i386/pr66648.c: Move to correct place.
From-SVN: r226409
Alan Lawrence [Thu, 30 Jul 2015 16:04:08 +0000 (16:04 +0000)]
[AArch64] Removed unused VRL2/3/4 iterator values
* config/aarch64/iterators.md (VRL2, VRL3, VRL4): Remove values for
128-bit vector modes.
From-SVN: r226408
Richard Sandiford [Thu, 30 Jul 2015 13:22:56 +0000 (13:22 +0000)]
builtins.c (HAVE_atomic_clear, [...]): Delete.
gcc/
* builtins.c (HAVE_atomic_clear, gen_atomic_clear): Delete.
(expand_builtin_atomic_clear): Remove support for atomic_clear
pattern.
From-SVN: r226405
Richard Biener [Thu, 30 Jul 2015 13:11:41 +0000 (13:11 +0000)]
gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison binaries.
2015-07-30 Richard Biener <rguenther@suse.de>
* gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison
binaries. Move X == 0, X == 1, X != 0, and X != 1 canonicalization ...
(fold_stmt_1): ... here and work on GIMPLE directly. Remove
redundant operand canonicalization.
From-SVN: r226404
David Sherwood [Thu, 30 Jul 2015 13:06:25 +0000 (13:06 +0000)]
aarch64-simd.md (aarch64_ext<mode>): Replace call to GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m).
gcc/
2015-07-30 David Sherwood <david.sherwood@arm.com>
* config/aarch64/aarch64-simd.md (aarch64_ext<mode>): Replace call to
GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m).
* config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Likewise.
* config/arm/arm.c (neon_valid_immediate): Likewise.
* config/i386/i386.c (classify_argument, ix86_expand_int_vcond)
(expand_vec_perm_blend, expand_vec_perm_pshufb): Likewise.
(expand_vec_perm_pshufb2, expand_vec_perm_vpshufb2_vpermq): Likewise.
(expand_vec_perm_vpshufb2_vpermq): Likewise.
(expand_vec_perm_vpshufb2_vpermq_even_odd): Likewise.
(expand_vec_perm_vpshufb4_vpermq2): Likewise.
* config/i386/sse.md
(<extract_type>_vinsert<shuffletype><extract_suf>_mask): Likewise.
(*ssse3_palignr<mode>_perm): Likewise.
* config/rs6000/rs6000.c (rs6000_complex_function_value): Likewise.
* config/spu/spu.c (arith_immediate_p): Likewise.
* simplify-rtx.c (simplify_const_unary_operation): Likewise.
(simplify_binary_operation_1, simplify_ternary_operation): Likewise.
From-SVN: r226403
Jonathan Wakely [Thu, 30 Jul 2015 12:41:33 +0000 (13:41 +0100)]
current_path.cc: Use canonical paths for comparisons.
* testsuite/experimental/filesystem/operations/current_path.cc: Use
canonical paths for comparisons.
From-SVN: r226402
Richard Biener [Thu, 30 Jul 2015 11:20:21 +0000 (11:20 +0000)]
genmatch.c (decision_tree::gen_gimple): Merge with ...
2015-07-30 Richard Biener <rguenther@suse.de>
* genmatch.c (decision_tree::gen_gimple): Merge with ...
(decision_tree::gen_generic): ... this into ...
(decision_tree::gen): ... this.
(main): Adjust callers.
From-SVN: r226396
Tim Shen [Thu, 30 Jul 2015 10:35:45 +0000 (10:35 +0000)]
regex_automaton.h (_State_base, _State<>): Remove _TraitsT dependency from _State<>...
* include/bits/regex_automaton.h (_State_base, _State<>):
Remove _TraitsT dependency from _State<>; Make matcher member
into the union to reduce struct size.
* include/bits/regex_automaton.tcc (_State_base<>::_M_print,
_State_base<>::_M_dot, _StateSeq<>::_M_clone):
Adjust to fit the interface. Factor out common parts in
_M_clone as _State<>::_M_has_alt.
* include/bits/regex_executor.h (_Executer<>::_M_lookahead):
Only pass state id instead of the whole state.
* include/bits/regex_executor.tcc (_Executer<>::_M_dfs,
_Executer<>::_M_lookahead): Adjust to fit the interface.
* include/std/regex: Include <ext/aligned_buffer.h>
From-SVN: r226395
Paolo Carlini [Thu, 30 Jul 2015 10:24:46 +0000 (10:24 +0000)]
class.c (check_for_override): Use DECL_SOURCE_LOCATION and "%qD" in warning_at instead of "%q+D" in warning.
2015-07-30 Paolo Carlini <paolo.carlini@oracle.com>
* class.c (check_for_override): Use DECL_SOURCE_LOCATION and "%qD"
in warning_at instead of "%q+D" in warning.
(warn_hidden): Likewise but use location_of.
(finish_struct_anon_r): Likewise use DECL_SOURCE_LOCATION in permerror.
(check_bitfield_decl, check_field_decls): Likewise in warning_at.
(check_field_decls): Likewise for permerror.
(explain_non_literal_class): Likewise for inform.
(check_bases_and_members, layout_class_type): Likewise for warning_at.
(note_name_declared_in_class): Use location_of in permerror.
* name-lookup.c (diagnose_name_conflict): Use location_of in inform.
(pushdecl_maybe_friend_1): Use DECL_SOURCE_LOCATION in pedwarn,
inform, and warning_at.
(check_for_out_of_scope_variable): Likewise for warning_at and
permerror.
From-SVN: r226394
Jonathan Wakely [Thu, 30 Jul 2015 10:00:39 +0000 (11:00 +0100)]
any (any::operator=(const any&)): Check for self-assignment.
* include/experimental/any (any::operator=(const any&)): Check for
self-assignment.
* testsuite/experimental/any/assign/self.cc: New.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
From-SVN: r226393
Marek Polacek [Thu, 30 Jul 2015 08:31:59 +0000 (08:31 +0000)]
c-common.c (warn_tautological_cmp): Bail for float types.
* c-common.c (warn_tautological_cmp): Bail for float types.
* c-c++-common/Wtautological-compare-3.c: New test.
From-SVN: r226388
Richard Biener [Thu, 30 Jul 2015 07:56:23 +0000 (07:56 +0000)]
genmatch.c (verbose): New global.
2015-07-30 Richard Biener <rguenther@suse.de>
* genmatch.c (verbose): New global.
(warning_at): Add overload with source_location.
(capture_info::capture_info): Add bool whether generating gimple
or generic. Add gimple member.
(capture_info::cinfo): Add capture member.
(capture_info::walk_match): Record capture. Warn on
non-captured leafs.
(capture_info::walk_c_expr): Add more fragments captures cannot
escape through. Warn on escaped captures.
(dt_simplify::gen_1): Warn on operands we force to have no
side-effects.
(main): Initialize verbose.
* match.pd: Add integer_nonzerop and HONOR_NANS predicates.
From-SVN: r226386
Richard Biener [Thu, 30 Jul 2015 07:09:20 +0000 (07:09 +0000)]
re PR middle-end/67053 (FAIL: experimental/optional/constexpr/make_optional.cc)
2015-07-30 Richard Biener <rguenther@suse.de>
PR middle-end/67053
* match.pd: Allow both operands to independently have conversion
when simplifying compares of addresses.
From-SVN: r226384
Jason Merrill [Thu, 30 Jul 2015 05:27:34 +0000 (01:27 -0400)]
DR 1558 PR c++/67021
DR 1558
PR c++/67021
* pt.c (tsubst_decl) [TYPE_DECL]: Clear TYPE_DEPENDENT_P_VALID.
From-SVN: r226381