mrs [Wed, 30 Apr 2014 17:19:02 +0000 (17:19 +0000)]
Merge in trunk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@209944
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Wed, 30 Apr 2014 17:04:53 +0000 (17:04 +0000)]
Rewrite AArch64 UZP Intrinsics using __builtin_shuffle.
gcc/testsuite/ChangeLog:
* gcc.target/aarch64/vuzps32_1.c: Expect zip1/2 insn rather than uzp1/2.
* gcc.target/aarch64/vuzpu32_1.c: Likewise.
* gcc.target/aarch64/vuzpf32_1.c: Likewise.
gcc/ChangeLog:
* config/aarch64/arm_neon.h (vuzp1_f32, vuzp1_p8, vuzp1_p16, vuzp1_s8,
vuzp1_s16, vuzp1_s32, vuzp1_u8, vuzp1_u16, vuzp1_u32, vuzp1q_f32,
vuzp1q_f64, vuzp1q_p8, vuzp1q_p16, vuzp1q_s8, vuzp1q_s16, vuzp1q_s32,
vuzp1q_s64, vuzp1q_u8, vuzp1q_u16, vuzp1q_u32, vuzp1q_u64, vuzp2_f32,
vuzp2_p8, vuzp2_p16, vuzp2_s8, vuzp2_s16, vuzp2_s32, vuzp2_u8,
vuzp2_u16, vuzp2_u32, vuzp2q_f32, vuzp2q_f64, vuzp2q_p8, vuzp2q_p16,
vuzp2q_s8, vuzp2q_s16, vuzp2q_s32, vuzp2q_s64, vuzp2q_u8, vuzp2q_u16,
vuzp2q_u32, vuzp2q_u64): Replace temporary asm with __builtin_shuffle.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209943
138bc75d-0d04-0410-961f-
82ee72b054a4
edlinger [Wed, 30 Apr 2014 16:53:51 +0000 (16:53 +0000)]
2014-04-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
Work around for current cygwin32 build problems.
* config/i386/cygming-crtbegin.c (__register_frame_info,
__deregister_frame_info, _Jv_RegisterClasses): Compile weak default
functions only for 64-bit systems.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209942
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 30 Apr 2014 16:47:02 +0000 (16:47 +0000)]
* go-gcc.cc: #include "langhooks.h".
(Gcc_backend::Gcc_backend): Add constructor.
(Gcc_backend::lookup_function): New function.
(Gcc_backend::define_builtin): New private function.
(Gcc_backend::gcc_backend): Remove.
(go_get_backend): Use new to create new Gcc_backend.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209941
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Wed, 30 Apr 2014 16:36:07 +0000 (16:36 +0000)]
Add execution + assembler tests of AArch64 UZP Intrinsics.
* gcc.target/aarch64/simd/vuzpf32_1.c: New file.
* gcc.target/aarch64/simd/vuzpf32.x: New file.
* gcc.target/aarch64/simd/vuzpp16_1.c: New file.
* gcc.target/aarch64/simd/vuzpp16.x: New file.
* gcc.target/aarch64/simd/vuzpp8_1.c: New file.
* gcc.target/aarch64/simd/vuzpp8.x: New file.
* gcc.target/aarch64/simd/vuzpqf32_1.c: New file.
* gcc.target/aarch64/simd/vuzpqf32.x: New file.
* gcc.target/aarch64/simd/vuzpqp16_1.c: New file.
* gcc.target/aarch64/simd/vuzpqp16.x: New file.
* gcc.target/aarch64/simd/vuzpqp8_1.c: New file.
* gcc.target/aarch64/simd/vuzpqp8.x: New file.
* gcc.target/aarch64/simd/vuzpqs16_1.c: New file.
* gcc.target/aarch64/simd/vuzpqs16.x: New file.
* gcc.target/aarch64/simd/vuzpqs32_1.c: New file.
* gcc.target/aarch64/simd/vuzpqs32.x: New file.
* gcc.target/aarch64/simd/vuzpqs8_1.c: New file.
* gcc.target/aarch64/simd/vuzpqs8.x: New file.
* gcc.target/aarch64/simd/vuzpqu16_1.c: New file.
* gcc.target/aarch64/simd/vuzpqu16.x: New file.
* gcc.target/aarch64/simd/vuzpqu32_1.c: New file.
* gcc.target/aarch64/simd/vuzpqu32.x: New file.
* gcc.target/aarch64/simd/vuzpqu8_1.c: New file.
* gcc.target/aarch64/simd/vuzpqu8.x: New file.
* gcc.target/aarch64/simd/vuzps16_1.c: New file.
* gcc.target/aarch64/simd/vuzps16.x: New file.
* gcc.target/aarch64/simd/vuzps32_1.c: New file.
* gcc.target/aarch64/simd/vuzps32.x: New file.
* gcc.target/aarch64/simd/vuzps8_1.c: New file.
* gcc.target/aarch64/simd/vuzps8.x: New file.
* gcc.target/aarch64/simd/vuzpu16_1.c: New file.
* gcc.target/aarch64/simd/vuzpu16.x: New file.
* gcc.target/aarch64/simd/vuzpu32_1.c: New file.
* gcc.target/aarch64/simd/vuzpu32.x: New file.
* gcc.target/aarch64/simd/vuzpu8_1.c: New file.
* gcc.target/aarch64/simd/vuzpu8.x: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209940
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 30 Apr 2014 16:06:07 +0000 (16:06 +0000)]
* config/arc/arc.opt (mlra): Move comment above option name
to avoid mis-parsing as language options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209939
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Wed, 30 Apr 2014 15:44:41 +0000 (15:44 +0000)]
80-cols fix.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@209938
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Wed, 30 Apr 2014 14:33:28 +0000 (14:33 +0000)]
Fix real_to_integer handling for 32-bit longs. Avoid custom fixed_wide_int.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@209937
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 30 Apr 2014 14:23:18 +0000 (14:23 +0000)]
PR c++/60980
* init.c (build_value_init): Don't try to call an array constructor.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209934
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 30 Apr 2014 14:23:11 +0000 (14:23 +0000)]
PR c++/60951
* typeck2.c (massage_init_elt): Use maybe_constant_init.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209933
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Wed, 30 Apr 2014 14:12:32 +0000 (14:12 +0000)]
include/
* longlong.h (__i386__): Remove W_TYPE_SIZE==64 handling.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209932
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Wed, 30 Apr 2014 14:10:44 +0000 (14:10 +0000)]
Simplify Solaris 2 configuration
* config/sol2-10.h (TARGET_LIBC_HAS_FUNCTION): Move ...
* config/sol2.h: ... here.
* config/sol2-10.h: Remove.
* config/sol2-bi.h (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE)
(WINT_TYPE_SIZE, MULTILIB_DEFAULTS, DEF_ARCH32_SPEC)
(DEF_ARCH64_SPEC, ASM_CPU_DEFAULT_SPEC, LINK_ARCH64_SPEC_BASE)
(LINK_ARCH64_SPEC, ARCH_DEFAULT_EMULATION, TARGET_LD_EMULATION)
(LINK_ARCH_SPEC, SUBTARGET_EXTRA_SPECS): Move ...
* config/sol2.h: ... here.
(SECTION_NAME_FORMAT): Don't redefine.
(STARTFILE_ARCH32_SPEC): Rename to ...
(STARTFILE_ARCH_SPEC): ... this.
(ASM_OUTPUT_ALIGNED_COMMON): Move ...
* config/sparc/sol2.h: ... here.
(SECTION_NAME_FORMAT): Don't undef.
* config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC)
(SUBTARGET_EXTRA_SPECS): Remove.
* config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
* config/i386/sol2-bi.h (TARGET_SUBTARGET_DEFAULT)
(MD_STARTFILE_PREFIX): Remove.
(SUBTARGET_OPTIMIZATION_OPTIONS, ASM_CPU32_DEFAULT_SPEC)
(ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC, ASM_SPEC, DEFAULT_ARCH32_P)
(ARCH64_SUBDIR, ARCH32_EMULATION, ARCH64_EMULATION)
(ASM_COMMENT_START, JUMP_TABLES_IN_TEXT_SECTION)
(ASM_OUTPUT_DWARF_PCREL, ASM_OUTPUT_ALIGNED_COMMON)
(USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Move ...
* config/i386/sol2.h: ... here.
(TARGET_SUBTARGET_DEFAULT, SIZE_TYPE, PTRDIFF_TYPE): Remove.
* config/i386/sol2-bi.h: Remove.
* config/sol2.h (MD_STARTFILE_PREFIX): Remove.
(LINK_ARCH32_SPEC_BASE): Remove /usr/ccs/lib/libp, /usr/ccs/lib.
* config/i386/t-sol2-64: Rename to ...
* config/i386/t-sol2: ... this.
* config/sparc/t-sol2-64: Rename to ...
* config/sparc/t-sol2: ... this.
* config.gcc (*-*-solaris2*): Split sol2_tm_file into
sol2_tm_file_head, sol2_tm_file_tail.
Include ${cpu_type}/sol2.h before sol2.h.
Remove sol2-10.h.
(i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Include
i386/x86-64.h between sol2_tm_file_head and sol2_tm_file_tail.
Remove i386/sol2-bi.h, sol2-bi.h from tm_file.
Reflect i386/t-sol2-64 renaming.
(sparc*-*-solaris2*): Remove sol2-bi.h from tm_file.
Reflect sparc/t-sol2-64 renaming.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209931
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 30 Apr 2014 11:43:41 +0000 (11:43 +0000)]
2014-04-30 Richard Biener <rguenther@suse.de>
PR tree-optimization/48329
* gfortran.dg/vect/pr48329.f90: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209930
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Wed, 30 Apr 2014 08:26:12 +0000 (08:26 +0000)]
Fix 32-bit x86 builds.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@209929
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 30 Apr 2014 08:06:49 +0000 (08:06 +0000)]
2014-04-30 Richard Biener <rguenther@suse.de>
* passes.c (execute_function_todo): Move TODO_verify_stmts
and TODO_verify_ssa under the TODO_verify_il umbrella.
* tree-ssa.h (verify_ssa): Adjust prototype.
* tree-ssa.c (verify_ssa): Add parameter to tell whether
we should verify SSA operands.
* tree-cfg.h (verify_gimple_in_cfg): Adjust prototype.
* tree-cfg.c (verify_gimple_in_cfg): Add parameter to tell
whether we should verify whether not throwing stmts have EH info.
* graphite-scop-detection.c (create_sese_edges): Adjust.
* tree-ssa-loop-manip.c (verify_loop_closed_ssa): Likewise.
* tree-eh.c (lower_try_finally_switch): Do not add the
default case label twice.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209928
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Wed, 30 Apr 2014 07:34:43 +0000 (07:34 +0000)]
* gcc.c (sanitize_spec_function): Handle SANITIZE_FLOAT_DIVIDE.
* builtins.def: Initialize builtins even for SANITIZE_FLOAT_DIVIDE.
* flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_DIVIDE.
* opts.c (common_handle_option): Add -fsanitize=float-divide-by-zero.
c-family/
* c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
INT_MIN / -1 sanitization only for integer types.
c/
* c-typeck.c (build_binary_op): Call ubsan_instrument_division
also when SANITIZE_FLOAT_DIVIDE is on.
cp/
* typeck.c (cp_build_binary_op): Call ubsan_instrument_division
even when SANITIZE_FLOAT_DIVIDE is on. Set doing_div_or_mod even
for non-integer types.
testsuite/
* c-c++-common/ubsan/div-by-zero-5.c: Fix formatting.
* c-c++-common/ubsan/float-div-by-zero-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209927
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Wed, 30 Apr 2014 06:14:39 +0000 (06:14 +0000)]
PR c/60139
* c-typeck.c (output_init_element): Pass OPT_Wpedantic to pedwarn
and pedwarn_init. Use loc insted of input_location.
* gcc.dg/pr60139.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209926
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Wed, 30 Apr 2014 06:08:17 +0000 (06:08 +0000)]
PR c/60351
* c-typeck.c (build_binary_op): Use location when warning about
shift count.
* gcc.dg/pr60351.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209925
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 30 Apr 2014 02:38:30 +0000 (02:38 +0000)]
compiler: Don't overwrite memory if an archive has a bad file name.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209924
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 30 Apr 2014 00:18:00 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209922
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Tue, 29 Apr 2014 19:14:43 +0000 (19:14 +0000)]
Add execution tests of ARM ZIP Intrinsics.
* gcc.target/arm/simd/simd.exp: New file.
* gcc.target/arm/simd/vzipqf32_1.c: New file.
* gcc.target/arm/simd/vzipqp16_1.c: New file.
* gcc.target/arm/simd/vzipqp8_1.c: New file.
* gcc.target/arm/simd/vzipqs16_1.c: New file.
* gcc.target/arm/simd/vzipqs32_1.c: New file.
* gcc.target/arm/simd/vzipqs8_1.c: New file.
* gcc.target/arm/simd/vzipqu16_1.c: New file.
* gcc.target/arm/simd/vzipqu32_1.c: New file.
* gcc.target/arm/simd/vzipqu8_1.c: New file.
* gcc.target/arm/simd/vzipf32_1.c: New file.
* gcc.target/arm/simd/vzipp16_1.c: New file.
* gcc.target/arm/simd/vzipp8_1.c: New file.
* gcc.target/arm/simd/vzips16_1.c: New file.
* gcc.target/arm/simd/vzips32_1.c: New file.
* gcc.target/arm/simd/vzips8_1.c: New file.
* gcc.target/arm/simd/vzipu16_1.c: New file.
* gcc.target/arm/simd/vzipu32_1.c: New file.
* gcc.target/arm/simd/vzipu8_1.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209908
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 29 Apr 2014 18:04:50 +0000 (18:04 +0000)]
DR 1351
Represent the unevaluated exception specification of an implicitly
declared or deleted function with a simple placeholder, not a list
of functions.
* cp-tree.h (UNEVALUATED_NOEXCEPT_SPEC_P): New.
* except.c (unevaluated_noexcept_spec): New.
* class.c (deduce_noexcept_on_destructor): Use it.
* decl.c (check_redeclaration_exception_specification): Call
maybe_instantiate_noexcept.
(duplicate_decls): Call it before merge_types.
(start_preparsed_function): Call maybe_instantiate_noexcept.
* decl2.c (mark_used): Call maybe_instantiate_noexcept earlier.
* init.c (get_nsdmi): Factor out of perform_member_init.
* method.c (process_subob_fn): Call maybe_instantiate_noexcept.
(walk_field_subobs): Consider NSDMI for EH spec.
(get_defaulted_eh_spec): New.
(implicitly_declare_fn): Use unevaluated_noexcept_spec.
(defaulted_late_check): Defer EH checking in non-template classes.
(after_nsdmi_defaulted_late_checks): New.
* parser.c (cp_parser_class_specifier_1): Use it.
(unparsed_classes): New macro.
* parser.h (cp_unparsed_functions_entry_d): Add classes field.
* pt.c (maybe_instantiate_noexcept): Use get_defaulted_eh_spec.
Remove list-of-functions handling.
* typeck2.c (merge_exception_specifiers): Remove list-of-functions
handling and FN parameter.
* typeck.c (merge_types): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209907
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Tue, 29 Apr 2014 16:55:48 +0000 (16:55 +0000)]
* config/aarch64/arm_neon.h (vzip1_f32, vzip1_p8, vzip1_p16, vzip1_s8,
vzip1_s16, vzip1_s32, vzip1_u8, vzip1_u16, vzip1_u32, vzip1q_f32,
vzip1q_f64, vzip1q_p8, vzip1q_p16, vzip1q_s8, vzip1q_s16, vzip1q_s32,
vzip1q_s64, vzip1q_u8, vzip1q_u16, vzip1q_u32, vzip1q_u64, vzip2_f32,
vzip2_p8, vzip2_p16, vzip2_s8, vzip2_s16, vzip2_s32, vzip2_u8,
vzip2_u16, vzip2_u32, vzip2q_f32, vzip2q_f64, vzip2q_p8, vzip2q_p16,
vzip2q_s8, vzip2q_s16, vzip2q_s32, vzip2q_s64, vzip2q_u8, vzip2q_u16,
vzip2q_u32, vzip2q_u64): Replace inline __asm__ with __builtin_shuffle.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209906
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 29 Apr 2014 16:53:27 +0000 (16:53 +0000)]
2014-04-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51707
* g++.dg/cpp0x/constexpr-51707.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209905
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Tue, 29 Apr 2014 15:02:16 +0000 (15:02 +0000)]
Dump the return type of functions in gimple dumps
gcc/
* tree-cfg.c (dump_function_to_file): Dump the return type of
functions, in a line to itself before the function body, mimicking
the layout of a C function.
gcc/testsuite/
* gcc.dg/tree-ssa/pr23401.c: Update the expected number of
occurrences of "int" in the gimple dump to reflect that the return
types of functions now show up in such dumps.
* gcc.dg/tree-ssa/pr27810.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209902
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 29 Apr 2014 14:44:07 +0000 (14:44 +0000)]
PR tree-optimization/60971
* tree-tailcall.c (process_assignment): Reject conversions which
reduce precision.
* c-c++-common/turtore/pr60971.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209900
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Tue, 29 Apr 2014 13:59:00 +0000 (13:59 +0000)]
* config/msp430/msp430.md (umulsidi): Fix typo.
(mulhisi3): Enable even inside interrupt handlers.
* config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
bigger return address pushed in large mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209898
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Tue, 29 Apr 2014 13:46:23 +0000 (13:46 +0000)]
Remove PUSH_ARGS_REVERSED from the RTL expander.
gcc/
* calls.c (initialize_argument_information): Always treat
PUSH_ARGS_REVERSED as 1, simplify code accordingly.
(expand_call): Likewise.
(emit_library_call_calue_1): Likewise.
* expr.c (PUSH_ARGS_REVERSED): Do not define.
(emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify
code accordingly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209897
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Tue, 29 Apr 2014 13:20:52 +0000 (13:20 +0000)]
* MAINTAINERS (Write After Approval): Put myself in correct order.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209896
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Tue, 29 Apr 2014 13:14:38 +0000 (13:14 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209895
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Tue, 29 Apr 2014 13:09:03 +0000 (13:09 +0000)]
* config/arc/arc.c (arc_select_cc_mode): Fix parentheses.
(arc_init_reg_tables): Use a machine_mode enum to iterate over
available modes.
* config/m32r/m32r.c (init_reg_tables): Likewise.
* config/m32c/m32c.c (m32c_illegal_subreg_p): Use a machine_mode
enum to hold the modes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209894
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Tue, 29 Apr 2014 13:08:46 +0000 (13:08 +0000)]
Add execution + assembler tests of the AArch64 ZIP Intrinsics.
* gcc.target/aarch64/simd/simd.exp: New file.
* gcc.target/aarch64/simd/vzipf32_1.c: New file.
* gcc.target/aarch64/simd/vzipf32.x: New file.
* gcc.target/aarch64/simd/vzipp16_1.c: New file.
* gcc.target/aarch64/simd/vzipp16.x: New file.
* gcc.target/aarch64/simd/vzipp8_1.c: New file.
* gcc.target/aarch64/simd/vzipp8.x: New file.
* gcc.target/aarch64/simd/vzipqf32_1.c: New file.
* gcc.target/aarch64/simd/vzipqf32.x: New file.
* gcc.target/aarch64/simd/vzipqp16_1.c: New file.
* gcc.target/aarch64/simd/vzipqp16.x: New file.
* gcc.target/aarch64/simd/vzipqp8_1.c: New file.
* gcc.target/aarch64/simd/vzipqp8.x: New file.
* gcc.target/aarch64/simd/vzipqs16_1.c: New file.
* gcc.target/aarch64/simd/vzipqs16.x: New file.
* gcc.target/aarch64/simd/vzipqs32_1.c: New file.
* gcc.target/aarch64/simd/vzipqs32.x: New file.
* gcc.target/aarch64/simd/vzipqs8_1.c: New file.
* gcc.target/aarch64/simd/vzipqs8.x: New file.
* gcc.target/aarch64/simd/vzipqu16_1.c: New file.
* gcc.target/aarch64/simd/vzipqu16.x: New file.
* gcc.target/aarch64/simd/vzipqu32_1.c: New file.
* gcc.target/aarch64/simd/vzipqu32.x: New file.
* gcc.target/aarch64/simd/vzipqu8_1.c: New file.
* gcc.target/aarch64/simd/vzipqu8.x: New file.
* gcc.target/aarch64/simd/vzips16_1.c: New file.
* gcc.target/aarch64/simd/vzips16.x: New file.
* gcc.target/aarch64/simd/vzips32_1.c: New file.
* gcc.target/aarch64/simd/vzips32.x: New file.
* gcc.target/aarch64/simd/vzips8_1.c: New file.
* gcc.target/aarch64/simd/vzips8.x: New file.
* gcc.target/aarch64/simd/vzipu16_1.c: New file.
* gcc.target/aarch64/simd/vzipu16.x: New file.
* gcc.target/aarch64/simd/vzipu32_1.c: New file.
* gcc.target/aarch64/simd/vzipu32.x: New file.
* gcc.target/aarch64/simd/vzipu8_1.c: New file.
* gcc.target/aarch64/simd/vzipu8.x: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209893
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 29 Apr 2014 11:37:55 +0000 (11:37 +0000)]
2014-04-29 Richard Biener <rguenther@suse.de>
* dominance.c (free_dominance_info): Add overload with
function parameter.
(dom_info_state): Likewise.
(dom_info_available_p): Likewise.
* basic-block.h (free_dominance_info, dom_info_state,
dom_info_available_p): Declare overloads.
* passes.c (execute_function_todo): Verify that verifiers
don't change dominator info state. Drop dominator info
for IPA pass invocations.
* cgraph.c (release_function_body): Restore asserts that
dominator information is released.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209892
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 29 Apr 2014 09:30:20 +0000 (09:30 +0000)]
2014-04-29 Patrick Palka <patrick@parcs.ath.cx>
* doc/invoke.texi: Fix typo.
* tree-vrp.c: Fix typos.
* gimple.c (infer_nonnull_range): Reorder operands of an &&
condition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209891
138bc75d-0d04-0410-961f-
82ee72b054a4
zqchen [Tue, 29 Apr 2014 05:10:11 +0000 (05:10 +0000)]
2014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* config/aarch64/aarch64.md (mov<mode>cc): New for GPF.
2014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* gcc.target/aarch64/fcsel_1.c: New test case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209889
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Tue, 29 Apr 2014 03:13:34 +0000 (03:13 +0000)]
2014-04-28 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/60810
* gfortran.dg/arrayio_13.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209888
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 29 Apr 2014 00:16:39 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209887
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Mon, 28 Apr 2014 21:05:51 +0000 (21:05 +0000)]
[AArch64] Improve vst4_lane intrinsics
gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_types_storestruct_lane_qualifiers): New.
(TYPES_STORESTRUCT_LANE): Likewise.
* config/aarch64/aarch64-simd-builtins.def (st2_lane): New.
(st3_lane): Likewise.
(st4_lane): Likewise.
* config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): New.
(vec_store_lanesci_lane<mode>): Likewise.
(vec_store_lanesxi_lane<mode>): Likewise.
(aarch64_st2_lane<VQ:mode>): Likewise.
(aarch64_st3_lane<VQ:mode>): Likewise.
(aarch64_st4_lane<VQ:mode>): Likewise.
* config/aarch64/aarch64.md (unspec): Add UNSPEC_ST{2,3,4}_LANE.
* config/aarch64/arm_neon.h
(__ST2_LANE_FUNC): Rewrite using builtins, update use points to
use new macro arguments.
(__ST3_LANE_FUNC): Likewise.
(__ST4_LANE_FUNC): Likewise.
* config/aarch64/iterators.md (V_TWO_ELEM): New.
(V_THREE_ELEM): Likewise.
(V_FOUR_ELEM): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209880
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Mon, 28 Apr 2014 21:02:28 +0000 (21:02 +0000)]
Add a class hierarchy diagram to gimple.texi
2014-04-28 David Malcolm <dmalcolm@redhat.com>
* doc/gimple.texi: Replace the description of the now-defunct
union gimple_statement_d with a diagram showing the
gimple_statement_base class hierarchy and its relationships to
the GSS_ and GIMPLE_ enums.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209879
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Mon, 28 Apr 2014 21:00:38 +0000 (21:00 +0000)]
[AArch64] Relax modes_tieable_p and cannot_change_mode_class
gcc/
* config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New.
* config/aarch64/aarch64.c
(aarch64_cannot_change_mode_class): Weaken conditions.
(aarch64_modes_tieable_p): New.
* config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209878
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 28 Apr 2014 20:25:14 +0000 (20:25 +0000)]
Prevent wide_int = {widest,offset}_int
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@209874
138bc75d-0d04-0410-961f-
82ee72b054a4
pthaugen [Mon, 28 Apr 2014 20:21:29 +0000 (20:21 +0000)]
* config/rs6000/sync.md (AINT mode_iterator): Move definition.
(loadsync_<mode>): Change mode.
(load_quadpti, store_quadpti): New.
(atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
* config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209873
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 28 Apr 2014 20:20:37 +0000 (20:20 +0000)]
Use target-independent semantics for wi::clz and wi::ctz.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@209872
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Mon, 28 Apr 2014 19:33:08 +0000 (19:33 +0000)]
Enable ada for aarch64-linux
* gcc-interface/Makefile.in: Support aarch64-linux.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209871
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 28 Apr 2014 17:30:53 +0000 (17:30 +0000)]
"Finalise" the changelog.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@209869
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Mon, 28 Apr 2014 16:55:40 +0000 (16:55 +0000)]
2014-04-28 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (sra_modify_expr): Generate new memory accesses with
same alias type as the original statement.
(subreplacement_assignment_data): New type.
(handle_unscalarized_data_in_subtree): New type of parameter,
generate new memory accesses with same alias type as the original
statement.
(load_assign_lhs_subreplacements): Likewise.
(sra_modify_constructor_assign): Generate new memory accesses with
same alias type as the original statement.
testsuite/
* gcc.dg/tree-ssa/sra-14.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209868
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Mon, 28 Apr 2014 16:50:25 +0000 (16:50 +0000)]
Fix.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@209867
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 28 Apr 2014 14:58:28 +0000 (14:58 +0000)]
* exp_dbug.ads (Get_External_Name): Add 'False' default to Has_Suffix,
add 'Suffix' parameter and adjust comment.
(Get_External_Name_With_Suffix): Delete.
* exp_dbug.adb (Get_External_Name_With_Suffix): Merge into...
(Get_External_Name): ...here. Add 'False' default to Has_Suffix, add
'Suffix' parameter.
(Get_Encoded_Name): Remove 2nd argument in call to Get_External_Name.
Call Get_External_Name instead of Get_External_Name_With_Suffix.
(Get_Secondary_DT_External_Name): Likewise.
* exp_cg.adb (Write_Call_Info): Likewise.
* exp_disp.adb (Export_DT): Likewise.
(Import_DT): Likewise.
* comperr.ads (Compiler_Abort): Remove Code parameter and add From_GCC
parameter with False default.
* comperr.adb (Compiler_Abort): Likewise. Adjust accordingly.
* types.h (Fat_Pointer): Rename into...
(String_Pointer): ...this. Add comment on interfacing rules.
* fe.h (Compiler_Abort): Adjust for above renaming.
(Error_Msg_N): Likewise.
(Error_Msg_NE): Likewise.
(Get_External_Name): Likewise. Add third parameter.
(Get_External_Name_With_Suffix): Delete.
* gcc-interface/decl.c (STDCALL_PREFIX): Define.
(create_concat_name): Adjust call to Get_External_Name, remove call to
Get_External_Name_With_Suffix, use STDCALL_PREFIX, adjust for renaming.
* gcc-interface/trans.c (post_error): Likewise.
(post_error_ne): Likewise.
* gcc-interface/misc.c (internal_error_function): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209866
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 28 Apr 2014 14:42:06 +0000 (14:42 +0000)]
2014-04-28 Richard Biener <rguenther@suse.de>
* tree-pass.h (TODO_verify_il): Define.
(TODO_verify_all): Complete properly.
* passes.c (execute_function_todo): Move existing loop-closed
SSA verification under TODO_verify_il.
(execute_one_pass): Trigger TODO_verify_il at todo-after time.
* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
Fix tree sharing issue.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209865
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 28 Apr 2014 14:41:50 +0000 (14:41 +0000)]
Merge from trunk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@209864
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 28 Apr 2014 14:36:13 +0000 (14:36 +0000)]
2014-04-28 Richard Biener <rguenther@suse.de>
PR middle-end/60092
* builtins.def (DEF_C11_BUILTIN): Add.
(BUILT_IN_ALIGNED_ALLOC): Likewise.
* coretypes.h (enum function_class): Add function_c11_misc.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC.
(call_may_clobber_ref_p_1): Likewise.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
(mark_all_reaching_defs_necessary_1): Likewise.
(propagate_necessity): Likewise.
(eliminate_unnecessary_stmts): Likewise.
* tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC.
ada/
* gcc-interface/utils.c: Define flag_isoc11.
lto/
* lto-lang.c: Define flag_isoc11.
* gcc.dg/tree-ssa/alias-32.c: New testcase.
* gcc.dg/vect/pr60092.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209863
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 28 Apr 2014 14:07:51 +0000 (14:07 +0000)]
2014-04-28 Richard Biener <rguenther@suse.de>
* tree-vrp.c (vrp_var_may_overflow): Remove.
(vrp_visit_phi_node): Rather than bumping to +-INF possibly
with overflow immediately bump to one before that value and
let iteration figure out overflow status.
* gcc.dg/tree-ssa/vrp91.c: New testcase.
* gcc.dg/Wstrict-overflow-14.c: XFAIL.
* gcc.dg/Wstrict-overflow-15.c: Likewise.
* gcc.dg/Wstrict-overflow-18.c: Remove XFAIL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209862
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 28 Apr 2014 14:01:40 +0000 (14:01 +0000)]
2014-04-28 Richard Biener <rguenther@suse.de>
* configure.ac: Do valgrind header checks unconditionally.
Add --enable-valgrind-annotations.
* system.h: Guard valgrind header inclusion with
ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
* alloc-pool.c (pool_alloc, pool_free): Use
ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
to guard possibly dead code.
* config.in: Regenerated.
* configure: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209861
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 28 Apr 2014 13:38:19 +0000 (13:38 +0000)]
PR tree-optimization/60902
* tree-ssa-threadedge.c
(record_temporary_equivalences_from_stmts_at_dest): Only iterate
over real defs when invalidating outputs from statements that do not
produce useful outputs for threading.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209860
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 28 Apr 2014 13:13:50 +0000 (13:13 +0000)]
2014-04-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/60979
* graphite-scop-detection.c (scopdet_basic_block_info): Reject
SCOPs that end in a block with a successor with abnormal
predecessors.
* gcc.dg/graphite/pr60979.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209859
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Mon, 28 Apr 2014 12:42:54 +0000 (12:42 +0000)]
[ARM/AArch64] Use signed chars in gcc.dg/pr60114.c.
PR c/60983
* gcc.dg/pr60114.c: Use signed chars.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209858
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 28 Apr 2014 12:32:06 +0000 (12:32 +0000)]
/cp
2014-04-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59120
* parser.c (cp_parser_alias_declaration): Check return value of
cp_parser_require.
/testsuite
2014-04-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59120
* g++.dg/cpp0x/alias-decl-43.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209857
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 28 Apr 2014 11:30:09 +0000 (11:30 +0000)]
2014-04-28 Richard Biener <rguenther@suse.de>
* tree-pass.h (execute_pass_list): Adjust prototype.
* passes.c (pass_manager::execute_early_local_passes):
Adjust.
(do_per_function): Change callback signature, push all actual
work to the callbals.
(do_per_function_toporder): Likewise.
(execute_function_dump): Adjust.
(execute_function_todo): Likewise.
(clear_last_verified): Likewise.
(verify_curr_properties): Likewise.
(update_properties_after_pass): Likewise.
(execute_pass_list_1): Split out from ...
(execute_pass_list): ... here. Adjust.
(execute_ipa_pass_list): Likewise.
* cgraphunit.c (cgraph_add_new_function): Adjust.
(analyze_function): Likewise.
(expand_function): Likewise.
* cgraph.c (release_function_body): Free dominance info
here instead of asserting it was magically freed elsewhere.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209856
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 28 Apr 2014 10:03:46 +0000 (10:03 +0000)]
* configure.ac: Tweak GAS check for LEON instructions on SPARC.
* configure: Regenerate.
* config/sparc/sparc.opt (muser-mode): New option.
* config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
for LEON3.
(atomic_compare_and_swap_leon3_1): New instruction for LEON3.
* doc/invoke.texi (SPARC options): Document -muser-mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209850
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 28 Apr 2014 09:34:24 +0000 (09:34 +0000)]
Remove outdated asserts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@209849
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 28 Apr 2014 00:18:40 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209848
138bc75d-0d04-0410-961f-
82ee72b054a4
timshen [Sun, 27 Apr 2014 23:48:47 +0000 (23:48 +0000)]
2014-04-27 Tim Shen <timshen91@gmail.com>
* include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
Add _S_opcode_repeat support to distingush a loop from
_S_opcode_alternative.
* include/bits/regex_automaton.tcc (_State_base::_M_print,
_State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
_StateSeq<>::_M_clone): Likewise.
* include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
Likewise.
* include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
* include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
Uglify local variable __i.
* include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
Use size_t instead of int to compare with vector::size().
2014-04-27 Tim Shen <timshen91@gmail.com>
* include/bits/regex_executor.h: Add _M_rep_count to track how
many times this repeat node are visited.
* include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
_Executor<>::_M_dfs): Use _M_rep_count to prevent entering
infinite loop.
2014-04-27 Tim Shen <timshen91@gmail.com>
* include/bits/regex.tcc (__regex_algo_impl<>): Remove
_GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
_GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
* include/bits/regex_automaton.h: Remove quantifier counting variable.
* include/bits/regex_automaton.tcc (_State_base::_M_dot):
Adjust debug NFA dump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209844
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 27 Apr 2014 21:12:18 +0000 (21:12 +0000)]
gcc/
* cselib.c (find_slot_memmode): Delete.
(cselib_hasher): Change compare_type to a struct.
(cselib_hasher::equal): Update accordingly. Don't expect wrapped
constants.
(preserve_constants_and_equivs): Adjust for new compare_type.
(cselib_find_slot): Likewise. Take the mode of the rtx as argument.
(wrap_constant): Delete.
(cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209843
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 27 Apr 2014 10:50:01 +0000 (10:50 +0000)]
Add a dump function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@209838
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 27 Apr 2014 10:49:19 +0000 (10:49 +0000)]
Make canonize store the sign-extended value back.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@209837
138bc75d-0d04-0410-961f-
82ee72b054a4
tkoenig [Sun, 27 Apr 2014 10:48:56 +0000 (10:48 +0000)]
2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/59604
PR fortran/58003
* gfortran.h (gfc_convert_mpz_to_signed): Add prototype.
* arith.c (gfc_int2int): Convert number to signed if
arithmetic overflow is not checked.
* simplify.c (convert_mpz_to_unsigned): Only trigger assert for
size if range checking is in force.
(convert_mpz_to_signed): Make non-static, rename to
(gfc_convert_mpz_to_signed).
(simplify_dshift): Use gfc_convert_mpz_to_signed.
(gfc_simplify_ibclr): Likewise.
(gfc_simplify_ibits): Likewise.
(gfc_simplify_ibset): Likewise.
(simplify_shift): Likewise.
(gfc_simplify_ishiftc): Likewise.
(gfc_simplify_maskr): Likewise.
(gfc_simplify_maskl): Likewise.
2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/59604
PR fortran/58003
* gfortran.dg/no_range_check_3.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209836
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 27 Apr 2014 00:17:03 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209835
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 26 Apr 2014 23:09:32 +0000 (23:09 +0000)]
* gnatvsn.ads (Library_Version): Bump to 4.10.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209830
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Sat, 26 Apr 2014 21:56:48 +0000 (21:56 +0000)]
2014-04-26 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/52539
* gfortran.dg/namelist_utf8.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209829
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Sat, 26 Apr 2014 21:52:26 +0000 (21:52 +0000)]
2014-04-26 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/52539
* io/list_read.c: Add uchar typedef. (push_char4): New function
to save kind=4 character. (next_char_utf8): New function to read
a single UTF-8 encoded character value. (read_chracter): Update
to use the new functions for reading UTF-8 strings.
(list_formatted_read_scalar): Update to handle list directed
reads of UTF-8 strings. (nml_read_obj): Likewise update for
UTF-8 strings in namelists.
* io/write.c (nml_write_obj): Add kind=4 character support for
namelist writes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209828
138bc75d-0d04-0410-961f-
82ee72b054a4
trippels [Sat, 26 Apr 2014 20:18:21 +0000 (20:18 +0000)]
Parallel profiledbootstrap is now supported
Parallel profiledbootstrap is supported on all maintained releases. So
just remove a misleading outdated sentence, that states the opposite,
from doc/install.texi.
2014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de>
* doc/install.texi (Building with profile feedback): Remove
outdated sentence.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209826
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Sat, 26 Apr 2014 16:32:56 +0000 (16:32 +0000)]
Fix out-of-bounds array accesses in ldexpxf3.
2014-04-26 Tom de Vries <tom@codesourcery.com>
* config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
array accesses.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209824
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sat, 26 Apr 2014 14:31:29 +0000 (14:31 +0000)]
* gcc.dg/tree-ssa/alias-30.c (dg-options): Dump only fre1 details.
* gcc.dg/vect/pr60505.c: Cleanup vect tree dump.
* g++.dg/ipa/devirt-27.C (dg-options): Remove -fdump-ipa-devirt.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209823
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sat, 26 Apr 2014 09:57:39 +0000 (09:57 +0000)]
Allow the mask width to be greater than the precision.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@209821
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sat, 26 Apr 2014 09:56:50 +0000 (09:56 +0000)]
Fix large widths in shifted_mask.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@209820
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Sat, 26 Apr 2014 03:38:34 +0000 (03:38 +0000)]
compiler: Use backend interface for defining global declarations.
* go-gcc.cc: Include "cgraph.h" and "gimplify.h".
(Gcc_backend::return_statement): Push and pop function.
(Gcc_backend::label): Likewise.
(Gcc_backend::function_defer_statement): Likewise.
(Gcc_backend::switch_statement): Add function parameter.
(Gcc_backend::block): Don't permit function to be NULL.
(Gcc_backend::temporary_variable): Change go_assert to
gcc_assert.
(Gcc_backend::gc_root_variable): New function.
(Gcc_backend::write_global_definitions): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209819
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 26 Apr 2014 00:16:56 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209818
138bc75d-0d04-0410-961f-
82ee72b054a4
ccoutant [Fri, 25 Apr 2014 23:05:14 +0000 (23:05 +0000)]
Fix a few ICEs and other problems with -fdebug-types-sections.
(1) If a function contains a local typedef of an anonymous structure, GCC
will generate a typedef DIE in the function, where the typedef DIE points
to a structure_type DIE at the top level. That structure_type DIE, if
it's a non-POD, can contain ctor and dtor definitions. This causes an
assertion in should_move_die_to_comdat to fail, as we have up to now
assumed that this could never happen.
(2) With --std=c++11, a template parameter can refer to a local type defined
within a function. Because that local type doesn't qualify for its own
type unit, we copy it as an "unworthy" type into the type unit that refers
to it, but we copy too much, leading to a comdat type unit that contains a
DIE with subprogram definitions rather than declarations. These DIEs may
have DW_AT_low_pc/high_pc or DW_AT_ranges attributes, and consequently can
refer to range list entries that don't get emitted because they're not
marked when the compile unit is scanned, eventually causing an undefined
symbol at link time.
(3) When a class template instantiation is moved into a separate type unit,
it can bring along a lot of other referenced types into the type unit,
especially if the template is derived from another (large) type that
does not have an actually have a type definition in a type unit of its
own. When there are many instantiations of the same template, we get
a lot of duplication, and in the worst case (a template with several
parameters, instantiated multiple times along each dimension), GCC
can end up taking a long time and exhausting available memory.
This combinatorial explosion is being caused by copy_decls_walk, where
it finds a type DIE that is referenced by the type unit, but is not
itself a type unit, and copies a declaration for that type into the
type unit in order to resolve the reference within the type unit.
In the process, copy_decls_walk also copies all of the children of
that DIE. In the case of a base class with member function templates,
every one of the instantiated member functions is copied into every
type unit that references the base class.
gcc/
PR debug/60929
* dwarf2out.c (should_move_die_to_comdat): A type definition
can contain a subprogram definition, but don't move it to a
comdat unit.
(clone_as_declaration): Copy DW_AT_abstract_origin attribute.
(generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
from original DIE.
(clone_tree_hash): Rename to...
(clone_tree_partial): ...this; change callers. Copy
DW_TAG_subprogram DIEs as declarations.
(copy_decls_walk): Don't copy children of a declaration into a
type unit.
gcc/testsuite/
PR debug/60929
* g++.dg/debug/dwarf2/dwarf4-nested.C: New test case.
* g++.dg/debug/dwarf2/dwarf4-typedef.C: Add
-fdebug-types-section flag.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209812
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 25 Apr 2014 20:52:01 +0000 (20:52 +0000)]
Set MODE to SI for alternative 12 in *movsf_internal
PR target/60969
* config/i386/i386.md (*movsf_internal): Set MODE to SI for
alternative 12.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209811
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 25 Apr 2014 19:34:42 +0000 (19:34 +0000)]
2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
PR libstdc++/60710
* include/experimental/optional (operator!=): Implement in terms of
operator==.
* testsuite/experimental/optional/relops/1.cc: Remove operator!=.
* testsuite/experimental/optional/relops/2.cc: Likewise.
* testsuite/experimental/optional/relops/3.cc: Likewise.
* testsuite/experimental/optional/relops/4.cc: Likewise.
* testsuite/experimental/optional/relops/5.cc: Likewise.
* testsuite/experimental/optional/relops/6.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209810
138bc75d-0d04-0410-961f-
82ee72b054a4
yufeng [Fri, 25 Apr 2014 17:00:33 +0000 (17:00 +0000)]
[ARM] Enable tail call optimization for long call
gcc/
* config/arm/predicates.md (call_insn_operand): Add long_call check.
* config/arm/arm.md (sibcall, sibcall_value): Force the address to
reg for long_call.
* config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call
restriction.
gcc/testsuite
* gcc.target/arm/tail-long-call.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209808
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 25 Apr 2014 16:10:25 +0000 (16:10 +0000)]
PR libstdc++/60958
* include/tr1/regex (regex_traits::isctype): Comment out broken code.
* testsuite/util/testsuite_regex.h (regex_match_debug): Improve
comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209807
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Fri, 25 Apr 2014 14:32:39 +0000 (14:32 +0000)]
[ARM] Initialise T16-related fields in Cortex-A8 tuning struct.
* config/arm/arm.c (arm_cortex_a8_tune): Initialise
T16-related fields.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209806
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Fri, 25 Apr 2014 14:28:58 +0000 (14:28 +0000)]
[gcc]
2014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/60930
* gimple-ssa-strength-reduction.c (create_mul_imm_cand): Reject
creating a multiply candidate by folding two constant
multiplicands when the result overflows.
[gcc/testsuite]
2014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/60930
* gcc.dg/torture/pr60930.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209805
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Fri, 25 Apr 2014 14:03:00 +0000 (14:03 +0000)]
Cosmetic fixes to wide-int.{cc,h}
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@209804
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 25 Apr 2014 13:52:52 +0000 (13:52 +0000)]
PR tree-optimization/60960
* tree-vect-generic.c (expand_vector_operation): Only call
expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
* gcc.c-torture/execute/pr60960.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209802
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 25 Apr 2014 13:22:13 +0000 (13:22 +0000)]
* gcc.dg/pr18079-2.c: Fix quoting in dg-warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209801
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Fri, 25 Apr 2014 11:21:40 +0000 (11:21 +0000)]
Add clobber_reg
2014-04-25 Tom de Vries <tom@codesourcery.com>
* expr.c (clobber_reg_mode): New function.
* expr.h (clobber_reg): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209800
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Fri, 25 Apr 2014 11:21:29 +0000 (11:21 +0000)]
Register CALL_INSN_FUNCTION_USAGE in find_all_hard_reg_sets
2014-04-25 Tom de Vries <tom@codesourcery.com>
* rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE
clobbers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209799
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Fri, 25 Apr 2014 11:21:18 +0000 (11:21 +0000)]
Add implicit parameter to find_all_hard_reg_sets
2014-04-25 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
handle.
* rtl.h (find_all_hard_reg_sets): Add bool parameter.
* haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
new argument to find_all_hard_reg_sets call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209798
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Fri, 25 Apr 2014 11:09:03 +0000 (11:09 +0000)]
[ARM] Wrap long literals in HOST_WIDE_INT_C in aarch-common.c
* config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
Use HOST_WIDE_INT_C for mask literal.
(aarch_rev16_shleft_mask_imm_p): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209797
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 25 Apr 2014 11:04:40 +0000 (11:04 +0000)]
PR c/18079
c/
* c-decl.c (diagnose_mismatched_decls): Warn for mismatched
always_inline/noinline and hot/cold attributes.
c-family/
* c-common.c (handle_noinline_attribute): Warn if the attribute
conflicts with always_inline attribute.
(handle_always_inline_attribute): Warn if the attribute conflicts
with noinline attribute.
testsuite/
* gcc.dg/pr18079.c: New test.
* gcc.dg/pr18079-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209796
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 25 Apr 2014 10:51:24 +0000 (10:51 +0000)]
* c-c++-common/gomp/pr60823-2.c: Require effective target
vect_simd_clones.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209795
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 25 Apr 2014 10:49:56 +0000 (10:49 +0000)]
PR c/60114
c/
* c-parser.c (c_parser_initelt): Pass input_location to
process_init_element.
(c_parser_initval): Pass loc to process_init_element.
* c-tree.h (process_init_element): Adjust declaration.
* c-typeck.c (push_init_level): Pass input_location to
process_init_element.
(pop_init_level): Likewise.
(set_designator): Likewise.
(output_init_element): Add location_t parameter. Pass loc to
digest_init.
(output_pending_init_elements): Pass input_location to
output_init_element.
(process_init_element): Add location_t parameter. Pass loc to
output_init_element.
testsuite/
* gcc.dg/pr60114.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209794
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 25 Apr 2014 10:39:14 +0000 (10:39 +0000)]
PR target/60941
* config/sparc/sparc.md (ashlsi3_extend): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209790
138bc75d-0d04-0410-961f-
82ee72b054a4
glisse [Fri, 25 Apr 2014 09:23:15 +0000 (09:23 +0000)]
2014-04-25 Marc Glisse <marc.glisse@inria.fr>
PR preprocessor/56540
* config/i386/i386-c.c (ix86_target_macros): Define
__SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209789
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Fri, 25 Apr 2014 09:00:54 +0000 (09:00 +0000)]
Fix a couple of tree-ssa-ccp errors.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@209788
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 25 Apr 2014 08:22:47 +0000 (08:22 +0000)]
PR c/60156
* c-common.c (check_main_parameter_types): Warn about variadic main.
* c-c++-common/pr60156.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209787
138bc75d-0d04-0410-961f-
82ee72b054a4
glisse [Fri, 25 Apr 2014 08:20:24 +0000 (08:20 +0000)]
2014-04-25 Marc Glisse <marc.glisse@inria.fr>
* testsuite/util/testsuite_abi.cc (check_version): Update for
CXXABI_1.3.9.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209786
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Fri, 25 Apr 2014 08:08:41 +0000 (08:08 +0000)]
Remove LIB_TLS_SPEC on Solaris
* configure.ac (tga_func): Remove.
(LIB_TLS_SPEC): Remove.
* configure: Regenerate.
* config.in: Regenerate.
* config/sol2.h (LIB_SPEC): Don't use LIB_TLS_SPEC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209785
138bc75d-0d04-0410-961f-
82ee72b054a4