1. 05 Jun, 2012 18 commits
  2. 04 Jun, 2012 22 commits
    • Skip debug insns in ix86_sched_reorder · dea9f99d
      	PR bootstrap/53555
      	* config/i386/i386.c (ix86_sched_reorder) Skip debug insns.
      
      From-SVN: r188212
      H.J. Lu committed
    • dwarf2out.c (is_unit_die): New. · 61a3e629
      	* dwarf2out.c (is_unit_die): New.
      	(copy_declaration_context, copy_ancestor_tree): Use it.
      	(copy_decls_walk): Likewise.
      
      From-SVN: r188209
      Jason Merrill committed
    • re PR fortran/50619 (Surprising interaction between -finit-real=NAN and the associate construct) · a67cfde8
      2012-06-04  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/50619
              * resolve.c (build_default_init_expr): Don't initialize
              ASSOCIATE names.
      
      2012-06-04  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/50619
              * gfortran.dg/init_flag_10.f90: New.
      
      From-SVN: r188208
      Tobias Burnus committed
    • re PR c++/53524 (Bogus enum comparison warning) · 0e1dd874
      2012-06-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/53524
      	* doc/invoke.texi (Wenum-compare): Update documentation.
      
      /cp
      2012-06-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/53524
      	* call.c (build_conditional_expr_1): Use OPT_Wenum_compare
      	to control enumeral mismatch in conditional expression too.
      
      /testsuite
      2012-06-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/53524
      	* g++.dg/warn/Wenum-compare-no-2: New.
      
      From-SVN: r188204
      Paolo Carlini committed
    • PR preprocessor/53463 - Fix system header detection for built-in macro tokens · 7ca643e1
      The location for a built-in macro token is BUILTIN_LOCATION.  When we
      see that location value, we cannot know if that token was used in a
      system header or not.  And that can trigger some unwanted warnings on
      e.g, the use of __LONG_LONG_MAX__ built-in macro in system headers
      when we compile with -pedantic, like in the test case accompanying
      this patch.
      
      In that case, I think we ought to step-up to see where the built-in
      macro has been expanded, until we see a location that is not for a
      built-in macro.  Then we can check if the resulting location is in a
      system header or not.
      
      Now that we step up to the location of first non-built-in-macro token,
      it appeared that for
      testsuite/c-c++-common/dfp/convert-int-saturate.c, G++ then fails to
      emit the warning in:
      
          volatile unsigned int usi;
          int
          main ()
          {
            usi = DEC32_MAX;  /* { dg-warning "overflow in implicit constant conversion" } */
           ...
          }
      
      Because DEC32_MAX is defined in the system header float.h as a
      built-in macro:
      
          #define DEC32_MAX	__DEC32_MAX__
      
      And during the parsing of the assignment expression that should have
      led to the warning above, input_location is set to the location for
      the DEC32_MAX, which is actually the location for the built-in
      __DECL32_MAX_EXP.
      
      A possible fix is to use the location of the "=" operator as the
      default location for assignment expressions.  This is what the patch
      does.
      
      I had to adjust a couple of tests to arrange for this.
      
      Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.
      
      libcpp/
      
      	PR preprocessor/53463
      	* line-map.c (linemap_location_in_system_header_p): For built-in
      	macro tokens, check the first expansion point location for that is
      	not for a token coming from a built-in macro.
      
      gcc/cp/
      
      	PR preprocessor/53463
      	* parser.c (cp_parser_assignment_expression): Use the location
      	for the LHS as the default location for the expression.
      
      gcc/testsuite/
      
      	PR preprocessor/53463
      	* g++.dg/cpp/limits.C: New test.
      	* g++.dg/parse/error19.C: Adjust.
      	* g++.dg/warn/Wconversion-real-integer2.C: Likewise.
      	* g++.dg/warn/pr35635.C: Likewise.
      	* g++.old-deja/g++.pt/assign1.C: Likewise.
      
      From-SVN: r188203
      Dodji Seketeli committed
    • PR 53456 Fix incorrect ChangeLog entry. · aadd9700
      From-SVN: r188202
      Robert Mason committed
    • PR 53456 Fix typo in gf_cputime. · 1e5c1001
      2012-06-04  Robert Mason  <rbmj@verizon.net>
      	    Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR fortran/53456
      	* intrinsics/time_1.h (gf_cputime): Fix typo in clock_gettime branch.
      
      From-SVN: r188201
      Robert Mason committed
    • re PR target/53559 (ICE on altivec builtins stv[l|r]x[l]) · fbc932e7
      2012-06-04  Edmar Wienskoski  <edmar@freescale.com>
      
      	PR target/53559
      	* config/rs6000/altivec.md (altivec_stvlx): Change machine mode of
      	operands.
      	(altivec_stvlxl): Ditto.
      	(altivec_stvrx): Ditto.
      	(altivec_stvrxl): Ditto.
      
      gcc/testsuite
      2012-06-04  Edmar Wienskoski  <edmar@freescale.com>
      
      	PR target/53559
      	* gcc.target/powerpc/cell_builtin_1.c: New test case.
      	* gcc.target/powerpc/cell_builtin_2.c: Ditto.
      	* gcc.target/powerpc/cell_builtin_3.c: Ditto.
      	* gcc.target/powerpc/cell_builtin_4.c: Ditto.
      	* gcc.target/powerpc/cell_builtin_5.c: Ditto.
      	* gcc.target/powerpc/cell_builtin_6.c: Ditto.
      	* gcc.target/powerpc/cell_builtin_7.c: Ditto.
      	* gcc.target/powerpc/cell_builtin_8.c: Ditto.
      
      From-SVN: r188200
      Edmar Wienskoski committed
    • ira-int.h (struct target_ira_int): Add member x_ira_uniform_class_p. · 165f639c
      2012-06-04  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* ira-int.h (struct target_ira_int): Add member
      	x_ira_uniform_class_p.
      	(ira_uniform_class_p): New macro.
      
      	* ira.c (setup_uniform_class_p): New function.
      	(setup_allocno_and_important_classes): Call the function.
      	(print_unform_and_important_classes): New function.
      	(print_classes): Rename to print_translated_classes.
      	(ira_debug_allocno_classes): Add call of
      	print_unform_and_important_classes.
      
      	* ira-costs.c (setup_regno_cost_classes_by_aclass): Use uniform
      	classes instead of pressure classes.
      
      From-SVN: r188199
      Vladimir Makarov committed
    • c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator. · 7496cd5b
      2012-06-04   Sterling Augustine  <saugustine@google.com>
      
      	* gcc/c-family/c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
      	* gcc/c-family/c-pretty-print.c (pp_c_specifier_qualifier_list): Check
      	it at both the start and end of the function.
      	* gcc/cp/error.c (dump_decl): Check pp_c_flag_gnu_v3.
      	(decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
      	(lang_decl_name): Handle namespace decls.
      	* gcc/cp/cp-tree.h: Declare decl_as_dwarf_string, lang_decl_dwarf_name.
      	* gcc/cp/cp-lang.c: Call them.
      
      From-SVN: r188195
      Sterling Augustine committed
    • re PR middle-end/47530 ([trans-mem] tail call optimization problem with _ITM_commitTransaction) · 764ce4f2
              PR middle-end/47530
              * trans-mem.c (expand_block_edges): Do not skip the first
              statement when resetting the BB.
      
      From-SVN: r188190
      Aldy Hernandez committed
    • tree-data-ref.c (stores_from_loop): Remove. · be6b029b
      2012-06-04  Richard Guenther  <rguenther@suse.de>
      
      	* tree-data-ref.c (stores_from_loop): Remove.
      	(stmt_with_adjacent_zero_store_dr_p): Likewise.
      	(stores_zero_from_loop): Likewise.
      	* tree-data-ref.h (stores_from_loop, stores_zero_from_loop,
      	stmt_with_adjacent_zero_store_dr_p, stride_of_unit_type_p): Remove.
      	(adjacent_store_dr_p): New function.
      	* tree-loop-distribution.c (generate_memset_builtin): Pass
      	the RDG, use the already available data-reference.
      	(generate_code_for_partition): Pass down RDG.
      	(classify_partition): Inline parts of the former
      	stmt_with_adjacent_zero_store_dr_p here and use adjacent_store_dr_p.
      	(ldist_gen): Remember if there was any detected builtin and
      	do less work if not and flag_tree_loop_distribution is not set.
      	(tree_loop_distribution): Inline and fuse stores_from_loop
      	and stores_zero_from_loop here.
      
      From-SVN: r188186
      Richard Guenther committed
    • * g++.dg/debug/dwarf2/nested-3.C: Allow for | comments. · 36829666
      From-SVN: r188185
      Andreas Schwab committed
    • re PR lto/53471 (ICE in pp_base_format, at pretty-print.c:510 (-flto -g)) · ad16e152
      2012-06-04  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/53471
      	* dwarf2out.c (dwarf2out_finish): If generating LTO do not
      	create new assembler names.
      
      From-SVN: r188181
      Richard Guenther committed
    • tree-data-ref.c (struct rdg_vertex_info): Remove. · 1fa0c180
      2012-06-04  Richard Guenther  <rguenther@suse.de>
      
      	* tree-data-ref.c (struct rdg_vertex_info): Remove.
      	(rdg_vertex_for_stmt): Simplify using gimple_uid.
      	(create_rdg_vertices): Pass loop argument, remove stmt to RDG index
      	hashtable.   Record stmt data-references.
      	(hash_stmt_vertex_info): Remove.
      	(eq_stmt_vertex_info): Likewise.
      	(hash_stmt_vertex_del): Likewise.
      	(build_empty_rdg): Simplify.
      	(build_rdg): Adjust.
      	(free_rdg): Likewise.
      	(ref_base_address): Remove.
      	(have_similar_memory_accesses): Likewise.
      	* tree-data-ref.h (create_rdg_vertices): Remove.
      	(struct rdg_vertex): Add datarefs member.
      	(RDGV_DATAREFS): New define.
      	(RDG_DATAREFS): Likewise.
      	(have_similar_memory_accesses): Remove.
      	(rdg_has_similar_memory_accesses): Likewise.
      	* tree-loop-distribution.c (ref_base_address): Re-implement here.
      	(similar_memory_accesses): Re-implement using existing data-references.
      	(tree_loop_distribution): Initialize stmt uids for the stmt to
      	RDG index mapping.
      	* tree-vect-loop.c (vect_create_epilog_for_reduction): Only
      	access stmt vinfo for stmts in loop.
      
      From-SVN: r188180
      Richard Guenther committed
    • re PR target/53461 (Incorrect handling of CASE_VECTOR_PC_RELATIVE in config/m68k.md) · 143015c4
      PR target/53461
      * config/m68k/m68k.md ("tablejump"): Fix check for
      CASE_VECTOR_PC_RELATIVE.
      
      From-SVN: r188179
      Andreas Schwab committed
    • output.h (merge_weak, [...]): Move protos from here... · a4b7d13c
      	* output.h (merge_weak, assemble_alias,
      	initializer_constant_valid_p,
      	initializer_constant_valid_for_bitfield_p): Move protos from here...
      	* tree.h: ... to here.
      
      	* cgraphclones.c: Do not include output.h.
      	* gimplify.c: Likewise.
      	* reload.c: Likewise.
      	* recog.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* c-parser.c: Likewise.
      	* c-typeck.c: Likewise.
      
      	* Makefile.in: Fix dependencies.
      
      c-family/
      	* c-common.c: Do not include output.h.
      	* c-pragma.c: Likewise.
      
      cp/
      	* semantics.c: Do not include output.h.
      	* decl2.c: Likewise.
      	* friend.c: Likewise.
      	* typeck.c: Likewise.
      	* typeck2.c: Likewise.
      	* Make-lang.in: Fix dependencies.
      
      ada/
      	* gcc-interface/utils2.c: Do not include output.h.
      	* gcc-interface/Make-lang.in: Fix dependencies.
      
      From-SVN: r188178
      Steven Bosscher committed
    • re PR target/46261 (avr-gcc: Segfaults when compiled with the -mint8 option) · 0b8a03e1
      	PR target/46261
      	* config/avr/avr-stdint.h: New file.
      	* config.gcc (avr-*-*,tm_file): Use avr/avr-stdint.h instead of
      	newlib-stdint.h
      
      From-SVN: r188172
      Georg-Johann Lay committed
    • Update Copyright years. · 8f27a3f7
      From-SVN: r188171
      Jakub Jelinek committed
    • re PR tree-optimization/53550 (ICE with -O{1,2,3} -fprefetch-loop-arrays in… · 5ece9847
      re PR tree-optimization/53550 (ICE with -O{1,2,3} -fprefetch-loop-arrays in build2_stat, at tree.c:3803)
      
      	PR tree-optimization/53550
      	* tree-ssa-loop-niter.c (number_of_iterations_cond): If type
      	is POINTER_TYPE_P, use sizetype as step type instead of type.
      
      	* gcc.dg/pr53550.c: New test.
      
      From-SVN: r188169
      Jakub Jelinek committed
    • tree-data-ref.c (have_similar_memory_accesses_1): Remove. · c014f6f5
      2012-06-04  Richard Guenther  <rguenther@suse.de>
      
      	* tree-data-ref.c (have_similar_memory_accesses_1): Remove.
      	(ref_base_address_1): Likewise.
      	(remove_similar_memory_refs): Likewise.
      	* tree-data-ref.h (remove_similar_memory_refs): Remove.
      	* tree-loop-distribution.c (classify_partition): Do not classify
      	as builtin if -ftree-loop-distribute-patterns is not enabled.
      	(fuse_partitions_with_similar_memory_accesses): Inline ...
      	(ldist_gen): ... here.  Fuse all non-builtin partitions if
      	-ftree-loop-distribution is not enabled.  Properly return
      	the number of created partitions.  Do not update SSA form here
      	but ...
      	(tree_loop_distribution): ... once here for the whole function.
      	Only walk innermost loops, constrain loops we consider here
      	further.  Do not call remove_similar_memory_refs.
      	(distribute_loop): Do not check number of loop nodes here.
      
      	* gcc.dg/tree-ssa/ldist-11.c: Enable -ftree-loop-distribute-patterns.
      	* gcc.dg/tree-ssa/ldist-17.c: Likewise.
      	* gcc.dg/tree-ssa/ldist-pr45948.c: Likewise.
      
      From-SVN: r188168
      Richard Guenther committed
    • * Makefile.in (GIMPLE_H): Do not depend on TARGET_H. · 296f202e
      From-SVN: r188166
      Steven Bosscher committed