[Bug tree-optimization/52631] New: VN does not use simplified expression for lookup

2012-03-20 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52631

 Bug #: 52631
   Summary: VN does not use simplified expression for lookup
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: pins...@gcc.gnu.org


Take:
unsigned f(unsigned a)
{
  unsigned b = a  31;
  return b1;
}

--- CUT ---
Even though we have a simplified expression of a31 for b, VN does not use it.
SCC consists of: a_1(D)
Setting value number of a_1(D) to a_1(D)
SCC consists of: b_2
Value numbering b_2 stmt = b_2 = a_1(D)  31;
Setting value number of b_2 to b_2 (changed)
SCC consists of: D.1708_3
Value numbering D.1708_3 stmt = D.1708_3 = b_2  1;
RHS b_2  1 simplified to a_1(D)  31 has constants 1
Setting value number of D.1708_3 to D.1708_3 (changed)

This is a regression from 4.3.


[Bug tree-optimization/52631] [4.6/4.7/4.8 Regression] VN does not use simplified expression for lookup

2012-03-20 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52631

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Keywords||missed-optimization
   Last reconfirmed||2012-03-20
 AssignedTo|unassigned at gcc dot   |pinskia at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1
Summary|VN does not use simplified  |[4.6/4.7/4.8 Regression] VN
   |expression for lookup   |does not use simplified
   ||expression for lookup
   Target Milestone|--- |4.7.1

--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org 2012-03-20 
06:09:18 UTC ---
I am working on a fix.  Note I did not find this because a performance issue
but rather I found this while working on my gimple SSA combiner/simplifer
patches.


[Bug tree-optimization/52631] [4.6/4.7/4.8 Regression] VN does not use simplified expression for lookup

2012-03-20 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52631

--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2012-03-20 
06:57:51 UTC ---
Created attachment 26927
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26927
Patch which fixes the problem


[Bug c++/52625] Incorrect specialization semantics of friend class template declaration

2012-03-20 Thread tsoae at mail dot ru
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52625

Nikolka tsoae at mail dot ru changed:

   What|Removed |Added

 CC||tsoae at mail dot ru

--- Comment #1 from Nikolka tsoae at mail dot ru 2012-03-20 07:34:03 UTC ---
G++ issues the same diagnostic message for the following example:

templateclass
class base {};

class derived : public basederived
{
// error: specialization of 'basederived' after instantiation
templateclass
friend class basederived;
};

It seems that in the original example g++ incorrectly treats the
injected-class-name ::basederived::base as template specialization
basederived, while according to 14.6.1/1 it shall be refer to class template
base. Note that g++ does not issue an error in the following case:

templateclass
class base {};

class derived : public basederived
{
templateclass
friend class ::base;
};

int main() {}


[Bug middle-end/37780] Conditional expression with __builtin_clz() should be optimized out

2012-03-20 Thread amker.cheng at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37780

--- Comment #2 from amker.cheng amker.cheng at gmail dot com 2012-03-20 
07:58:09 UTC ---
the special case could be easily detected when gimplifying.
but actually I am not sure whether it can be done even in middle end, since the
middle end should not depend on any target information, like
CLZ_DEFINED_VALUE_AT_ZERO, right?


[Bug fortran/52606] Confusing diagnostics for long identifiers

2012-03-20 Thread jb at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52606

Janne Blomqvist jb at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jb at gcc dot gnu.org

--- Comment #3 from Janne Blomqvist jb at gcc dot gnu.org 2012-03-20 08:30:08 
UTC ---
(In reply to comment #1)
 Ideally, we'd just accept long identifiers, but the maximum name length is
 hard-coded (GFC_MAX_SYMBOL_LEN) and already way too large. I want to change
 this to string pointers (probably using a string pool, maybe the GCC common
 implementation, TBD).

Like Steve says, the Fortran standard puts an upper limit on the length of
valid identifiers. For F95 that's 31 characters, for newer standards this has
been bumped up to 63, which is the reason for the value of the
GFC_MAX_SYMBOL_LEN macro. So regardless of whether the strings are internally
stored in statically or dynamically sized buffers, we need to generate an error
for identifiers that exceed the limit.

For BIND(C) binding labels, I did basically the change you're proposing,
switching from static arrays to storing the labels in the symbol table. But
that is slightly different, as bind(C) binding labels are not Fortran
identifiers, and are thus allowed to be arbitrarily long. See PR 51808.

Finally, before attacking static GFC_MAX_SYMBOL_LEN buffers, I suggest getting
rid of static buffers of GFC_MAX_MANGLED_SYMBOL_LEN size. We should get rid of
that macro altogether. Also, FWIW, the value for that macro is too small at the
moment, as it's easy to construct examples were the mangled name exceeds that
value. See e.g. PR 51802 for inspiration. ;-)


[Bug fortran/52622] ICE in gfortran 4.6.3, x86_64

2012-03-20 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52622

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

  Attachment #26922|application/octet-stream|text/plain
  mime type||

--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2012-03-20 
08:34:26 UTC ---
Comment on attachment 26922
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26922
delta-reduced testcase

With GCC 4.8 I don't get an ICE. (I cannot test 4.6 at the moment.)


[Bug fortran/52621] ICE when compiling Fortran77 code with optimization

2012-03-20 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52621

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org 2012-03-20 
08:38:27 UTC ---
Seems to work without ICE using GCC 4.8 (on x86-64-linux) with your options. (I
can currently not test 4.6).

You could try a newer version to see whether it has been fixed in the mean
time. See for instance http://gcc.gnu.org/wiki/GFortranBinaries


[Bug fortran/51802] [OOP] Duplicate mangling for OOP symbols

2012-03-20 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51802

--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2012-03-20 
08:42:11 UTC ---
That that changing this will break the ABI. Thus, it can only be done when we
have to break the ABI. That will happen for the new array descriptor.

