platform/upstream/linaro-gcc.git
12 years ago2012-05-26 Dimitrios Apostolou <jimis@gmx.net>
bonzini [Sat, 26 May 2012 11:44:50 +0000 (11:44 +0000)]
2012-05-26  Dimitrios Apostolou  <jimis@gmx.net>
    Paolo Bonzini  <bonzini@gnu.org>

* df-scan.c (df_def_record_1): Assert a parallel must contain an
EXPR_LIST at this point.  Receive the LOC and move its extraction...
(df_defs_record): ... here. Change if-else to a switch statement.
(df_find_hard_reg_defs, df_find_hard_reg_defs_1): New.
(df_get_call_refs): Changed defs_generated from bitmap to HARD_REG_SET
and compute it from df_find_hard_reg_defs(). Record DF_REF_BASE
DEFs in REGNO order. Use HARD_REG_SET instead of bitmap for
regs_invalidated_by_call.
(df_insn_refs_collect): Record DF_REF_REGULAR DEFs after
df_get_call_refs().

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

12 years ago * gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'.
ebotcazou [Sat, 26 May 2012 10:42:17 +0000 (10:42 +0000)]
* gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'.
(build_variant_list): Adjust to above renaming.
(gnat_to_gnu_entity) <E_Record_Subtype>: Likewise.  Give a unique name
to the type of the variant containers.
(create_variant_part_from): Likewise.  Give a unique name to the type
of the variant part.

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

12 years agoDaily bump.
gccadmin [Sat, 26 May 2012 00:18:49 +0000 (00:18 +0000)]
Daily bump.

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

12 years ago/cp
paolo [Fri, 25 May 2012 23:40:10 +0000 (23:40 +0000)]
/cp
2012-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/32054
* parser.c (cp_parser_member_declaration): A storage class is not
allowed in a declaration of an anonymous aggregate in a class scope.

/testsuite
2012-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/32054
* g++.dg/other/anon-union3.C: New.

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

12 years agoruntime: More efficient implementation of trampolines.
ian [Fri, 25 May 2012 21:51:39 +0000 (21:51 +0000)]
runtime: More efficient implementation of trampolines.

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

12 years agocompiler: Don't create a closure if not needed.
ian [Fri, 25 May 2012 21:14:40 +0000 (21:14 +0000)]
compiler: Don't create a closure if not needed.

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

12 years agolibgcc/:
ian [Fri, 25 May 2012 20:48:19 +0000 (20:48 +0000)]
libgcc/:
* config/i386/morestack.S (__morestack_non_split): Check whether
caller is varargs and needs %bp to hold the stack frame on return.
gcc/testsuite/:
* gcc.dg/split-6.c: New test.

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

12 years ago PR lto/52178
ebotcazou [Fri, 25 May 2012 20:26:11 +0000 (20:26 +0000)]
PR lto/52178
* tree-inline.c (remap_gimple_op_r): Fix handling of FIELD_DECL.
* tree.c (RETURN_TRUE_IF_VAR): Do not return true for PLACEHOLDER_EXPR.

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

12 years ago2012-05-25 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Fri, 25 May 2012 20:00:58 +0000 (20:00 +0000)]
2012-05-25  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/t-linux64: Delete the 32-bit multilib that uses
software floating point emulation.  No longer build the multilibs
with -mstrict-align.

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

12 years agoruntime: Fix cast error in print.c on 32-bit systems.
ian [Fri, 25 May 2012 18:22:01 +0000 (18:22 +0000)]
runtime: Fix cast error in print.c on 32-bit systems.

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

12 years ago PR obj-c++/53441
uros [Fri, 25 May 2012 17:29:33 +0000 (17:29 +0000)]
PR obj-c++/53441
* decl.c (grokdeclarator): Check that current_class_type is non-NULL
before calling constructor_name_p.

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

12 years ago PR middle-end/53008
aldyh [Fri, 25 May 2012 17:14:25 +0000 (17:14 +0000)]
    PR middle-end/53008
        * trans-mem.c (ipa_tm_create_version_alias): Output new_node if
        accessed indirectly.
        (ipa_tm_create_version): Same.

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

12 years ago * decl.c: Revert unwanted commit.
uros [Fri, 25 May 2012 15:09:49 +0000 (15:09 +0000)]
* decl.c: Revert unwanted commit.

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

12 years ago PR target/53474
uros [Fri, 25 May 2012 15:07:02 +0000 (15:07 +0000)]
PR target/53474
* config/i386/i386.c (ix86_print_operand) <case 'O'>: Print '.' here.
<case 'C', case 'c', case 'F', case 'f'>: Print '.' only for C and c.

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

12 years ago2012-05-21 Alexander Ivchenko <alexander.ivchenko@intel.com>
kyukhin [Fri, 25 May 2012 13:03:18 +0000 (13:03 +0000)]
2012-05-21  Alexander Ivchenko  <alexander.ivchenko@intel.com>

       PR target/53435
       * config/i386/i386.c (ix86_expand_vec_perm): Use correct op.
       (ix86_expand_vec_perm): Use int mode instead of float.
       (expand_vec_perm_pshufb): Remove handling of useseless type
       conversion.

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

12 years agoRemove any .comment sections if the first cmp failed
hjl [Fri, 25 May 2012 11:47:05 +0000 (11:47 +0000)]
Remove any .comment sections if the first cmp failed

PR bootstrap/53472
* contrib/compare-debug (remove_comment): New function.
Remove any .comment sections if the first cmp failed.

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

12 years agoFix formatting
ebotcazou [Fri, 25 May 2012 09:57:15 +0000 (09:57 +0000)]
Fix formatting

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

