Commit Graph

129555 Commits

Author SHA1 Message Date
Bernd Edlinger
e3fe9b5b5a Work around for current cygwin32 build problems.
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.

From-SVN: r209942
2014-04-30 16:53:51 +00:00
Chris Manghane
90cbaa2978 go-gcc.cc: #include "langhooks.h".
* 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.

From-SVN: r209941
2014-04-30 16:47:02 +00:00
Alan Lawrence
6657487103 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.

From-SVN: r209940
2014-04-30 16:36:07 +00:00
Joern Rennecke
e5bd20a4f1 arc.opt (mlra): Move comment above option name to avoid mis-parsing as language options.
* config/arc/arc.opt (mlra): Move comment above option name
        to avoid mis-parsing as language options.

From-SVN: r209939
2014-04-30 17:06:07 +01:00
Jason Merrill
60ff8e1654 re PR c++/60980 (ICE in build_special_member_call, at cp/call.c:7447)
PR c++/60980
	* init.c (build_value_init): Don't try to call an array constructor.

From-SVN: r209934
2014-04-30 10:23:18 -04:00
Jason Merrill
4f419f8cdc re PR c++/60951 ([C++11] ICE with braced-init-list assignment and constexpr constructor)
PR c++/60951
	* typeck2.c (massage_init_elt): Use maybe_constant_init.

From-SVN: r209933
2014-04-30 10:23:11 -04:00
Richard Sandiford
8df07a2c14 longlong.h (__i386__): Remove W_TYPE_SIZE==64 handling.
include/
	* longlong.h (__i386__): Remove W_TYPE_SIZE==64 handling.

From-SVN: r209932
2014-04-30 14:12:32 +00:00
Rainer Orth
2cf03b11f7 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.

From-SVN: r209931
2014-04-30 14:10:44 +00:00
Richard Biener
a32776927e re PR tree-optimization/48329 (Missed vectorization of reduction due to PRE)
2014-04-30  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/48329
	* gfortran.dg/vect/pr48329.f90: New testcase.

From-SVN: r209930
2014-04-30 11:43:41 +00:00
Richard Biener
e9ff9caf26 passes.c (execute_function_todo): Move TODO_verify_stmts and TODO_verify_ssa under the TODO_verify_il umbrella.
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.

From-SVN: r209928
2014-04-30 08:06:49 +00:00
Marek Polacek
f8ed5150c3 gcc.c (sanitize_spec_function): Handle SANITIZE_FLOAT_DIVIDE.
* 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.

From-SVN: r209927
2014-04-30 07:34:43 +00:00
Marek Polacek
8337d1db71 re PR c/60139 (Imprecise column number for -pedantic on non-computable initializer element)
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.

From-SVN: r209926
2014-04-30 06:14:39 +00:00
Marek Polacek
c4bdc42f75 re PR c/60351 (Incorrect column number for warning on "right shift count is negative")
PR c/60351
	* c-typeck.c (build_binary_op): Use location when warning about
	shift count.

	* gcc.dg/pr60351.c: New test.

From-SVN: r209925
2014-04-30 06:08:17 +00:00
Ian Lance Taylor
171f2e787d compiler: Don't overwrite memory if an archive has a bad file name.
From-SVN: r209924
2014-04-30 02:38:30 +00:00
GCC Administrator
f66d6bec5e Daily bump.
From-SVN: r209922
2014-04-30 00:18:00 +00:00
Alan Lawrence
81cdb4e249 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.

From-SVN: r209908
2014-04-29 19:14:43 +00:00
Jason Merrill
b15ea3099a DR 1351 Represent the unevaluated exception specification of an implicitly declared or deleted function with a simple placeholder...
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.

From-SVN: r209907
2014-04-29 14:04:50 -04:00
Alan Lawrence
7cb0403f41 arm_neon.h (vzip1_f32, [...]): Replace inline __asm__ with __builtin_shuffle.
* 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.

From-SVN: r209906
2014-04-29 16:55:48 +00:00
Paolo Carlini
8933ee48c5 re PR c++/51707 ([c++11] constexpr constructor cannot initialize const reference member)
2014-04-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51707
	* g++.dg/cpp0x/constexpr-51707.C: New.

From-SVN: r209905
2014-04-29 16:53:27 +00:00
David Malcolm
3979649a71 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.

From-SVN: r209902
2014-04-29 15:02:16 +00:00
Jakub Jelinek
62fb101e69 re PR tree-optimization/60971 (Wrong code when coercing unsigned char to bool)
PR tree-optimization/60971
	* tree-tailcall.c (process_assignment): Reject conversions which
	reduce precision.

	* c-c++-common/turtore/pr60971.c: New test.

From-SVN: r209900
2014-04-29 16:44:07 +02:00
Nick Clifton
d77f7b19b7 msp430.md (umulsidi): Fix typo.
* 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.

From-SVN: r209898
2014-04-29 13:59:00 +00:00
James Greenhalgh
3d9684ae6f 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.

