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
	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
	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
	* 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
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
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
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
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
	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
	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
        * 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
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
	* 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
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
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
compiler: Remove GCC langhooks from frontend proper.

	* go-lang.c (go_langhook_type_for_size): Do it here, rather than
	calling into Go frontend.
	(go_langhook_type_for_mode): Likewise.
	* go-c.h (go_type_for_size, go_type_for_mode): Don't declare.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209945 138bc75d-0d04-0410-961f-82ee72b054a4
Add execution tests of ARM UZP Intrinsics.

	* gcc.target/arm/simd/vuzpqf32_1.c: New file.
	* gcc.target/arm/simd/vuzpqp16_1.c: New file.
	* gcc.target/arm/simd/vuzpqp8_1.c: New file.
	* gcc.target/arm/simd/vuzpqs16_1.c: New file.
	* gcc.target/arm/simd/vuzpqs32_1.c: New file.
	* gcc.target/arm/simd/vuzpqs8_1.c: New file.
	* gcc.target/arm/simd/vuzpqu16_1.c: New file.
	* gcc.target/arm/simd/vuzpqu32_1.c: New file.
	* gcc.target/arm/simd/vuzpqu8_1.c: New file.
	* gcc.target/arm/simd/vuzpf32_1.c: New file.
	* gcc.target/arm/simd/vuzpp16_1.c: New file.
	* gcc.target/arm/simd/vuzpp8_1.c: New file.
	* gcc.target/arm/simd/vuzps16_1.c: New file.
	* gcc.target/arm/simd/vuzps32_1.c: New file.
	* gcc.target/arm/simd/vuzps8_1.c: New file.
	* gcc.target/arm/simd/vuzpu16_1.c: New file.
	* gcc.target/arm/simd/vuzpu32_1.c: New file.
	* gcc.target/arm/simd/vuzpu8_1.c: New file.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209947 138bc75d-0d04-0410-961f-82ee72b054a4
2014-04-30  Tobias Burnus  <burnus@net-b.de>

        * trans-expr.c (get_tree_for_caf_expr): Fix handling of
        * polymorphic
        and derived-type coarrays.

2014-04-30  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_poly_4.f90: New.
        * gfortran.dg/coarray_poly_5.f90: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209948 138bc75d-0d04-0410-961f-82ee72b054a4
2014-04-30  Tobias Burnus  <burnus@net-b.de>

        * gfortran.h (gfc_init_coarray_decl): Remove.
        * parse.c (translate_all_program_units): Remove call to it.
        (gfc_parse_file): Update call.
        * trans.h (gfor_fndecl_caf_this_image,
        gfor_fndecl_caf_num_images): Add.
        (gfort_gvar_caf_num_images,
        gfort_gvar_caf_this_image): Remove.
        * trans-decl.c (gfor_fndecl_caf_this_image,
        gfor_fndecl_caf_num_images): Add.
        (gfort_gvar_caf_num_images,
        gfort_gvar_caf_this_image): Remove.
        (gfc_build_builtin_function_decls): Init new decl.
        (gfc_init_coarray_dec): Remove.
        (create_main_function): Change calls.
        * trans-intrinsic.c (trans_this_image, trans_image_index,
        conv_intrinsic_cobound): Generate call to new library function
        instead of to a static variable.
        * trans-stmt.c (gfc_trans_sync): Ditto.

2014-04-30  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_lib_this_image_1.f90: New.
        * gfortran.dg/coarray_lib_this_image_2.f90: New.

2014-04-30  Tobias Burnus  <burnus@net-b.de>

        * caf/libcaf.h (_gfortran_caf_this_image,
        * _gfortran_caf_num_images):
        New prototypes.
        (_gfortran_caf_init): Change prototype.
        (mpi_token_t): New typedef.
        (TOKEN): New define.
        * caf/mpi.c (_gfortran_caf_this_image,
        * _gfortran_caf_num_images):
        New functions.
        (_gfortran_caf_init): Update.
        (_gfortran_caf_finalize, _gfortran_caf_register,
        _gfortran_caf_deregister): Use mpi_token_t.
        * caf/single.c (_gfortran_caf_this_image,
        * _gfortran_caf_num_images):
        New functions.
        (_gfortran_caf_init): Update.
        (_gfortran_caf_finalize, _gfortran_caf_register,
        _gfortran_caf_deregister): Use mpi_token_t, simplify.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209951 138bc75d-0d04-0410-961f-82ee72b054a4
2014-04-30  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (resolve_function): Don't do
        assumed-size check for lcobound/ucobound.
        * trans-types.c (gfc_build_array_type): Only build an array
        descriptor with codimensions for allocatable coarrays.

2014-04-30  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_lib_this_image_2.f90: Update dump.
        * gfortran.dg/coarray_lib_token_4.f90: Ditto.
        * gfortran.dg/coarray/codimension.f90: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209952 138bc75d-0d04-0410-961f-82ee72b054a4