12 years ago PR ada/52362
ebotcazou [Fri, 25 May 2012 09:24:08 +0000 (09:24 +0000)]
PR ada/52362
* config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set gas and
gnu_ld variables to yes.
* configure.ac (HAVE_GNU_LD): Move to after config.gcc inclusion.
(HAVE_GNU_AS): Likewise.
* config.in: Regenerate.
* configure: Likewise.
ada/
* link.c (__gnat_object_file_option): Set to "-Wl,@" for GNU linker.
(__gnat_using_gnu_linker): Delete.
* gnatlink.adb (Gnatlink): Declare Object_File_Option_Ptr here...
Declare Object_File_Option string constant and Using_GNU_response_file
boolean constant.
(Process_Binder_File): ...instead of here.  Delete Using_GNU_Linker,
Opening and Closing local variables.  Do not handle the GNU linker
specially.
(Write_RF): New procedure to write into the response file.  Escape some
characters if a GNU response file is used.  Keep track of error status.
Invoke Write_RF to write into the response file.  Delete the file only
if the link was successful.
* mlib-utl.adb: Do not `with' package System.
(Gcc): Likewise.  Declare Object_File_Option string constant and
Using_GNU_response_file boolean constant.
(Write_RF): Take a string instead of address and length.  Escape some
characters if a GNU response file is used.
Invoke Write_RF to write into the response file.  Delete the file only
if the link was successful.  Do not warn if it cannot be deleted.

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

12 years agogcc/
gingold [Fri, 25 May 2012 08:58:25 +0000 (08:58 +0000)]
gcc/
2012-05-25  Tristan Gingold  <gingold@adacore.com>

* config/i386/i386.c (struct ix86_frame): Remove unused frame field.
(ix86_compute_frame_layout): Fix type of stack_alignment_needed
and preferred_alignment.

gcc/testsuite
2012-05-25  Tristan Gingold  <gingold@adacore.com>

* gcc.target/i386/large-frame.c: New.

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

12 years ago2012-05-25 Tristan Gingold <gingold@adacore.com>
gingold [Fri, 25 May 2012 08:47:07 +0000 (08:47 +0000)]
2012-05-25  Tristan Gingold  <gingold@adacore.com>

        * common/config/ia64/ia64-common.c (ia64_except_unwind_info): Fix typo.

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

12 years ago libgcc/
hainque [Fri, 25 May 2012 08:20:03 +0000 (08:20 +0000)]
    libgcc/
        * config/rs6000/vxworks/tramp.S (trampoline_setup): Use a longcall
        sequence in the non pic case on VxWorks.

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

12 years agogcc/
tschwinge [Fri, 25 May 2012 08:04:28 +0000 (08:04 +0000)]
gcc/
* fold-const.c (optimize_bit_field_compare): Abort early in the strict
volatile bitfields case.

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

12 years agoDaily bump.
gccadmin [Fri, 25 May 2012 00:17:44 +0000 (00:17 +0000)]
Daily bump.

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

12 years agoruntime: Make runtime.Stack actually work.
ian [Thu, 24 May 2012 21:07:18 +0000 (21:07 +0000)]
runtime: Make runtime.Stack actually work.

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

12 years agoPR bootstrap/53459 - unused local typedef when building on altivec
dodji [Thu, 24 May 2012 21:05:49 +0000 (21:05 +0000)]
PR bootstrap/53459 - unused local typedef when building on altivec

libcpp/

PR bootstrap/53459
* lex.c (search_line_fast): Remove unused typedef check_count.

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

12 years agoruntime: Correct definition of __go_file_line to match declaration.
ian [Thu, 24 May 2012 20:47:09 +0000 (20:47 +0000)]
runtime: Correct definition of __go_file_line to match declaration.

From Rainer Orth.

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

12 years agoruntime: Copy runtime_printf from other Go library.
ian [Thu, 24 May 2012 20:45:37 +0000 (20:45 +0000)]
runtime: Copy runtime_printf from other Go library.

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

12 years agoruntime: Copy runtime_printf from other Go library.
ian [Thu, 24 May 2012 20:44:34 +0000 (20:44 +0000)]
runtime: Copy runtime_printf from other Go library.

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

12 years ago * config/rs6000/rs6000.c (rs6000_option_override_internal): Change
pthaugen [Thu, 24 May 2012 20:28:31 +0000 (20:28 +0000)]
* config/rs6000/rs6000.c (rs6000_option_override_internal): Change
rs6000_sched_costly_dep default to true_store_to_load_dep_costly.
(adjacent_mem_locations): Move some code to and call...
(get_memref_parts): ...new function.
(mem_locations_overlap): New function.
(rs6000_adjust_priority): Adjust calls to is_load_insn/is_store_insn.
(is_mem_ref): Rename to...
(find_mem_ref): ...this. Return MEM rtx.
(get_store_dest): Remove function.
(is_load_insn1, is_load_insn, is_store_insn1, is_store_insn): Add
new parameter and adjust calls.
(rs6000_is_costly_dependence): Update calls for extra arg. Make sure
mem refs overlap for true_store_to_load_dep_costly.
(rs6000_sched_reorder2): Update calls for extra arg. Adjust args
passed to adjacent_mem_locations.
(is_costly_group): Walk resolved dependency list.
(force_new_group): Emit group ending nop for Power6/Power7.
* config/rs6000/rs6000.md (UNSPEC_GRP_END_NOP): New enum value.
(group_ending_nop): New define_insn.

* gcc.target/powerpc/lhs-1.c: New.
* gcc.target/powerpc/lhs-2.c: New.
* gcc.target/powerpc/lhs-3.c: New.

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

12 years agoPR 53456 CPU timing fallback using clock_gettime.
jb [Thu, 24 May 2012 20:19:37 +0000 (20:19 +0000)]
PR 53456 CPU timing fallback using clock_gettime.

2012-05-24  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/53456
* intrinsics/time_1.h (gf_cputime): Fallback for clock_gettime.

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

12 years agoMake unwound macro expansion trace less redundant
dodji [Thu, 24 May 2012 19:37:45 +0000 (19:37 +0000)]
Make unwound macro expansion trace less redundant

As discussed previously, the unwinder for macro expansion is quite
verbose [1].  This patch proposes to address that shortcoming.

Consider this test case:

    $ cat -n test.c
 1 #define MYMAX(A,B) __extension__ ({ __typeof__(A) __a = (A); \
 2  __typeof__(B) __b = (B); __a < __b ? __b : __a; })
 3
 4 struct mystruct {};
 5 void
 6 foo()
 7 {
 8   struct mystruct p;
 9   float f = 0.0;
10   MYMAX (p, f);
11 }
    $

The output of the compiler from trunk yields:

    $ cc1 -quiet ./test.c
    ./test.c: In function ‘foo’:
    ./test.c:2:31: error: invalid operands to binary < (have ‘struct mystruct’ and ‘float’)
      __typeof__(B) __b = (B); __a < __b ? __b : __a; })
   ^
    ./test.c:2:31: note: in expansion of macro 'MYMAX'
      __typeof__(B) __b = (B); __a < __b ? __b : __a; })
   ^
    ./test.c:10:3: note: expanded from here
       MYMAX (p, f);
       ^
    $

After this patch, the compiler yields:

    $ ./cc1 -quiet ./test.c
    ./test.c: In function ‘foo’:
    ./test.c:2:31: error: invalid operands to binary < (have ‘struct mystruct’ and ‘float’)
      __typeof__(B) __b = (B); __a < __b ? __b : __a; })
   ^
    ./test.c:10:3: note: in expansion of macro 'MYMAX'
       MYMAX (p, f);
       ^
    $

The gotcha is, in the general case, we cannot simply eliminate the
context of the macro definition.  That is, the line from the first
output that is redundant with the first diagnostic line that has
line/column number:

    ./test.c:2:31: note: in expansion of macro 'MYMAX'
      __typeof__(B) __b = (B); __a < __b ? __b : __a; })
                                   ^

We cannot simply eliminate that context of macro definition because
there are cases where the first diagnostic that has a line/column
number doesn't point to a location inside the definition of the macro
where the relevant token is used.  For instance:

    $ cat -n test2.c
 1 #define OPERATE(OPRD1, OPRT, OPRD2) \
 2   OPRD1 OPRT OPRD2;
 3
 4 #define SHIFTL(A,B) \
 5   OPERATE (A,<<,B)
 6
 7 #define MULT(A) \
 8   SHIFTL (A,1)
 9
10 void
11 g ()
12 {
13   MULT (1.0);// 1.0 << 1; <-- so this is an error.
14 }
    $

Which yields without the patch:

    $ cc1 -quiet ./test2.c
    ./test2.c: In function ‘g’:
    ./test2.c:5:14: error: invalid operands to binary << (have ‘double’ and ‘int’)
       OPERATE (A,<<,B)
  ^
    ./test2.c:2:9: note: in expansion of macro 'OPERATE'
       OPRD1 OPRT OPRD2;
     ^
    ./test2.c:5:3: note: expanded from here
       OPERATE (A,<<,B)
       ^
    ./test2.c:5:14: note: in expansion of macro 'SHIFTL'
       OPERATE (A,<<,B)
  ^
    ./test2.c:8:3: note: expanded from here
       SHIFTL (A,1)
       ^
    ./test2.c:8:3: note: in expansion of macro 'MULT'
       SHIFTL (A,1)
       ^
    ./test2.c:13:3: note: expanded from here
       MULT (1.0);// 1.0 << 1; <-- so this is an error.
       ^
    $

Here, the line that has the context of macro definition:

    ./test2.c:2:9: note: in expansion of macro 'OPERATE'
       OPRD1 OPRT OPRD2;
     ^
is useful, because the first diagnostic that has line/column number
wasn't pointing into the definition of the macro OPERATE, where the
token '<<' is used.

    ./test2.c:5:14: error: invalid operands to binary << (have ‘double’ and ‘int’)
       OPERATE (A,<<,B)
  ^
So in this this case, displaying the macro definition context is not
redundant.  I think it is even desirable.

The patch changes the output in that case to be:

    ./test2.c: In function ‘g’:
    ./test2.c:5:14: erreur: invalid operands to binary << (have ‘double’ and ‘int’)
       OPERATE (A,<<,B)
  ^
    ./test2.c:2:9: note: in definition of macro 'OPERATE'
       OPRD1 OPRT OPRD2;
     ^
    ./test2.c:8:3: note: in expansion of macro 'SHIFTL'
       SHIFTL (A,1)
       ^
    ./test2.c:13:3: note: in expansion of macro 'MULT'
       MULT (1.0);// 1.0 << 1; <-- so this is an error.
       ^
    $

It's shorter, but I believe it has all the information that was
present before the patch.

[1]: http://gcc.gnu.org/ml/gcc-patches/2012-05/msg00321.html

Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.

gcc/

Make unwound macro expansion trace less redundant
* tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Don't print
context of macro definition in the trace, when it's redundant.
Update comments.

gcc/testsuite/

Make unwound macro expansion trace less redundant
* gcc.dg/cpp/macro-exp-tracking-1.c: Adjust.
* gcc.dg/cpp/macro-exp-tracking-2.c: Likewise.
* gcc.dg/cpp/macro-exp-tracking-3.c: Likewise.
* gcc.dg/cpp/macro-exp-tracking-4.c: Likewise.
* gcc.dg/cpp/macro-exp-tracking-5.c: Likewise.
* gcc.dg/cpp/pragma-diagnostic-2.c: Likewise.

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

12 years ago2012-05-24 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 24 May 2012 15:12:37 +0000 (15:12 +0000)]
2012-05-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53464
* g++.dg/cpp0x/constexpr-default1.C: New.

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

12 years agoFix typo in latest ChangeLog entry addition.
hainque [Thu, 24 May 2012 14:58:49 +0000 (14:58 +0000)]
Fix typo in latest ChangeLog entry addition.

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

12 years ago libgcc/
hainque [Thu, 24 May 2012 14:57:11 +0000 (14:57 +0000)]
    libgcc/
        * Makefile.in: move dependency on install-unwind_h from
        "install-leaf" to "install".

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

12 years ago libgcc/
hainque [Thu, 24 May 2012 14:51:33 +0000 (14:51 +0000)]
    libgcc/
        * Makefile.in (clean): Remove libgcc_tm.stamp as well.
        Use a separate command for stamp removals.

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

12 years ago/cp
paolo [Thu, 24 May 2012 14:47:06 +0000 (14:47 +0000)]
/cp
2012-05-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/32080
* parser.c (cp_parser_ctor_initializer_opt_and_function_body,
cp_parser_function_body): Add a bool parameter, true when parsing
a function-try-block.
(cp_parser_function_try_block): Pass true to the above.
(cp_parser_function_definition_after_declarator,
cp_parser_function_transaction): Adjust.

/testsuite
2012-05-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/32080
* g++.dg/eh/goto2.C: New.

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

12 years ago2012-05-24 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 24 May 2012 12:46:53 +0000 (12:46 +0000)]
2012-05-24  Richard Guenther  <rguenther@suse.de>

PR middle-end/53460
* tree-profile.c (tree_profiling): Cleanup the CFG if
execute_fixup_cfg requests it.

* g++.dg/tree-prof/pr53460.C: New testcase.

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

12 years ago2012-05-24 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 24 May 2012 12:36:40 +0000 (12:36 +0000)]
2012-05-24  Richard Guenther  <rguenther@suse.de>

PR bootstrap/53466
* g++.dg/debug/pr53466.C: New testcase.

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

12 years ago2012-05-24 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 24 May 2012 12:33:49 +0000 (12:33 +0000)]
2012-05-24  Richard Guenther  <rguenther@suse.de>

* tree-flow.h (create_var_ann): Remove.
* tree-dfa.c (create_var_ann): Remove and inline into its
single caller ...
(add_referenced_var_1): ... here.
* varpool.c (add_new_static_var): Do not call add_referenced_var
for global vars.
* gimple-fold.c (canonicalize_constructor_val): Likewise.
* tree-switch-conversion.c (build_one_array): Likewise.
* tree-profile.c (gimple_gen_ic_profiler): Likewise.
* tree-flow-inline.h (gimple_referenced_vars): Guard against
NULL fn argument.
* tree-inline.c (remap_gimple_op_r): Likewise.  Check
gimple_referenced_vars instead of gimple_in_ssa_p.
(copy_tree_body_r): Likewise.
(setup_one_parameter): Likewise.
(declare_return_variable): Likewise.
(tree_function_versioning): Likewise.

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

12 years ago PR tree-optimization/53465
jakub [Thu, 24 May 2012 11:51:09 +0000 (11:51 +0000)]
PR tree-optimization/53465
* tree-vrp.c (extract_range_from_cond_expr): First copy_value_range
vr0 into *vr, then vrp_meet that.
(vrp_meet): If one vr type is VR_UNDEFINED, ensure the result doesn't
have any equivalences.
(vrp_visit_phi_node): Call copy_value_range instead of vrp_meet the
first time.

* gcc.c-torture/execute/pr53465.c: New test.

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

12 years ago2012-05-24 Jim MacArthur<jim.macarthur@arm.com>
mshawcroft [Thu, 24 May 2012 11:07:57 +0000 (11:07 +0000)]
2012-05-24  Jim MacArthur<jim.macarthur@arm.com>

* recog.c (reg_fits_class_p): Check both regno and regno + offset are
hard registers.
* regs.h (in_hard_reg_set_p): Assert that regno is a hard register and
check end_regno - 1 is a hard register.

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

12 years ago2012-05-24 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 24 May 2012 09:57:38 +0000 (09:57 +0000)]
2012-05-24  Richard Guenther  <rguenther@suse.de>

* varpool.c (add_new_static_var): Remove call to create_var_ann.
* tree-ssa-operands.c (create_vop_var): Likewise.

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

12 years ago2012-05-24 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 24 May 2012 09:54:25 +0000 (09:54 +0000)]
2012-05-24  Richard Guenther  <rguenther@suse.de>

PR bootstrap/53466
* tree-ssa-live.c (remove_unused_scope_block_p): Properly
handle globals.
(remove_unused_locals): Pass global_unused_vars to
remove_unused_scope_block_p.  Restore code walking all
referenced vars and pruning them.

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

12 years ago * tree.h (alias_diag_flags): Remove.
hubicka [Thu, 24 May 2012 09:44:48 +0000 (09:44 +0000)]
* tree.h (alias_diag_flags): Remove.
(alias_pair): Remove emitted_diags.
(finish_aliases_1, finish_aliases_2, remove_unreachable_alias_pairs,
symbol_alias_set_t, symbol_alias_set_destroy,
symbol_alias_set_contains, propagate_aliases_backward): Remove.
* toplev.c (compile_file): Do not call finish_aliases_2
* cgraphunit.c (cgraph_process_new_functions): Do not call finish_aliases_1.
(handle_alias_pairs): Output diagnostics about aliases to externals.
(assemble_thunks_and_aliases): Use do_assemble_alias.
(output_weakrefs): Likewise.
(finalize_compilation_unit): Do not call finish_aliases_1.
* ipa.c (symtab_remove_unreachable_nodes): De not call remove_unreachable_alias_pairs.
* varasm.c (do_assemble_alias): Export.
(symbol_alias_set_create, symbol_alias_set_destroy, symbol_alias_set_contains,
symbol_alias_set_insert, propagate_aliases_forward, propagate_aliases_backward,
propagate_aliases_backward, trivially_visible_alias, trivially_defined_alias,
remove_unreachable_alias_pairs, finish_aliases_1, finish_aliases_2,
assemble_alias): Remove.
* output.h (do_assemble_alias): Declare.
* varpool.c (varpool_remove_unreferenced_decls): Do not call finish_aliases_1.

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

12 years agoDaily bump.
gccadmin [Thu, 24 May 2012 00:18:39 +0000 (00:18 +0000)]
Daily bump.

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

12 years ago * leb128.h: #include stdint.h, inttypes.h.
devans [Wed, 23 May 2012 23:42:25 +0000 (23:42 +0000)]
* leb128.h: #include stdint.h, inttypes.h.
(read_uleb128_to_uint64): Renamed from read_uleb128_to_ull.
Change to take a uint64_t * argument instead of unsigned long long.
(read_sleb128_to_uint64): Renamed from read_sleb128_to_ll.
Change to take an int64_t * argument instead of long long.

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

12 years ago2012-05-23 Martin Jambor <mjambor@suse.cz>
jamborm [Wed, 23 May 2012 22:23:54 +0000 (22:23 +0000)]
2012-05-23  Martin Jambor  <mjambor@suse.cz>

    * ipa-inline-analysis.c (inline_merge_summary): Free operand_map.

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

12 years ago2012-05-23 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 23 May 2012 20:35:30 +0000 (20:35 +0000)]
2012-05-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51055
        PR fortran/45170
        * match.c (gfc_match_allocate): Set length_from_typespec
        for characters.
        * resolve.c (resolve_charlen): If set, don't check whether
        the len is a specification expression.

2012-05-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51055
        PR fortran/45170
        * gfortran.dg/allocate_with_typespec_6.f90: New.

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

12 years ago * gimple.c (gimple_types_compatible_p_1) <ARRAY_TYPE>: Remove bogus
ebotcazou [Wed, 23 May 2012 19:07:59 +0000 (19:07 +0000)]
* gimple.c (gimple_types_compatible_p_1) <ARRAY_TYPE>: Remove bogus
size handling.
(gimple_canonical_types_compatible_p) <ARRAY_TYPE>: Likewise.
(iterative_hash_gimple_type): Adjust comment.
(iterative_hash_canonical_type): Likewise.  Hash the bounds of the
domain for an array type instead of the domain type itself.

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

12 years agoPR 53456 clock_gettime fallback for gf_gettime
jb [Wed, 23 May 2012 18:52:47 +0000 (18:52 +0000)]
PR 53456 clock_gettime fallback for gf_gettime

2012-05-23  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/53456
* intrinsics/time_1.h (gf_gettime): Fallback for clock_gettime.

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

12 years agoIndex: gcc/tree-sra.c
wschmidt [Wed, 23 May 2012 15:53:59 +0000 (15:53 +0000)]
Index: gcc/tree-sra.c
===================================================================
--- gcc/tree-sra.c (revision 187800)
+++ gcc/tree-sra.c (working copy)
@@ -2096,9 +2096,12 @@ analyze_access_subtree (struct access *root, struc
    && (TREE_CODE (root->type) != INTEGER_TYPE
        || TYPE_PRECISION (root->type) != root->size)
    /* But leave bitfield accesses alone.  */
-   && (root->offset % BITS_PER_UNIT) == 0)
+   && (TREE_CODE (root->expr) != COMPONENT_REF
+       || !DECL_BIT_FIELD (TREE_OPERAND (root->expr, 1))))
  {
    tree rt = root->type;
+   gcc_assert ((root->offset % BITS_PER_UNIT) == 0
+       && (root->size % BITS_PER_UNIT) == 0);
    root->type = build_nonstandard_integer_type (root->size,
         TYPE_UNSIGNED (rt));
    root->expr = build_ref_for_offset (UNKNOWN_LOCATION,

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

12 years ago PR target/53448
gjl [Wed, 23 May 2012 15:25:22 +0000 (15:25 +0000)]
PR target/53448
* config/avr/avr.h (ASM_OUTPUT_ALIGN): Don't inhibit .p2align 1.
* config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Use
ASM_OUTPUT_ALIGN.

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

12 years ago/cp
paolo [Wed, 23 May 2012 14:19:27 +0000 (14:19 +0000)]
/cp
2012-05-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/29185
* decl2.c (delete_sanity): Extend 'deleting array' warning to
any array type.

/testsuite
2012-05-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/29185
* g++.dg/warn/delete-array-1.C: New.

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

12 years ago2012-05-23 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 23 May 2012 12:25:41 +0000 (12:25 +0000)]
2012-05-23  Richard Guenther  <rguenther@suse.de>

* tree-dfa.c (add_referenced_var_1): Do not add global vars.
* tree-ssa-live.c (mark_all_vars_used_1): Handle global vars
via the global_unused_vars bitmap.
(remove_unused_locals): Handle global vars in local-decls via
a global_unused_vars bitmap instead of the used flag in the
var annotation.  Simplify global variable handling and removal.

* gcc.dg/torture/pr39074-2.c: Adjust.
* gcc.dg/torture/pr39074.c: Likewise.
* gcc.dg/torture/pta-structcopy-1.c: Likewise.
* gcc.dg/tree-ssa/alias-19.c: Likewise.

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

12 years ago PR middle-end/53426
hubicka [Wed, 23 May 2012 09:47:10 +0000 (09:47 +0000)]
PR middle-end/53426
* tree-ssa-structalias.c (create_variable_info_for): Skip constructors from
other partitions.

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

12 years ago PR middle-end/53161
hubicka [Wed, 23 May 2012 09:23:40 +0000 (09:23 +0000)]
PR middle-end/53161
* symtab.c (symtab_register_node): Fix ordering issue.

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

12 years ago2012-05-23 Robert Mason <rbmj@verizon.net>
burnus [Wed, 23 May 2012 08:52:09 +0000 (08:52 +0000)]
2012-05-23  Robert Mason  <rbmj@verizon.net>
            Tobias Burnus  <burnus@net-b.de>

        PR libfortran/53445
        * intrinsics/chmod.c (chmod_func): Ignore S_ISVTX on VxWorks.

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

12 years ago2012-05-23 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 23 May 2012 08:34:06 +0000 (08:34 +0000)]
2012-05-23  Tobias Burnus  <burnus@net-b.de>

        PR libfortran/53444
        * acinclude.m4 (LIBGFOR_CHECK_STRERROR_R): Add configure checks
        * for
        two- and three-argument versions of strerror_r.
        * configure.ac (LIBGFOR_CHECK_STRERROR_R): Use it.
        * runtime/error.c (gf_strerror): Handle two-argument version
        of strerror_r.
        * config.h.in: Regenerate.
        * configure: Regenerate.

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

12 years agoDaily bump.
gccadmin [Wed, 23 May 2012 00:18:38 +0000 (00:18 +0000)]
Daily bump.

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

12 years ago PR other/53231
danglin [Tue, 22 May 2012 23:54:32 +0000 (23:54 +0000)]
PR other/53231
* tas_n.c (libat_test_and_set): Correct return.  Remove unused variable.

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

12 years agoruntime: Tweak runtime.Callers for Go 1 compatibility.
ian [Tue, 22 May 2012 21:52:56 +0000 (21:52 +0000)]
runtime: Tweak runtime.Callers for Go 1 compatibility.

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

12 years ago * leb128.h: New file.
devans [Tue, 22 May 2012 17:47:49 +0000 (17:47 +0000)]
* leb128.h: New file.

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

12 years agoruntime: Use getcontext, not setjmp, to save regs for GC.
ian [Tue, 22 May 2012 16:57:23 +0000 (16:57 +0000)]
runtime: Use getcontext, not setjmp, to save regs for GC.

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

12 years ago2012-05-22 Steven Drake <sbd@NetBSD.org>
jsm28 [Tue, 22 May 2012 15:17:55 +0000 (15:17 +0000)]
2012-05-22  Steven Drake <sbd@NetBSD.org>

* gcc.c (do_spec_1): Add %M spec token to output multilib_os_dir.

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

12 years ago* config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_table_ref):
dje [Tue, 22 May 2012 14:15:51 +0000 (14:15 +0000)]
* config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_table_ref):
Use strip_name_encoding target hook.

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

12 years ago http://sourceware.org/bugzilla/show_bug.cgi?id=14065
tromey [Tue, 22 May 2012 13:55:02 +0000 (13:55 +0000)]
sourceware.org/bugzilla/show_bug.cgi?id=14065
* testsuite/demangle-expected: Add regression test.
* cp-demangle.c (d_find_pack): Return NULL for
DEMANGLE_COMPONENT_UNNAMED_TYPE.

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

12 years ago2012-05-22 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 22 May 2012 11:59:41 +0000 (11:59 +0000)]
2012-05-22  Richard Guenther  <rguenther@suse.de>

* tree.h (VAR_DECL_IS_VIRTUAL_OPERAND): New.
(init_function_for_compilation): Remove.
* tree-dfa.c (find_vars_r): Take struct function argument.
(find_referenced_vars_in): Adjust.
* tree-ssa-operands.c (clobber_stats): Remove.
(create_vop_var): Take struct function argument.  Mark
virtual operand with VAR_DECL_IS_VIRTUAL_OPERAND.
(init_ssa_operands): Take struct function argument.
(fini_ssa_operands): Do not dump dead stats.
* tree-ssa-operands.h (init_ssa_operands): Take struct function
argument.
* cgraphunit.c (init_lowered_empty_function): Adjust.
* lto-streamer-in.c (input_cfg): Likewise.
* tree-inline.c (initialize_cfun): Likewise.
* tree-into-ssa.c (rewrite_into_ssa): Likewise.
* omp-low.c (expand_omp_taskreg): Likewise.  Avoid switching
cfun.
* gimple.c (is_gimple_reg): Optimize the SSA_NAME case,
virtual operands are not registers.

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

12 years ago2012-05-22 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 22 May 2012 11:21:30 +0000 (11:21 +0000)]
2012-05-22  Richard Guenther  <rguenther@suse.de>

* tree-cfg.c (verify_gimple_assign_unary): Fix typo in previous
commit.

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

12 years ago2012-05-22 Tobias Burnus <burnus@net-b.de>
burnus [Tue, 22 May 2012 10:10:47 +0000 (10:10 +0000)]
2012-05-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53389
        * trans-array.c (gfc_add_loop_ss_code): Don't evaluate
        * expression, if
        ss->is_alloc_lhs is set.

2012-05-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53389
        * gfortran.dg/realloc_on_assign_15.f90: New.

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

12 years ago2012-05-22 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 22 May 2012 09:35:32 +0000 (09:35 +0000)]
2012-05-22  Richard Guenther  <rguenther@suse.de>

PR middle-end/51071
* gcc.dg/torture/pr51071-2.c: New testcase.

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

12 years ago2012-05-22 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 22 May 2012 09:33:42 +0000 (09:33 +0000)]
2012-05-22  Richard Guenther  <rguenther@suse.de>

PR middle-end/53437
* tree-inline.c (setup_one_parameter): Create a dummy init
statement for unused parameters when not optimizing.

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

12 years ago2012-05-22 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 22 May 2012 09:33:01 +0000 (09:33 +0000)]
2012-05-22  Richard Guenther  <rguenther@suse.de>

* tree-flow.h (add_referenced_var_1): Declare.
(add_referenced_var): Define.
* tree-dfa.c (referenced_var_check_and_insert): Avoid one hash
lookup.
(add_referenced_var): Rename to ...
(add_referenced_var_1): ... this.  Take struct function argument.

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

12 years agoFix PR target/53334
ramana [Tue, 22 May 2012 09:06:55 +0000 (09:06 +0000)]
Fix PR target/53334

2012-05-22  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

PR target/53334
* config/arm/arm-protos.h (arm_validize_comparison): Declare.
* config/arm/arm.c (arm_validize_comparison): Define.
* config/arm/arm.md ("cbranchsi4"): Cleanup expansion and use
arm_validize_comparison.
("cbranchdi4"): Likewise.
("cstoredi4"): Likewise.
("movsicc"): Likewise.
("movsfcc"): Likewise.
("movdfcc"): Likewise.

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

12 years ago2012-05-22 Dimitrios Apostolou <jimis@gmx.net>
bonzini [Tue, 22 May 2012 08:35:32 +0000 (08:35 +0000)]
2012-05-22  Dimitrios Apostolou  <jimis@gmx.net>

* df-scan.c (df_scan_alloc): Round up allocation pools size, reduce
the mw_reg_pool size.

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

12 years agogcc:
bonzini [Tue, 22 May 2012 08:31:52 +0000 (08:31 +0000)]
gcc:
2012-05-16  Paolo Bonzini  <bonzini@gnu.org>

PR tree-optimization/53336
* tree-cfg.c (verify_gimple_assign_unary): Allow conversion from
non-integer integral types to offset type and vice versa.

gcc/testsuite:
2012-05-16  Paolo Bonzini  <bonzini@gnu.org>

PR tree-optimization/53336
* g++.dg/torture/pr53336.C: New testcase.

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

12 years agofix paths in previous ChangeLog entry
bonzini [Tue, 22 May 2012 08:29:10 +0000 (08:29 +0000)]
fix paths in previous ChangeLog entry

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

12 years agoPR c++/53322 - -Wunused-local-typedefs is not enabled by Wall or Wunused
dodji [Tue, 22 May 2012 03:50:26 +0000 (03:50 +0000)]
PR c++/53322 - -Wunused-local-typedefs is not enabled by Wall or Wunused

As the audit trail of this shows, -Wunused-local-typedefs is not
turned on by -Wunused after all.  Sigh.

Now that we have the EnabledBy construct for the *.opt files, it's
more precise and concise to use that to make -Wunused-local-typedefs
be triggered by -Wunused.

I have changed the gcc+.dg/warn/Wunused-local-typedefs.C test case to
make it use -Wunused instead of -Wunused-local-typedefs.  I had to
adjust it to avoid the warnings due to the other -W* options triggered
by -Wunused there.

While testing the compiler, it turned out that some local typedefs
were not being used when the experimental "Concepts" support is turned
off, in the libstdc++ test suite.  I also had to remove some obvious
useless local typedef usage in the fortran front-end.  Fixed thus.

Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.

gcc/c-family/

PR c++/53322
* c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).

libstdc++-v3/

PR c++/53322
* include/bits/stl_algobase.h (lower_bound)
(lexicographical_compare): Do not declare unused local typedefs
here when Concepts are turned off.

gcc/fortran/

PR c++/53322
* f95-lang.c (gfc_init_builtin_functions): Remove the unused
typedef builtin_type.

gcc/testsuite/

PR c++/53322
* g++.dg/warn/Wunused-local-typedefs.C: Adjust to use -Wunused
instead of -Wunused-local-typedefs.

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

12 years agoDaily bump.
gccadmin [Tue, 22 May 2012 00:18:48 +0000 (00:18 +0000)]
Daily bump.

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

12 years ago2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 21 May 2012 23:40:55 +0000 (23:40 +0000)]
2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/22_locale/num_put/put/char/9780-2.cc: Avoid -Wall warnings.
* testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
* Likewise.
* testsuite/23_containers/unordered_map/observers.cc: Likewise.
* testsuite/23_containers/unordered_map/erase/1.cc: Likewise.
* testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
* testsuite/23_containers/unordered_multimap/erase/2.cc: Likewise.
* testsuite/23_containers/unordered_multimap/insert/53115.cc: Likewise.
* testsuite/23_containers/unordered_multimap/observers.cc: Likewise.
* testsuite/23_containers/vector/debug/alloc_prop.cc: Likewise.
* testsuite/23_containers/unordered_set/observers.cc: Likewise.
* testsuite/23_containers/unordered_set/erase/1.cc: Likewise.
* testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
* testsuite/23_containers/unordered_multiset/erase/2.cc: Likewise.
* testsuite/23_containers/unordered_multiset/insert/53115.cc: Likewise.
* testsuite/23_containers/unordered_multiset/insert/multiset_range.cc:
* Likewise.
* testsuite/23_containers/unordered_multiset/observers.cc: Likewise.

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

12 years ago * aix.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Delete.
amodra [Mon, 21 May 2012 22:55:09 +0000 (22:55 +0000)]
* aix.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Delete.
* darwin.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Delete.
* sysv4.h (FP_SAVE_INLINE, GP_SAVE_INLINE, V_SAVE_INLINE): Delete.
* config/rs6000/rs6000.c (V_SAVE_INLINE): Delete.
(rs6000_savres_strategy): Reimplement GP/FP/V_SAVE_INLINE logic.
For ELF targets, use out-of-line restores for -Os and any number
of regs if the restore exits, and out-of-line gp save for two or
more regs.  Use save_reg_p to test for holes in reg restore set.
Replace "#if" with "if".

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

12 years ago * config/rs6000/rs6000.c (save_reg_p): New function.
amodra [Mon, 21 May 2012 22:51:38 +0000 (22:51 +0000)]
* config/rs6000/rs6000.c (save_reg_p): New function.
(first_reg_to_save, first_fp_reg_to_save): Use it here.
(first_altivec_reg_to_save, restore_saved_cr): Likewise.
(emit_frame_save): Use gen_frame_store.
(gen_frame_mem_offset): Correct SPE condition requiring reg+reg.
(rs6000_emit_prologue): Use save_reg_p.  Use gen_frame_store for
vrsave and toc.
(rs6000_emit_epilogue): Use save_reg_p.  Use gen_frame_load for
vrsave, toc, gp and fp restores.

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

12 years ago * config/rs6000/rs6000.c: Delete unnecessary forward declarations.
amodra [Mon, 21 May 2012 22:49:51 +0000 (22:49 +0000)]
* config/rs6000/rs6000.c: Delete unnecessary forward declarations.
Move those with ATTRIBUTE_UNUSED to immediately before definitions.
Move function pointer variables after forward declarations.
(rs6000_builtin_support_vector_misalignment): Make static.
(rs6000_legitimate_address_p, rs6000_gimplify_va_arg): Likewise.
(rs6000_function_value, rs6000_can_eliminate): Likewise.

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

12 years ago2012-05-21 Patrick Marlier <patrick.marlier@gmail.com>
pmarlier [Mon, 21 May 2012 22:48:00 +0000 (22:48 +0000)]
2012-05-21  Patrick Marlier  <patrick.marlier@gmail.com>

* eh_cpp.cc: Fix __cxa_end_catch declaration.

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

12 years ago2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 21 May 2012 22:17:54 +0000 (22:17 +0000)]
2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53361
* testsuite/23_containers/array/cons/53361.cc: New.

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

12 years ago PR rtl-optimization/53373
bernds [Mon, 21 May 2012 21:37:01 +0000 (21:37 +0000)]
PR rtl-optimization/53373
* caller-save.c (save_call_clobbered_regs): Look into a possible
PARALLEL manually rather than using single_set on a call insn.

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

12 years ago PR tree-optimization/53436
jakub [Mon, 21 May 2012 21:05:33 +0000 (21:05 +0000)]
PR tree-optimization/53436
* omp-low.c (omp_build_component_ref): New function.
(build_receiver_ref, build_sender_ref, create_task_copyfn): Use it.

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

12 years ago * config/i386/i386.c (put_condition_code): Change "reverse" and "fp"
uros [Mon, 21 May 2012 19:32:55 +0000 (19:32 +0000)]
* config/i386/i386.c (put_condition_code): Change "reverse" and "fp"
arguments to bool.
(ix86_print_operand) <case 'O'>: Look at mode size of the operand.
Do not print '.' here.  Output operand lossage error for unhandled
sizes.  Move.
<case '*'>: Move.
<case '&'>: Ditto.
<case 'Y'>: Ditto.
<case 'z'>: Hardcode "code" argument into error strings.
<case 'Z'>: Ditto.
<case 'D'>: Merge AVX and non-AVX codes.
<case 'C', case 'c', case 'F', case 'f'>: Merge.  Fix error string.
Update call to put_condition_code.

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

12 years ago2012-05-21 Andrew Pinski <apinski@cavium.com>
pinskia [Mon, 21 May 2012 18:56:35 +0000 (18:56 +0000)]
2012-05-21  Andrew Pinski  <apinski@cavium.com>

        PR bootstrap/53183
        * configure.ac: Define the default includes to being none.
        * configure: Regenerate.

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

12 years ago* config/m68k/m68k.md (*clzsi2_cf): Renamed from clzsi2. Call
schwab [Mon, 21 May 2012 18:43:27 +0000 (18:43 +0000)]
* config/m68k/m68k.md (*clzsi2_cf): Renamed from clzsi2.  Call
CC_STATUS_INIT.
(clzsi2): New expander.
(*clzsi2_68k): New insn.
* config/m68k/m68k.h: Update comment about
CLZ_DEFINED_VALUE_AT_ZERO.

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

12 years ago * gimple.h (gimple_set_in_transaction): Remove.
aldyh [Mon, 21 May 2012 18:02:17 +0000 (18:02 +0000)]
    * gimple.h (gimple_set_in_transaction): Remove.
        (gimple_in_transaction): Look in BB instead.
        (gimple_statement_base): Remove in_transaction field.
        * basic-block.h (enum bb_flags): Add BB_IN_TRANSACTION.
        * trans-mem.c (compute_transaction_bits): Place transaction bit
        information into basic blocks.

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

12 years ago2012-05-21 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Mon, 21 May 2012 17:34:25 +0000 (17:34 +0000)]
2012-05-21  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/52700
        * configure.ac: Allow gnu, gnu-versioned-namespace for
        --enable-symvers arguments.
        * configure: Regenerate.

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

12 years ago* expr.c (get_def_for_expr_class): Define only if
schwab [Mon, 21 May 2012 17:21:44 +0000 (17:21 +0000)]
* expr.c (get_def_for_expr_class): Define only if
HAVE_conditional_move.
(convert_tree_comp_to_rtx): Likewise.

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

12 years ago PR java/52815
danglin [Mon, 21 May 2012 16:27:40 +0000 (16:27 +0000)]
PR java/52815
* class.c (emit_register_classes_in_jcr_section): Revise placement
of #ifdef JCR_SECTION_NAME.

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

12 years agoFix PR number in ChangeLogs.
jsm28 [Mon, 21 May 2012 16:01:01 +0000 (16:01 +0000)]
Fix PR number in ChangeLogs.

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

12 years ago PR target/53399
uros [Mon, 21 May 2012 15:46:25 +0000 (15:46 +0000)]
PR target/53399
* config/i386/i386.md (ffs<mode>2): Generate CCCmode compare
for TARGET_BMI.
(ffssi2_no_cmove): Ditto.
(*ffs<mode>_1): Remove insn pattern.
(*tzcnt<mode>_1): New insn pattern.
(*bsf<mode>1): Ditto.

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

12 years ago/cp
paolo [Mon, 21 May 2012 15:12:13 +0000 (15:12 +0000)]
/cp
2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51184
* decl.c (grokdeclarator): Diagnose functions returning abstract
class types as TYPENAME.
* cp-tree.h (ABSTRACT_CLASS_TYPE_P): Add.
* except.c (is_admissible_throw_operand_or_catch_parameter): Use it.
* pt.c (tsubst): Likewise.
* semantics.c (trait_expr_value): Likewise.

/testsuite
2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51184
* g++.dg/other/abstract4.C: New-

/cp
2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/40821
* parser.c (cp_parser_attributes_opt): Enforce error checking of
unbalanced parentheses in the presence of tentative parsing.

/testsuite
2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/40821
* g++.dg/ext/attrib46.C: New.

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

12 years ago2012-05-21 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 21 May 2012 14:53:21 +0000 (14:53 +0000)]
2012-05-21  Richard Guenther  <rguenther@suse.de>

* tree-dfa.c (add_referenced_var): Do not walk DECL_INITIAL for
more referenced vars.
* tree-ssa-live.c (mark_all_vars_used_1): Only set the used
flag on variables that have a var-annotation.

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

12 years ago PR c/53148
jsm28 [Mon, 21 May 2012 14:42:26 +0000 (14:42 +0000)]
PR c/53148
* c-typeck.c (build_conditional_expr): Remove C_MAYBE_CONST_EXPR
from folded operands before wrapping another around the
conditional expression.

testsuite:
* gcc.c-torture/compile/pr53418-1.c,
gcc.c-torture/compile/pr53418-2.c: New tests.

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

12 years ago PR tree-optimization/53366
jakub [Mon, 21 May 2012 14:29:11 +0000 (14:29 +0000)]
PR tree-optimization/53366
* tree-vect-slp.c (vect_supported_load_permutation_p): Don't shortcut
tests if complex_numbers == 2, but there are non-complex number loads
too.

* gcc.dg/torture/pr53366-1.c: New test.
* gcc.dg/torture/pr53366-2.c: New test.
* gcc.target/i386/pr53366-1.c: New test.
* gcc.target/i386/pr53366-2.c: New test.

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

12 years ago PR tree-optimization/53409
jakub [Mon, 21 May 2012 14:27:10 +0000 (14:27 +0000)]
PR tree-optimization/53409
* tree-vect-loop.c (vect_analyze_loop_operations): Don't check
vinfo_for_stmt (op_def_stmt) if op_def_stmt isn't inside loop.

* gcc.c-torture/compile/pr53409.c: New test.

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