From-SVN: r209897
2014-04-29 13:46:23 +00:00
Alan Lawrence
9575df4af0 MAINTAINERS (Write After Approval): Put myself in correct order.
* MAINTAINERS (Write After Approval): Put myself in correct order.

From-SVN: r209896
2014-04-29 13:20:52 +00:00
Alan Lawrence
2fdc94b7de MAINTAINERS (Write After Approval): Add myself.
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r209895
2014-04-29 13:14:38 +00:00
Nick Clifton
f8d91e8034 arc.c (arc_select_cc_mode): Fix parentheses.
* 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.

From-SVN: r209894
2014-04-29 13:09:03 +00:00
Alan Lawrence
5d3ad081b1 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.

From-SVN: r209893
2014-04-29 13:08:46 +00:00
Richard Biener
e3f613cbbc dominance.c (free_dominance_info): Add overload with function parameter.
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.

From-SVN: r209892
2014-04-29 11:37:55 +00:00
Patrick Palka
36f291f765 invoke.texi: Fix typo.
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.

From-SVN: r209891
2014-04-29 09:30:20 +00:00
Zhenqiang Chen
d3a3182b5d aarch64.md (mov<mode>cc): New for GPF.
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.

From-SVN: r209889
2014-04-29 05:10:11 +00:00
Jerry DeLisle
32a360864e re PR fortran/60810 (list directed io from array results in end of file)
2014-04-28  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/60810
	* gfortran.dg/arrayio_13.f90: New test.

From-SVN: r209888
2014-04-29 03:13:34 +00:00
GCC Administrator
90a098a72f Daily bump.
From-SVN: r209887
2014-04-29 00:16:39 +00:00
James Greenhalgh
ba081b77be [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.

From-SVN: r209880
2014-04-28 21:05:51 +00:00
David Malcolm
1bc6d43cb8 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.

From-SVN: r209879
2014-04-28 21:02:28 +00:00
James Greenhalgh
97e1ad78bc [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.

From-SVN: r209878
2014-04-28 21:00:38 +00:00
Pat Haugen
bf245bf484 sync.md (AINT mode_iterator): Move definition.
* 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.

From-SVN: r209873
2014-04-28 20:21:29 +00:00
Richard Henderson
bc76a4d5b5 Enable ada for aarch64-linux
* gcc-interface/Makefile.in: Support aarch64-linux.

From-SVN: r209871
2014-04-28 12:33:08 -07:00
Martin Jambor
28151221b5 tree-sra.c (sra_modify_expr): Generate new memory accesses with same alias type as the original statement.
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.

From-SVN: r209868
2014-04-28 18:55:40 +02:00
Eric Botcazou
9358288555 exp_dbug.ads (Get_External_Name): Add 'False' default to Has_Suffix, add 'Suffix' parameter and adjust comment.
* 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.

From-SVN: r209866
2014-04-28 14:58:28 +00:00
Richard Biener
9ba5fb4309 tree-pass.h (TODO_verify_il): Define.
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.

From-SVN: r209865
2014-04-28 14:42:06 +00:00
Richard Biener
22869a37b0 re PR middle-end/60092 (posix_memalign not recognized to derive alias and alignment info)
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.

From-SVN: r209863
2014-04-28 14:36:13 +00:00
Richard Biener
771c950116 tree-vrp.c (vrp_var_may_overflow): Remove.
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.

From-SVN: r209862
2014-04-28 14:07:51 +00:00
Richard Biener
279a935ff4 configure.ac: Do valgrind header checks unconditionally.
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.

From-SVN: r209861
2014-04-28 14:01:40 +00:00
Jeff Law
07357f2f5a re PR tree-optimization/60902 (ffmpeg built with gcc 4.9 RC produces incorrect flac playback code)
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.

From-SVN: r209860
2014-04-28 07:38:19 -06:00
Richard Biener
6c6aa8e6ca re PR tree-optimization/60979 (ICE: in gimple_redirect_edge_and_branch_force, at tree-cfg.c:5544, w/ -O -ftree-loop-linear or -fgraphite-identity)
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.

From-SVN: r209859
2014-04-28 13:13:50 +00:00
Kyrylo Tkachov
9540b3c316 [ARM/AArch64] Use signed chars in gcc.dg/pr60114.c.
PR c/60983
	* gcc.dg/pr60114.c: Use signed chars.

From-SVN: r209858
2014-04-28 12:42:54 +00:00
Paolo Carlini
a3879fa1a8 re PR c++/59120 ([c++11] ICE with invalid template alias)
/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.

From-SVN: r209857
2014-04-28 12:32:06 +00:00
Richard Biener
2cbf2d9595 tree-pass.h (execute_pass_list): Adjust prototype.
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.

From-SVN: r209856
2014-04-28 11:30:09 +00:00
Eric Botcazou
ba21a04a1e configure.ac: Tweak GAS check for LEON instructions on SPARC.
* 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.

From-SVN: r209850
2014-04-28 10:03:46 +00:00
GCC Administrator
b976509fd0 Daily bump.
From-SVN: r209848
2014-04-28 00:18:40 +00:00