(This bug is listed at http://gcc.gnu.org/wiki/LibgfortranAbiCleanup)


[Bug c++/52625] Incorrect specialization semantics of friend class template declaration

2012-03-20 Thread daniel.kruegler at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52625

--- Comment #2 from Daniel Krügler daniel.kruegler at googlemail dot com 
2012-03-20 08:41:48 UTC ---
(In reply to comment #1)
If this is indeed related to the injected-class-name, this should have been
clarified by

http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1004

to not apply in this case.


[Bug c/52632] New: GCC compfail on O0

2012-03-20 Thread vbyakovl23 at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52632

 Bug #: 52632
   Summary: GCC compfail on O0
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: vbyakov...@gmail.com


Test case a.c gives following compfail when compiling with O0

gcc –O0 –c a.c
a.c: In function 'foo':
a.c:4:1: error: size of unnamed array is negative

For higher opt level it's ok.
gcc version 4.8.0 20120319 (experimental) (GCC)

The failure happened because FE on –O0 replaces builtin call by zero if it is
not folded. See gcc/builtins.c, fold_builtin_1(), line 10270
  switch (fcode)
{
case BUILT_IN_CONSTANT_P:
  { 
tree val = fold_builtin_constant_p (arg0);

/* Gimplification will pull the CALL_EXPR for the builtin out of
   an if condition.  When not optimizing, we'll not CSE it back.
   To avoid link error types of regressions, return false now.  */
if (!val  !optimize)
  val = integer_zero_node;

return val;
  }

It may be fixed by a patch that disabled error message in case of not optimize. 

diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 160d393..1ba3f51 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -5345,7 +5345,7 @@ grokdeclarator (const struct c_declarator *declarator,
if (TREE_CODE (size) == INTEGER_CST  size_maybe_const)
  {
constant_expression_warning (size);
-   if (tree_int_cst_sgn (size)  0)
+   if ((pedantic || optimize)  tree_int_cst_sgn (size)  0)
  {
if (name)
  error_at (loc, size of array %qE is negative,
name);


[Bug tree-optimization/52633] New: Compiler ICE in vect_is_simple_use_1 (ARM)

2012-03-20 Thread juha.kallioinen at nokia dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52633

 Bug #: 52633
   Summary: Compiler ICE in vect_is_simple_use_1 (ARM)
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: juha.kallioi...@nokia.com


Created attachment 26928
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26928
Failing test case

Here's another instance of the failure that has been reported before.

The attached test case fails when built with -O1 -ftree-vectorize -mfpu=neon

This was tested with a compiler built from gcc-4.7-20120225.tar.bz2 sources.

...
bin/armv7hl-pc-linux-gnueabi-gcc -O1 -ftree-vectorize -mfpu=neon
minimal-testcase.i -c
minimal-testcase.i: In function 'lsp_quant_nb':
minimal-testcase.i:14:6: internal compiler error: in vect_is_simple_use_1, at
tree-vect-stmts.c:6057
Please submit a full bug report,
with preprocessed source if appropriate.
...

This does not fail with gcc 4.6.3.


[Bug c/52632] GCC compfail on O0

2012-03-20 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52632

--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org 2012-03-20 
09:09:14 UTC ---
Testcase?


[Bug fortran/52606] Confusing diagnostics for long identifiers

2012-03-20 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52606

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #4 from Tobias Burnus burnus at gcc dot gnu.org 2012-03-20 
09:10:13 UTC ---
(In reply to comment #3)
 Finally, before attacking static GFC_MAX_SYMBOL_LEN buffers, I suggest getting
 rid of static buffers of GFC_MAX_MANGLED_SYMBOL_LEN size. We should get rid of
 that macro altogether. Also, FWIW, the value for that macro is too small at
 the moment, as it's easy to construct examples were the mangled name exceeds
 that value. See e.g. PR 51802 for inspiration. ;-)

Indeed, one can construct examples which exceed the length: Namely module
procedures or module variables. The problem is that GFC_MAX_MANGLED_SYMBOL_LEN
allows for GFC_MAX_SYMBOL_LEN*2+4 = 130 characters but one has the prefix __
plus _MOD_ which is not 4 but 7 characters long. Thus, if one goes to the
limit, one can create symbols which have the same mangled name. Though, using
both the maximal length for the module name and for the symbol name is a very
constructed example.

On the other hand, PR 51802 does not inspire at all: That PR is about
polymorphism-related names. And those are hashed if they don't fit.


Example

module Very_long_module_name_having_a_length_of_63_characters_really_x
contains
subroutine an_extremely_long_subroutine_name_which_looks_rather_ugly123456
contains
subroutine an_extremely_long_internal_subroutine_name_which_looks_ugly
  type plus_a_very_very_very_long_type_name_of_almost_the_same_length
  end type
class(plus_a_very_very_very_long_type_name_of_almost_the_same_length), 
  allocatable :: t
end subroutine
end subroutine
end module


According to nm, one then gets the following symbols - the last one should
end in 123456 but only ends in 123.

__very_long_module_name_having_a_length_of_63_characters_really_x_MOD___copy_1169DDF
__very_long_module_name_having_a_length_of_63_characters_really_x_MOD___def_init_1169DDF
__very_long_module_name_having_a_length_of_63_characters_really_x_MOD___vtab_1169DDF
__very_long_module_name_having_a_length_of_63_characters_really_x_MOD_an_extremely_long_subroutine_name_which_looks_rather_ugly123


[Bug target/52607] v4df __builtin_shuffle with {0,2,1,3} or {1,3,0,2}

2012-03-20 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52607

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-03-20
 Ever Confirmed|0   |1

--- Comment #12 from Jakub Jelinek jakub at gcc dot gnu.org 2012-03-20 
09:17:41 UTC ---
Testing the 3 patches now (AVX2 improvements, expand_vselect and #c8 with
further comments).  For 3/4 insn sequences, I agree with the proposal to
attempt to handle d-op0 == d-op1 cross-lane shuffles as two operand in-lane
shuffles
after vperm2f128 swapping the lanes.  Two insn expanders could be groupped into
expand_vec_perm_2 and three insn expanders into expand_vec_perm_3.
We need to write some further 2 and 3 insn in-lane expanders though, as shown
by:
typedef double V4DF __attribute__((vector_size (4 * sizeof (double;
typedef long V4DI __attribute__((vector_size (4 * sizeof (long;

#define A(a, b, c, d) \
__attribute__((noinline, noclone)) V4DF \
f##a##b##c##d (V4DF x, V4DF y) \
{\
  V4DI m = { a, b, c, d }; \
  return __builtin_shuffle (x, y, m); \
}
#define B(b, c, d) A(0, b, c, d) A(1, b, c, d) A(4, b, c, d) A(5, b, c, d)
#define C(c, d) B(0, c, d) B(1, c, d) B(4, c, d) B(5, c, d)
#define D(d) C(2, d) C(3, d) C(6, d) C(7, d)
#define E D(2) D(3) D(6) D(7)
E

int
main ()
{
  V4DF x = { 0.5, 1.5, 2.5, 3.5 }, y = { 4.5, 5.5, 6.5, 7.5 }, z;
#undef A
#define A(a, b, c, d) \
  z = f##a##b##c##d (x, y); \
  if (z[0] != a + .5 || z[1] != b + .5 || z[2] != c + .5 || z[3] != d + .5) \
__builtin_abort ();
  E
  return 0;
}


[Bug bootstrap/52601] Gcc build fails at Making all in tools with find: bad option -path and find: path-list predicate-list

2012-03-20 Thread birender.singh at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52601

--- Comment #3 from birender.singh at hotmail dot com 2012-03-20 09:26:01 UTC 
---
Thanks Eric Botcazou for the valuable suggestion.

I downloaded,findutils-4.4.0.tar from gnu website, compiled and installed on my
machine.


After the installation of gnu find i compiled gcc-4.4.4 again. This time it
took more then 4 hour to compile, and at last throws error as mentioned below,
But still i installed this and checked the binnaries, found all the required
binnaries were available at prefixed location. Currentlly am able to use this
gcc and g++ binnaries but not sure about the complete compilation and
installation of gcc-4.4.4

Is this correct or should i again compiled gcc-4.4.4 to get complete successful
compilation ?

. 
.
.
.
libtool: link: ranlib .libs/libgfortran.a
libtool: link: ( cd .libs  rm -f libgfortran.la  ln -s
../libgfortran.la libgfortran.la )
true  DO=all multi-do # make
make[6]: Leaving directory
`/els/install/gccbuild/gcc4/sparc-sun-solaris2.9/sparcv9/libgfortran'
make[5]: Leaving directory
`/els/install/gccbuild/gcc4/sparc-sun-solaris2.9/sparcv9/libgfortran'
make[4]: Leaving directory
`/els/install/gccbuild/gcc4/sparc-sun-solaris2.9/libgfortran'
make[3]: Leaving directory
`/els/install/gccbuild/gcc4/sparc-sun-solaris2.9/libgfortran'
make[2]: Leaving directory
`/els/install/gccbuild/gcc4/sparc-sun-solaris2.9/libgfortran'
Checking multilib configuration for boehm-gc...
Configuring in sparc-sun-solaris2.9/boehm-gc
configure: loading cache ./config.cache
configure: error: `CXX' has changed since the previous run:
configure:   former value:  `/els/install/gccbuild/gcc4/./gcc/g++
-B/els/install/gccbuild/gcc4/./gcc/ -nostdinc++ 
-L/els/install/gccbuild/gcc4/sparc-sun-solaris2.9/libstdc++-v3/src
-L/els/install/gccbuild/gcc4/sparc-sun-solaris2.9/libstdc++-v3/src/.libs
-B/els/install/biru/local/gcc/sparc-sun-solaris2.9/bin/
-B/els/install/biru/local/gcc/sparc-sun-solaris2.9/lib/ -isystem
/els/install/biru/local/gcc/sparc-sun-solaris2.9/include -isystem
/els/install/biru/local/gcc/sparc-sun-solaris2.9/sys-include'
configure:   current value: `/els/install/gccbuild/gcc4/./gcc/g++
-B/els/install/gccbuild/gcc4/./gcc/ -nostdinc++ -nostdinc++
-I/els/install/gccbuild/gcc4/sparc-sun-solaris2.9/libstdc++-v3/include/sparc-sun-solaris2.9
-I/els/install/gccbuild/gcc4/sparc-sun-solaris2.9/libstdc++-v3/include
-I/els/install/biru/gcc444/gcc-4.4.4/libstdc++-v3/libsupc++
-I/els/install/biru/gcc444/gcc-4.4.4/libstdc++-v3/include/backward
-I/els/install/biru/gcc444/gcc-4.4.4/libstdc++-v3/testsuite/util
-L/els/install/gccbuild/gcc4/sparc-sun-solaris2.9/libstdc++-v3/src
-L/els/install/gccbuild/gcc4/sparc-sun-solaris2.9/libstdc++-v3/src/.libs
-B/els/install/biru/local/gcc/sparc-sun-solaris2.9/bin/
-B/els/install/biru/local/gcc/sparc-sun-solaris2.9/lib/ -isystem
/els/install/biru/local/gcc/sparc-sun-solaris2.9/include -isystem
/els/install/biru/local/gcc/sparc-sun-solaris2.9/sys-include'
configure: error: in
`/els/install/gccbuild/gcc4/sparc-sun-solaris2.9/boehm-gc':
configure: error: changes in the environment can compromise the build
configure: error: run `make distclean' and/or `rm ./config.cache' and start
over
make[1]: *** [configure-target-boehm-gc] Error 1
make[1]: Leaving directory `/els/install/gccbuild/gcc4'
make: *** [all] Error 2


[Bug gcov-profile/52627] [4.8 Regression] Build of libgcc fails w/o __GTHREAD_MUTEX_INIT: error: 'mx' undeclared

2012-03-20 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52627

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2012-03-20
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |
   Target Milestone|--- |4.8.0
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-03-20 
09:46:57 UTC ---
Oops.  Can you try

Index: libgcc/libgcov.c
===
--- libgcc/libgcov.c(revision 185562)
+++ libgcc/libgcov.c(working copy)
@@ -713,7 +713,7 @@ __gthread_mutex_t __gcov_flush_mx ATTRIB
 static void
 init_mx (void)
 {
-  __GTHREAD_MUTEX_INIT_FUNCTION (mx);
+  __GTHREAD_MUTEX_INIT_FUNCTION (__gcov_flush_mx);
 }
 static void
 init_mx_once (void)

?


[Bug testsuite/52563] FAIL: gcc.dg/tree-ssa/scev-[3,4].c scan-tree-dump-times optimized a 1

2012-03-20 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52563

--- Comment #7 from rguenther at suse dot de rguenther at suse dot de 
2012-03-20 09:51:00 UTC ---
On Tue, 20 Mar 2012, liujiangning at gcc dot gnu.org wrote:

 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52563
 
 --- Comment #6 from Jiangning Liu liujiangning at gcc dot gnu.org 
 2012-03-20 02:32:12 UTC ---
  We cannot fix it without relaxing the POINTER_PLUS_EXPR constraints.
  I was working on that, but as usual the TYPE_IS_SIZETYPE removal
  has priority.
 
 Do you mean you are also working on removing TYPE_IS_SIZETYPE?

Yes.

  
  Please consider fixing/XFAILing the testcases as they still FAIL and you
  are responsible for this.  You can open a new enhancement PR covering
  this.
  
 
 I think 64-bit mode should also have this optimization enabled. XFAIL implies
 the missing of this optimization is a correct behavior. But I think this is 
 not
 what I expected. So I don't think we should add XFAIL for this case. Instead I
 want to add a new test case scev-5.c to cover 64-bit testing.

XFAIL says it's a known failure.

Richard.


[Bug c/52632] GCC compfail on O0

2012-03-20 Thread vbyakovl23 at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52632

--- Comment #2 from Vladimir Yakovlev vbyakovl23 at gmail dot com 2012-03-20 
10:03:47 UTC ---
Created attachment 26929
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26929
Test case


[Bug fortran/52606] Confusing diagnostics for long identifiers

2012-03-20 Thread jb at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52606

--- Comment #5 from Janne Blomqvist jb at gcc dot gnu.org 2012-03-20 10:27:33 
UTC ---
(In reply to comment #4)
 Indeed, one can construct examples which exceed the length: Namely module
 procedures or module variables. The problem is that GFC_MAX_MANGLED_SYMBOL_LEN
 allows for GFC_MAX_SYMBOL_LEN*2+4 = 130 characters but one has the prefix __
 plus _MOD_ which is not 4 but 7 characters long. Thus, if one goes to the
 limit, one can create symbols which have the same mangled name. 

Yes. I suspect this bug dates back to the patch that introduced the _MOD_
scheme. Previously gfortran just used _ to separate the module and procedure
name, allowing a cleverly named external procedure to clash with a module
procedure. 

Though, using
 both the maximal length for the module name and for the symbol name is a very
 constructed example.

Indeed. If my suspicion above is correct, the bug has been present for ages,
and no PR has been filed.

 On the other hand, PR 51802 does not inspire at all: That PR is about
 polymorphism-related names. And those are hashed if they don't fit.

Ah, I forgot about the hashing scheme, and assumed that as per the PR
identifiers appears up to three times in the mangled name, the factor *2 in
the calculation of GFC_MAX_MANGLED_SYMBOL_LEN would be incorrect (in addition
to the additive factor being incorrect).

What was the motivation for this hashing scheme, BTW? Linkers already support
1) long symbol names (I read somewhere that OpenOffice has symbols up to 4000
(!!!) characters long) 2) various symbol hashing schemes (see e.g.
DT_GNU_HASH).


[Bug fortran/51802] [OOP] Duplicate mangling for OOP symbols

2012-03-20 Thread pault at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51802

--- Comment #2 from Paul Thomas pault at gcc dot gnu.org 2012-03-20 10:52:45 
UTC ---
(In reply to comment #1)
 That that changing this will break the ABI. Thus, it can only be done when we
 have to break the ABI. That will happen for the new array descriptor.
 
 (This bug is listed at http://gcc.gnu.org/wiki/LibgfortranAbiCleanup)

I agree completely.  However, once 4.7 is released, should we be excessively
pristine about ABI breakage in trunk?  It is, after all, the development
version and, to some degree, if people use the development version for
production code they should be mindful of the risks

Cheers

Paul


[Bug c++/52619] ICE/segmentation fault in lambda function

2012-03-20 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52619

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-03-20
 Ever Confirmed|0   |1

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2012-03-20 
10:54:16 UTC ---
Confirmed. We should figure out a reduced testcase not including anything
(note: the internals of atomic are completely different in 4.7 vs 4.6)


[Bug c/52632] GCC compfail on O0

2012-03-20 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52632

--- Comment #3 from Mikael Pettersson mikpe at it dot uu.se 2012-03-20 
10:55:49 UTC ---
The test case, obviously based on the Linux kernel's BUILD_BUG_ON() macro,
behaves exactly as intended: since `offset' is not in fact a constant it causes
either a compile-time error or a link-time error (the latter because gcc
erroneously omits the compile-time error for an invalid type in an unused
sizeof() when optimizing).


[Bug fortran/52606] Confusing diagnostics for long identifiers

2012-03-20 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52606

--- Comment #6 from Tobias Burnus burnus at gcc dot gnu.org 2012-03-20 
10:58:13 UTC ---
(In reply to comment #5)
 What was the motivation for this hashing scheme, BTW? Linkers already support
 1) long symbol names (I read somewhere that OpenOffice has symbols up to 4000
 (!!!) characters long) 2) various symbol hashing schemes (see e.g.
 DT_GNU_HASH).

I think the idea was to have legible dumps (i.e. avoid hashing everything) but
also to fit them into the various  name[GFC_MAX_SYMBOL_LEN]  variables which
simply do not take longer names.

If you think one can/should improve the scheme, feel free to propose something
better. (Only) when switching to the new descriptor, we can change it.


[Bug c++/52619] ICE/segmentation fault in lambda function

2012-03-20 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52619

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-03-20 
11:03:00 UTC ---
The crash happens in lvalue_kind: an INDIRECT_REF with no TREE_TYPE.


[Bug c++/52596] [4.7/4.8 Regression] [C++11] internal compiler error: in lvalue_kind, at cp/tree.c:153

2012-03-20 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52596

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2012-03-20 
11:06:40 UTC ---
No ICE anymore in mainline for the reduced testcase in Comment #1. Instead,
with -std=c++11 only we reject it with:

52596.C: In member function ‘T* zone::allocate()’:
52596.C:14:35: error: lvalue required as decrement operand


[Bug c/52632] GCC compfail on O0

2012-03-20 Thread joseph at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52632

--- Comment #4 from joseph at codesourcery dot com joseph at codesourcery dot 
com 2012-03-20 11:09:43 UTC ---
On Tue, 20 Mar 2012, mikpe at it dot uu.se wrote:

 either a compile-time error or a link-time error (the latter because gcc
 erroneously omits the compile-time error for an invalid type in an unused
 sizeof() when optimizing).

I'm not aware of such a bug.  Please file a separate bug report in 
Bugzilla with a testcase for this erroneously omits the compile-time 
error for an invalid type in an unused sizeof() when optimizing.


[Bug tree-optimization/52633] [4.7 Regression] Compiler ICE in vect_is_simple_use_1 (ARM)

2012-03-20 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52633

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Target||armv7hl-*-gnueabi
  Known to work||4.6.3
   Target Milestone|--- |4.7.1
Summary|Compiler ICE in |[4.7 Regression] Compiler
   |vect_is_simple_use_1 (ARM)  |ICE in vect_is_simple_use_1
   ||(ARM)


[Bug c++/52613] [C++11] ICE with noexcept in lambda expression in member function of class template

2012-03-20 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52613

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-03-20
 CC||jason at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2012-03-20 
11:13:31 UTC ---
Confirmed. Here too, like in PR52619, the crash happens in lvalue_kind when an
INDIRECT_REF has no TREE_TYPE. And a lambda is also involved.

Jason, are we dealing with the same issue?


[Bug tree-optimization/52631] [4.6/4.7/4.8 Regression] VN does not use simplified expression for lookup

2012-03-20 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52631

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2012-03-20 
11:13:57 UTC ---
Hmm, but then you'd pessimize the case where b_2  1 were available?  Thus,
don't you need to do the lookup with the original expression anyway if the
lookup for the simplified expression fails?  Oh, and doesn't the testcase
show a missed canonicalization?


[Bug gcov-profile/52627] [4.8 Regression] Build of libgcc fails w/o __GTHREAD_MUTEX_INIT: error: 'mx' undeclared

2012-03-20 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52627

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-03-20 
11:19:01 UTC ---
Author: rguenth
Date: Tue Mar 20 11:18:57 2012
New Revision: 185569

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=185569
Log:
2012-03-20  Richard Guenther  rguent...@suse.de

PR gcov-profile/52627
* libgcov.c (init_mx): Fix mutex name.

Modified:
trunk/libgcc/ChangeLog
trunk/libgcc/libgcov.c


[Bug target/52630] [4.7 regression] ICE when compiling ppl-0.12 testsuite

2012-03-20 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52630

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.1

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-03-20 
11:19:24 UTC ---
Works on x86_64.


[Bug gcov-profile/52627] [4.8 Regression] Build of libgcc fails w/o __GTHREAD_MUTEX_INIT: error: 'mx' undeclared

2012-03-20 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52627

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2012-03-20 
11:19:25 UTC ---
Fixed.


[Bug fortran/51802] [OOP] Duplicate mangling for OOP symbols

2012-03-20 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51802

--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org 2012-03-20 
11:22:37 UTC ---
(In reply to comment #2)
 I agree completely.  However, once 4.7 is released, should we be excessively
 pristine about ABI breakage in trunk?  It is, after all, the development
 version and, to some degree, if people use the development version for
 production code they should be mindful of the risks

Well, the point is that code (e.g. libraries) compiled with GCC
4.3/4.4/4.5/4.6/4.7 shall be linkable with code compiled with GCC 4.8.

In particular, ABI changes relative to Fortran 77 ABIs should be avoided.
(libblas, liblapack, ...) - as they are truly used with many applications and
as there also no .mod file is involved.

For experimental code - such as -fcoarray=lib -, we have more leeway, but for
code which is used in production, we shouldn't break the ABI.

As the .mod format changes with every release, the chance that the user runs
into ABI problems is a bit reduced as for type declarations, one has to
recompile to get a new .mod file. However, one can still construct cases where
ABI issues also occur in that case. (libA and libB compiled with 4.7; libB uses
libA; libA recompiled with 4.8 and then linking libA, libB and the application.
If libA and libB use a feature for which the ABI has changed, it will break at
link or run time.)

The g++ compiler - where the .mod issue does not exist and where many more
application use C++ libraries, the ABI issue is much greater. g++ has the
-fabi-version=... flag to toggle between different ABIs and -Wabi to warn about
such issues.


In case of the new array descriptor, the ABI change is so big and affecting 
many programs, that it cannot be avoided. Thus, doing so, bumping the .so
version number and using the opportunity for a clean up should be done.
However, afterwards, we have to try hard to avoid any ABI breakage and it would
be good if .mod files from a previous compiler version would continue to work.
Thus, we should either have the modifications in an upward compatible way - or
we should build in some way to read old versions, by explicitly skipping new
features during read in. (As we know the version number - we can make use of
it!) The .mod part is not an issue for the first version with the new
descriptor - as we have to break the ABI.

If we include the new array descriptor in 4.8, I think for 4.9 we should
already have the policy that no module.c change is allowed, unless it is done
such that .mod files from 4.8 continue to work.


[Bug testsuite/52614] [4.8 Regression] Test failures in gcc.dg/vect: vectorizing unaligned access

2012-03-20 Thread Greta.Yorsh at arm dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52614

--- Comment #2 from Greta Yorsh Greta.Yorsh at arm dot com 2012-03-20 
11:24:41 UTC ---
The tests reported in PR52603 are still failing on arm (last tested on trunk
r185474).


[Bug c++/52595] [DR 325] commas and non-static data member initializers don't mix

2012-03-20 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52595

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||jason at gcc dot gnu.org

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2012-03-20 
11:29:49 UTC ---
I'm a bit confused here. If this is Core/325 should be duplicate of PR51666,
right? But, maybe too quickly, I closed the latter as fixed upon Jason commit
(see also http://gcc.gnu.org/ml/gcc-patches/2012-01/msg00062.html).

So, what's going on? Was the commit for PR51666 incomplete, so to speak?


[Bug target/49868] Implement named address space to place/access data in flash memory

2012-03-20 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49868

--- Comment #18 from Georg-Johann Lay gjl at gcc dot gnu.org 2012-03-20 
11:32:59 UTC ---
Author: gjl
Date: Tue Mar 20 11:32:54 2012
New Revision: 185570

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=185570
Log:
PR target/49868
* gcc.target/avr/torture/addr-space-2.h: New file.
* gcc.target/avr/torture/addr-space-2-g.h: New test.
* gcc.target/avr/torture/addr-space-2-0.h: New test.
* gcc.target/avr/torture/addr-space-2-1.h: New test.
* gcc.target/avr/torture/addr-space-2-x.h: New test.


Added:
trunk/gcc/testsuite/gcc.target/avr/torture/addr-space-2-0.c
trunk/gcc/testsuite/gcc.target/avr/torture/addr-space-2-1.c
trunk/gcc/testsuite/gcc.target/avr/torture/addr-space-2-g.c
trunk/gcc/testsuite/gcc.target/avr/torture/addr-space-2-x.c
trunk/gcc/testsuite/gcc.target/avr/torture/addr-space-2.h
Modified:
trunk/gcc/testsuite/ChangeLog


[Bug bootstrap/52601] Gcc build fails at Making all in tools with find: bad option -path and find: path-list predicate-list

2012-03-20 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52601

--- Comment #4 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-03-20 
11:48:47 UTC ---
 Is this correct or should i again compiled gcc-4.4.4 to get complete
 successful compilation ?

If you still have the build tree around, do
  rm -rf sparc-sun-solaris2.9/boehm-gc sparc-sun-solaris2.9/sparcv9/boehm-gc
  make all-target-boehm-gc

If this still yields an error, try to do a full build after configuring with an
absolute path to the source directory (as recommended in the documentation).


[Bug c++/52618] Explicit template specialization ignores access rights

2012-03-20 Thread blobbyvolley at mailmetrash dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52618

--- Comment #2 from blobbyvolley at mailmetrash dot com 2012-03-20 11:53:29 UTC 
---
If it can be of any help, I noticed that for partial specializations everything
works as intended (the compiler reports an error).

class B {
  typedef double type; // this is a private member
};

templateclass T, class U struct get_type;

templateclass U struct get_typeB, U { // partial specialization
  typedef typename B::type type; // error here
};

typedef typename get_typeB, int::type sometype;


[Bug lto/52634] New: multiple definition error when using alias

2012-03-20 Thread tianbin at cernet dot edu.cn
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52634

 Bug #: 52634
   Summary: multiple definition error when using alias
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: tian...@cernet.edu.cn


When compiling a project which have 11 cpp files with -flto, g++-4.7 reports
the following error
--
xxx.ltrans25.ltrans.o:(.bss+0x0): multiple definition of `cfliteKeyCallBacks'
xxx.ltrans15.ltrans.o:(.bss+0x0): first defined here
xxx.ltrans29.ltrans.o:(.data+0xc80): multiple definition of
`cfliteKeyCallBacks'
xxx.ltrans15.ltrans.o:(.bss+0x0): first defined here

in xxx.ltrans25.s, I found

.hidden cfliteKeyCallBacks
.globl  cfliteKeyCallBacks
.bss
.align 32
.type   cfliteKeyCallBacks, @object
.size   cfliteKeyCallBacks, 48
cfliteKeyCallBacks:
.zero   48
.setcfliteArrayCallBacks.4936,cfliteKeyCallBacks

in xxx.ltrans15.s, I found

.hidden cfliteKeyCallBacks
.globl  cfliteKeyCallBacks
.bss
.align 32
.type   cfliteKeyCallBacks, @object
.size   cfliteKeyCallBacks, 48
cfliteKeyCallBacks:
.zero   48
.setcfliteValueCallBacks.3513,cfliteKeyCallBacks

in xxx.ltrans29.s, I found

.hidden cfliteKeyCallBacks
.globl  cfliteKeyCallBacks
.data
.align 32
.type   cfliteKeyCallBacks, @object
.size   cfliteKeyCallBacks, 48
cfliteKeyCallBacks:
.quad   0
.quad   _ZL17cflite_key_retainPK13__CFAllocatorPKv.19440
.quad   _ZL18cflite_key_releasePK13__CFAllocatorPKv.19434
.quad   _ZL21cflite_key_copy_descrPKv.19447
.quad   _ZL16cflite_key_equalPKvS0_.19429
.quad   _ZL15cflite_key_hashPKv.19425

And in cflite.cpp, the corespond source is
---
...
CFDictionaryKeyCallBacks cfliteKeyCallBacks = {
0,
cflite_key_retain,
cflite_key_release,
cflite_key_copy_descr,
cflite_key_equal,
cflite_key_hash,
};

extern CFDictionaryValueCallBacks cfliteValueCallBacks
__attribute__((alias(cfliteKeyCallBacks)));

extern CFArrayCallBacks cfliteArrayCallBacks
__attribute__((alias(cfliteKeyCallBacks)));

The project compiles ok without -flto.


[Bug libstdc++/52604] mt allocator crashes on multi-threaded

2012-03-20 Thread laurent.alfonsi at st dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52604

--- Comment #3 from Laurent Aflonsi laurent.alfonsi at st dot com 2012-03-20 
12:31:31 UTC ---
Well, in fact I am facing a runtime crash on another target (SH4). The crash is
fixed by the patch proposed previously.

On the other hand, I ve tried to reproduce on x86, to easily report on gcc
bugs. and I ve discovered this valgrind error.

I first thought both issues were the same, but they are not. And you are right,
my patch doesn't fix the valgrind error. Sorry for confusion.

The _M_thread_freelist might also be set to NULL at some point. (may be also in
~__freelist()). Setting _M_thread_freelist to NULL at ~__freelist() is solves
the valgrind error, but I m not sure this is the right place to do it.

Thanks


[Bug c++/52596] [4.7/4.8 Regression] [C++11] internal compiler error: in lvalue_kind, at cp/tree.c:153

2012-03-20 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52596

--- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com 2012-03-20 
12:33:16 UTC ---
Oops, sorry, mainline still ICEs, had checking disabled.


[Bug libstdc++/52604] mt allocator crashes on multi-threaded

2012-03-20 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52604

--- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com 2012-03-20 
12:48:20 UTC ---
In principle I have no problem with such zeroings, make sense, but it's been a
while since the last time I looked into this code and I fear races. In any
case, please try to fully run the testsuite (check-performance too, which
exercised mt_allocator quite a bit) on the affected targets.

Jakub, any comments on this?


[Bug lto/52634] multiple definition error when using alias

2012-03-20 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52634

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||lto
 CC||hubicka at gcc dot gnu.org

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-03-20 
12:55:45 UTC ---
Can you provide a testcase?  You can try reducing the number of input sources
required by performing a partial link (-r -nostdlib), and use
-flto-partition=1to1
to make that reduction more reliable (if the bug reproduces with that option).
Does the error reproduce with -flto-partition=none?

It seems to me that assembing the target is broken (and thus partitioning).


[Bug c/52635] New: gcc fails to diagnose invalid type in unused sizeof() when optimizing

2012-03-20 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52635

 Bug #: 52635
   Summary: gcc fails to diagnose invalid type in unused sizeof()
when optimizing
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: mi...@it.uu.se


Created attachment 26930
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26930
test case

 cat bug.c
extern int bar;
void foo(void)
{
(void)sizeof(char[1 - 2 * !__builtin_constant_p(bar)]);
}
 objdir/gcc/xgcc -Bobjdir/gcc -O1 -S bug.c
 objdir/gcc/xgcc -Bobjdir/gcc -O0 -S bug.c
bug.c: In function 'foo':
bug.c:4:5: error: size of unnamed array is negative

The test case deliberately contains an invalid type expression, but gcc only
diagnoses it at -O0, at -O1 and above there is no error or warning.

Reproduced on x86_64-linux with gcc 4.8-20120318, 4.7.0-RC-20120314, every
4.x.latest release, 3.3.6, and 3.2.3.  gcc-3.4.6 fails to diagnose also at -O0.

The test case is based on the Linux kernel's BUILD_BUG_ON() macro.


[Bug c/52632] GCC compfail on O0

2012-03-20 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52632

--- Comment #5 from Mikael Pettersson mikpe at it dot uu.se 2012-03-20 
13:18:00 UTC ---
(In reply to comment #4)
 I'm not aware of such a bug.  Please file a separate bug report in 
 Bugzilla with a testcase for this erroneously omits the compile-time 
 error for an invalid type in an unused sizeof() when optimizing.

Done, see PR52635.


[Bug go/52583] Several new go testsuite failues on Solaris

2012-03-20 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52583

--- Comment #15 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2012-03-20 13:48:51 UTC ---
 --- Comment #8 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
 Uni-Bielefeld.DE 2012-03-16 09:55:26 UTC ---
[...]
 I'm now running into

 --- FAIL: net.TestMulticastListener (0.00 seconds)
 sockoptip.go:118: 224.0.0.254:12345 not found in RIB

 still looking what's going on here.  And the 

This is caused by Solaris using go/net/interface_stub.go.  After some
investigation, it turns out that while the interfaceTable and
interfaceAddrTable functions could be implemented in several different
ways (e.g. routing sockets and SIOCGLIFNUM, SIOCGLIFCONF ioctls),
interfaceMulticastAddrTable requires the use of the SNMP MIB-2
functionality described in inet/mib2.h, which also covers the other
two.

I'll try to come up with something, based on the code in net-snmp and
the OpenSolaris netstat.c.

Rainer


[Bug libstdc++/52604] mt allocator crashes on multi-threaded

2012-03-20 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52604

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2012-03-20 
14:03:41 UTC ---
It surprises me.  The destructors of libstdc++, on which the binary depends on,
should be run after the destructors of the binary, not before it.


[Bug c++/52487] [4.6/4.7/4.8 Regression] [C++11] ICE at cp/semantics.c:5613 with lambda capturing reference to incomplete type by value

2012-03-20 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52487

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |paolo.carlini at oracle dot
   |gnu.org |com

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-03-20 
14:04:23 UTC ---
Looking into it.


[Bug bootstrap/52623] 4.7.0-RC-20120314: bootstrap failure on AIX due to multilib and using C++ in post-stage1

2012-03-20 Thread dje at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52623

David Edelsohn dje at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-03-20
 Ever Confirmed|0   |1

--- Comment #2 from David Edelsohn dje at gcc dot gnu.org 2012-03-20 14:12:00 
UTC ---
We should disable libquadmath on AIX.  It is not needed or useful there.

Have you tried adding --disable-libquadmath when configuring GCC?


[Bug lto/52634] multiple definition error when using alias

2012-03-20 Thread tianbin at cernet dot edu.cn
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52634

--- Comment #2 from Bin Tian tianbin at cernet dot edu.cn 2012-03-20 14:16:02 
UTC ---
Created attachment 26931
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26931
patch for make-3.82


[Bug lto/52634] multiple definition error when using alias

2012-03-20 Thread tianbin at cernet dot edu.cn
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52634

--- Comment #3 from Bin Tian tianbin at cernet dot edu.cn 2012-03-20 14:16:49 
UTC ---
The bug is reproducable with -r -flto-partition=1to1, and not with -r
-flto-partition=none.

My project is hard to reduce because of complex dependencies. It seems that if
the call graph is too simple, the bug never shows up.

Finally, I make a testcase based on make-3.82
(http://ftp.gnu.org/gnu/make/make-3.82.tar.gz).

Please apply the attached patch on make-3.82, and compile it with the following
instructions:

$ autoreconf -vif
$ ./configure CFLAGS='-g -O2 -flto' CC=gcc-4.7
$ make

The patch is produced with git format-patch.


[Bug c/52635] gcc fails to diagnose invalid type in unused sizeof() when optimizing

2012-03-20 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52635

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2012-03-20 
14:31:16 UTC ---
I don't think this is a bug.  For -std=c89 -pedantic-errors you get a proper
error - C89 doesn't have VLAs, but otherwise when optimizing the type is
considered just as a VLA type.  You don't get any diagnostic even when you
actually use the sizeof (e.g. return it from the function), negative VLA size
doesn't have any diagnostic (most often it isn't even possible to diagnose it
at compile time).


[Bug lto/52634] multiple definition error when using alias

2012-03-20 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52634

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-03-20
 Ever Confirmed|0   |1

--- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2012-03-20 
14:42:33 UTC ---
Reduced testcase:

t1.c

extern int cfliteValueCallBacks;
void baz (int *);
int main () { baz(cfliteValueCallBacks); }

t2.c

int cfliteKeyCallBacks = 5;
extern int cfliteValueCallBacks __attribute__((alias(cfliteKeyCallBacks)));

fails as:

gcc-4.7 -flto -flto-partition=1to1 t1.c t2.c -r -nostdlib
/tmp/ccPs2Uvd.ltrans1.ltrans.o:(.bss+0x0): multiple definition of
`cfliteKeyCallBacks'
/tmp/ccPs2Uvd.ltrans0.ltrans.o:(.data+0x0): first defined here
collect2: error: ld returned 1 exit status

Not sure if the source is valid by design.


[Bug lto/52634] multiple definition error when using alias

2012-03-20 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52634

--- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2012-03-20 
14:55:42 UTC ---
2
t1.o 3
164 2f48a666878dc458 PREVAILING_DEF_IRONLY_EXP main
169 2f48a666878dc458 UNDEF baz
173 2f48a666878dc458 RESOLVED_IR cfliteValueCallBacks
t2.o 2
164 9f18e45b84a4baf8 PREVAILING_DEF_IRONLY_EXP cfliteValueCallBacks
176 9f18e45b84a4baf8 PREVAILING_DEF_IRONLY_EXP cfliteKeyCallBacks

looks sane, but the partitioning not:

Callgraph/varpool at WPA time:

baz/1 @0x75a257e0 (asm: baz) availability:not_available reachable
  called by: main/0 (1.00 per call)
  calls:
  References:
  Refering this function:
main/0 @0x75a256c0 (asm: main) availability:available analyzed needed
reachable externally_visible prevailing_def_ironly_exp finalized
  called by:
  calls: baz/1 (1.00 per call)
  References:  var:cfliteValueCallBacks (addr)
  Refering this function:
cfliteKeyCallBacks: availability:overwritable (asm: cfliteKeyCallBacks)
initialized needed analyzed finalized externally_visible
prevailing_def_ironly_exp
  References:
  Refering this var:  var:cfliteValueCallBacks (alias)
cfliteValueCallBacks: availability:overwritable (asm: cfliteValueCallBacks)
needed analyzed finalized externally_visible prevailing_def_ironly_exp
  References:  var:cfliteKeyCallBacks (alias)
  Refering this var:  fn:main/0 (addr)

Partitions:

Writing partition t2.o to file /tmp/ccZbL7rX.ltrans0.o, 0 insns
cgraph nodes:
varpool nodes: cfliteKeyCallBacks
Writing partition t1.o to file /tmp/ccZbL7rX.ltrans1.o, 5 insns
cgraph nodes: main/0
varpool nodes:

where is the varpool/alias node for cfliteValueCallBacks?


[Bug middle-end/52636] New: [4.8 Regression] ICE: tree check: expected integer_cst, have string_cst in tree_to_double_int, at tree.h:4324

2012-03-20 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52636

 Bug #: 52636
   Summary: [4.8 Regression] ICE: tree check: expected
integer_cst, have string_cst in tree_to_double_int, at
tree.h:4324
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: domi...@lps.ens.fr
CC: bur...@net-b.de, rgue...@gcc.gnu.org
  Host: x86_64-apple-darwin10
Target: x86_64-apple-darwin10
 Build: x86_64-apple-darwin10


Since revision 185466, compiling aermod.f90 from the polyhedron test suite with
'-O3 --param max-inline-insns-auto=51' and above gives an ICE:

[macbook] lin/test% /opt/gcc/gcc4.8w-185465p4/bin/gfortran -O3 --param
max-inline-insns-auto=51 aermod.f90
[macbook] lin/test% /opt/gcc/gcc4.8w-185466p4/bin/gfortran -O3 --param
max-inline-insns-auto=50 aermod.f90
[macbook] lin/test% /opt/gcc/gcc4.8w-185466p4/bin/gfortran -O3 --param
max-inline-insns-auto=51 aermod.f90
aermod.f90: In function 'preinclud_.part.28':
aermod.f90:4628:0: internal compiler error: tree check: expected integer_cst,
have string_cst in tree_to_double_int, at tree.h:4324
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

So far my attempts to reduce the code have not been successful.


[Bug c/52635] gcc fails to diagnose invalid type in unused sizeof() when optimizing

2012-03-20 Thread joseph at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52635

--- Comment #2 from joseph at codesourcery dot com joseph at codesourcery dot 
com 2012-03-20 15:13:13 UTC ---
On Tue, 20 Mar 2012, mikpe at it dot uu.se wrote:

  cat bug.c
 extern int bar;
 void foo(void)
 {
 (void)sizeof(char[1 - 2 * !__builtin_constant_p(bar)]);
 }
  objdir/gcc/xgcc -Bobjdir/gcc -O1 -S bug.c
  objdir/gcc/xgcc -Bobjdir/gcc -O0 -S bug.c
 bug.c: In function 'foo':
 bug.c:4:5: error: size of unnamed array is negative
 
 The test case deliberately contains an invalid type expression, but gcc only
 diagnoses it at -O0, at -O1 and above there is no error or warning.

Do you have an example not involving __builtin_constant_p?  When 
optimizing, this array will be considered a VLA (i.e. the size will be 
considered nonconstant) as __builtin_constant_p is only evaluated later 
(after inlining, for example), long after decisions about whether arrays 
are VLAs have to be made.


[Bug testsuite/52614] [4.8 Regression] Test failures in gcc.dg/vect: vectorizing unaligned access

2012-03-20 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52614

Dominique d'Humieres dominiq at lps dot ens.fr changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-03-20
 Ever Confirmed|0   |1

--- Comment #3 from Dominique d'Humieres dominiq at lps dot ens.fr 2012-03-20 
15:16:45 UTC ---
 The tests reported in PR52603 are still failing on arm (last tested on trunk
 r185474).

When asked on IRC, Richard Guenther said he preferred a new PR rather than
reopening PR52603. He also asked me to test the addition of -fno-common to
DEFAULT_VECTCFLAGS in gcc/testsuite/gcc.dg/vect/vect.exp (patch in comment #0).
Could some of you test it on your favorite plaforms (it is enough to vect.exp
only)?


[Bug middle-end/52636] [4.8 Regression] ICE: tree check: expected integer_cst, have string_cst in tree_to_double_int, at tree.h:4324

2012-03-20 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52636

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2012-03-20
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |
   Target Milestone|--- |4.8.0
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-03-20 
15:22:02 UTC ---
Confirmed.


[Bug tree-optimization/52571] vectorizer changes alignment of common symbols

2012-03-20 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52571

Rainer Orth ro at gcc dot gnu.org changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 CC||ro at gcc dot gnu.org
 Resolution|FIXED   |

--- Comment #8 from Rainer Orth ro at gcc dot gnu.org 2012-03-20 15:27:48 UTC 
---
Unfortunately, the patch caused many testsuite failures on both
sparc-sun-solaris
and powerpc-apple-darwin, as can be seen e.g. at

  http://gcc.gnu.org/ml/gcc-testresults/2012-03/msg02102.html

Should I file a separate PR for this?

  Rainer


[Bug c++/52637] New: ICE producing debug info for c++11 code using templates/decltype/lambda

2012-03-20 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52637

 Bug #: 52637
   Summary: ICE producing debug info for c++11 code using
templates/decltype/lambda
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: scov...@gmail.com


The following code snippet produces an ICE when compiled by gcc-4.7.0-RC1 with
flags `-std=gnu++11 -g -c' (gcc-4.6.2 and 4.5.3 accept it):

=== bug.cpp ===
template typename T
struct foo {
foo(T fn) { }
};

template class T, typename V
void bar(T*, V) {
auto x = [] { };
auto y = foodecltype(x)(x);
}

template typename T
void bar(T* t) { bar(t, [] { }); }

struct baz {
void bar() { ::bar(this); }
};
===

$ ~/apps/gcc-4.7-RC1/bin/g++ -std=gnu++11 -g bug.cpp
bug.cpp:17:2: internal compiler error: in output_die, at dwarf2out.c:8463
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

The testcase was distilled from a multi-thousand line app with help from
multidelta.

My platform is i686-pc-cygwin, in case that matters.


[Bug fortran/52622] ICE in gfortran 4.6.3, x86_64

2012-03-20 Thread adrian at llnl dot gov
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52622

--- Comment #2 from Adrian Prantl adrian at llnl dot gov 2012-03-20 15:33:40 
UTC ---
I'm getting the error with both gcc 4.6.2 and 4.6.3
Below is the stack trace.

Program received signal SIGSEGV, Segmentation fault.
resolve_symbol (sym=0x14091b0) at ../../gcc-4.6.2/gcc/fortran/resolve.c:12412
12412  sym-formal_ns-refs++;
(gdb) l
12407formal = formal-next;
12408
12409  if (formal)
12410{
12411  sym-formal_ns = formal-sym-ns;
12412  sym-formal_ns-refs++;
12413}
12414}
12415
12416  /* Check threadprivate restrictions.  */
(gdb) bt
#0  resolve_symbol (sym=0x14091b0)
at ../../gcc-4.6.2/gcc/fortran/resolve.c:12412
#1  0x0052f157 in traverse_ns (st=value optimized out, 
func=0x511340 resolve_symbol)
at ../../gcc-4.6.2/gcc/fortran/symbol.c:
#2  0x0052f146 in traverse_ns (st=value optimized out, 
func=0x511340 resolve_symbol)
at ../../gcc-4.6.2/gcc/fortran/symbol.c:3330
#3  0x0051bd4c in resolve_types (ns=0x14087b0)
at ../../gcc-4.6.2/gcc/fortran/resolve.c:13543
#4  0x0051be28 in resolve_types (ns=0x13cd6e0)
at ../../gcc-4.6.2/gcc/fortran/resolve.c:13554
#5  0x00510bf4 in gfc_resolve (ns=0x13cd6e0)
at ../../gcc-4.6.2/gcc/fortran/resolve.c:13642
#6  gfc_resolve (ns=0x13cd6e0) at ../../gcc-4.6.2/gcc/fortran/resolve.c:13630
#7  0x00506229 in gfc_parse_file ()
at ../../gcc-4.6.2/gcc/fortran/parse.c:4404
#8  0x0053f366 in gfc_be_parse_file ()
at ../../gcc-4.6.2/gcc/fortran/f95-lang.c:250
#9  0x0079d6fc in compile_file (argc=13, argv=0x7fffdfc8)
at ../../gcc-4.6.2/gcc/toplev.c:579
#10 do_compile (argc=13, argv=0x7fffdfc8)
at ../../gcc-4.6.2/gcc/toplev.c:1900
---Type return to continue, or q return to quit---
#11 toplev_main (argc=13, argv=0x7fffdfc8)
at ../../gcc-4.6.2/gcc/toplev.c:1963
#12 0x77874c4d in __libc_start_main (main=value optimized out, 
argc=value optimized out, ubp_av=value optimized out, 
init=value optimized out, fini=value optimized out, 
rtld_fini=value optimized out, stack_end=0x7fffdfb8)
at libc-start.c:226
#13 0x0049f9b5 in _start ()
(gdb)


[Bug tree-optimization/52571] vectorizer changes alignment of common symbols

2012-03-20 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52571

--- Comment #9 from Dominique d'Humieres dominiq at lps dot ens.fr 2012-03-20 
15:55:23 UTC ---
 Unfortunately, the patch caused many testsuite failures on both
 sparc-sun-solaris
 and powerpc-apple-darwin, as can be seen e.g. at

   http://gcc.gnu.org/ml/gcc-testresults/2012-03/msg02102.html

 Should I file a separate PR for this?

PR52603. Could you test the patch?


[Bug tree-optimization/52636] [4.8 Regression] ICE: tree check: expected integer_cst, have string_cst in tree_to_double_int, at tree.h:4324

2012-03-20 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52636

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

  Component|middle-end  |tree-optimization

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-03-20 
15:56:42 UTC ---
Patch:

2012-03-20  Richard Guenther  rguent...@suse.de

PR tree-optimizer/52636
* tree-vect-slp.c (vect_get_constant_vectors): Convert constants
to the appropriate type.

Index: gcc/tree-vect-slp.c
===
*** gcc/tree-vect-slp.c (revision 185563)
--- gcc/tree-vect-slp.c (working copy)
*** vect_get_constant_vectors (tree op, slp_
*** 2363,2368 
--- 2363,2374 

/* Create 'vect_ = {op0,op1,...,opn}'.  */
number_of_places_left_in_vector--;
+ if (constant_p
+  !types_compatible_p (TREE_TYPE (vector_type), TREE_TYPE (op)))
+   {
+ op = fold_unary (VIEW_CONVERT_EXPR, TREE_TYPE (vector_type), op);
+ gcc_assert (op  CONSTANT_CLASS_P (op));
+   }
  elts[number_of_places_left_in_vector] = op;

if (number_of_places_left_in_vector == 0)


[Bug tree-optimization/52571] vectorizer changes alignment of common symbols

2012-03-20 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52571

--- Comment #10 from Dominique d'Humieres dominiq at lps dot ens.fr 
2012-03-20 15:56:55 UTC ---
 PR52603. Could you test the patch?

Sorry, pr52614.


[Bug testsuite/52614] [4.8 Regression] Test failures in gcc.dg/vect: vectorizing unaligned access

2012-03-20 Thread Greta.Yorsh at arm dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52614

--- Comment #4 from Greta Yorsh Greta.Yorsh at arm dot com 2012-03-20 
16:01:02 UTC ---
These tests pass on arm-none-eabi with the option -fno-common. 

Thank you,
Greta


[Bug c++/52625] Incorrect specialization semantics of friend class template declaration

2012-03-20 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52625

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-03-20
 Ever Confirmed|0   |1

--- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org 2012-03-20 
16:08:26 UTC ---
confirmed


[Bug tree-optimization/51737] [4.6 Regression] g++ crashes (internal compiler error: Segmentation fault) when compiling quickbook

2012-03-20 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51737

--- Comment #18 from Jan Hubicka hubicka at gcc dot gnu.org 2012-03-20 
16:19:55 UTC ---
Created attachment 26932
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26932
patch in testing

I am testing the attached patch.  It basically delays removal of the clone
until after the body saving process is finished.  
The problem is still on trunk, just the testcase passes because we optimize it
too early.


[Bug middle-end/51893] Wrong subword index computation in store_bit_field_1 on BIG_ENDIAN targets

2012-03-20 Thread aurelien.buhrig.gcc at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51893

--- Comment #9 from Aurelien Buhrig aurelien.buhrig.gcc at gmail dot com 
2012-03-20 16:22:52 UTC ---
Do you need additional information about this bug?
Any comment about the provided patch?


[Bug target/52607] v4df __builtin_shuffle with {0,2,1,3} or {1,3,0,2}

2012-03-20 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52607

--- Comment #13 from Jakub Jelinek jakub at gcc dot gnu.org 2012-03-20 
16:26:08 UTC ---
Author: jakub
Date: Tue Mar 20 16:25:54 2012
New Revision: 185577

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=185577
Log:
PR target/52607
* config/i386/i386.md (isa attribute): Add avx2 and noavx2.
(enabled attribute): Handle avx2 and noavx2 isas.
* config/i386/sse.md (avx2_vec_dupv8sf_1, avx2_pbroadcastmode_1):
New insns.
(vec_dupmode): Add avx2 =x,x alternative.
(vec_dupmode splitter): Don't split if TARGET_AVX2.
(*avx_vperm_broadcast_mode): Don't split V4DFmode if TARGET_AVX2.
For TARGET_AVX2, V8SFmode and elt == 0 split into vbroadcastss.
* config/i386/i386.c (expand_vec_perm_pshufb): Emit also vpermps
for V8SFmode.
(expand_vec_perm_1): For broadcasts, use avx2_pbroadcastmode_1
if possible, handle also V8SFmode.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/config/i386/i386.md
trunk/gcc/config/i386/sse.md


[Bug c/51206] Building Cross-Compiler for Linux/x86_64 multilibs fails due to FLAGS_FOR_TARGET

2012-03-20 Thread ian at airs dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51206

Ian Lance Taylor ian at airs dot com changed:

   What|Removed |Added

 CC||ian at airs dot com, ktietz
   ||at gcc dot gnu.org

--- Comment #2 from Ian Lance Taylor ian at airs dot com 2012-03-20 16:26:29 
UTC ---
Problem with multilibs building mingw.  Adding Kai Tietz who approved the patch
for these lines (http://gcc.gnu.org/ml/gcc-patches/2009-11/msg00262.html).


[Bug testsuite/52614] [4.8 Regression] Test failures in gcc.dg/vect: vectorizing unaligned access

2012-03-20 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52614

--- Comment #5 from Rainer Orth ro at gcc dot gnu.org 2012-03-20 16:37:04 UTC 
---
For the single testcase I've been using for the reghunt
(gcc.dg/vect/vect-109.c),
adding -fno-common fixes the failure.  On SPARC, one probably also has to add
-fno-common to gcc.target/sparc/fpmul-2.c.

I'll now run a full bootstrap with those changes.

  Rainer


[Bug lto/51663] LTO does not reclaim comdat-local statics

2012-03-20 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51663

--- Comment #3 from Jan Hubicka hubicka at gcc dot gnu.org 2012-03-20 
16:49:44 UTC ---
OK, the funny inconsistency comes from the fact that we always eliminate COMDAT
variables, but we keep around static variables with -fno-toplevel-reorder.
-O0 imply -fno-toplevel-reorder and -fwhole-program brings COMDAT variables
local, just like in this case.

This all envolved for historical reasons.  I wonder how we really want to
behave here...

I am looking into the LTO case. With new plugin API it should just work.
Honza


[Bug target/52607] v4df __builtin_shuffle with {0,2,1,3} or {1,3,0,2}

2012-03-20 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52607

--- Comment #14 from Jakub Jelinek jakub at gcc dot gnu.org 2012-03-20 
16:51:50 UTC ---
Author: jakub
Date: Tue Mar 20 16:51:41 2012
New Revision: 185579

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=185579
Log:
PR target/52607
* config/i386/i386.c (expand_vec_perm_vperm2f128): New function.
(ix86_expand_vec_perm_const_1): Call it.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c


[Bug lto/52634] multiple definition error when using alias

2012-03-20 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52634

Jan Hubicka hubicka at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |hubicka at gcc dot gnu.org
   |gnu.org |

--- Comment #6 from Jan Hubicka hubicka at gcc dot gnu.org 2012-03-20 
16:55:40 UTC ---
mine. The alias node should go along with the variable into the appropriate
partition. It seems that the partitioning logic is confused by fact that the
variable is static but alias is not, so it decides to put alias into both units
and the alias drags variable with it.


[Bug testsuite/52614] [4.8 Regression] Test failures in gcc.dg/vect: vectorizing unaligned access

2012-03-20 Thread pthaugen at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52614

--- Comment #6 from Pat Haugen pthaugen at gcc dot gnu.org 2012-03-20 
17:21:21 UTC ---
Adding -fno-common fixes the failures on powerpc64 also.


[Bug c/52635] gcc fails to diagnose invalid type in unused sizeof() when optimizing

2012-03-20 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52635

--- Comment #3 from Mikael Pettersson mikpe at it dot uu.se 2012-03-20 
17:26:23 UTC ---
(In reply to comment #2)
 Do you have an example not involving __builtin_constant_p?

Unfortunately no.  The example is just a cleaned up and reduced version of the
one from PR52632.  I've tried a few variations with __builtin_offsetof() and
sizeof(), but they all work, i.e., generate diagnostics at all optimization
levels.

  When 
 optimizing, this array will be considered a VLA (i.e. the size will be 
 considered nonconstant) as __builtin_constant_p is only evaluated later 
 (after inlining, for example), long after decisions about whether arrays 
 are VLAs have to be made.

I see.  The Linux kernel also uses the following variation:

#define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); })

which seems to work with all of __builtin_constant_p, __builtin_offsetof,
sizeof, at both -O0 and -O2.

Perhaps I ought to submit a kernel patch to make BUILD_BUG_ON() use the struct
trick rather than the array size trick?


[Bug c++/52638] New: ice in build_vector_from_val

2012-03-20 Thread dcb314 at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52638

 Bug #: 52638
   Summary: ice in build_vector_from_val
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: dcb...@hotmail.com


Created attachment 26933
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26933
C++ source code

I just tried to compile the package lpg-1.1.0
on gcc-4.8 trunk dated 20120319 on an AMD x86_64 box.

The compiler said

In file included from generator.h:4:0,
 from generator.cpp:1:
tuple.h: In constructor 'ArrayT::Array(int, T) [with T = bool]':
tuple.h:28:5: internal compiler error: in build_vector_from_val, at tree.c:1386
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

Preprocessed source code attached. Flag -O3 required.


[Bug c/52635] gcc fails to diagnose invalid type in unused sizeof() when optimizing

2012-03-20 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52635

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2012-03-20 
18:06:33 UTC ---
Not sure what kernel you are looking at, but in current kernel at least since
2009-09 BUILD_BUG_ON is BUILD_BUG_ON_ZERO and only MAYBE_BUILD_BUG_ON macro is
using this sizeof and from the description it sounds like it wants the warnings
only if the condition is known to be false already during parsing.


[Bug c/52639] New: ice in supportable_widening_operation

2012-03-20 Thread dcb314 at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52639

 Bug #: 52639
   Summary: ice in supportable_widening_operation
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: dcb...@hotmail.com


Created attachment 26934
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26934
C source code

I just tried to compile the package mpfr-3.1.0
on gcc-4.8 trunk dated 20120319 on an AMD x86_64 box.

The compiler said

set_f.c: In function 'mpfr_set_f':
set_f.c:27:1: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

Here is a valgrind dump

==19223== Invalid read of size 8
==19223==at 0xCC7B08: supportable_widening_operation(tree_code,
gimple_statement_d*, tree_node*, tree_node*, tree_node**, tree_node**,
tree_code*, tree_code*, int*, VEC_tree_heap**) (tree-vect-stmts.c:6096)
==19223==by 0x1082547: vect_recog_widen_mult_pattern(VEC_gimple_heap**,
tree_node**, tree_node**) (tree-vect-patterns.c:664)
==19223==by 0x1087A57: vect_pattern_recog(_loop_vec_info*, _bb_vec_info*)
(tree-vect-patterns.c:2553)
==19223==by 0xCEBA85: vect_slp_analyze_bb(basic_block_def*)
(tree-vect-slp.c:2020)
==19223==by 0xCECA55: execute_vect_slp() (tree-vectorizer.c:265)
==19223==by 0xA52D6C: execute_one_pass(opt_pass*) (passes.c:2084)
==19223==by 0xA532E6: execute_pass_list(opt_pass*) (passes.c:2139)
==19223==by 0xB91E4D: tree_rest_of_compilation(tree_node*)
(tree-optimize.c:422)
==19223==by 0x7EBD7D: cgraph_expand_function(cgraph_node*)
(cgraphunit.c:1837)
==19223==by 0x7EFB4B: cgraph_optimize() (cgraphunit.c:1904)
==19223==by 0x7F01F9: cgraph_finalize_compilation_unit()
(cgraphunit.c:1344)
==19223==by 0x5F3B1A: cp_write_global_declarations() (decl2.c:4074)
==19223==  Address 0x10 is not stack'd, malloc'd or (recently) free'd

Preprocessed source code attached. Flag -O3 required.


[Bug c/52640] New: performance bottleneck: gcc/tree.c;value_member

2012-03-20 Thread ncahill_alt at yahoo dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52640

 Bug #: 52640
   Summary: performance bottleneck: gcc/tree.c;value_member
Classification: Unclassified
   Product: gcc
   Version: 4.6.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ncahill_...@yahoo.com


Created attachment 26935
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26935
source, output, profiling data indicating problem

It was made known to me that the code provided takes a long time to compile. 
Looking into it, the culprit seems to be the value_member function of
gcc/tree.c.  Here is that code (preprocessed):


tree value_member (tree elem, tree list)
{
while (list) 
{
if (elem == ((list)-list.value))
return list;
list = ((list)-common.chain);
}
return (tree) ((void *)0);
}


A sample of profiling data, from OProfile and using gcc 4.6.2:


samples  %image name   symbol name
1995543.1814  cc1  value_member
1179  2.5513  cc1  record_reference
1122  2.4279  cc1  insert_aux



With a table of 1 rows, it takes ~40% of the execution time, and with
20 rows, ~90%.  The former takes 5 seconds, the later is not finished in 20
minutes.

Provided is a sample source file with output from cc1 and profiling data as
above.

Thank you.
Neil.


[Bug tree-optimization/52636] [4.8 Regression] ICE: tree check: expected integer_cst, have string_cst in tree_to_double_int, at tree.h:4324

2012-03-20 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52636

--- Comment #3 from Dominique d'Humieres dominiq at lps dot ens.fr 2012-03-20 
18:35:50 UTC ---
The patch in comment #2 fixes the PR without side effect on the polyhedron test
suite (AFAICT;-).
Currently bootstrapping r185584, regtesting scheduled for tonight. Thanks for
the quick fix.


[Bug c++/52639] ice in supportable_widening_operation

2012-03-20 Thread dcb314 at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52639

dcb dcb314 at hotmail dot com changed:

   What|Removed |Added

  Component|c   |c++

--- Comment #1 from dcb dcb314 at hotmail dot com 2012-03-20 18:50:21 UTC ---
The source code is C++, not C. My mistake, sorry.


[Bug target/52607] v4df __builtin_shuffle with {0,2,1,3} or {1,3,0,2}

2012-03-20 Thread marc.glisse at normalesup dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52607

--- Comment #15 from Marc Glisse marc.glisse at normalesup dot org 2012-03-20 
19:00:32 UTC ---
If I am not mistaken, the V8SF shuffle 22022246 is doable by a vperm2f128 that
takes 01234567 to 01230123, followed by a vshufps (mask 138 maybe). Was your
patch supposed to handle it?


[Bug target/52607] v4df __builtin_shuffle with {0,2,1,3} or {1,3,0,2}

2012-03-20 Thread marc.glisse at normalesup dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52607

--- Comment #16 from Marc Glisse marc.glisse at normalesup dot org 2012-03-20 
19:05:22 UTC ---
(In reply to comment #15)
 If I am not mistaken, the V8SF shuffle 22022246 is doable by a vperm2f128 that
 takes 01234567 to 01230123, followed by a vshufps (mask 138 maybe). Was your
 patch supposed to handle it?

Uh, no it isn't supposed to handle it (there would be redundancy and it
wouldn't know where to take elements from), sorry, forget that comment.


[Bug c/52635] gcc fails to diagnose invalid type in unused sizeof() when optimizing

2012-03-20 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52635

--- Comment #5 from Mikael Pettersson mikpe at it dot uu.se 2012-03-20 
19:09:01 UTC ---
(In reply to comment #4)
 Not sure what kernel you are looking at, but in current kernel at least since
 2009-09 BUILD_BUG_ON is BUILD_BUG_ON_ZERO and only MAYBE_BUILD_BUG_ON macro is
 using this sizeof and from the description it sounds like it wants the 
 warnings
 only if the condition is known to be false already during parsing.

I'm looking at the 3.3 kernel released only a few days ago.  It's kernel.h
doesn't define BUILD_BUG_ON in terms of BUILD_BUG_ON_ZERO (which perhaps it
should be) and there is no MAYBE_BUILD_BUG_ON anywhere.


[Bug c++/52510] [4.8 regression] libitm/config/posix/rwlock.cc doesn't compile

2012-03-20 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52510

--- Comment #4 from Jason Merrill jason at gcc dot gnu.org 2012-03-20 
19:14:33 UTC ---
Author: jason
Date: Tue Mar 20 19:14:29 2012
New Revision: 185587

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=185587
Log:
PR c++/52510
* decl.c (reshape_init_class): Handle repeated reshaping.
* search.c (lookup_field_1): Add sanity check.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/initlist66.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/cp/search.c
trunk/gcc/testsuite/ChangeLog


[Bug testsuite/52641] New: Test cases fail for 16-bit int targets

2012-03-20 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52641

 Bug #: 52641
   Summary: Test cases fail for 16-bit int targets
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: g...@gcc.gnu.org
Target: avr, m32c, m68k, stormy16, cr16, pdp11, h8300, rl78


Many test cases fail because they assume sizeof(int) = 4.

This PR is not for one specific test case, it's to have a PR to file respective
fixes as new test cases enter the test suite.


[Bug testsuite/52641] Test cases fail for 16-bit int targets

2012-03-20 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52641

Georg-Johann Lay gjl at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P5
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-03-20
 Ever Confirmed|0   |1
   Severity|normal  |minor


[Bug testsuite/52641] Test cases fail for 16-bit int targets

2012-03-20 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52641

--- Comment #1 from Georg-Johann Lay gjl at gcc dot gnu.org 2012-03-20 
19:38:57 UTC ---
Author: gjl
Date: Tue Mar 20 19:38:51 2012
New Revision: 185588

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=185588
Log:
PR testsuite/52641
* gcc.dg/torture/pr48124-1.c: Add dg-require-effective-target
int32plus.
* gcc.dg/torture/pr48124-4.c: Ditto:
* gcc.dg/torture/pr52530.c: Use long instead of int if int=16.



Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/torture/pr48124-1.c
trunk/gcc/testsuite/gcc.dg/torture/pr48124-4.c
trunk/gcc/testsuite/gcc.dg/torture/pr52530.c


[Bug target/52642] New: SH Target: libstdc++ failures due to call insn swapped before prologue frame insns

2012-03-20 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52642

 Bug #: 52642
   Summary: SH Target: libstdc++ failures due to call insn swapped
before prologue frame insns
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: olege...@gcc.gnu.org
CC: kkoj...@gcc.gnu.org
Target: sh*-*-*


Carry over from PR 51244 comment #33 ...

Looking into the libstdc++ failures for sh4-unknown-linux-gnu,
it seems that the call insn was swapped before prologue frame insns
and then it makes unwinder confused.  -fno-delayed-branch also stops
that swapping for these failing cases.  The patch below works for me.

* config/sh/sh.c (sh_expand_prologue): Emit blockage at the end
of prologue for unwinder and profiler.

--- ORIG/trunk/gcc/config/sh/sh.c2012-03-06 10:28:32.0 +0900
+++ trunk/gcc/config/sh/sh.c2012-03-14 20:22:15.0 +0900
@@ -7234,6 +7234,13 @@ sh_expand_prologue (void)
   emit_insn (gen_shcompact_incoming_args ());
 }

+  /* If we are profiling, make sure no instructions are scheduled before
+ the call to mcount.  Similarly if some call instructions are swapped
+ before frame related insns, it'll make unwinder confused because
+ currently SH has no unwind info for function epilogues.  */
+  if (crtl-profile || flag_exceptions || flag_unwind_tables)
+emit_insn (gen_blockage ());
+
   if (flag_stack_usage_info)
 current_function_static_stack_size = stack_usage;
 }


[Bug target/51244] SH Target: Inefficient conditional branch

2012-03-20 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244

--- Comment #36 from Oleg Endo olegendo at gcc dot gnu.org 2012-03-20 
20:33:30 UTC ---
I have created a new PR 52642 for the libstdc++ failures.


[Bug target/52642] SH Target: libstdc++ failures due to call insn swapped before prologue frame insns

2012-03-20 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52642

Oleg Endo olegendo at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-03-20
 Ever Confirmed|0   |1


[Bug c++/52643] New: Stack overflow ICE in cc1plus when templates, exceptions, and continue out of try used

2012-03-20 Thread ak.miller at auckland dot ac.nz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52643

 Bug #: 52643
   Summary: Stack overflow ICE in cc1plus when templates,
exceptions, and continue out of try used
Classification: Unclassified
   Product: gcc
   Version: 4.6.3
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ak.mil...@auckland.ac.nz


Created attachment 26936
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26936
Reduced testcase that crashes cc1plus

The minimal testcase attached seems to trigger a stack overflow in cc1plus
(confirmed on both x86_64 and MinGW x86).

This doesn't seem to happen on any gcc 4.7 or 4.4 compilers I've tried, only
the 4.6 series.


[Bug target/5360] [SH] Useless address inc-dec sequence for DFmode access

2012-03-20 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=5360

Oleg Endo olegendo at gcc dot gnu.org changed:

   What|Removed |Added

   Last reconfirmed|2004-01-01 21:00:39 |2012-03-20
 CC||kkojima at gcc dot gnu.org
Summary|[SH-4] NON_OPTIMAL CODE |[SH] Useless address
   |GENERATED FOR SH4   |inc-dec sequence for DFmode
   ||access

--- Comment #5 from Oleg Endo olegendo at gcc dot gnu.org 2012-03-20 21:06:16 
UTC ---
As of rev 18 this issue can still be reproduced with -O3.  It doesn't
happen with -O2 though.


[Bug bootstrap/52644] New: RTL check: expected elt 1 type 'i' or 'n', have '0' (rtx reg) in ix86_decompose_address, at config/i386/i386.c:11522[4.8 Regression] ICE in stage2:

2012-03-20 Thread zsojka at seznam dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52644

 Bug #: 52644
   Summary: RTL check: expected elt 1 type 'i' or 'n', have '0'
(rtx reg) in ix86_decompose_address, at
config/i386/i386.c:11522[4.8 Regression] ICE in
stage2:
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: zso...@seznam.cz


This ICE happens probably only with RTL checking enabled.

Compiler output:
/mnt/svn/gcc-trunk/libgcc/unwind-dw2.c: In function 'execute_stack_op':
/mnt/svn/gcc-trunk/libgcc/unwind-dw2.c:902:1: internal compiler error: RTL
check: expected elt 1 type 'i' or 'n', have '0' (rtx reg) in
ix86_decompose_address, at config/i386/i386.c:11522
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
make[5]: *** [unwind-dw2.o] Error 1
make[5]: *** Waiting for unfinished jobs
/mnt/svn/gcc-trunk/libgcc/unwind-dw2-fde-dip.c: In function
'_Unwind_IteratePhdrCallback':
/mnt/svn/gcc-trunk/libgcc/unwind-dw2-fde-dip.c:432:1: internal compiler error:
RTL check: expected elt 1 type 'i' or 'n', have '0' (rtx mem) in
ix86_decompose_address, at config/i386/i386.c:11522
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

$ ./build-185559-lto-fortran-checking-yes-rtl-df/gcc/xgcc -v
Using built-in specs.
COLLECT_GCC=./build-185559-lto-fortran-checking-yes-rtl-df/gcc/xgcc
Target: x86_64-unknown-linux-gnu
Configured with: /mnt/svn/gcc-trunk//configure --enable-checking=yes,rtl,df
--enable-languages=c,c++,lto,fortran
--prefix=/mnt/svn/gcc-trunk/binary-185559-lto-fortran-checking-yes-rtl-df/
--with-cloog --with-ppl --with-cloog-include=/usr/include/cloog-ppl/
--disable-ppl-version-check
Thread model: posix
gcc version 4.8.0 20120320 (experimental) (GCC) 

Tested revisions:
r185535 - OK
r185545 - crash
r185559 - crash


[Bug bootstrap/52644] RTL check: expected elt 1 type 'i' or 'n', have '0' (rtx reg) in ix86_decompose_address, at config/i386/i386.c:11522[4.8 Regression] ICE in stage2:

2012-03-20 Thread zsojka at seznam dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52644

--- Comment #1 from Zdenek Sojka zsojka at seznam dot cz 2012-03-20 21:42:26 
UTC ---
Created attachment 26937
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26937
preprocessed source

$ /home/smatz/build-185559-lto-fortran-checking-yes-rtl-df/./gcc/xgcc
-B/home/smatz/build-185559-lto-fortran-checking-yes-rtl-df/./gcc/ unwind-dw2.i
-O -m32 -c -fpic
/mnt/svn/gcc-trunk/libgcc/unwind-dw2.c: In function ‘execute_stack_op’:
/mnt/svn/gcc-trunk/libgcc/unwind-dw2.c:902:1: internal compiler error: RTL
check: expected elt 1 type 'i' or 'n', have '0' (rtx reg) in
ix86_decompose_address, at config/i386/i386.c:11522
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


[Bug target/52607] v4df __builtin_shuffle with {0,2,1,3} or {1,3,0,2}

2012-03-20 Thread marc.glisse at normalesup dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52607

Marc Glisse marc.glisse at normalesup dot org changed:

   What|Removed |Added

  Attachment #26912|0   |1
is obsolete||

--- Comment #17 from Marc Glisse marc.glisse at normalesup dot org 2012-03-20 
21:50:40 UTC ---
Created attachment 26938
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26938
intra-lane shuffle in 3 insn

This (mostly untested) patch is a reformulation of the generic v8sf single
vector shuffle in 4 insn as a generic intra-lane 2 vector shuffle in at most 3
insn. Reformulating __builtin_shuffle(x,m) as
__builtin_shuffle(x,vperm2f128(x,1),mm) would then guarantee a maximum size of
4.

Note that the strategy of doing a 2-vector shuffle by shuffling (not restricted
to one vpermilp*) each vector and blending the results gives a maximum of 9
insn, whereas the current code often generates twice that number.


By the way, I have trouble understanding this comment:
  /* For d-op0 == d-op1 the only useful vperm2f128 permutation
 is 0x10.  */
Is it really 0x10, or is there a stray 0 at the end and it is really just 1?


[Bug middle-end/51893] Wrong subword index computation in store_bit_field_1 on BIG_ENDIAN targets

2012-03-20 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51893

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|WAITING |NEW

--- Comment #10 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-03-20 
22:03:27 UTC ---
 Do you need additional information about this bug?
 Any comment about the provided patch?

No, I think the patch is correct.  Please post it on gcc-patches@.


[Bug c++/52595] [DR 325] commas and non-static data member initializers don't mix

2012-03-20 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52595

--- Comment #4 from Andrew Pinski pinskia at gcc dot gnu.org 2012-03-20 
23:00:19 UTC ---
(In reply to comment #3)
 So, what's going on? Was the commit for PR51666 incomplete, so to speak?

Maybe it was incomplete but then again the Defect report is still open though
there has been some changes to the dr about the change and such.


  1   2   >