Commit Graph

130589 Commits

Author SHA1 Message Date
Richard Biener 4622301b0d asan_linux.cc: Cherry pick upstream r210012.
2014-06-11  Richard Biener  <rguenther@suse.de>

	* asan/asan_linux.cc: Cherry pick upstream r210012.

From-SVN: r211453
2014-06-11 11:35:48 +00:00
Richard Biener c1604254c5 re PR tree-optimization/61452 (hang at -O1 and -Os on x86_64-linux-gnu)
2014-06-11  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61452
	* tree-ssa-sccvn.c (visit_phi): Remove pointless setting of
	expr and has_constants in case we found a leader.
	(simplify_binary_expression): Always valueize operands first.
	(simplify_unary_expression): Likewise.

	* gcc.dg/torture/pr61452.c: New testcase.

From-SVN: r211450
2014-06-11 11:17:21 +00:00
Andrew Burgess ac8345a525 Delete temporary string within demangler even in failure cases.
A call to demangle_template might allocate storage within a temporary
string even if the call to demangle_template eventually returns
failure.

This will never cause the demangler to crash, but does leak memory, as
a result I've not added any tests for this.

Calling string_delete is safe, even if nothing is allocated into the
string, the string is initialised with string_init, so we know the
internal pointers are NULL.

libiberty/ChangeLog

	* cplus-dem.c (do_type): Call string_delete even if the call to
	demangle_template fails.

From-SVN: r211449
2014-06-11 10:57:27 +00:00
Arnaud Charlet b785e0b875 [multiple changes]
2014-06-11  Robert Dewar  <dewar@adacore.com>

	* debug.adb: Add debug flag -gnatd.q.
	* erroutc.adb (Prescan_Message): Bomb if untagged warning with
	-gnatd.q set.
	* styleg.adb (Check_Xtra_Parens): Message should be a style
	message.
	* sem_aggr.adb, sem_ch3.adb, exp_ch9.adb, checks.adb, sem_prag.adb,
	par-endh.adb, eval_fat.adb, freeze.adb, sem_util.adb, sem_attr.adb,
	sem_elab.adb, sem_ch6.adb, sem_warn.adb, sem_cat.adb,
	sem_ch13.adb, lib-xref.adb: Add remaining warning tags.

2014-06-11  Ben Brosgol  <brosgol@adacore.com>

	* gnat_rm.texi: Revised chapter on Implementation Defined
	Characteristics.

From-SVN: r211448
2014-06-11 12:55:15 +02:00
Arnaud Charlet 2e57f88b77 [multiple changes]
2014-06-11  Geert Bosch  <bosch@adacore.com>

	* s-exctab.adb: avoid race conditions in exception registration.

2014-06-11  Robert Dewar  <dewar@adacore.com>

	* errout.adb (Warn_Insertion): New function.
	(Error_Msg): Use Warn_Insertion and Prescan_Message.
	(Error_Msg_Internal): Set Info field of error object.
	(Error_Msg_NEL): Use Prescan_Message.
	(Set_Msg_Text): Don't store info: at start of message.
	(Skip_Msg_Insertion_Warning): New name for Set_Msg_Insertion_Warning.
	(Skip_Msg_Insertion_Warning): Now just skips warning insertion.
	* errout.ads: Document new ?$? and >$> insertion sequences
	Document use of "(style)" and "info: "
	* erroutc.adb (dmsg): Print several missing fields
	(Get_Warning_Tag): Handle -gnatel case (?$?)  (Output_Msg_Text):
	Deal with new tagging of info messages
	* erroutc.ads: Is_Info_Msg: New global (Error_Msg_Object):
	Add field Info (Prescan_Message): New procedure, this procedure
	replaces the old Test_Style_Warning_Serious_Unconditional_Msg
	* errutil.adb, exp_util.adb, par-ch7.adb, sem_ch13.adb, sem_ch7.adb,
	sem_elab.adb: Follow new rules for info message (info belongs
	only at the start of a message, and only in the first message,
	not in any of the continuations).
	* gnat_ugn.texi: Document full set of warning tags.

From-SVN: r211447
2014-06-11 12:52:35 +02:00
Arnaud Charlet c230ed0b7e [multiple changes]
2014-06-11  Gary Dismukes  <dismukes@adacore.com>

	* sem_util.adb: Minor typo fix.

2014-06-11  Ed Schonberg  <schonberg@adacore.com>

	* sem_warn.adb (Check_References): Do not emit spurious warnings
	on uninitialzed variable of a formal private type if variable
	is not read.

From-SVN: r211446
2014-06-11 12:49:33 +02:00
Paolo Carlini 83f14a64ef re PR c++/34049 (Parentheses-enclosed expression.)
2014-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/34049
	* g++.dg/parse/pr34049.C: New.

From-SVN: r211445
2014-06-11 10:24:55 +00:00
Thomas Preud'homme 698ff10718 re PR tree-optimization/61306 (wrong code at -Os and above on x86_64-linux-gnu)
2014-06-11  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR tree-optimization/61306
    * tree-ssa-math-opts.c (struct symbolic_number): Store type of
    expression instead of its size.
    (do_shift_rotate): Adapt to change in struct symbolic_number. Return
    false to prevent optimization when the result is unpredictable due to
    arithmetic right shift of signed type with highest byte is set.
    (verify_symbolic_number_p): Adapt to change in struct symbolic_number.
    (init_symbolic_number): Likewise.
    (find_bswap_or_nop_1): Likewise. Return NULL to prevent optimization
    when the result is unpredictable due to sign extension.

    gcc/testsuite/
    * gcc.c-torture/execute/pr61306-1.c: New test.
    * gcc.c-torture/execute/pr61306-2.c: Likewise.
    * gcc.c-torture/execute/pr61306-3.c: Likewise.

