1. 03 Jul, 2014 6 commits
  2. 02 Jul, 2014 16 commits
    • Only transform rotate to rotatert and v.v. if target has both · 4ed3092f
      Many targets do not have both rotate and rotatert.  Of the 47 targets
      in the tree, 17 have both, 9 have only rotate, 2 have only rotatert, and
      19 have neither (this is based on "grep -wil" so it can be slightly off).
      
      rs6000 has only rotate, and mips has only rotatert.  For such targets
      simplifying rotate to rotatert and vice versa is not simplifying things
      at all.  rs6000 has already way too many rotate patterns (some days it
      seems like two thousand, but it is somewhat less in reality still); I
      would prefer not to double that again.
      
      So, this patch makes genrecog define HAVE_rotate and HAVE_rotatert if
      those RTL codes are mentioned anywhere in the machine description, and
      then does the transformation in simplify-rtx.c only if both these flags
      are set.
      
      From-SVN: r212239
      Segher Boessenkool committed
    • * config/fpu-sysv.h (void set_fpu): Remove stalled comment. · 1680a432
      From-SVN: r212235
      Uros Bizjak committed
    • c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before releasing symbol. · 22e1cf1c
      	* c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before
      	releasing symbol.
      
      	* gcc.c-torture/compile/section.c: New testcase.
      
      Co-Authored-By: Chen Gang <gang.chen.5i5j@gmail.com>
      
      From-SVN: r212234
      Jan Hubicka committed
    • re PR go/61620 (FAIL: go.test/test/fixedbugs/bug242.go execution, -O2 -g) · 9490fda6
      	PR go/61620
      
      runtime: Don't free tiny blocks in map deletion.
      
      The memory allocator now has a special case for tiny blocks
      (smaller than 16 bytes) and they can not be explicitly freed.
      
      From-SVN: r212233
      Ian Lance Taylor committed
    • add bugzilla links · 513c5c74
      From-SVN: r212232
      Christian Bruel committed
    • add test · cbee452f
      From-SVN: r212231
      Christian Bruel committed
    • Support mode toggle. · cbb1e3d9
      * mode-switching.c (struct bb_info): Add mode_out, mode_in caches.
      (make_preds_opaque): Delete.
      (clear_mode_bit, mode_bit_p, set_mode_bit): New macros.
      (commit_mode_sets): New function.
      (optimize_mode_switching): Handle current_mode to mode_switching_emit.
      Process all modes at once.
      * basic-block.h (pre_edge_lcm_avs): Declare.
      * lcm.c (pre_edge_lcm_avs): Renamed from pre_edge_lcm.
      Call clear_aux_for_edges. Fix comments.
      (pre_edge_lcm): New wrapper function to call pre_edge_lcm_avs.
      (pre_edge_rev_lcm): Idem.
      * config/epiphany/epiphany.c (emit_set_fp_mode): Add prev_mode parameter.
      * config/epiphany/epiphany-protos.h (emit_set_fp_mode): Idem.
      * config/epiphany/resolve-sw-modes.c (pass_resolve_sw_modes::execute): Idem.
      * config/i386/i386.c (x96_emit_mode_set): Idem.
      * config/sh/sh.c (sh_emit_mode_set): Likewise. Handle PR toggle.
      * config/sh/sh.md (toggle_pr): 	Defined if TARGET_FPU_SINGLE.
      (fpscr_toggle) Disallow from delay slot.
      * target.def (emit_mode_set): Add prev_mode parameter.
      * doc/tm.texi: Regenerate.
      
      From-SVN: r212230
      Christian Bruel committed
    • decl.c (variable_decl): Reject old style initialization for derived type components. · b18f1efc
      	* decl.c (variable_decl): Reject old style initialization
      	for derived type components.
      
      	* gfortran.dg/oldstyle_5.f: New test.
      
      Co-Authored-By: Fritz Reese <Reese-Fritz@zai.com>
      
      From-SVN: r212227
      Jakub Jelinek committed
    • [AArch64] Removed unused variable i in aarch64_expand_vec_perm · c9d1a16a
      	* config/aarch64/aarch64.c (aarch64_expand_vec_perm): Delete unused
      	variable i.
      
      From-SVN: r212225
      Kyrylo Tkachov committed
    • configure.host (ieee_flags): Add -mieee for alpha*. · 5b0936da
      libgfortran/ChangeLog:
      
      	* configure.host (ieee_flags): Add -mieee for alpha*.
      
      	* config/fpu-glibc.h (support_fpu_rounding_mode): Correctly handle
      	GFC_FPE_UPWARD, GFC_FPE_DOWNWARD and GFC_FPE_TOWARDZERO.
      	* config/fpu-aix.h (support_fpu_rounding_mode): Ditto.
      
      testsuite/ChangeLog:
      
      	* gfortran.dg/ieee/ieee_1.F90 (dg-additional-options): Remove -O0.
      	* gfortran.dg/ieee/ieee_rounding_1.f90 (dg-additional-options): Add.
      
      From-SVN: r212224
      Uros Bizjak committed
    • pt.c (convert_template_argument): Use inform instead of error in three places. · bca23ca2
      /cp
      2014-07-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* pt.c (convert_template_argument): Use inform instead of error in
      	three places.
      
      /testsuite
      2014-07-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp0x/variadic-ex10.C: Adjust for inform instead of error.
      	* g++.dg/cpp0x/variadic-ex14.C: Likewise.
      	* g++.dg/parse/error11.C: Likewise.
      	* g++.old-deja/g++.brendan/template17.C: Likewise.
      
      From-SVN: r212223
      Paolo Carlini committed
    • ipa-utils.h (method_class_type, [...]): Constify. · d570d364
      
      	* ipa-utils.h (method_class_type, vtable_pointer_value_to_binfo,
      	vtable_pointer_value_to_vtable): Constify.
      	(contains_polymorphic_type_p): Declare.
      	* ipa-devirt.c (method_class_type, vtable_pointer_value_to_binfo,
      	vtable_pointer_value_to_vtable): Constify.
      	(contains_polymorphic_type_p): New predicate.
      	* ipa-prop.c (ipa_set_jf_known_type): Allow types containing
      	polymorphic types.
      	(ipa_set_ancestor_jf): Likewise.
      	(detect_type_change): Return false in easy cases.
      	(compute_complex_assign_jump_func): Require type to contain
      	polymorphic type.
      	(compute_known_type_jump_func): Likewise.
      
      From-SVN: r212222
      Jan Hubicka committed
    • get_array.f90: Add missing SYNC ALL. · a90532fd
      2014-07-02  Tobias Burnus  <burnus@net-b.de>
      
              * gfortran.dg/coarray/get_array.f90: Add missing SYNC ALL.
              * gfortran.dg/coarray/send_array.f90: Ditto.
              * gfortran.dg/coarray/sendget_array.f90: Ditto.
      
      From-SVN: r212220
      Tobias Burnus committed
    • tree.c (decls_same_for_odr, [...]): Remove. · 549bcbd1
      
      	* tree.c (decls_same_for_odr, decls_same_for_odr,
      	types_same_for_odr): Remove.
      	(type_in_anonymous_namespace_p): Constify argument.
      	* tree.h (types_same_for_odr, type_in_anonymous_namespace_p):
      	Constify.
      	* ipa-devirt.c (odr_type_d): Add ODR_VIOLATED field.
      	(main_odr_variant): New function.
      	(hash_type_name): Make static; update assert; do not ICE on
      	non-records.
      	(types_same_for_odr): Bring here from tree.c; simplify
      	and remove old structural comparing code that doesn't work
      	for templates.
      	(odr_hasher::equal): Update assert.
      	(add_type_duplicate): Return true when bases should be computed;
      	replace incomplete loader by complete; do not output duplicated
      	warnings; do not ICE on non-records; set odr_violated flag.
      	(get_odr_type): Be ready to replace incomplete type by complete
      	one; work on ODR variants instead of main variants; reorder item
      	in array so bases have still smaller indexes.
      	(dump_type_inheritance_graph): Be ready for holdes in odr_types
      	array.
      	(possible_polymorphic_call_targets): Do not ICE when BINFO is NULL.
      
      From-SVN: r212218
      Jan Hubicka committed
    • Daily bump. · 5656ccd7
      From-SVN: r212217
      GCC Administrator committed
  3. 01 Jul, 2014 18 commits
    • runtime: introduce build targets for running benchmarks · ffa98da4
      This introduces the "bench" build target, which can be used to run
      all benchmarks.
      
      It is also possible to run subsets of benchmarks with the
      "package/check" build targets by setting GOBENCH to a matching regex.
      
      From-SVN: r212212
      Ian Lance Taylor committed
    • This patch fixes a couple of ICEs when using -gsplit-dwarf. · 25eff60d
      When compiling a small-enough compilation unit that has no address table
      entries, but complex enough that -freorder-blocks-and-partition produces
      location lists, dwarf2out_finish does not call index_location_lists, but
      optimize_location_lists will later assume that the addr_index_table has
      been indexed.
      Google ref: b/15417905
      
      When resolve_addr_in_expr replaces a CONST_STRING rtx, it directly
      updates the pointer to the old expression with the new one. In the
      case of a DW_OP_GNU_addr_index or DW_OP_GNU_const_index, that pointer
      may be in an address table entry, which is keyed by the rtx. Instead
      of directly replacing the pointer, we need to remove the old address
      table entry (i.e., decrement its reference count), and add a new one.
      Google ref: b/15957101
      
      gcc/
      	* dwarf2out.c (remove_addr_table_entry): Remove unnecessary hash table
              lookup.
      	(resolve_addr_in_expr): When replacing the rtx in a location list
              entry, get a new address table entry.
      	(dwarf2out_finish): Call index_location_lists even if there are no
              addr_index_table entries yet.
      
      From-SVN: r212211
      Cary Coutant committed
    • gcc/testsuite/ · 454a17a3
      	* gcc.target/aarch64/aapcs64/aapcs64.exp:
      	(additional_flags_for_func_ret): New variable based on $additional_flags
      	with -fno-use-caller-save.
      	(func-ret-*.c): Use the new variable.
      
      Co-Authored-By: Yufeng Zhang <yufeng.zhang@arm.com>
      
      From-SVN: r212206
      James Greenhalgh committed
    • re PR c++/59637 ([c++11] ICE with decltype and destructor call in template) · 2a4141aa
      2014-07-01  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/59637
      	* g++.dg/cpp0x/decltype60.C: New.
      
      From-SVN: r212205
      Paolo Carlini committed
    • revert r212197 for apparently not actually being obvious · 6ab56804
      From-SVN: r212200
      Trevor Saunders committed
    • Revert "PR preprocessor/60723 - missing system-ness marks for macro tokens" · 14b1760c
      This reverts commit 747e04f26ac3fb775bfc9af61e9170b9461b6cfc.
      
      From-SVN: r212199
      Dodji Seketeli committed
    • Correct ChangeLog entries from r212041. · 08eedf75
      From-SVN: r212198
      Teresa Johnson committed
    • fix -Wunused-parameter warning in winnt.c · 5c9130b3
      gcc/
      	* config/i386/winnt.c (i386_pe_section_type_flags): Removed name
      	of unused argument.
      
      From-SVN: r212197
      Trevor Saunders committed
    • [AArch64] Implement some vca*_f[32,64] intrinsics. · 39f90912
      	* config/aarch64/arm_neon.h (vcage_f64): New intrinsic.
      	(vcagt_f64): Likewise.
      	(vcale_f64): Likewise.
      	(vcaled_f64): Likewise.
      	(vcales_f32): Likewise.
      	(vcalt_f64): Likewise.
      	(vcaltd_f64): Likewise.
      	(vcalts_f32): Likewise.
      
      	* gcc.target/aarch64/simd/vcage_f64.c: New test.
      	* gcc.target/aarch64/simd/vcagt_f64.c: Likewise.
      	* gcc.target/aarch64/simd/vcale_f64.c: Likewise.
      	* gcc.target/aarch64/simd/vcaled_f64.c: Likewise.
      	* gcc.target/aarch64/simd/vcales_f32.c: Likewise.
      	* gcc.target/aarch64/simd/vcalt_f64.c: Likewise.
      	* gcc.target/aarch64/simd/vcaltd_f64.c: Likewise.
      	* gcc.target/aarch64/simd/vcalts_f32.c: Likewise.
      
      From-SVN: r212196
      Kyrylo Tkachov committed
    • pr59867.C: Fix target selector. · f2805643
      2014-07-01  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp1y/pr59867.C: Fix target selector.
      
      From-SVN: r212195
      Paolo Carlini committed
    • PR preprocessor/60723 - missing system-ness marks for macro tokens · a0bc2268
      When a system macro is expanded in a non-system file during
      out-of-line preprocessing, it can happen that the preprocessor forgets
      to emit line markers to express the system-ness status of tokens that
      come after the expansion of the macro.
      
      That can lead to situations where the entire non-system file can be
      considered as being a system file and thus have its warnings be
      discarded during the compilation of the resulting preprocessed file.
      
      My understanding is that this is due to the preprocessor not
      systematically detecting (and reporting) the change in system-ness of
      tokens.
      
      And this is what this patch does.  Each time the system-ness of a
      given token is different from the previous token that was emitted by
      the preprocessor, it emits a line marker for the sole purpose of
      marking the new system-ness of the subsequent tokens to come.
      
      Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.
      
      gcc/c-family/ChangeLog:
      	* c-ppoutput.c (struct print::prev_was_system_token): New data
      	member.
      	(init_pp_output): Initialize it.
      	(maybe_print_line_1, maybe_print_line, print_line_1, print_line)
      	(do_line_change): Return a flag saying if a line marker was
      	emitted or not.
      	(scan_translation_unit): Detect if the system-ness of the token we
      	are about to emit is different from the one of the previously
      	emitted token.  If so, emit a line marker.  Avoid emitting
      	useless adjacent line markers.
      	(scan_translation_unit_directives_only): Adjust.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/cpp/syshdr{4,5}.{c,h}: New test files.
      
      Signed-off-by: Dodji Seketeli <dodji@redhat.com>
      
      From-SVN: r212194
      Dodji Seketeli committed
    • invoke.texi: Document -Wint-conversion. · 52ec0ea3
      	* doc/invoke.texi: Document -Wint-conversion.
      c-family/
      	* c.opt (Wint-conversion): New option.
      c/
      	* c-typeck.c (convert_for_assignment): Pass OPT_Wint_conversion
      	instead of 0 to WARN_FOR_ASSIGNMENT.
      testsuite/
      	* gcc.dg/Wint-conversion.c: New test.
      
      From-SVN: r212193
      Marek Polacek committed
    • re PR c/58286 (Need option to make incompatible pointer type warnings into compiler errors) · d5c3d343
      	PR c/58286
      	* doc/invoke.texi: Document -Wincompatible-pointer-types.
      c-family/
      	* c.opt (Wincompatible-pointer-types): New option.
      c/
      	* c-typeck.c (convert_for_assignment): Pass
      	OPT_Wincompatible_pointer_types instead of 0 to WARN_FOR_ASSIGNMENT.
      testsuite/
      	* gcc.dg/Wincompatible-pointer-types.c: New test.
      
      From-SVN: r212192
      Marek Polacek committed
    • IPA REF alias refactoring · e55637b7
      	* cgraph.h (iterate_direct_aliases): New function.
      	(FOR_EACH_ALIAS): New macro iterates all direct aliases for a node.
      	* cgraph.c (cgraph_for_node_thunks_and_aliases): Usage of
      	FOR_EACH_ALIAS added.
      	(cgraph_for_node_and_aliases): Likewise.
      	* cgraphunit.c (assemble_thunks_and_aliases): Likewise.
      	* ipa-inline.c (reset_edge_caches): Likewise.
      	(update_caller_keys): Likewise.
      	* trans-mem.c (ipa_tm_execute): Likewise.
      	*varpool.c (varpool_analyze_node): Likewise.
      	(varpool_for_node_and_aliases): Likewise.
      	* ipa-ref.h (first_alias): New function.
      	(last_alias): Likewise.
      	(has_aliases_p): Likewise.
      	* ipa-ref.c (ipa_ref::remove_reference): Removal function
      	is sensitive to IPA_REF_ALIASes.
      	* symtab.c (symtab_node::add_reference): Node of IPA_REF_ALIAS type
      	are put at the beginning of the list.
      	(symtab_node::iterate_direct_aliases): New function.
      
      	* lto-partition.c (add_symbol_to_partition_1): Usage of
      	FOR_EACH_ALIAS added.
      
      From-SVN: r212191
      Martin Liska committed
    • scanasm.exp (dg-function-on-line): Add MicroBlaze specific pattern. · 705c7d57
      2014-06-30  David Holsgrove <david.holsgrove@xilinx.com>
      
      	* gcc/testsuite/lib/scanasm.exp (dg-function-on-line): Add
      	MicroBlaze specific pattern.
      
      --This line, and those below, 
      
      M    ChangeLog
      M    lib/scanasm.exp
      
      From-SVN: r212189
      David Holsgrove committed
    • * ChangeLog: Correct the PR id from 61061 to 61601. · 05ae5af2
      From-SVN: r212187
      Tim Shen committed
    • re PR c++/58781 (Unicode strings broken in a strange way) · 9378b06e
      cp/
      
      2014-06-28  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	PR c++/58781
      	PR c++/60249
      	PR c++/59867
      	* parser.c (cp_parser_userdef_string_literal()): Take a tree
      	not a cp_token*. (cp_parser_string_literal(): Don't hack
      	the token stream!
      
      
      testsuite/
      
      2014-06-28  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	PR c++/58781
      	PR c++/60249
      	PR c++/59867
      	* testsuite/g++.dg/cpp0x/pr58781.C: New.
      	* testsuite/g++.dg/cpp0x/pr60249.C: New.
      	* testsuite/g++.dg/cpp1y/pr59867.C: New.
      
      From-SVN: r212186
      Edward Smith-Rowland committed
    • re PR testsuite/61061 (FAIL: g++.dg/inherit/covariant7.C) · 5bcb66df
      	PR libstdc++/61061
      	PR libstdc++/61582
      	* include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
      	a NFA state limit. If it's exceeded, regex_constants::error_space
      	will be throwed.
      	* include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
      	map (which is sparse) instead of vector. This reduce n times clones'
      	cost from O(n^2) to O(n).
      	* include/std/regex: Add map dependency.
      	* testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
      	testcase.
      
      From-SVN: r212185
      Tim Shen committed