1. 11 Jun, 2014 15 commits
    • Delete temporary string within demangler even in failure cases. · ac8345a5
      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
      Andrew Burgess committed
    • [multiple changes] · b785e0b8
      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
      Arnaud Charlet committed
    • [multiple changes] · 2e57f88b
      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
      Arnaud Charlet committed
    • [multiple changes] · c230ed0b
      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
      Arnaud Charlet committed
    • re PR c++/34049 (Parentheses-enclosed expression.) · 83f14a64
      2014-06-11  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/34049
      	* g++.dg/parse/pr34049.C: New.
      
      From-SVN: r211445
      Paolo Carlini committed
    • re PR tree-optimization/61306 (wrong code at -Os and above on x86_64-linux-gnu) · 698ff107
      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
      Thomas Preud'homme committed
    • arm.md (*thumb1_adddi3): Move into new file thumb1.md. · 1d02d8b8
      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
      Terry Guo committed
    • [AArch64] Add CRC32 ACLE intrinsics testsuite. · 338329a0
      	* 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
      Kyrylo Tkachov committed
    • [AArch64] Implement CRC32 ACLE intrinsics. · 5d357f26
      	* 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
      Kyrylo Tkachov committed
    • re PR tree-optimization/52252 (An opportunity for x86 gcc vectorizer (gain up to 3 times)) · e1377713
      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
      Evgeny Stupachenko committed
    • ipa-visibility.c (function_and_variable_visibility): Disable virtual table… · 862b3da6
      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
      Jan Hubicka committed
    • re PR tree-optimization/61437 (wrong code on x86_64-linux-gnu when compile separately) · 96a3f4df
      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
      Richard Biener committed
    • varasm.c (set_implicit_section): New function. · e257a17c
      
      	* 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
      Jan Hubicka committed
    • 4402.cc (test02): Use `wcout' rather than `cout'. · 58170a66
      	* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
      	(test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
      
      From-SVN: r211433
      Maciej W. Rozycki committed
    • Daily bump. · c0921b24
      From-SVN: r211432
      GCC Administrator committed
  2. 10 Jun, 2014 22 commits
    • bid128_div.c (BID128_FUNCTION_ARG2): Remove unused variable 'Ql'. · 0b6df824
      	* 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
      Uros Bizjak committed
    • re PR libstdc++/61390 (error in nested template parameter in ext/pb_ds header file) · 060269c4
      	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
      Jonathan Wakely committed
    • [AArch64] Fix some reg-to-reg move scheduler types. · d7256bb8
      	* 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
      Kyrylo Tkachov committed
    • Add myself to MAINTAINERS. · a4a1b5f3
      2014-06-10  Matthew Fortune  <matthew.fortune@imgtec.com>
      
      	* MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r211417
      Matthew Fortune committed
    • [AArch64] Fix layout of frame layout code. · dadf084c
      From-SVN: r211416
      Jiong Wang committed
    • [AArch64] Add a big-endian lane flip at expand-time in saturating math patterns. · 2a74759f
      	* 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
      Kyrylo Tkachov committed
    • re PR tree-optimization/61438 (ICE on valid code at -O3 on x86_64-linux-gnu in… · b82ef848
      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
      Richard Biener committed
    • re PR middle-end/61456 (Bogus "may be used uninitialized" warning) · cdf0ab72
      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
      Richard Biener committed
    • Reverting previous commit. · f1ab9717
      From-SVN: r211410
      Marcus Shawcroft committed
    • [AArch64] Fix layout of frame layout code. · c7f65aae
      From-SVN: r211409
      Jiong Wang committed
    • [AArch64] Fix REG_CFA_RESTORE mode. · e29b8d5b
      From-SVN: r211408
      Marcus Shawcroft committed
    • i386.c (expand_vec_perm_pblendv): New. · 6ba197c1
      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
      Evgeny Stupachenko committed
    • re PR fortran/41936 (Memory leakage with allocatables and user-defined operators) · 5933f9ae
      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
      Dominique d'Humieres committed
    • re PR tree-optimization/57186 (implement load sinking in loops) · 5625721f
      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
      Richard Biener committed
    • [ARM][doc] Improve description of AArch32 CRC32 intrinsics. · 87ee52ef
           * 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
      Kyrylo Tkachov committed
    • [PR lto/61334] Declare prototype for strnlen, if needed. · 35fa894a
      	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
      Thomas Schwinge committed
    • ipa-reference.c (is_proper_for_analysis): Exclude addressable and public vars. · 1685ecf3
      
      	* 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
      Jan Hubicka committed
    • re PR fortran/60928 (gfortran issue with allocatable components and OpenMP) · 92d28cbb
      	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
      Jakub Jelinek committed
    • re PR c/60988 ("transparent_union" doesn't appear in the gcc manual index) · c9f2b7e9
      	PR c/60988
      	* doc/extend.texi: Add cindex for transparent_union.
      
      From-SVN: r211396
      Marek Polacek committed
    • tree-ssa-math-opts.c (find_bswap_or_nop_load): Check return value of init_symbolic_number (). · 2cfa504a
      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
      Thomas Preud'homme committed
    • runtime: Initialize variable to avoid compiler warning. · 816002df
      From-SVN: r211394
      Ian Lance Taylor committed
    • Daily bump. · 75b7d073
      From-SVN: r211393
      GCC Administrator committed
  3. 09 Jun, 2014 3 commits