From-SVN: r211444
2014-06-11 10:04:33 +00:00
Terry Guo 1d02d8b8cb arm.md (*thumb1_adddi3): Move into new file thumb1.md.
2014-06-11  Terry Guo  <terry.guo@arm.com>

	* config/arm/arm.md (*thumb1_adddi3): Move into new file thumb1.md.
	(*thumb1_addsi3): Ditto.
	(*thumb_subdi3): Ditto.
	(thumb1_subsi3_insn): Ditto.
	(*thumb_mulsi3): Ditto.
	(*thumb_mulsi3_v6): Ditto.
	(*thumb1_andsi3_insn): Ditto.
	(thumb1_bicsi3): Ditto.
	(*thumb1_iorsi3_insn): Ditto.
	(*thumb1_xorsi3_insn): Ditto.
	(*thumb1_ashlsi3): Ditto.
	(*thumb1_ashrsi3): Ditto.
	(*thumb1_lshrsi3): Ditto.
	(*thumb1_rotrsi3): Ditto.
	(*thumb1_negdi2): Ditto.
	(*thumb1_negsi2): Ditto.
	(*thumb1_abssi2): Ditto.
	(*thumb1_neg_abssi2): Ditto.
	(*thumb1_one_cmplsi2): Ditto.
	(*thumb1_zero_extendhisi2): Ditto.
	(*thumb1_zero_extendqisi2): Ditto.
	(*thumb1_zero_extendqisi2_v6): Ditto.
	(thumb1_extendhisi2): Ditto.
	(thumb1_extendqisi2): Ditto.
	(*thumb1_movdi_insn): Ditto.
	(*thumb1_movsi_insn): Ditto.
	(*thumb1_movhi_insn): Ditto.
	(thumb_movhi_clobber): Ditto.
	(*thumb1_movqi_insn): Ditto.
	(*thumb1_movhf): Ditto.
	(*thumb1_movsf_insn): Ditto.
	(*thumb_movdf_insn): Ditto.
	(movmem12b): Ditto.
	(movmem8b): Ditto.
	(cbranchqi4): Ditto.
	(cbranchsi4_insn): Ditto.
	(cbranchsi4_scratch): Ditto.
	(*negated_cbranchsi4): Ditto.
	(*tbit_cbranch): Ditto.
	(*tlobits_cbranch): Ditto.
	(*tstsi3_cbranch): Ditto.
	(*cbranchne_decr1): Ditto.
	(*addsi3_cbranch): Ditto.
	(*addsi3_cbranch_scratch): Ditto.
	(*thumb_cmpdi_zero): Ditto.
	(cstoresi_eq0_thumb1): Ditto.
	(cstoresi_ne0_thumb1): Ditto.
	(*cstoresi_eq0_thumb1_insn): Ditto.
	(*cstoresi_ne0_thumb1_insn): Ditto.
	(cstoresi_nltu_thumb1): Ditto.
	(cstoresi_ltu_thumb1): Ditto.
	(thumb1_addsi3_addgeu): Ditto.
	(*thumb_jump): Ditto.
	(*call_reg_thumb1_v5): Ditto.
	(*call_reg_thumb1): Ditto.
	(*call_value_reg_thumb1_v5): Ditto.
	(*call_value_reg_thumb1): Ditto.
	(*call_insn): Ditto.
	(*call_value_insn): Ditto.
	(thumb1_casesi_internal_pic): Ditto.
	(thumb1_casesi_dispatch): Ditto.
	(*thumb1_indirect_jump): Ditto.
	(prologue_thumb1_interwork): Ditto.
	(*epilogue_insns): Ditto.
	(consttable_1): Ditto.
	(consttable_2): Ditto.
	(tablejump): Ditto.
	(*thumb1_tablejump): Ditto.
	(thumb_eh_return): Ditto.
	(define_peephole2): Two of them are thumb1 only and got moved into
	new file thumb1.md.
	(define_split): Six of them are thumb1 only and got moved into new
	file thumb1.md.
	* config/arm/thumb1.md: New file comprised of above thumb1 only
	patterns.

From-SVN: r211443
2014-06-11 09:47:35 +00:00
Kyrylo Tkachov 338329a085 [AArch64] Add CRC32 ACLE intrinsics testsuite.
* gcc.target/aarch64/acle/acle.exp: New.
	* gcc.target/aarch64/acle/crc32b.c: New test.
	* gcc.target/aarch64/acle/crc32cb.c: Likewise.
	* gcc.target/aarch64/acle/crc32cd.c: Likewise.
	* gcc.target/aarch64/acle/crc32ch.c: Likewise.
	* gcc.target/aarch64/acle/crc32cw.c: Likewise.
	* gcc.target/aarch64/acle/crc32d.c: Likewise.
	* gcc.target/aarch64/acle/crc32h.c: Likewise.
	* gcc.target/aarch64/acle/crc32w.c: Likewise.
--This line,gand those below, will be ignored--

A    gcc/testsuite/gcc.target/aarch64/acle
A    gcc/testsuite/gcc.target/aarch64/acle/acle.exp
A    gcc/testsuite/gcc.target/aarch64/acle/crc32b.c
A    gcc/testsuite/gcc.target/aarch64/acle/crc32d.c
A    gcc/testsuite/gcc.target/aarch64/acle/crc32cb.c
A    gcc/testsuite/gcc.target/aarch64/acle/crc32cd.c
A    gcc/testsuite/gcc.target/aarch64/acle/crc32w.c
A    gcc/testsuite/gcc.target/aarch64/acle/crc32h.c
A    gcc/testsuite/gcc.target/aarch64/acle/crc32cw.c
A    gcc/testsuite/gcc.target/aarch64/acle/crc32ch.c
M    gcc/testsuite/ChangeLog

From-SVN: r211441
2014-06-11 09:19:14 +00:00
Kyrylo Tkachov 5d357f260c [AArch64] Implement CRC32 ACLE intrinsics.
* config.gcc (aarch64*-*-*): Add arm_acle.h to extra headers.
	* Makefile.in (TEXI_GCC_FILES): Add aarch64-acle-intrinsics.texi to
	dependencies.
	* config/aarch64/aarch64-builtins.c (AARCH64_CRC32_BUILTINS): Define.
	(aarch64_crc_builtin_datum): New struct.
	(aarch64_crc_builtin_data): New.
	(aarch64_init_crc32_builtins): New function.
	(aarch64_init_builtins): Initialise CRC32 builtins when appropriate.
	(aarch64_crc32_expand_builtin): New.
	(aarch64_expand_builtin): Add CRC32 builtin expansion case.
	* config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
	__ARM_FEATURE_CRC32 when appropriate.
	(TARGET_CRC32): Define.
	* config/aarch64/aarch64.md (UNSPEC_CRC32B, UNSPEC_CRC32H,
	UNSPEC_CRC32W, UNSPEC_CRC32X, UNSPEC_CRC32CB, UNSPEC_CRC32CH,
	UNSPEC_CRC32CW, UNSPEC_CRC32CX): New unspec values.
	(aarch64_<crc_variant>): New pattern.
	* config/aarch64/arm_acle.h: New file.
	* config/aarch64/iterators.md (CRC): New int iterator.
	(crc_variant, crc_mode): New int attributes.
	* doc/aarch64-acle-intrinsics.texi: New file.
	* doc/extend.texi (aarch64): Document aarch64 ACLE intrinsics.
	Include aarch64-acle-intrinsics.texi.

From-SVN: r211440
2014-06-11 09:17:18 +00:00
Evgeny Stupachenko e1377713ce re PR tree-optimization/52252 (An opportunity for x86 gcc vectorizer (gain up to 3 times))
gcc/
	* tree-vect-data-refs.c (vect_grouped_store_supported): New
	check for stores group of length 3.
	(vect_permute_store_chain): New permutations for stores group of
	length 3.
	* tree-vect-stmts.c (vect_model_store_cost): Change cost
	of vec_perm_shuffle for the new permutations.

gcc/testsuite/
	PR tree-optimization/52252
	* gcc.dg/vect/pr52252-st.c: Test on stores group of size 3.

From-SVN: r211439
2014-06-11 08:37:53 +00:00
Jan Hubicka 862b3da6a4 ipa-visibility.c (function_and_variable_visibility): Disable virtual table rewriting temporarily on targets not supporting ONE_ONLY.
* ipa-visibility.c (function_and_variable_visibility): Disable
	virtual table rewriting temporarily on targets not supporting
	ONE_ONLY.

From-SVN: r211437
2014-06-11 08:15:34 +00:00
Richard Biener 96a3f4dfb6 re PR tree-optimization/61437 (wrong code on x86_64-linux-gnu when compile separately)
2014-06-11  Richard Biener  <rguenther@suse.de>

	PR middle-end/61437
	Revert
	2014-06-04  Richard Biener  <rguenther@suse.de>

	* tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
	TREE_PUBLIC and DECL_EXTERNAL decls.

	* gcc.dg/torture/20140610-1.c: New testcase.
	* gcc.dg/torture/20140610-2.c: Likewise.

From-SVN: r211436
2014-06-11 07:35:36 +00:00
Jan Hubicka e257a17cb9 varasm.c (set_implicit_section): New function.
* varasm.c (set_implicit_section): New function.
	(resolve_unique_section): Use it to set implicit section
	for aliases, too.
	(get_named_text_section): Use symtab_get_node (decl)->implicit_section
	(default_function_section): Likewise.
	(decl_binds_to_current_def_p): Constify argument.
	* varasm.h (decl_binds_to_current_def_p): Update prototype.
	* asan.c (asan_protect_global): Use symtab_get_node (decl)->implicit_section.
	* symtab.c (dump_symtab_base): Dump implicit sections.
	(verify_symtab_base): Verify sanity of sectoins and comdats.
	(symtab_resolve_alias): Alias share the section of its target.
	(set_section_1): New function.
	(symtab_node::set_section): Move here, recurse to aliases.
	(verify_symtab): Check for duplicated symtab lists.
	* tree-core.h (implicit_section_name_p): Remove.
	* tree-vect-data-refs.c: Include varasm.h.
	(vect_can_force_dr_alignment_p): Fix conditional on when
	decl bints to current definition; use
	symtab_get_node (decl)->implicit_section.
	* cgraph.c (cgraph_make_node_local_1): Fix section set.
	* cgraph.h (struct symtab_node): Add implicit_section.
	(set_section): Rename to ...
	(set_section_for_node): ... this one.
	(set_section): Declare.
	* tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): Remove.
	* lto-cgraph.c (lto_output_node, lto_output_varpool_node,
	input_overwrite_node, input_varpool_node): Stream implicit_section.
	* ipa.c (symtab_remove_unreachable_nodes): Do not check symtab before
	removal; it will fail in LTO.
	
	* vtable-class-hierarchy.c: Use symtab_get_node (var_decl)->implicit_section.
	* optimize.c (cdtor_comdat_group): Fix handling of aliases.
	(maybe_clone_body): Move symbol across comdat groups.
	* method.c (use_thunk): Copy implicit section flag.

	* go/go-gcc.cc (Gcc_backend::global_variable_set_init): Use
	symtab_get_node(var_decl)->implicit_section.

	* lto.c (read_cgraph_and_symbols): Remove unreachable symbols.
	(do_whole_program_analysis): Use verify_symtab.

From-SVN: r211434
2014-06-11 05:51:23 +00:00
Maciej W. Rozycki 58170a6621 4402.cc (test02): Use `wcout' rather than `cout'.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
	(test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.

From-SVN: r211433
2014-06-11 00:20:45 +00:00
GCC Administrator c0921b24f7 Daily bump.
From-SVN: r211432
2014-06-11 00:17:08 +00:00
Uros Bizjak 0b6df8243c bid128_div.c (BID128_FUNCTION_ARG2): Remove unused variable 'Ql'.
* bid128_div.c (BID128_FUNCTION_ARG2): Remove unused variable 'Ql'.
	Call __mul_128x128_high instead of __mul_128x128_full.
	(TYPE0_FUNCTION_ARGTYPE1_ARGTYPE2): Ditto.
	(BID128_FUNCTION_ARGTYPE1_ARG128): Ditto.
	(BID128_FUNCTION_ARG128_ARGTYPE2): Ditto.
	* bid64_div.c (TYPE0_FUNCTION_ARGTYPE1_ARG128): Ditto.
	(TYPE0_FUNCTION_ARG128_ARGTYPE2): Ditto.
	(TYPE0_FUNCTION_ARG128_ARG128): Ditto.

From-SVN: r211424
2014-06-10 20:27:02 +02:00
Jonathan Wakely 060269c481 re PR libstdc++/61390 (error in nested template parameter in ext/pb_ds header file)
PR libstdc++/61390
	* include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
	(bin_search_tree_traits): Do not redeclare template-parameters.
	* testsuite/util/testsuite_iterators.h (test_container): Likewise.

From-SVN: r211421
2014-06-10 19:09:18 +01:00
Kyrylo Tkachov d7256bb835 [AArch64] Fix some reg-to-reg move scheduler types.
* config/aarch64/aarch64-simd.md (move_lo_quad_<mode>):
	Change second alternative type to f_mcr.
	* config/aarch64/aarch64.md (*movsi_aarch64): Change 11th
	and 12th alternatives' types to f_mcr and f_mrc.
	(*movdi_aarch64): Same for 12th and 13th alternatives.
	(*movsf_aarch64): Change 9th alternatives' type to mov_reg.
	(aarch64_movtilow_tilow): Change type to fmov.

From-SVN: r211418
2014-06-10 16:05:17 +00:00
Matthew Fortune a4a1b5f3df Add myself to MAINTAINERS.
2014-06-10  Matthew Fortune  <matthew.fortune@imgtec.com>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r211417
2014-06-10 15:44:06 +00:00
Jiong Wang dadf084c7d [AArch64] Fix layout of frame layout code.
From-SVN: r211416
2014-06-10 14:38:15 +00:00
Kyrylo Tkachov 2a74759f9e [AArch64] Add a big-endian lane flip at expand-time in saturating math patterns.
* config/aarch64/aarch64-simd.md (aarch64_sqdmulh_lane<mode>):
	New expander.
	(aarch64_sqrdmulh_lane<mode>): Likewise.
	(aarch64_sq<r>dmulh_lane<mode>): Rename to...
	(aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
	(aarch64_sqdmulh_laneq<mode>): New expander.
	(aarch64_sqrdmulh_laneq<mode>): Likewise.
	(aarch64_sq<r>dmulh_laneq<mode>): Rename to...
	(aarch64_sq<r>dmulh_laneq<mode>_internal): ...this.
	(aarch64_sqdmulh_lane<mode>): New expander.
	(aarch64_sqrdmulh_lane<mode>): Likewise.
	(aarch64_sq<r>dmulh_lane<mode>): Rename to...
	(aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
	(aarch64_sqdmlal_lane<mode>): Add lane flip for big-endian.
	(aarch64_sqdmlal_laneq<mode>): Likewise.
	(aarch64_sqdmlsl_lane<mode>): Likewise.
	(aarch64_sqdmlsl_laneq<mode>): Likewise.
	(aarch64_sqdmlal2_lane<mode>): Likewise.
	(aarch64_sqdmlal2_laneq<mode>): Likewise.
	(aarch64_sqdmlsl2_lane<mode>): Likewise.
	(aarch64_sqdmlsl2_laneq<mode>): Likewise.
	(aarch64_sqdmull_lane<mode>): Likewise.
	(aarch64_sqdmull_laneq<mode>): Likewise.
	(aarch64_sqdmull2_lane<mode>): Likewise.
	(aarch64_sqdmull2_laneq<mode>): Likewise.

From-SVN: r211414
2014-06-10 14:26:20 +00:00
Richard Biener b82ef848dc re PR tree-optimization/61438 (ICE on valid code at -O3 on x86_64-linux-gnu in in loop_preheader_edge, at cfgloop.c:1668)
2014-06-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61438
	* tree-ssa-pre.c (eliminate_dom_walker): Add do_pre member.
	(eliminate_dom_walker::before_dom_children): Only try to inhibit
	insertion of IVs if running PRE.
	(eliminate): Adjust.
	(pass_pre::execute): Likewise.
	(pass_fre::execute): Likewise.

	* gcc.dg/torture/pr61438.c: New testcase.

From-SVN: r211413
2014-06-10 14:18:50 +00:00
Richard Biener cdf0ab72f4 re PR middle-end/61456 (Bogus "may be used uninitialized" warning)
2014-06-10  Richard Biener  <rguenther@suse.de>

	PR middle-end/61456
	* tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p):
	Do not use the main variant for the type comparison.
	(ncr_compar): Likewise.
	(nonoverlapping_component_refs_p): Likewise.

	* g++.dg/opt/pr61456.C: New testcase.

From-SVN: r211411
2014-06-10 14:10:57 +00:00
Marcus Shawcroft f1ab971761 Reverting previous commit.
From-SVN: r211410
2014-06-10 14:02:56 +00:00
Jiong Wang c7f65aae9e [AArch64] Fix layout of frame layout code.
From-SVN: r211409
2014-06-10 13:29:12 +00:00
Marcus Shawcroft e29b8d5b7c [AArch64] Fix REG_CFA_RESTORE mode.
From-SVN: r211408
2014-06-10 13:10:10 +00:00
Evgeny Stupachenko 6ba197c1d9 i386.c (expand_vec_perm_pblendv): New.
gcc/
        * config/i386/i386.c (expand_vec_perm_pblendv): New.
        * config/i386/i386.c (ix86_expand_vec_perm_const_1): Use
        expand_vec_perm_pblendv.

From-SVN: r211407
2014-06-10 12:40:16 +00:00
Dominique d'Humieres 5933f9ae4f re PR fortran/41936 (Memory leakage with allocatables and user-defined operators)
2014-06-10  Dominique d'Humieres <dominiq@lps.ens.fr>
	    Mikael Morin <mikael@gcc.gnu.org>

	PR fortran/41936
gcc/fortran/
	* trans-expr.c (gfc_conv_expr_reference): Deallocate array
	components.

gcc/testsuite/
	* gfortran.dg/class_array_15.f03: Check memory leaks.


Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org>

From-SVN: r211405
2014-06-10 13:42:38 +02:00
Richard Biener 5625721fbb re PR tree-optimization/57186 (implement load sinking in loops)
2014-06-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/57186
	PR tree-optimization/59299
	* gcc.dg/tree-ssa/ssa-sink-11.c: New testcase.
	* gcc.dg/tree-ssa/ssa-sink-12.c: Likewise.

From-SVN: r211404
2014-06-10 10:29:44 +00:00
Kyrylo Tkachov 87ee52efe7 [ARM][doc] Improve description of AArch32 CRC32 intrinsics.
* doc/arm-acle-intrinsics.texi: Specify when CRC32 intrinsics are
     available.
     Simplify description of __crc32d and __crc32cd intrinsics.
     * doc/extend.texi (ARM ACLE Intrinsics): Remove comment about CRC32
     availability.

From-SVN: r211402
2014-06-10 09:50:22 +00:00
Thomas Schwinge 35fa894ae3 [PR lto/61334] Declare prototype for strnlen, if needed.
include/
	* libiberty.h [defined (HAVE_DECL_STRNLEN) &&
	!HAVE_DECL_STRNLEN] (strnlen): New prototype.
	gcc/
	* configure.ac: Use gcc_AC_CHECK_DECLS to check for strnlen
	prototype.
	* config.in: Regenerate.
	* configure: Likewise.

From-SVN: r211401
2014-06-10 11:45:00 +02:00
Jan Hubicka 1685ecf3bf ipa-reference.c (is_proper_for_analysis): Exclude addressable and public vars.
* ipa-reference.c (is_proper_for_analysis): Exclude addressable and public
	vars.
	(intersect_static_var_sets): Remove.
	(propagate): Do not prune local statics.

From-SVN: r211398
2014-06-10 06:30:50 +00:00
Jakub Jelinek 92d28cbb59 re PR fortran/60928 (gfortran issue with allocatable components and OpenMP)
PR fortran/60928
	* omp-low.c (lower_rec_input_clauses) <case OMP_CLAUSE_LASTPRIVATE>:
	Set lastprivate_firstprivate even if omp_private_outer_ref
	langhook returns true.
	<case OMP_CLAUSE_REDUCTION>: When calling omp_clause_default_ctor
	langhook, call unshare_expr on new_var and call
	build_outer_var_ref to get the last argument.
gcc/c-family/
	* c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
	(omp_pragmas): ... back here.
gcc/fortran/
	* f95-lang.c (gfc_init_builtin_functions): Handle -fopenmp-simd
	like -fopenmp.
	* openmp.c (resolve_omp_clauses): Remove allocatable components
	diagnostics.  Add associate-name and intent(in) pointer
	diagnostics for various clauses, diagnose procedure pointers in
	reduction clause.
	* parse.c (match_word_omp_simd): New function.
	(matchs, matcho): New macros.
	(decode_omp_directive): Change match macros to either matchs
	or matcho.  Handle -fopenmp-simd.
	(next_free, next_fixed): Handle -fopenmp-simd like -fopenmp.
	* scanner.c (skip_free_comments, skip_fixed_comments, include_line):
	Likewise.
	* trans-array.c (get_full_array_size): Rename to...
	(gfc_full_array_size): ... this.  No longer static.
	(duplicate_allocatable): Adjust caller.  Add NO_MEMCPY argument
	and handle it.
	(gfc_duplicate_allocatable, gfc_copy_allocatable_data): Adjust
	duplicate_allocatable callers.
	(gfc_duplicate_allocatable_nocopy): New function.
	(structure_alloc_comps): Adjust g*_full_array_size and
	duplicate_allocatable caller.
	* trans-array.h (gfc_full_array_size,
	gfc_duplicate_allocatable_nocopy): New prototypes.
	* trans-common.c (create_common): Call gfc_finish_decl_attrs.
	* trans-decl.c (gfc_finish_decl_attrs): New function.
	(gfc_finish_var_decl, create_function_arglist,
	gfc_get_fake_result_decl): Call it.
	(gfc_allocate_lang_decl): If DECL_LANG_SPECIFIC is already allocated,
	don't allocate it again.
	(gfc_get_symbol_decl): Set GFC_DECL_ASSOCIATE_VAR_P on
	associate-names.
	* trans.h (gfc_finish_decl_attrs): New prototype.
	(struct lang_decl): Add scalar_allocatable and scalar_pointer
	bitfields.
	(GFC_DECL_SCALAR_ALLOCATABLE, GFC_DECL_SCALAR_POINTER,
	GFC_DECL_GET_SCALAR_ALLOCATABLE, GFC_DECL_GET_SCALAR_POINTER,
	GFC_DECL_ASSOCIATE_VAR_P): Define.
	(GFC_POINTER_TYPE_P): Remove.
	* trans-openmp.c (gfc_omp_privatize_by_reference): Don't check
	GFC_POINTER_TYPE_P, instead test GFC_DECL_GET_SCALAR_ALLOCATABLE,
	GFC_DECL_GET_SCALAR_POINTER or GFC_DECL_CRAY_POINTEE on decl.
	(gfc_omp_predetermined_sharing): Associate-names are predetermined.
	(enum walk_alloc_comps): New.
	(gfc_has_alloc_comps, gfc_omp_unshare_expr_r, gfc_omp_unshare_expr,
	gfc_walk_alloc_comps): New functions.
	(gfc_omp_private_outer_ref): Return true for scalar allocatables or
	decls with allocatable components.
	(gfc_omp_clause_default_ctor, gfc_omp_clause_copy_ctor,
	gfc_omp_clause_assign_op, gfc_omp_clause_dtor): Fix up handling of
	allocatables, handle also OMP_CLAUSE_REDUCTION, handle scalar
	allocatables and decls with allocatable components.
	(gfc_trans_omp_array_reduction_or_udr): Don't handle allocatable
	arrays here.
	(gfc_trans_omp_reduction_list): Call
	gfc_trans_omp_array_reduction_or_udr even for allocatable scalars.
	(gfc_trans_omp_do_simd): If -fno-openmp, just expand it as OMP_SIMD.
	(gfc_trans_omp_parallel_do_simd): Likewise.
	* trans-types.c (gfc_sym_type): Don't set GFC_POINTER_TYPE_P.
	(gfc_get_derived_type): Call gfc_finish_decl_attrs.
gcc/testsuite/
	* gfortran.dg/gomp/allocatable_components_1.f90: Remove dg-error
	directives.
	* gfortran.dg/gomp/associate1.f90: New test.
	* gfortran.dg/gomp/intentin1.f90: New test.
	* gfortran.dg/gomp/openmp-simd-1.f90: New test.
	* gfortran.dg/gomp/openmp-simd-2.f90: New test.
	* gfortran.dg/gomp/openmp-simd-3.f90: New test.
	* gfortran.dg/gomp/proc_ptr_2.f90: New test.
libgomp/
	* testsuite/libgomp.fortran/allocatable9.f90: New test.
	* testsuite/libgomp.fortran/allocatable10.f90: New test.
	* testsuite/libgomp.fortran/allocatable11.f90: New test.
	* testsuite/libgomp.fortran/allocatable12.f90: New test.
	* testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
	* testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
	* testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
	* testsuite/libgomp.fortran/associate1.f90: New test.
	* testsuite/libgomp.fortran/associate2.f90: New test.
	* testsuite/libgomp.fortran/procptr1.f90: New test.

From-SVN: r211397
2014-06-10 08:05:22 +02:00
Marek Polacek c9f2b7e90a re PR c/60988 ("transparent_union" doesn't appear in the gcc manual index)
PR c/60988
	* doc/extend.texi: Add cindex for transparent_union.

From-SVN: r211396
2014-06-10 05:09:59 +00:00
Thomas Preud'homme 2cfa504a08 tree-ssa-math-opts.c (find_bswap_or_nop_load): Check return value of init_symbolic_number ().
2014-06-09  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * tree-ssa-math-opts.c (find_bswap_or_nop_load): Check return value of
    init_symbolic_number ().

From-SVN: r211395
2014-06-10 02:10:46 +00:00
Ian Lance Taylor 816002df70 runtime: Initialize variable to avoid compiler warning.
From-SVN: r211394
2014-06-10 00:36:38 +00:00
GCC Administrator 75b7d07330 Daily bump.
From-SVN: r211393
2014-06-10 00:17:31 +00:00
Marek Polacek d7ff7ae554 re PR c/36446 (unexplained warning in struct initialization)
PR c/36446
	* c-typeck.c (error_init): Call inform instead of error_at.
	(pedwarn_init): Call inform instead of pedwarn.
	(warning_init): Call inform instead of warning_at.

	* gcc.dg/Wcxx-compat-6.c: Change dg-warning to dg-message.
	* gcc.dg/array-2.c: Likewise.
	* gcc.dg/array-const-2.c: Likewise.
	* gcc.dg/ucnid-8.c: Likewise.
	* gcc.dg/vla-init-1.c: Likewise.
	* gcc.dg/array-const-3.c: Change dg-error to dg-message.
	* gcc.dg/c99-flex-array-7.c: Likewise.
	* gcc.dg/init-bad-1.c: Likewise.
	* gcc.dg/init-bad-3.c: Likewise.
	* gcc.dg/init-bad-2.c: Change dg-error and dg-warning to dg-message.
	* gcc.dg/pedwarn-init.c: Add dg-warning.
	* gcc.dg/pr53119.c: Remove dg-excess-errors.

From-SVN: r211388
2014-06-09 20:33:51 +00:00
Paolo Carlini 23646391f2 re PR c++/22556 (extern array: compatible declaration at function scope refused)
/cp
2014-06-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/22556
	* name-lookup.c (pushdecl_maybe_friend_1): Use comptypes.

/testsuite
2014-06-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/22556
	* g++.dg/other/redecl3.C: New.

From-SVN: r211385
2014-06-09 19:28:37 +00:00
John David Anglin 748e88da7e re PR middle-end/61141 (c-common.c:1502:1: ICE: in reset_insn_used_flags, at emit-rtl.c:2677)
2014-05-18  John David Anglin  <danglin@gcc.gnu.org>

	PR middle-end/61141
	* emit-rtl.c (reset_all_used_flags): In a sequence, check that
	XVECEXP (pat, 0, i) is an INSN before calling reset_insn_used_flags.
	(verify_rtl_sharing): Likewise.

From-SVN: r211380
2014-06-09 10:41:10 -06:00
Marc Glisse 00f30445f4 re PR c++/54442 (Const overloads resolution failure)
2014-06-09  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/54442
gcc/
	* tree.c (build_qualified_type): Use a canonical type for
	TYPE_CANONICAL.
gcc/testsuite/
	* g++.dg/pr54442.C: New file.

From-SVN: r211377
2014-06-09 15:07:24 +00:00
Jonathan Wakely 109a3af40f Makefile.am: Add missing file.
* doc/Makefile.am: Add missing file. Use generate.consistent.ids
	parameter for DocBook HTML generation.
	* doc/Makefile.in: Regenerate.
	* doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
	* doc/xml/faq.xml: Update content and improve formatting.
	* doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
	* doc/xml/manual/allocator.xml: Add stable ID attribute.
	* doc/xml/manual/bitmap_allocator.xml: Likewise.
	* doc/xml/manual/build_hacking.xml: Likewise.
	* doc/xml/manual/codecvt.xml: Change URL.
	* doc/xml/manual/ctype.xml: Add stable ID attribute.
	* doc/xml/manual/debug_mode.xml: Likewise.
	* doc/xml/manual/documentation_hacking.xml: Likewise.
	* doc/xml/manual/evolution.xml: Likewise.
	* doc/xml/manual/extensions.xml: Likewise.
	* doc/xml/manual/locale.xml: Likewise.
	* doc/xml/manual/messages.xml: Make section id consistent, improve
	markup, change URL.
	* doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
	* doc/xml/manual/profile_mode.xml: Likewise.
	* doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
	* doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
	* doc/xml/manual/status_cxx2011.xml: Likewise.
	* doc/xml/manual/status_cxx2014.xml: Likewise.
	* doc/xml/manual/status_cxxtr1.xml: Likewise.
	* doc/xml/manual/status_cxxtr24733.xml: Likewise.
	* doc/xml/manual/using.xml: Likewise.
	* doc/html/*: Regenerate.

From-SVN: r211376
2014-06-09 15:47:17 +01:00
Paul Thomas bcac046f5f re PR fortran/61406 (ICE on ASSOCIATE construct to literal array expression)
2014-06-09  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/61406
	* trans-stmt.c (trans_associate_var): Check that array
	constructors are constant for direct reference.

2014-06-09  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/61406
	* gfortran.dg/associate_17.f90 : New test

From-SVN: r211374
2014-06-09 11:55:55 +00:00
Jonathan Wakely 45b4a79657 beta_function.tcc: Fix spelling of include guard in comment.
* include/tr1/beta_function.tcc: Fix spelling of include guard in
	comment.

From-SVN: r211373
2014-06-09 12:52:20 +01:00
Petr Murzin 451c4fba28 avx512f-vaddpd-2.c: Add static void for CALC, void for TEST instead of static void.
gcc/testsuite/
	* gcc.target/i386/avx512f-vaddpd-2.c:  Add static void for CALC,
	void for TEST instead of static void.
	* gcc.target/i386/avx512f-vaddps-2.c: Ditto.
	* gcc.target/i386/avx512f-vblendmpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vblendmps-2.c: Ditto.
	* gcc.target/i386/avx512f-vbroadcastf32x4-2.c:Ditto.
	* gcc.target/i386/avx512f-vbroadcastf64x4-2.c:Ditto.
	* gcc.target/i386/avx512f-vbroadcasti32x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vbroadcasti64x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vbroadcastsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vbroadcastss-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtps2dq-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvttps2dq-2.c: Ditto.
	* gcc.target/i386/avx512f-vdivpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vdivps-2.c: Ditto.
	* gcc.target/i386/avx512f-vextractf32x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vextracti32x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vmaxpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vmaxps-2.c: Ditto.
	* gcc.target/i386/avx512f-vminpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vminps-2.c: Ditto.
	* gcc.target/i386/avx512f-vmulpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vmulps-2.c: Ditto.
	* gcc.target/i386/avx512f-vpaddd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpaddq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpblendmd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpblendmq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpbroadcastd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpbroadcastq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpeqd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpeqq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpgtd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpgtq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovdb-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovdw-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovqb-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovqw-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsdb-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsdw-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsqb-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsqd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsqw-2.c: Ditto.
	* gcc.target/i386/avx512f-vpslld-2.c: Ditto.
	* gcc.target/i386/avx512f-vpslldi-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsllq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsllqi-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsrad-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsradi-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsraq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsraqi-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsravd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsravq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsubd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsubq-2.c: Ditto.
	* gcc.target/i386/avx512f-vptestmd-2.c: Ditto.
	* gcc.target/i386/avx512f-vptestmq-2.c: Ditto.
	* gcc.target/i386/avx512f-vptestnmd-2.c: Ditto.
	* gcc.target/i386/avx512f-vptestnmq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpunpckhdq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpunpckhqdq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpunpckldq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpunpcklqdq-2.c: Ditto.
	* gcc.target/i386/avx512f-vscalefpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vscalefps-2.c: Ditto.
	* gcc.target/i386/avx512f-vshuff32x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vshuff64x2-2.c: Ditto.
	* gcc.target/i386/avx512f-vshufi32x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vshufi64x2-2.c: Ditto.
	* gcc.target/i386/avx512f-vsubpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vsubps-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovdb-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovdw-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovqb-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovqw-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsdb-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsdw-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsqb-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsqd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsqw-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsllvd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsllvq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsrld-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsrldi-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsrlq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsrlqi-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsrlvd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsrlvq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpshufd-2.c: Delete variables, void for TEST
	instead of static void.
	* gcc.target/i386/avx512f-vpcmpged-2.c: Add static void for CALC,
	delete unused variables.
	* gcc.target/i386/avx512f-vpcmpgeq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpgeud-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpgeuq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpled-2.c: Add static void for CALC,
	delete unused variables, void for TEST instead of static void.
	* gcc.target/i386/avx512f-vpcmpleq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpleud-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpleuq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpltd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpltq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpltud-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpltuq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpneqd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpneqq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpnequd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpnequq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovqd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmaxsd-2.c: Add static void for CALC,
	initialize variables.
	* gcc.target/i386/avx512f-vpmaxsq-2.c:Ditto.
	* gcc.target/i386/avx512f-vpminsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpminsq-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvttsd2si-1.c: Add missed type.
	* gcc.target/i386/avx512f-vcvttss2si-1.c: Ditto.
	* gcc.target/i386/avx512f-vcmpsd-2.c: Delete unused variables.
	* gcc.target/i386/avx512f-vcmpss-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmuldq-2.c: Ditto.
	* gcc.target/i386/avx512f-vrndscalepd-2.c: Ditto.
	* gcc.target/i386/i386.exp: Ditto.
	* gcc.target/i386/avx512cd-vpbroadcastmb2q-2.c: Add static void for CALC,
	void for TEST instead of static void, initialize variables.
	* gcc.target/i386/avx512cd-vpbroadcastmw2d-2.c: Ditto.
	* gcc.target/i386/avx512cd-vpconflictd-2.c: Void for TEST instead of
	static void.
	* gcc.target/i386/avx512cd-vpconflictq-2.c: Ditto.
	* gcc.target/i386/avx512cd-vplzcntd-2.c: Ditto.
	* gcc.target/i386/avx512cd-vplzcntq-2.c: Ditto.
	* gcc.target/i386/avx512f-valignd-2.c: Ditto.
	* gcc.target/i386/avx512f-valignq-2.c: Ditto.
	* gcc.target/i386/avx512f-vcmppd-2.c: Ditto.
	* gcc.target/i386/avx512f-vcmpps-2.c: Ditto.
	* gcc.target/i386/avx512f-vcompresspd-2.c: Ditto.
	* gcc.target/i386/avx512f-vcompressps-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtdq2pd-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtdq2ps-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtpd2ps-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtph2ps-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtps2pd-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtps2ph-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvttpd2dq-2.c: Ditto.
	* gcc.target/i386/avx512f-vexpandpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vexpandps-2.c: Ditto.
	* gcc.target/i386/avx512f-vfixupimmss-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmaddXXXpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmaddXXXps-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmaddsubXXXpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmaddsubXXXps-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmsubXXXpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmsubXXXps-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmsubaddXXXpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmsubaddXXXps-2.c: Ditto.
	* gcc.target/i386/avx512f-vfnmaddXXXpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vfnmaddXXXps-2.c: Ditto.
	* gcc.target/i386/avx512f-vfnmsubXXXpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vfnmsubXXXps-2.c: Ditto.
	* gcc.target/i386/avx512f-vgetmantpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vgetmantps-2.c: Ditto.
	* gcc.target/i386/avx512f-vinsertf32x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vinserti32x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovapd-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovaps-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovddup-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovdqa32-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovdqa64-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovdqu32-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovdqu64-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovshdup-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovsldup-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovupd-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovups-2.c: Ditto.
	* gcc.target/i386/avx512f-vpabsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpabsq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpandd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpandnd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpandnq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpandq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpud-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpuq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcompressd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcompressq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermi2d-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermi2pd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermi2ps-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermi2q-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermilpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermilpdi-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermilps-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermilpsi-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermpdi-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermps-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermq-imm-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermq-var-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermt2d-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermt2pd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermt2ps-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermt2q-2.c: Ditto.
	* gcc.target/i386/avx512f-vpexpandd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpexpandq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsxbd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsxbq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsxdq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsxwd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsxwq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovzxbd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovzxbq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovzxdq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovzxwd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovzxwq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmulld-2.c: Ditto.
	* gcc.target/i386/avx512f-vpord-2.c: Ditto.
	* gcc.target/i386/avx512f-vporq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpslld-2.c: Ditto.
	* gcc.target/i386/avx512f-vpternlogd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpternlogq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpxord-2.c: Ditto.
	* gcc.target/i386/avx512f-vpxorq-2.c: Ditto.
	* gcc.target/i386/avx512f-vrcp14pd-2.c: Ditto.
	* gcc.target/i386/avx512f-vrcp14ps-2.c: Ditto.
	* gcc.target/i386/avx512f-vrndscaleps-2.c: Ditto.
	* gcc.target/i386/avx512f-vrsqrt14pd-2.c: Ditto.
	* gcc.target/i386/avx512f-vrsqrt14ps-2.c: Ditto.
	* gcc.target/i386/avx512f-vshufpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vshufps-2.c: Ditto.
	* gcc.target/i386/avx512f-vsqrtpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vsqrtps-2.c: Ditto.
	* gcc.target/i386/avx512f-vunpckhpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vunpckhps-2.c: Ditto.
	* gcc.target/i386/avx512f-vunpcklpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vunpcklps-2.c: Ditto.
	* gcc.target/i386/avx512f-vprold-2.c: Put parentheses, void for TEST
	instead of static void.
	* gcc.target/i386/avx512f-vprolq-2.c: Ditto.
	* gcc.target/i386/avx512f-vprolvd-2.c: Ditto.
	* gcc.target/i386/avx512f-vprolvq-2.c: Ditto.
	* gcc.target/i386/avx512f-vprord-2.c: Ditto.
	* gcc.target/i386/avx512f-vprorq-2.c: Ditto.
	* gcc.target/i386/avx512f-vprorvd-2.c: Ditto.
	* gcc.target/i386/avx512f-vprorvq-2.c: Ditto.
	* gcc.target/i386/avx512f-vfixupimmpd-2.c: Void for TEST instead of
	static void, delete unused variables.
	* gcc.target/i386/avx512f-vfixupimmps-2.c: Ditto.
	* gcc.target/i386/avx512f-vfixupimmsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vgetexppd-2.c: Ditto.
	* gcc.target/i386/avx512f-vgetexpps-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmuludq-2.c: Void for TEST instead of
	static void, delete unused variables, Change parameters for
	UNION_CHECK, MASK_MERGE and MASK_ZERO.
	* gcc.target/i386/avx512f-vcvtpd2dq-2.c: Change type of parameter in
	CALC,  void for TEST instead of static void.
	* gcc.target/i386/avx512f-vcvtpd2udq-2.c: Change parameters for
	UNION_CHECK, MASK_MERGE and MASK_ZERO, void for TEST instead of static
	void.
	* gcc.target/i386/avx512f-vcvttpd2udq-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtudq2pd-2.c: Void for TEST instead of
	static void, change type  of parameter for UNION_TYPE.
	* gcc.target/i386/avx512f-vcvtudq2ps-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtps2udq-2.c: Add static void for CALC,
	void for TEST instead of static void, delete unused variables, change
	parameters for UNION_CHECK, MASK_MERGE and MASK_ZERO.
	* gcc.target/i386/avx512f-vcvttps2udq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovusdb-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovusdw-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovusqb-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovusqd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovusqw-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmaxud-2.c: Add static void for CALC,
	void for TEST instead of static void, change parameters for UNION_CHECK,
	UNION_TYPE, MASK_MERGE and MASK_ZERO.
	* gcc.target/i386/avx512f-vpmaxuq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpminud-2.c: Ditto.
	* gcc.target/i386/avx512f-vpminuq-2.c: Ditto.
	* gcc.target/i386/avx512f-additional-reg-names.c: Add
	__attribute__((unused)).
	* gcc.target/i386/avx512f-dummy.c: Delete unused variables, add
	__attribute__((unused)).
	* gcc.target/i386/avx512f-kandnw-1.c: Initialize variables.
	* gcc.target/i386/avx512f-kandw-1.c: Ditto.
	* gcc.target/i386/avx512f-klogic-2.c: Ditto.
	* gcc.target/i386/avx512f-knotw-1.c: Ditto.
	* gcc.target/i386/avx512f-korw-1.c: Ditto.
	* gcc.target/i386/avx512f-kunpckbw-1.c: Ditto.
	* gcc.target/i386/avx512f-kxnorw-1.c: Ditto.
	* gcc.target/i386/avx512f-kxorw-1.c: Ditto.
	* gcc.target/i386/avx512f-kortestw-1.c: Initialize variables,
	add __attribute__((unused)).
	* gcc.target/i386/avx512f-vcvttsd2si-2.c: Exclude "avx512f-helper.h"
	* gcc.target/i386/avx512f-vcvttss2si-2.c:Ditto.
	* gcc.target/i386/avx512f-vgetexpsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vgetexpss-2.c: Ditto.
	* gcc.target/i386/avx512f-vrndscalesd-2.c: Ditto.
	* gcc.target/i386/avx512f-vrndscaless-2.c: Ditto.
	* gcc.target/i386/avx512f-vscalefsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vscalefss-2.c: Ditto.
	* gcc.target/i386/avx512f-vgetmantsd-2.c: Exclude "avx512f-helper.h",
	delete unused variables.
	* gcc.target/i386/avx512f-vgetmantss-2.c: Ditto.
	* gcc.target/i386/avx512f-vrcp14sd-2.c: Ditto.
	* gcc.target/i386/avx512f-vrcp14ss-2.c: Ditto.
	* gcc.target/i386/avx512f-vrsqrt14sd-2.c: Ditto.
	* gcc.target/i386/avx512f-vrsqrt14ss-2.c: Ditto.
	* gcc.target/i386/avx512f-helper.h: Void for test_512() instead of
	static void, mask_merging and zero_masking for unsigned types.
	* gcc.target/i386/m128-check.h: Add new unions, CHECK_EXP and
	CHECK_ARRAY for unsigned types.
	* gcc.target/i386/m256-check.h: Ditto.
	* gcc.target/i386/m512-check.h: Ditto.

From-SVN: r211372
2014-06-09 11:32:03 +00:00
Ramana Radhakrishnan 545fb0e8ec Remove XFmode from ARM backend.
2014-06-09  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* config/arm/arm-modes.def: Remove XFmode.

From-SVN: r211371
2014-06-09 11:11:52 +00:00
Jan Hubicka af0e142953 utils.c (process_attributes): Use set_decl_section_name accessor.
* gcc-interface/utils.c (process_attributes) <ATTR_LINK_SECTION>: Use
	set_decl_section_name accessor.

From-SVN: r211370
2014-06-09 10:20:27 +00:00
Alan Lawrence 842cbb738e PR/61062 Fix arm_neon.h ZIP/UZP/TRN for bigendian.
gcc/ChangeLog:

	* config/arm/arm_neon.h (vtrn_s8, vtrn_s16, vtrn_u8, vtrn_u16, vtrn_p8,
	vtrn_p16, vtrn_s32, vtrn_f32, vtrn_u32, vtrnq_s8, vtrnq_s16, vtrnq_s32,
	vtrnq_f32, vtrnq_u8, vtrnq_u16, vtrnq_u32, vtrnq_p8, vtrnq_p16, vzip_s8,
	vzip_s16, vzip_u8, vzip_u16, vzip_p8, vzip_p16, vzip_s32, vzip_f32,
	vzip_u32, vzipq_s8, vzipq_s16, vzipq_s32, vzipq_f32, vzipq_u8,
	vzipq_u16, vzipq_u32, vzipq_p8, vzipq_p16, vuzp_s8, vuzp_s16, vuzp_s32,
	vuzp_f32, vuzp_u8, vuzp_u16, vuzp_u32, vuzp_p8, vuzp_p16, vuzpq_s8,
	vuzpq_s16, vuzpq_s32, vuzpq_f32, vuzpq_u8, vuzpq_u16, vuzpq_u32,
	vuzpq_p8, vuzpq_p16): Correct mask for bigendian.

gcc/testsuite/ChangeLog:

	* gcc.target/arm/pr48252.c (main): Expect same result as endian-neutral.

From-SVN: r211369
2014-06-09 10:04:37 +00:00