[Bug c/23222] gcc optimization error for sparc with xine/ffmpeg, bad assembly generated

2005-08-04 Thread ebotcazou at gcc dot gnu dot org

--- Additional Comments From ebotcazou at gcc dot gnu dot org  2005-08-04 
06:18 ---
The test.s file assembles fine on my machine with GNU as 2.16.  Could you
compile the test.i file with -v and post the command line passed to the 
assembler?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23222


[Bug c/23222] gcc optimization error for sparc with xine/ffmpeg, bad assembly generated

2005-08-04 Thread aaron_williams at net dot com

--- Additional Comments From aaron_williams at net dot com  2005-08-04 
06:25 ---
Subject: Re:  gcc optimization error for sparc with xine/ffmpeg,
 bad assembly generated

Hmmm, I though I had binutils 2.16.1, but it's actually 2.15... that 
might be the problem.  Trying to upgrade to 2.16.1 now.

gcc -O3 -mcpu=ultrasparc -mtune=ultrasparc  -fno-inline-functions -c 
test.i -o test.o -v
Reading specs from /opt/gcc3.3/lib/gcc-lib/sparc-sun-solaris2.8/3.3.6/specs
Configured with: ../configure --host=sparc-sun-solaris2.8 
--prefix=/opt/gcc3.3 --enable-shared --with-gnu-ld 
--with-ld=/opt/gcc3.3/bin/ld --with-gnu-as --with-as=/opt/gcc3.3/bin/as 
--with-cpu=ultrasparc
Thread model: posix
gcc version 3.3.6
 /opt/gcc3.3/lib/gcc-lib/sparc-sun-solaris2.8/3.3.6/cc1 -fpreprocessed 
test.i -quiet -dumpbase test.i -mcpu=ultrasparc -mtune=ultrasparc 
-auxbase-strip test.o -O3 -version -fno-inline-functions -o 
/var/tmp//cczPFnhi.s
GNU C version 3.3.6 (sparc-sun-solaris2.8)
compiled by GNU C version 3.3.6.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
 /opt/gcc3.3/bin/as -V -Qy -s -xarch=v8plusa -o test.o /var/tmp//cczPFnhi.s
GNU assembler version 2.15 (sparc-sun-solaris2.8) using BFD version 2.15
/var/tmp//cczPFnhi.s: Assembler messages:
/var/tmp//cczPFnhi.s:464: Error: Illegal operands: There are only 32 
single precision f registers; [0-31]


  



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23222


[Bug c/23226] New: Nested function do not work on 32 bit build

2005-08-04 Thread lex dot augusteijn at philips dot com
The nice litle program below does not work on 4.0.1 32 bit target code, running
on  an Opteron.
The 64 bit target is OK.

The problem appears on both 3.4.3 and 4.0.1, I did not try other releases.

Regards,

Lex Augusteijn



#include stdio.h

typedef enum { FALSE, TRUE } Bool;

Bool false (int x) { return FALSE; }

void primes (int p, Bool (*filter) (int))
{
  int q;
  
  Bool my_filter (int x) 
  {
return x%p ? filter(x) : TRUE;
  }
  
  printf (%d\n, p);
  for (q = p+2; my_filter(q); q += 2) {}
  primes (q, my_filter);
}

int main (void)
{
  printf (%d\n, 2);
  primes (3, false);
  return 0;
}

-- 
   Summary: Nested function do not work on 32 bit build
   Product: gcc
   Version: 4.0.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: lex dot augusteijn at philips dot com
CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23226


[Bug c/23226] Nested function do not work on 32 bit build

2005-08-04 Thread belyshev at depni dot sinp dot msu dot ru

--- Additional Comments From belyshev at depni dot sinp dot msu dot ru  
2005-08-04 08:07 ---
This program works for me in both 32 and 64 bit mode.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23226


[Bug rtl-optimization/15023] -frename-registers is buggy and slow

2005-08-04 Thread ebotcazou at gcc dot gnu dot org

--- Additional Comments From ebotcazou at gcc dot gnu dot org  2005-08-04 
09:04 ---
I'd like to mention a known problem with -frename-registers.  Quoting my
analysis for another bug report:

However the underlying problem is still present and is now visible on x86-64:
the register renaming pass (regrename.c) uses its own life analysis engine to 
compute the def-use chains.  It turns out that it is less accurate than the 
all-purpose life analysis engine (flow.c) and, consequently, when the latter 
is invoked to update the global liveness info at the end of the pass, it may 
flag internal inconsistencies introduced because of the former.

It is not immediately obvious what the best approach to solving that would be.
A third life analysis engine exists (df.c) and is supposed to be modular, so 
we could try to plug it into regrename.c.

The typical example is PR rtl-optimization/16586.


-- 
   What|Removed |Added

 CC||ebotcazou at gcc dot gnu dot
   ||org
  BugsThisDependsOn||16586


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15023


[Bug c/23155] [4.0/4.1 Regression] Gimplification failed for union cast

2005-08-04 Thread rguenth at gcc dot gnu dot org

--- Additional Comments From rguenth at gcc dot gnu dot org  2005-08-04 
09:20 ---
It's an lvalue-cast, which we no longer support as an extension.  So it's ICE on
invalid and a frontend bug.  The C++ frontend spits out the interesting error

pr23155.c: In function ‘void foo5(int)’:
pr23155.c:7: error: no matching function for call to ‘vx::vx(int)‘
pr23155.c:1: note: candidates are: vx::vx()
pr23155.c:1: note: vx::vx(const vx)

The following get's rejected with what should be done with the original
testcase, too:

union vx {short f[8]; int v;};
int vec;

void bar(short *);

void
foo5 (int vec)
{
  bar(((union vx) vec).f);
}

pr23155.c: In function ‘foo5’:
pr23155.c:10: error: invalid use of non-lvalue array


-- 
   What|Removed |Added

  Component|middle-end  |c
   Keywords|ice-on-valid-code   |accepts-invalid


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23155


[Bug c++/23227] New: SFINAE bug

2005-08-04 Thread sylvain dot pion at sophia dot inria dot fr
The following code refuses to compile :

struct C;

template  typename T 
struct B;

template  typename T 
struct A;

void f(const C c);// this one is fine
void f(const BC a); // this one is fine
void f(const AC a); // this one triggers the bug
void f(double) {}

template  typename T 
struct A
{
  BT b;
};


int main()
{
  f(1.0); // = instantiates AC = instantiates BC = fails.
}
---

The error message is :
instance.C: In instantiation of 'AC':
instance.C:23:   instantiated from here
instance.C:17: error: 'AT::b' has incomplete type
instance.C:4: error: declaration of 'struct BC'

I am not 100% sure it is a SFINAE bug, but it looks like one to me.

Note that if you comment the declaration of f(AC), then it works.
Similarly if you comment the definition of A.

So the problem here is probably that if the definition of A is
available, then the compiler instantiates it, which triggers the
instantiation of BT, which fails, but the compiler does not
recover from this instantiation as it should (following SFINAE).

There is the same problem with g++ 3.3, 3.4 and 4.0.1.

-- 
   Summary: SFINAE bug
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sylvain dot pion at sophia dot inria dot fr
CC: gcc-bugs at gcc dot gnu dot org,sylvain dot pion at
sophia dot inria dot fr
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23227


[Bug target/19300] [4.0 Regression] PCH failures on sparc-linux

2005-08-04 Thread christian dot joensson at gmail dot com

--- Additional Comments From christian dot joensson at gmail dot com  
2005-08-04 09:46 ---
(In reply to comment #24)
 Also fixed in 3.4.5.

This is the currently, 2005-08-03, latest test results I have for 3.4:

http://gcc.gnu.org/ml/gcc-testresults/2005-08/msg00196.html

and the gcc PCH tests that FAIL are for -m64:

FAIL: gcc.dg/pch/static-1.c -O0 -g assembly comparison
FAIL: gcc.dg/pch/static-1.c  -O0  assembly comparison
FAIL: gcc.dg/pch/static-1.c  -O1  assembly comparison
FAIL: gcc.dg/pch/static-2.c -O0 -g assembly comparison
FAIL: gcc.dg/pch/static-2.c  -O0  assembly comparison
FAIL: gcc.dg/pch/static-2.c  -O1  assembly comparison
FAIL: gcc.dg/pch/static-3.c -O0 -g assembly comparison
FAIL: gcc.dg/pch/static-3.c  -O0  assembly comparison
FAIL: gcc.dg/pch/static-3.c  -O1  assembly comparison

and from the log file, for example:

Executing on host: /usr/local/src/branch/objdir.3.4/gcc/xgcc
-B/usr/local/src/branch/objdir.3.4/gcc/
/usr/local/src/branch/gcc.3.4/gcc/testsuite/gcc.dg/pch/static-1.c  -O0 -g -I. -S
 -m64 -o static-1.s(timeout = 600)
PASS: gcc.dg/pch/static-1.c -O0 -g (test for excess errors)
line #48
   !#PROLOGUE# 0
   .register   %g2, #scratch
line #49
   save%sp, -192, %sp
   .register   %g3, #scratch
line #50
 .LLCFI1:
   !#PROLOGUE# 0
line #51
   !#PROLOGUE# 1
   save%sp, -192, %sp
line #52
   .loc 2 5 0
 .LLCFI1:
line #53
   sethi   %hi(counter.1), %g1
   !#PROLOGUE# 1
line #54
   or  %g1, %lo(counter.1), %g1
   .loc 2 5 0
line #55
   mov %g1, %g2
   sethi   %hi(counter.1), %g1
line #56
   ld  [%g2], %g1
   or  %g1, %lo(counter.1), %g1
line #57
   mov %g1, %g3
   mov %g1, %g2
line #58
   add %g1, 1, %g1
   ld  [%g2], %g1
line #59
   st  %g1, [%g2]
   mov %g1, %g3
line #60
   sra %g3, 0, %g1
   add %g1, 1, %g1
line #61
   .loc 2 6 0
   st  %g1, [%g2]
line #62
   mov %g1, %i0
   sra %g3, 0, %g1
line #63
   return  %i7+8
   .loc 2 6 0
line #64
   nop
   mov %g1, %i0
line #65
 .LLFE3:
   return  %i7+8
line #66
   .size   bar, .-bar
   nop
line #67
   .section.debug_frame
 .LLFE3:
line #68
 .LLframe0:
   .size   bar, .-bar
line #69
   .uaword .LLECIE0-.LLSCIE0
   .section.debug_frame
line #70
 .LLSCIE0:
 .LLframe0:
line #71
   .uaword 0x
   .uaword .LLECIE0-.LLSCIE0
line #72
   .byte   0x1
 .LLSCIE0:
line #73
   .asciz  
   .uaword 0x
line #74
   .uleb128 0x1
   .byte   0x1
line #75
   .sleb128 -8
   .asciz  
line #76
   .byte   0xf
   .uleb128 0x1
line #77
   .byte   0xc
   .sleb128 -8
line #78
   .uleb128 0xe
   .byte   0xf
line #79
   .uleb128 0x7ff
   .byte   0xc
line #80
   .align 8
   .uleb128 0xe
line #81
 .LLECIE0:
   .uleb128 0x7ff
line #82
 .LLSFDE0:
   .align 8
line #83
   .uaword .LLEFDE0-.LLASFDE0
 .LLECIE0:
line #84
 .LLASFDE0:
 .LLSFDE0:
line #85
   .uaword .LLframe0
   .uaword .LLEFDE0-.LLASFDE0
line #86
   .uaxword.LLFB2
 .LLASFDE0:
line #87
   .uaxword.LLFE2-.LLFB2
   .uaword .LLframe0
line #88
   .byte   0x4
   .uaxword.LLFB2
line #89
   .uaword .LLCFI0-.LLFB2
   .uaxword.LLFE2-.LLFB2
line #90
   .byte   0xd
   .byte   0x4
line #91
   .uleb128 0x1e
   .uaword .LLCFI0-.LLFB2
line #92
   .byte   0x2d
   .byte   0xd
line #93
   .byte   0x9
   .uleb128 0x1e
line #94
   .uleb128 0xf
   .byte   0x2d
line #95
   .uleb128 0x1f
   .byte   0x9
line #96
   .align 8
   .uleb128 0xf
line #97
 .LLEFDE0:
   .uleb128 0x1f
line #98
 .LLSFDE2:
   .align 8
line #99
   .uaword .LLEFDE2-.LLASFDE2
 .LLEFDE0:
line #100
 .LLASFDE2:
 .LLSFDE2:
line #101
   .uaword .LLframe0
   .uaword .LLEFDE2-.LLASFDE2
line #102
   .uaxword.LLFB3
 .LLASFDE2:
line #103
   .uaxword.LLFE3-.LLFB3
   .uaword .LLframe0
line #104
   .byte   0x4
   .uaxword.LLFB3
line #105
   .uaword .LLCFI1-.LLFB3
   .uaxword.LLFE3-.LLFB3
line #106
   .byte   0xd
   .byte   0x4
line #107
   .uleb128 0x1e
   .uaword .LLCFI1-.LLFB3
line #108
   .byte   0x2d
   .byte   0xd
line #109
   .byte   0x9
   .uleb128 0x1e
line #110
   .uleb128 0xf
   .byte   0x2d
line #111
   .uleb128 0x1f
   .byte   0x9
line #112
   .align 8
   .uleb128 0xf
line #113
 .LLEFDE2:
   .uleb128 0x1f
line #114
   .section.text
   .align 8
line #115
 .LLetext0:
 .LLEFDE2:
line #116
   .section.debug_info
   .section.text
line #117
   .uaword 0x12c
 .LLetext0:
line #118
   .uahalf 0x2
   .section.debug_info
line #119
   .uaword .LLdebug_abbrev0
   .uaword 0x12c
line #120
   

[Bug rtl-optimization/15023] -frename-registers is buggy and slow

2005-08-04 Thread steven at gcc dot gnu dot org

--- Additional Comments From steven at gcc dot gnu dot org  2005-08-04 
09:51 ---
The liveness analysis in df.c misses the registers marked in 
flow.c:mark_regs_live_at_end, so that'd have to be fixed first. 
 
 
 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15023


[Bug target/19300] [4.0 Regression] PCH failures on sparc-linux

2005-08-04 Thread ebotcazou at gcc dot gnu dot org

--- Additional Comments From ebotcazou at gcc dot gnu dot org  2005-08-04 
10:01 ---
 This is the currently, 2005-08-03, latest test results I have for 3.4:
 
 http://gcc.gnu.org/ml/gcc-testresults/2005-08/msg00196.html
 
 and the gcc PCH tests that FAIL are for -m64:
 
 FAIL: gcc.dg/pch/static-1.c -O0 -g assembly comparison
 FAIL: gcc.dg/pch/static-1.c  -O0  assembly comparison
 FAIL: gcc.dg/pch/static-1.c  -O1  assembly comparison
 FAIL: gcc.dg/pch/static-2.c -O0 -g assembly comparison
 FAIL: gcc.dg/pch/static-2.c  -O0  assembly comparison
 FAIL: gcc.dg/pch/static-2.c  -O1  assembly comparison
 FAIL: gcc.dg/pch/static-3.c -O0 -g assembly comparison
 FAIL: gcc.dg/pch/static-3.c  -O0  assembly comparison
 FAIL: gcc.dg/pch/static-3.c  -O1  assembly comparison
 
 and from the log file, for example:
 
 Executing on host: /usr/local/src/branch/objdir.3.4/gcc/xgcc
 -B/usr/local/src/branch/objdir.3.4/gcc/
 /usr/local/src/branch/gcc.3.4/gcc/testsuite/gcc.dg/pch/static-1.c  -O0 -g -I. 
 -S
  -m64 -o static-1.s(timeout = 600)
 PASS: gcc.dg/pch/static-1.c -O0 -g (test for excess errors)
 line #48
  !#PROLOGUE# 0
  .register   %g2, #scratch
 line #49
  save%sp, -192, %sp
  .register   %g3, #scratch
 line #50

That's a PR of you too.  A backport of

2005-04-15  David S. Miller  [EMAIL PROTECTED]

PR target/20673
* config/sparc/sparc.h (sparc_hard_reg_printed): Mark as GTY(()).

is pre-approved, assuming the release manager is OK with it.


-- 
   What|Removed |Added

  BugsThisDependsOn||20673


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19300


[Bug c++/23213] Error in Koenig Lookup causes overload resolution failure

2005-08-04 Thread gdr at integrable-solutions dot net

--- Additional Comments From gdr at integrable-solutions dot net  
2005-08-04 10:02 ---
Subject: Re:  New: Error in Koenig Lookup causes overload resolution failure

adah at netstd dot com [EMAIL PROTECTED] writes:

| 
http://groups-beta.google.com/group/comp.lang.c++.moderated/browse_thread/thread/3c449572456c8592

[...]

| not quite clear on this).  But I do not think it the purpose of the standard 
to
| let something in the std namespace affect local name resolution.  Maybe you
| gurus here can judge better?

Whether you like it or not, you have to take it to the C++ committee.
It is not GCC's job to fix C++ standard semantics you would not
like.

-- Gaby


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23213


[Bug libstdc++/15910] can't compile self defined void distance(std::vectorT, std::vectorT)

2005-08-04 Thread gdr at integrable-solutions dot net

--- Additional Comments From gdr at integrable-solutions dot net  
2005-08-04 10:13 ---
Subject: Re:  can't compile self defined void distance(std::vectorT, 
std::vectorT)

adah at netstd dot com [EMAIL PROTECTED] writes:

| 1) This bug is not in libstdc++, but in the C++ compiler.

yes and no.

[...]

| 3) To complicate the matter, all good compilers I know fail in this case.  
| However, I still believe it is the problem of the compilers.

Please take ti to the C++ standard committee.  The behaviour is that
described by the standard.  If you don't like it, have the committee
change it.  If you think name lookup is an easy exercise, give it a try.

-- Gaby


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15910


[Bug c/23228] New: Silly unused variable warning after redeclaration of a local variable

2005-08-04 Thread steven at gcc dot gnu dot org
Maybe there are similar issues elsewhere, but this one happened  
to bother me...  This warning is also issed by GCC 3.3, so I guess 
it is not a regression.  But it's a silly warning after errors. 
 
=== t.c ===  
int bar (void);  
int foo (void)  
{  
  int i;  
  int i;  
  i = bar ();  
  return 2*i;  
}  
===  
  
$ gcc -Wall -Wextra -O2 t.c  
t.c: In function 'foo':  
t.c:5: error: redeclaration of 'i' with no linkage  
t.c:4: error: previous declaration of 'i' was here  
t.c:4: warning: unused variable 'i'  
$

-- 
   Summary: Silly unused variable warning after redeclaration of a
local variable
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: normal
  Priority: P2
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: steven at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org,jsm28 at gcc dot gnu dot
org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23228


[Bug c++/23229] New: g++ gives incorrect error message with void main() and a void function

2005-08-04 Thread pvuorela at iki dot fi
g++ 4.0.1 gives incorrect error message with void function declaration   
implementation when using void main(). This can be demonstrated with the  
following program:  
  
--  
void f1();  
  
void main()  
{ 
   f1();  
}  
  
void f1()  
{ 
}  
  
  
The resulting error message is:  
gccbug.cc:3: error: '::main' must return 'int'  
gccbug.cc: In function 'void f1()':  
gccbug.cc:8: error: new declaration 'void f1()'  
gccbug.cc:1: error: ambiguates old declaration 'int f1()'  
  
Granted, using void for return value of main() is an error, but so is the  
resulting message.   
The error message is correct with gcc 3.3.5 and 3.4.4 (debian prerelease). 
 
  
Since Reporting bugs web page requested the environment,  
gcc -v gives:  
Using built-in specs.  
Target: i486-linux-gnu  
Configured with: ../src/configure -v  
--enable-languages=c,c++,java,f95,objc,ada,treelang --prefix=/usr  
--enable-shared --with-system-zlib --libexecdir=/usr/lib --enable-nls  
--without-included-gettext --enable-threads=posix --program-suffix=-4.0  
--enable-__cxa_atexit --enable-libstdcxx-allocator=mt --enable-clocale=gnu  
--enable-libstdcxx-debug --enable-java-gc=boehm --enable-java-awt=gtk  
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre --enable-mpfr  
--disable-werror --enable-checking=release i486-linux-gnu  
Thread model: posix  
gcc version 4.0.1 (Debian 4.0.1-2)  
  
system:  
Linux maestro 2.6.12.1 #1 SMP Sun Jun 26 16:24:58 EEST 2005 i686 GNU/Linux

-- 
   Summary: g++ gives incorrect error message with void main() and a
void function
   Product: gcc
   Version: 4.0.1
Status: UNCONFIRMED
  Severity: minor
  Priority: P2
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pvuorela at iki dot fi
CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: i486-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23229


[Bug c++/23219] [4.1 Regression] ICE: Segmentation fault in decl_namespace_context

2005-08-04 Thread rguenth at gcc dot gnu dot org

--- Additional Comments From rguenth at gcc dot gnu dot org  2005-08-04 
11:29 ---
I have a patch.

-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2005-08-03 18:32:52 |2005-08-04 11:29:37
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23219


[Bug target/23102] extra XORs generated on i686

2005-08-04 Thread rguenth at gcc dot gnu dot org

--- Additional Comments From rguenth at gcc dot gnu dot org  2005-08-04 
11:54 ---
Try killing the peephole2 for this.  Somebody elses cost-metric should force
the constant into a register for the move ...

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23102


[Bug rtl-optimization/20969] unrolling does not take target register pressure into account.

2005-08-04 Thread joern dot rennecke at st dot com

--- Additional Comments From joern dot rennecke at st dot com  2005-08-04 
12:13 ---
Subject: Re:  unrolling does not take target register pressure into account.

steven at gcc dot gnu dot org wrote:

  

 
Could you give some specific examples of assesments that 3.4 can do and 4.1 
can not? 
  

Of course, you could write special-case pattern matchers for specific loops,
but there is no infrastructure to do some assessments in a general way.  
In particular,
there is no strength reduction information available during unrolling.  
Increments of
address  givs can be saved by doing unrolling, but the unroller can't 
tell what they are.
Forthermore, from the giv information we can find array accesses, which 
allow to
make an informed guess of the maximum iteration count without profile 
information
or explicit loop bounds.
Look at sh.c:sh_adjust_unroll_max and try to figure out how to port all 
the #if 0'ed
code to 4.1 .
 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20969


[Bug libfortran/22097] libgfortran build failure on mips-sgi-irix6.5

2005-08-04 Thread fxcoudert at gcc dot gnu dot org

--- Additional Comments From fxcoudert at gcc dot gnu dot org  2005-08-04 
12:19 ---
This happens again with fresh CVS (20050804). Still no idea?

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22097


[Bug c/23228] Silly unused variable warning after redeclaration of a local variable

2005-08-04 Thread gdr at integrable-solutions dot net

--- Additional Comments From gdr at integrable-solutions dot net  
2005-08-04 12:20 ---
Subject: Re:  New: Silly unused variable warning after redeclaration of a 
local variable

steven at gcc dot gnu dot org [EMAIL PROTECTED] writes:

| Maybe there are similar issues elsewhere, but this one happened  
| to bother me...  This warning is also issed by GCC 3.3, so I guess 
| it is not a regression.  But it's a silly warning after errors. 

Agreed.

-- Gaby


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23228


[Bug driver/21366] The -bundle linking option does not get processed right on darwin

2005-08-04 Thread peter at pogma dot com

--- Additional Comments From peter at pogma dot com  2005-08-04 12:52 
---
New(ish) patch:
http://gcc.gnu.org/ml/gcc-patches/2005-08/msg00266.html

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21366


[Bug c++/23229] [4.0/4.1 Regression] g++ gives incorrect error message with void main() and a void function

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
13:02 ---
Confirmed, weird.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
 GCC target triplet|i486-linux-gnu  |
   Keywords||diagnostic
   Last reconfirmed|-00-00 00:00:00 |2005-08-04 13:02:26
   date||
Summary|g++ gives incorrect error   |[4.0/4.1 Regression] g++
   |message with void main() and|gives incorrect error
   |a void function |message with void main() and
   ||a void function
   Target Milestone|--- |4.0.2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23229


[Bug c/23228] [3.4/4.0/4.1 Regression] Silly unused variable warning after redeclaration of a local variable

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
13:04 ---
Confirmed, a regression from 3.0.4 and 2.95.3.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
  Known to fail||3.3 3.2.3 3.4.0 4.0.0 4.1.0
  Known to work||3.0.4 2.95.3
   Last reconfirmed|-00-00 00:00:00 |2005-08-04 13:04:17
   date||
Summary|Silly unused variable |[3.4/4.0/4.1 Regression]
   |warning after redeclaration |Silly unused variable
   |of a local variable |warning after redeclaration
   ||of a local variable
   Target Milestone|--- |4.0.2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23228


[Bug c++/23227] SFINAE bug

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
13:07 ---
IIRC SFINAE does not mean not instantiating the template class.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23227


[Bug rtl-optimization/20969] unrolling does not take target register pressure into account.

2005-08-04 Thread steven at gcc dot gnu dot org

--- Additional Comments From steven at gcc dot gnu dot org  2005-08-04 
13:10 ---
Strength reduction already happens before loop unrolling, but I guess 
there could still be new opportunities after loop unrolling.  Not sure 
how significant that would be. 
 
For the number of loop iterations, the plan was always that loops would 
be preserved down from the tree level, and that the number of iterations 
would be computed there.  This hasn't happened yet, sadly. 
 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20969


[Bug c/23222] gcc optimization error for sparc with xine/ffmpeg, bad assembly generated

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
13:14 ---
fmovdne %fcc1, %f50, %f8


Yep this is still a dup of bug 15247.

*** This bug has been marked as a duplicate of 15247 ***

-- 
   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||DUPLICATE


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23222


[Bug target/15247] gas complains There are only 32 single precision f registers; [0-31] when compiling glibc-2.3.2/math/dosincos.c

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
13:14 ---
*** Bug 23222 has been marked as a duplicate of this bug. ***

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15247


[Bug c++/23227] SFINAE bug

2005-08-04 Thread gdr at integrable-solutions dot net

--- Additional Comments From gdr at integrable-solutions dot net  
2005-08-04 13:26 ---
Subject: Re:  SFINAE bug

pinskia at gcc dot gnu dot org [EMAIL PROTECTED] writes:

| IIRC SFINAE does not mean not instantiating the template class.

That is true.  However, the real issue has nothing to do with SFINAE.  
The compiler is just plain buggy.

Sylvain -- don't describe a plain compiler bug as SFINAE, otherwise
people might be sidetracked :-)

-- Gaby


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23227


[Bug rtl-optimization/20969] unrolling does not take target register pressure into account.

2005-08-04 Thread amylaar at gcc dot gnu dot org

--- Additional Comments From amylaar at gcc dot gnu dot org  2005-08-04 
13:36 ---
(In reply to comment #13)
 Strength reduction already happens before loop unrolling, but I guess 
 there could still be new opportunities after loop unrolling.  Not sure 
 how significant that would be.

Unrolling really works best when it can directly work with the strength
reduction information.  Besides better counting and modifying DEST_ADDR
givs, there is also the issue of throttling prefetching to use less preftches
per cache line.  E.g. whenyou have a loop with stride 4 and a cache line size
of 32, when you unroll the loop by a factor of eight, instead of prefetching
every cache line 8 times, you only need to prefetch it once. 
  
 For the number of loop iterations, the plan was always that loops would 
 be preserved down from the tree level, and that the number of iterations 
 would be computed there.  This hasn't happened yet, sadly.

The problem is not only that we are not passed the information that was
computed earlier, but also that we currently only have exact information or
none at all.  When there is an array access inside the loop, we might not
be able to prove what the exact iteration count is, although we can make
a guess that will be exact or close with a high probability.
  



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20969


[Bug java/23230] New: Wrong this used when call made to superclass which is also superclass of enclosing class

2005-08-04 Thread greenrd at greenrd dot org
The following file is miscompiled by gcj -C:

public class Outer extends Thread {

  public class Inner extends Thread {
private Inner () {
  start ();
}
  }

}

It uses the wrong this to call start():

Outer$Inner(Outer);
  Code:
   0:   aload_0
   1:   aload_1
   2:   putfield#12; //Field this$0:LOuter;
   5:   aload_0
   6:   invokespecial   #15; //Method java/lang/Thread.init:()V
   9:   aload_1
   10:  invokevirtual   #18; //Method java/lang/Thread.start:()V
   13:  return

}

Sun's compiler outputs correct code:

private Outer$Inner(Outer);
  Code:
   0:   aload_0
   1:   aload_1
   2:   putfield#1; //Field this$0:LOuter;
   5:   aload_0
   6:   invokespecial   #2; //Method java/lang/Thread.init:()V
   9:   aload_0
   10:  invokevirtual   #3; //Method start:()V
   13:  return

}

The difference is at 9.

Note: The bug does not occur if you just replace start() (which is declared in
java.lang.Thread) with notify() (which is declared in java.lang.Object).

-- 
   Summary: Wrong this used when call made to superclass which is
also superclass of enclosing class
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: greenrd at greenrd dot org
CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23230


[Bug java/23230] Wrong this used when call made to superclass which is also superclass of enclosing class

2005-08-04 Thread greenrd at greenrd dot org


-- 
   What|Removed |Added

OtherBugsDependingO||18131, 23220
  nThis||
   Keywords||wrong-code


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23230


[Bug java/23220] [3.4/4.0/4.1 Regression] ICE in a specific doubly-nested class

2005-08-04 Thread greenrd at greenrd dot org

--- Additional Comments From greenrd at greenrd dot org  2005-08-04 15:07 
---
Backtrace:
#0  0x08066846 in java_complete_lhs (node=0x0) at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/java/parse.y:11665
#1  0x08066757 in java_complete_tree (node=0x0) at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/java/parse.y:11628
#2  0x0806518b in maybe_use_access_method (is_super_init=0, mdecl=0xbfc1365c,
this_arg=0xbfc13658)
at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/java/parse.y:10971
#3  0x08064991 in patch_method_invocation (patch=0xb7c39e60, primary=0x0,
where=0x0, from_super=0, is_static=0x0, ret_decl=0xbfc1371c)
at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/java/parse.y:10754
#4  0x080679a8 in java_complete_lhs (node=0xb7c39e60)
at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/java/parse.y:12130
#5  0x08066757 in java_complete_tree (node=0xb7c39e60)
at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/java/parse.y:11628
#6  0x08067666 in java_complete_lhs (node=0xb7c39e88)
at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/java/parse.y:12038
#7  0x08066757 in java_complete_tree (node=0xb7c39e88)
at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/java/parse.y:11628
#8  0x08066aa0 in java_complete_lhs (node=0xb7c090d0)
at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/java/parse.y:11748
#9  0x08066757 in java_complete_tree (node=0xb7c090d0)
at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/java/parse.y:11628
#10 0x0805f911 in java_complete_expand_method (mdecl=0xb7c38480)
at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/java/parse.y:8191
#11 0x0805effe in java_complete_expand_methods (class_decl=0xb7c172d8)
at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/java/parse.y:7885
#12 0x0805ef5d in java_complete_expand_class (outer=0xb7c172d8)
at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/java/parse.y:7846
#13 0x0805ef44 in java_complete_expand_class (outer=0xb7c17208)
at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/java/parse.y:7844
#14 0x0805ef44 in java_complete_expand_class (outer=0xb7c17138)
at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/java/parse.y:7844
#15 0x0805ef15 in java_complete_expand_classes () at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/java/parse.y:7827
#16 0x080618cb in java_expand_classes () at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/java/parse.y:9243
#17 0x080a99eb in java_parse_file (set_yydebug=0)
at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/java/jcf-parse.c:1309
#18 0x08373b6d in compile_file () at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/toplev.c:971
#19 0x08375271 in do_compile () at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/toplev.c:1914
#20 0x083752d3 in toplev_main (argc=14, argv=0xbfc13c54)
at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/toplev.c:1946
#21 0x080babea in main (argc=14, argv=0xbfc13c54) at
/var/tmp/portage/gcc-4.1.0_beta20050730/work/gcc-4.1-20050730/gcc/main.c:35


-- 
   What|Removed |Added

OtherBugsDependingO||18131
  nThis||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23220


[Bug java/23230] Wrong this used when call made to superclass which is also superclass of enclosing class

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
15:23 ---
Confirmed.

-- 
   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-08-04 15:23:34
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23230


[Bug java/23230] Wrong this used when call made to superclass which is also superclass of enclosing class

2005-08-04 Thread greenrd at greenrd dot org

--- Additional Comments From greenrd at greenrd dot org  2005-08-04 15:26 
---
The relevant part of the JLS is section 15.12.1 @
http://java.sun.com/docs/books/jls/second_edition/html/expressions.doc.html#20448

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23230


[Bug bootstrap/17777] AIX bootstrap comparison failure with xlc6

2005-08-04 Thread jlquinn at gcc dot gnu dot org

--- Additional Comments From jlquinn at gcc dot gnu dot org  2005-08-04 
15:34 ---
Unfortunately, I no longer have access to the test box, so I can't verify if 
it's
working now.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1


[Bug bootstrap/23231] New: cross compiling fails for mips-sgi-irix6.5

2005-08-04 Thread pfl at iis dot fhg dot de
when cross compiling the gcc 4.0.2 on a i686-pc-linux-gnu with
intel: binutils 2.16.1 - compiled with gcc 4.1.0
mips:  binutils 2.16.1 - compiled with gcc 4.1.0

the following error occures:

/home/pfl/gnu/mips-sgi-irix6.5/bin/ld: unrecognized option '-_SYSTYPE_SVR4'
/home/pfl/gnu/mips-sgi-irix6.5/bin/ld: use the --help option for usage 
information
collect2: ld returned 1 exit status

and the compilation exits. 

The same problem occures when the binutils are:
intel: binutils 2.16.1 - compiled with gcc 4.0.2
mips:  binutils 2.16.1 - compiled with gcc 4.0.2

I get also the same problem when compiling on an apple mac - tiger 10.4.2.

-- 
   Summary: cross compiling fails for mips-sgi-irix6.5
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pfl at iis dot fhg dot de
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: mips-sgi-irix6.5


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23231


[Bug fortran/23232] New: DATA implied DO variables

2005-08-04 Thread rofi at ya dot com
gcc version 4.1.0 20050730 (experimental)

The following two DATA statements are rejected by gfortran because J is not
considered a valid primary in those expressions although it is the variable of
another enclosing data-implied-do.

 PROGRAM p
  REAL :: ONE_ARRAY(100, 100)
  INTEGER :: K, J

  DATA ((ONE_ARRAY (K, J), K = 1, J-1), J = 1, 100) /4950 * 1.0/
  DATA ((ONE_ARRAY (K, J), K = J, 100), J = 1, 100) /5050 * 0.0/
 END PROGRAM

$ gfortran -fsyntax-only snippet.f90
 In file snippet.f90:5

  DATA ((ONE_ARRAY (K, J), K = 1, J-1), J = 1, 100) /4950 * 1.0/
1
Error: Variable 'j' at (1) cannot appear in an initialization expression
 In file snippet.f90:6

  DATA ((ONE_ARRAY (K, J), K = J, 100), J = 1, 100) /5050 * 0.0/
 1
Error: Variable 'j' at (1) cannot appear in an initialization expression

-- 
   Summary: DATA implied DO variables
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rofi at ya dot com
CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23232


[Bug fortran/23232] DATA implied DO variables

2005-08-04 Thread rofi at ya dot com

--- Additional Comments From rofi at ya dot com  2005-08-04 15:59 ---
Created an attachment (id=9431)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9431action=view)
Failing case with an optional commented checking part


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23232


[Bug rtl-optimization/23233] New: Loop optimisation ICE for subreg addresses

2005-08-04 Thread rsandifo at gcc dot gnu dot org
This testcase causes an ICE at -O2:

void foo (volatile long long *x)
{
  while (*x)
{
  *x = 0;
  *((volatile char *) 0) = 0;
}
}

with:

 error: unrecognizable insn:
(insn:HI 25 21 27 2 (set (mem/v:QI (subreg:SI (reg:DI 124) 4) [0 S1 A8])
(subreg:QI (reg:DI 124) 7)) -1 (nil)
(expr_list:REG_EQUAL (const_int 0 [0x0])
(nil)))

The bug is in the loop,c movables code.  There are two loop-invariant
registers with the value 0, one SImode and one DImode.  loop decides
to combine them and replaces uses of the SImode register with the DImode
one.  This turns the address in the MEM from an SImode REG to an
SImode SUBREG of a DImode reg, and powerpc's GO_IF_LEGITIMATE_ADDRESS
doesn't allow that.

-- 
   Summary: Loop optimisation ICE for subreg addresses
   Product: gcc
   Version: 3.4.4
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P2
 Component: rtl-optimization
AssignedTo: rsandifo at gcc dot gnu dot org
ReportedBy: rsandifo at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: powerpc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23233


[Bug rtl-optimization/23233] Loop optimisation ICE for subreg addresses

2005-08-04 Thread rsandifo at gcc dot gnu dot org


-- 
   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-08-04 16:06:12
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23233


[Bug rtl-optimization/23233] Loop optimisation ICE for subreg addresses

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
16:15 ---
Confirmed, I wish loop.c would go away.

-- 
   What|Removed |Added

  Known to fail||4.0.0 3.3.3 3.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23233


[Bug target/23102] extra XORs generated on i686

2005-08-04 Thread dann at godzilla dot ics dot uci dot edu

--- Additional Comments From dann at godzilla dot ics dot uci dot edu  
2005-08-04 17:06 ---
(In reply to comment #3)
 Try killing the peephole2 for this.  Somebody elses cost-metric should force
 the constant into a register for the move ...

Killing the peephole2 would just produce the code produced for i386 as shown in
the original report.
What we want is something like 
xorl %ecx, %ecx
movl%ecx, 3144(%eax)
movl%ecx, 3124(%eax)
... etc etc


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23102


[Bug pch/14940] PCH largefile test fails on various platforms

2005-08-04 Thread dave at hiauly1 dot hia dot nrc dot ca

--- Additional Comments From dave at hiauly1 dot hia dot nrc dot ca  
2005-08-04 17:41 ---
Subject: Re:  PCH largefile test fails on various platforms

 Log message:
   ./
   PR pch/14400
   Backport from mainline:

With this change largefile.c now fails on hppa2.0w-hp-hpux11.00 on
3.4.  So, we now have a 3.4 regression.  I guess the 4.0 PA fix needs
to be backported.

Dave


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14940


[Bug tree-optimization/23234] New: ICE in verify_flow_info()

2005-08-04 Thread uttamp at us dot ibm dot com
Following test program causes an internal compiler error,
$ cat y.c

double func ( double a, double b, double c)
{
  double x0, x1, y0, y1;
  int type = 0;
  double ar;

  if(b==0.0){
  x0 = -c/a;
  return( x0  1.0? 1.0 : ( x0  0.0 ? 0.0: x0));
}
  if(a==0.0) {
  y0 = -c/b;
  return( y0  1.0? 1.0 : ( y0  0.0 ? 0.0: y0));
}


  x0 = -c/a;
  y0 = -c/b;

  type = ((y0=1.0)(y1=1.0) ? 16 : type);

  switch(type){
  case 3: ar = (0.5*(y0+y1)); break;
  }

   return ar;

}

$ /opt/mline-20050802/bin/gcc -c -ffast-math -O2 y.c
$ y.c: In function âfuncâ:
y.c:2: error: control flow in the middle of basic block 0
y.c:2: internal compiler error: verify_flow_info failed
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.

This test case works with gcc_cvs code till 20050801. This is also a reason to 
fail eon benchmark.

-- 
   Summary: ICE in verify_flow_info()
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: uttamp at us dot ibm dot com
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: powerpc-linux
  GCC host triplet: powerpc-linux
GCC target triplet: powerpc-linu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23234


[Bug pch/14940] PCH largefile test fails on various platforms

2005-08-04 Thread ian at airs dot com

--- Additional Comments From ian at airs dot com  2005-08-04 17:54 ---
My patch added the largefile test to the 3.4 branch.  I don't think that failing
a new test can be called a regression.  I expect that the compiler would have
failed the test before, too, it's just that nobody knew about it.

Failing the largefile test means that pre-compiled headers will fail
occasionally and effectively unpredictably.  That's why I added the test: so
that at least people will know for which targets PCH is unreliable.

I would be in favor of backporting to 3.4 any HP/UX fix which fixes the
largefile test.  But since I don't think it's a regression I don't think it's on
my plate to do that.  I will probably do it if nobody else does, but not very 
soon.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14940


[Bug tree-optimization/23234] [4.1 Regression] ICE in verify_flow_info()

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
17:55 ---
Confirmed, reduced testcase:
double func ( double a, double b, double c)
{
  double y0;
  if(a==0.0) {
  y0 = -c/b;
  return y0;
}
  y0 = -c/b;
  return y0;
}

-- 
   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
  GCC build triplet|powerpc-linux   |
   GCC host triplet|powerpc-linux   |
 GCC target triplet|powerpc-linu|
   Keywords||ice-on-valid-code
  Known to fail||4.1.0
  Known to work||4.0.0
   Last reconfirmed|-00-00 00:00:00 |2005-08-04 17:55:39
   date||
Summary|ICE in verify_flow_info()   |[4.1 Regression] ICE in
   ||verify_flow_info()


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23234


[Bug tree-optimization/23234] [4.1 Regression] ICE in verify_flow_info()

2005-08-04 Thread uttamp at us dot ibm dot com

--- Additional Comments From uttamp at us dot ibm dot com  2005-08-04 17:57 
---
(In reply to comment #1)
 Confirmed, reduced testcase:
 double func ( double a, double b, double c)
 {
   double y0;
   if(a==0.0) {
   y0 = -c/b;
   return y0;
 }
   y0 = -c/b;
   return y0;
 }

nice. ;)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23234


[Bug pch/14940] PCH largefile test fails on various platforms

2005-08-04 Thread dave at hiauly1 dot hia dot nrc dot ca

--- Additional Comments From dave at hiauly1 dot hia dot nrc dot ca  
2005-08-04 18:04 ---
Subject: Re:  PCH largefile test fails on various platforms

 My patch added the largefile test to the 3.4 branch.  I don't think that 
 failing
 a new test can be called a regression.  I expect that the compiler would have
 failed the test before, too, it's just that nobody knew about it.

Ok.

 I would be in favor of backporting to 3.4 any HP/UX fix which fixes the
 largefile test.  But since I don't think it's a regression I don't think it's 
 on
 my plate to do that.  I will probably do it if nobody else does, but not very 
 soon.

I'll try to find the time to test the change in the next few days.

Dave


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14940


[Bug tree-optimization/22037] [4.1 Regression] internal compiler error: verify_ssa failed

2005-08-04 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-08-04 
18:16 ---
Subject: Bug 22037

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-08-04 18:16:41

Modified files:
gcc: ChangeLog passes.c tree-cfg.c 
gcc/testsuite  : ChangeLog 
Added files:
gcc/testsuite/g++.dg/tree-ssa: pr22037.C 

Log message:
PR 22037
* tree-cfg.c (replace_uses_by): Call mark_new_vars_to_rename.
(tree_merge_blocks): Propagate anything allowed by
may_propagate_copy.
Clarify documentation.
* passes.c (execute_todo): If cleanup_tree_cfg invalidated the
SSA form, schedule an update if necessary.

testsuite/ChangeLog

PR 22037
* g++.dg/tree-ssa/pr22037.C:

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.9654r2=2.9655
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/passes.c.diff?cvsroot=gccr1=2.108r2=2.109
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-cfg.c.diff?cvsroot=gccr1=2.213r2=2.214
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gccr1=1.5877r2=1.5878
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/tree-ssa/pr22037.C.diff?cvsroot=gccr1=NONEr2=1.1



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22037


[Bug tree-optimization/22037] [4.1 Regression] internal compiler error: verify_ssa failed

2005-08-04 Thread dnovillo at gcc dot gnu dot org

--- Additional Comments From dnovillo at gcc dot gnu dot org  2005-08-04 
18:17 ---

Fixed.  http://gcc.gnu.org/ml/gcc-patches/2005-08/msg00283.html.

-- 
   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22037


[Bug tree-optimization/23046] [4.1 Regression] ICE in set_value_range, at tree-vrp.c:191

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
18:31 ---
Confirmed, reducing a little further.

-- 
   What|Removed |Added

 Status|WAITING |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-08-04 18:31:51
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23046


[Bug tree-optimization/23046] [4.1 Regression] ICE in set_value_range, at tree-vrp.c:191

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
18:43 ---
Reduced testcase:
enum eumtype { ENUM1, ENUM2 };
void g(const eumtype kind );
void f(long i);
void g(const eumtype kind)
{
  if ((kind != ENUM1)  (kind != ENUM2))
f(kind);
}


--- the tree before VRP:
void g(eumtype) (kind)
{
  long int kind.0;

bb 0:
  if (kind_1  1) goto L0; else goto L1;

L0:;
  kind.0_2 = (long int) kind_1;
  f (kind.0_2);

L1:;
  return;

}


-- 
   What|Removed |Added

 CC||phython at gcc dot gnu dot
   ||org, dnovillo at gcc dot gnu
   ||dot org
   Last reconfirmed|2005-08-04 18:31:51 |2005-08-04 18:43:23
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23046


[Bug rtl-optimization/22563] [3.4/4.0/4.1 Regression] performance regression for gcc newer than 2.95

2005-08-04 Thread danalis at cis dot udel dot edu

--- Additional Comments From danalis at cis dot udel dot edu  2005-08-04 
19:16 ---
For the record the reduced test case was derived from h07.cpp of bench++

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22563


[Bug tree-optimization/23046] [4.1 Regression] ICE in set_value_range, at tree-vrp.c:191

2005-08-04 Thread dank at kegel dot com

--- Additional Comments From dank at kegel dot com  2005-08-04 19:18 ---
In general, once a ten-line testcase is found, do these get added
to the gcc regression testsuite as a matter of course?

We would be happy to submit patches to add these to the test suite, but 
we don't have copyright assignments in.  Let us know if we
should submit such patches anyway.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23046


[Bug tree-optimization/23046] [4.1 Regression] ICE in set_value_range, at tree-vrp.c:191

2005-08-04 Thread phython at gcc dot gnu dot org

--- Additional Comments From phython at gcc dot gnu dot org  2005-08-04 
19:22 ---
 When the patch that fixes a bug is put into GCC the testcases go in as well.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23046


[Bug tree-optimization/23046] [4.1 Regression] ICE in set_value_range, at tree-vrp.c:191

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
19:23 ---
(In reply to comment #8)
 In general, once a ten-line testcase is found, do these get added
 to the gcc regression testsuite as a matter of course?

In general once the fix is found, it will be added to the testsuite.
If it was already fixed, it will be added.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23046


[Bug tree-optimization/23046] [4.1 Regression] ICE in set_value_range, at tree-vrp.c:191

2005-08-04 Thread dnovillo at redhat dot com

--- Additional Comments From dnovillo at redhat dot com  2005-08-04 19:24 
---
Subject: Re:  [4.1 Regression] ICE in set_value_range, at tree-vrp.c:191

On Thu, Aug 04, 2005 at 07:18:13PM -, dank at kegel dot com wrote:

 In general, once a ten-line testcase is found, do these get added
 to the gcc regression testsuite as a matter of course?
 
No.  Only after a fix has been created for the failure.

 We would be happy to submit patches to add these to the test suite, but 
 we don't have copyright assignments in.  Let us know if we
 should submit such patches anyway.
 
I don't know whether test cases require copyright assignments.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23046


[Bug other/23237] New: -funit-at-a-time reject valid code (xxx causes a section type conflict).

2005-08-04 Thread pluto at agmk dot net
$ gcc initramfs.i -O2 -c -funit-at-a-time 
 
(...) 
init/initramfs.c: At top level: 
init/initramfs.c:10: error: message causes a section type conflict 
init/initramfs.c:33: error: head causes a section type conflict 
init/initramfs.c:80: error: ino causes a section type conflict 
init/initramfs.c:80: error: major causes a section type conflict 
init/initramfs.c:80: error: minor causes a section type conflict 
init/initramfs.c:80: error: nlink causes a section type conflict 
init/initramfs.c:81: error: mode causes a section type conflict 
init/initramfs.c:82: error: body_len causes a section type conflict 
init/initramfs.c:82: error: name_len causes a section type conflict 
init/initramfs.c:83: error: uid causes a section type conflict 
init/initramfs.c:84: error: gid causes a section type conflict 
init/initramfs.c:85: error: rdev causes a section type conflict 
init/initramfs.c:121: error: state causes a section type conflict 
init/initramfs.c:121: error: next_state causes a section type conflict 
init/initramfs.c:123: error: victim causes a section type conflict 
init/initramfs.c:124: error: count causes a section type conflict 
init/initramfs.c:125: error: this_header causes a section type conflict 
init/initramfs.c:125: error: next_header causes a section type conflict 
init/initramfs.c:127: error: dry_run causes a section type conflict 
init/initramfs.c:138: error: collected causes a section type conflict 
init/initramfs.c:139: error: remains causes a section type conflict 
init/initramfs.c:140: error: collect causes a section type conflict 
init/initramfs.c:156: error: header_buf causes a section type conflict 
init/initramfs.c:156: error: symlink_buf causes a section type conflict 
init/initramfs.c:156: error: name_buf causes a section type conflict 
init/initramfs.c:239: error: wfd causes a section type conflict

-- 
   Summary: -funit-at-a-time reject valid code (xxx causes a section
type conflict).
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pluto at agmk dot net
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: ppc-pld-linux
  GCC host triplet: ppc-pld-linux
GCC target triplet: ppc-pld-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23237


[Bug other/23237] -funit-at-a-time reject valid code (xxx causes a section type conflict).

2005-08-04 Thread pluto at agmk dot net

--- Additional Comments From pluto at agmk dot net  2005-08-04 20:40 ---
Created an attachment (id=9433)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9433action=view)
testcase


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23237


[Bug middle-end/21291] [4.0/4.1 Regression] can't find a register in class 'GENERAL_REGS' while reloading 'asm'

2005-08-04 Thread rth at gcc dot gnu dot org

--- Additional Comments From rth at gcc dot gnu dot org  2005-08-04 20:48 
---
The reason that we're rejecting the m alternative is that we've expanded
+mr(blen) to 

  (set (reg/v:SI 60 [ blen.25 ])
(asm_operands:SI () (=mr) 2 [
(mem/i:SI (plus:SI (reg/f:SI 16 argp)
(const_int 16 [0x10])) [0 d+0 S4 A32])
(reg/v/f:SI 65 [ a ])
(reg/v/f:SI 67 [ b ])
(reg/v:SI 68 [ blen ])

Note reg 60 as output and reg 68 as input.  Probably out-of-ssa is 
missing the fact that we'd like these variables to be unified.

-- 
   What|Removed |Added

 CC||amacleod at redhat dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21291


[Bug c/23237] -funit-at-a-time reject valid code (xxx causes a section type conflict).

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
20:58 ---
Reducing.

-- 
   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
  Component|other   |c
  GCC build triplet|ppc-pld-linux   |
   GCC host triplet|ppc-pld-linux   |
 GCC target triplet|ppc-pld-linux   |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23237


[Bug middle-end/21291] [4.0/4.1 Regression] can't find a register in class 'GENERAL_REGS' while reloading 'asm'

2005-08-04 Thread rth at gcc dot gnu dot org


-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2005-04-29 21:58:36 |2005-08-04 20:59:58
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21291


[Bug tree-optimization/23240] New: gcc.c-torture/execute/pr23135.c execution fails

2005-08-04 Thread jsm28 at gcc dot gnu dot org
FAIL: gcc.c-torture/execute/pr23135.c execution,  -O0 
FAIL: gcc.c-torture/execute/pr23135.c execution,  -O1 
FAIL: gcc.c-torture/execute/pr23135.c execution,  -O2 
FAIL: gcc.c-torture/execute/pr23135.c execution,  -O3 -fomit-frame-pointer 
FAIL: gcc.c-torture/execute/pr23135.c execution,  -O3 -g 
FAIL: gcc.c-torture/execute/pr23135.c execution,  -Os 

(a new test) have appeared on mainline on 20050804 on ia64-hp-hpux11.23, both
-mlp64 and -milp32.

-- 
   Summary: gcc.c-torture/execute/pr23135.c execution fails
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jsm28 at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23240


[Bug tree-optimization/23239] New: gcc.dg/tree-prof/val-prof-5.c scan-tree-dump Div.mod by constant b..=997 transformation on insn fails

2005-08-04 Thread jsm28 at gcc dot gnu dot org
FAIL: gcc.dg/tree-prof/val-prof-5.c scan-tree-dump Div.mod by constant b..=997
transformation on insn

(a new test) appeared on mainline on 20050802 on hppa2.0w-hpux and hppa64-hpux.
 gcc-testresults shows it also failing on hppa-linux.

-- 
   Summary: gcc.dg/tree-prof/val-prof-5.c scan-tree-dump Div.mod by
constant b..=997 transformation on insn fails
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jsm28 at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23239


[Bug middle-end/23237] [4.1 Regression] -O1 rejects valid code (xxx causes a section type conflict).

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
21:32 ---
Confirmed, reduced testcase:
static __attribute__ ((__section__ (.init.data))) char *message;
static __attribute__ ((__section__ (.init.data))) int (*actions[])(void) = {};
void unpack_to_rootfs(void)
{
  while (!message)
  {
if(!actions[0])
  return;
  }
}


-- 
   What|Removed |Added

 CC||hubicka at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
  Component|c   |middle-end
 Ever Confirmed||1
   Keywords||rejects-valid
  Known to fail||4.1.0
  Known to work||4.0.0
   Last reconfirmed|-00-00 00:00:00 |2005-08-04 21:32:27
   date||
Summary|-funit-at-a-time reject |[4.1 Regression] -O1 rejects
   |valid code (xxx causes a|valid code (xxx causes a
   |section type conflict). |section type conflict).
   Target Milestone|--- |4.1.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23237


[Bug classpath/23238] split-for-gcj.sh should use CONFIG_SHELL

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
21:38 ---
Oh, this is truely part of classpath.

-- 
   What|Removed |Added

 CC||gcc-bugs at gcc dot gnu dot
   ||org, java-prs at gcc dot gnu
   ||dot org
 Status|UNCONFIRMED |NEW
  Component|libgcj  |classpath
 Ever Confirmed||1
Product|gcc |classpath
   Last reconfirmed|-00-00 00:00:00 |2005-08-04 21:38:06
   date||
   Target Milestone|4.1.0   |---
Version|4.1.0   |0.17


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23238


[Bug classpath/23238] split-for-gcj.sh should use CONFIG_SHELL

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
21:38 ---
CC tromey.

-- 
   What|Removed |Added

 CC||tromey at gcc dot gnu dot
   ||org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23238


[Bug classpath/23238] split-for-gcj.sh should use CONFIG_SHELL

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
21:41 ---
I think the easy fix would change Makefile.am.
The following line:
JAVAC = $(srcdir)/split-for-gcj.sh  $(MAKE) -f $(srcdir)/Makefile.gcj \
GCJ='$(GCJ)' compile_classpath='$(top_builddir):$(compile_classpath)'

can be changed to:
JAVAC = $(CONFIG_SHELL) $(srcdir)/split-for-gcj.sh  $(MAKE) -f 
$(srcdir)/Makefile.gcj \
GCJ='$(GCJ)' compile_classpath='$(top_builddir):$(compile_classpath)'

That should make it work.

-- 
   What|Removed |Added

   Keywords||build


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23238


[Bug classpath/22580] [4.1 Regression] 'make -j' doesn't affect source-bytecode compilation

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
21:45 ---
This is a classpath issue

-- 
   What|Removed |Added

 CC||bug-classpath at gnu dot org
  Component|libgcj  |classpath
Product|gcc |classpath
   Target Milestone|4.1.0   |---
Version|4.1.0   |0.15


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22580


[Bug target/23240] gcc.c-torture/execute/pr23135.c execution fails

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
21:56 ---
This looks like a target issue.

-- 
   What|Removed |Added

  Component|tree-optimization   |target
 GCC target triplet||ia64-hp-hpux11.23
   Keywords||wrong-code


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23240


[Bug target/23239] gcc.dg/tree-prof/val-prof-5.c scan-tree-dump Div.mod by constant b..=997 transformation on insn fails

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
21:57 ---
This looks like a target issue.

-- 
   What|Removed |Added

  Component|tree-optimization   |target
 GCC target triplet||hppa*-*-*


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23239


[Bug inline-asm/23200] [4.0/4.1 regression] rejects i(var + 1)

2005-08-04 Thread rth at gcc dot gnu dot org

--- Additional Comments From rth at gcc dot gnu dot org  2005-08-04 22:03 
---
Andrew, can you have a look at why this isn't being TER'ed back into the
asm_expr?  It's not a 100% ideal solution to this problem, but I'll guess
that it'll handle at least some of the cases including this one.

-- 
   What|Removed |Added

 CC||amacleod at redhat dot com
 AssignedTo|rth at gcc dot gnu dot org  |unassigned at gcc dot gnu
   ||dot org
 Status|ASSIGNED|NEW


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23200


[Bug java/23230] Wrong this used when call made to superclass which is also superclass of enclosing class

2005-08-04 Thread greenrd at greenrd dot org

--- Additional Comments From greenrd at greenrd dot org  2005-08-04 22:03 
---
I'm testing a patch.

-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |greenrd at greenrd dot org
   |dot org |
 Status|NEW |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23230


[Bug inline-asm/23200] [4.0/4.1 regression] rejects i(var + 1)

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
22:11 ---
TER will not work at -O0 though.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23200


[Bug rtl-optimization/22425] ICE in loop_givs_rescan, at loop.c:5521

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
22:41 ---
This works in 4.1.0 20050802.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22425


[Bug target/22432] Wrong code generation using MMX intrinsics on amd64

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-04 
22:49 ---
Confirmed.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
  Known to fail||4.1.0
   Last reconfirmed|-00-00 00:00:00 |2005-08-04 22:49:31
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22432


[Bug middle-end/21529] [4.0/4.1 Regression] code size regression (+40%) with -Os from GCC-3.4.3 to 4.1

2005-08-04 Thread rth at gcc dot gnu dot org


-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2005-05-12 10:39:02 |2005-08-04 22:54:19
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21529


[Bug rtl-optimization/22425] [4.1 regression] ICE in loop_givs_rescan, at loop.c:5521

2005-08-04 Thread belyshev at depni dot sinp dot msu dot ru

--- Additional Comments From belyshev at depni dot sinp dot msu dot ru  
2005-08-04 23:09 ---
Fixed by this patch:

2005-07-14  Alexandre Oliva  [EMAIL PROTECTED]
Ulrich Weigand  [EMAIL PROTECTED]

PR target/20126
* loop.c (loop_givs_rescan): Do not ICE if unable to reduce an IV
in some insn.


-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
Summary|ICE in loop_givs_rescan, at |[4.1 regression] ICE in
   |loop.c:5521 |loop_givs_rescan, at
   ||loop.c:5521
   Target Milestone|--- |4.1.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22425


[Bug target/20126] [3.4 Regression] Inlined memcmp makes one argument null on entry

2005-08-04 Thread belyshev at depni dot sinp dot msu dot ru


-- 
Bug 20126 depends on bug 22425, which changed state.

Bug 22425 Summary: [4.1 regression] ICE in loop_givs_rescan, at loop.c:5521
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22425

   What|Old Value   |New Value

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20126


[Bug middle-end/21291] [4.0/4.1 Regression] can't find a register in class 'GENERAL_REGS' while reloading 'asm'

2005-08-04 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-08-04 
23:37 ---
Subject: Bug 21291

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-08-04 23:37:00

Modified files:
gcc: ChangeLog tree-outof-ssa.c 
Added files:
gcc/testsuite/gcc.target/i386: pr21291.c 

Log message:
PR 21291
* tree-outof-ssa.c (coalesce_asm_operands): New.
(coalesce_ssa_name): Use it.  Split out ...
(coalesce_phi_operands, coalesce_result_decls): ... these.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.9659r2=2.9660
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-outof-ssa.c.diff?cvsroot=gccr1=2.65r2=2.66
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.target/i386/pr21291.c.diff?cvsroot=gccr1=NONEr2=1.1



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21291


[Bug target/23224] Severe outages with -fPIC

2005-08-04 Thread steven at gcc dot gnu dot org

--- Additional Comments From steven at gcc dot gnu dot org  2005-08-04 
23:55 ---
Known. 
 

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-08-04 23:55:41
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23224


[Bug middle-end/23241] New: Invalid code generated for comparison of uchar to 255

2005-08-04 Thread jconner at apple dot com
The following test code incorrectly generates an assertion failure on gcc 
mainline and 4.0.1:

#include assert.h

struct fbs {
  unsigned char uc8;
} fbs1 = {255};

void testfn ( struct fbs *fbs_ptr )
{
  if ((fbs_ptr-uc8 != 255)  (fbs_ptr-uc8 != 0))
assert(0);
}

int main (int argc, char *argv[])
{
  testfn (fbs1);
  return 0;
}

-- 
   Summary: Invalid code generated for comparison of uchar to 255
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: critical
  Priority: P2
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jconner at apple dot com
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: powerpc-apple-darwin8.2.0
  GCC host triplet: powerpc-apple-darwin8.2.0
GCC target triplet: arm-none-elf


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23241


[Bug middle-end/23241] Invalid code generated for comparison of uchar to 255

2005-08-04 Thread jconner at apple dot com


-- 
   What|Removed |Added

   Keywords||wrong-code


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23241


[Bug middle-end/23241] Invalid code generated for comparison of uchar to 255

2005-08-04 Thread jconner at apple dot com

--- Additional Comments From jconner at apple dot com  2005-08-05 00:17 
---
I believe I have tracked down the root of this behavior to an invalid 
transformation in simplify_comparison 
(from combine.c).  See email thread starting here:

http://gcc.gnu.org/ml/gcc/2005-08/msg00159.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23241


[Bug inline-asm/23242] New: Invalid %sil register chosen when dereferenced pointer used in inline asm with -O0

2005-08-04 Thread ianw at gelato dot unsw dot edu dot au
Hi,

See the following snippet 

[EMAIL PROTECTED]:~$ gcc-snap -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,java,f95,objc,obj-c++,ada,treelang
--prefix=/usr/lib/gcc-snapshot --enable-shared --with-system-zlib --disable-nls
--enable-__cxa_atexit --enable-libstdcxx-allocator=mt --enable-clocale=gnu
--enable-libstdcxx-debug --enable-java-gc=boehm --enable-java-awt=gtk
--with-java-home=/usr/lib/gcc-snapshot/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre
--enable-mpfr --disable-werror i486-linux-gnu
Thread model: posix
gcc version 4.1.0 20050719 (experimental)

[EMAIL PROTECTED]:~$ cat test.c
int main()
{
  volatile unsigned char old, new, *newp;

  newp = new;

  /* this one works OK */
  __asm__ __volatile__(xchgb %0, %1
  : =r(old), =m(new)
  : 0(0xff), m(new) : memory);

#ifdef DEREF
  /* this one doesn't */
__asm__ __volatile__(xchgb %0, %1
  : =r(old), =m(*newp)
  : 0(0xff), m(*newp) : memory);
#endif

  return 0;
}

[EMAIL PROTECTED]:~$ gcc-snap -Wall -o test test.c

[EMAIL PROTECTED]:~$ gcc-snap -DDEREF -Wall -o test test.c
/tmp/cc8YTeKG.s: Assembler messages:
/tmp/cc8YTeKG.s:30: Error: bad register name `%sil'

[EMAIL PROTECTED]:~$ gcc-snap -O2 -DDEREF -Wall -o test test.c

I believe this to be the cause of Debian bug #321291
(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=321291) filed against the
libatomic_ops package (original author CC'd)

-- 
   Summary: Invalid %sil register chosen when dereferenced pointer
used in inline asm with -O0
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: inline-asm
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ianw at gelato dot unsw dot edu dot au
CC: Hans dot Boehm at hp dot com,gcc-bugs at gcc dot gnu dot
org
  GCC host triplet: i486-linux-gnu
GCC target triplet: i486-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23242


Re: [Bug inline-asm/23242] New: Invalid %sil register chosen when dereferenced pointer used in inline asm with -O0

2005-08-04 Thread Andrew Pinski


On Aug 4, 2005, at 8:32 PM, ianw at gelato dot unsw dot edu dot au 
wrote:



  /* this one doesn't */
__asm__ __volatile__(xchgb %0, %1
  : =r(old), =m(*newp)
  : 0(0xff), m(*newp) : memory);



This is not a bug.

r is selecting %sil which is a valid register for x86_64.

r is assuming that it is a full size register.

Use Q instead.

-- Pinski

PS The reason why I am CC you instead of writing this into bugzilla is 
because

bugzilla seems dead.



[Bug inline-asm/23242] Invalid %sil register chosen when dereferenced pointer used in inline asm with -O0

2005-08-04 Thread pinskia at physics dot uc dot edu

--- Additional Comments From pinskia at physics dot uc dot edu  2005-08-05 
01:35 ---
Subject: Re:  New: Invalid %sil register chosen when dereferenced pointer used 
in inline asm with -O0


On Aug 4, 2005, at 8:32 PM, ianw at gelato dot unsw dot edu dot au 
wrote:

   /* this one doesn't */
 __asm__ __volatile__(xchgb %0, %1
   : =r(old), =m(*newp)
   : 0(0xff), m(*newp) : memory);


This is not a bug.

r is selecting %sil which is a valid register for x86_64.

r is assuming that it is a full size register.

Use Q instead.

-- Pinski

PS The reason why I am CC you instead of writing this into bugzilla is 
because
bugzilla seems dead.



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23242


[Bug inline-asm/23242] Invalid %sil register chosen when dereferenced pointer used in inline asm with -O0

2005-08-04 Thread ianw at gelato dot unsw dot edu dot au

--- Additional Comments From ianw at gelato dot unsw dot edu dot au  
2005-08-05 02:17 ---
Subject: Re:  Invalid %sil register chosen when dereferenced pointer used in 
inline asm with -O0

On Fri, Aug 05, 2005 at 01:35:51AM -, pinskia at physics dot uc dot edu 
wrote:
 On Aug 4, 2005, at 8:32 PM, ianw at gelato dot unsw dot edu dot au 
 wrote:
 
/* this one doesn't */
  __asm__ __volatile__(xchgb %0, %1
: =r(old), =m(*newp)
: 0(0xff), m(*newp) : memory);

 This is not a bug.
 
 r is selecting %sil which is a valid register for x86_64.

Sorry if I'm missing something, I don't work with x86-64 much, but
isn't it a wrong to consider that register when I'm building for i486?

-i


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23242


[Bug middle-end/21291] [4.0/4.1 Regression] can't find a register in class 'GENERAL_REGS' while reloading 'asm'

2005-08-04 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-08-05 
02:33 ---
Subject: Bug 21291

CVSROOT:/cvs/gcc
Module name:gcc
Branch: gcc-4_0-branch
Changes by: [EMAIL PROTECTED]   2005-08-05 02:33:11

Modified files:
gcc: ChangeLog tree-outof-ssa.c 
Added files:
gcc/testsuite/gcc.target/i386: pr21291.c 

Log message:
PR 21291
* tree-outof-ssa.c (coalesce_asm_operands): New.
(coalesce_ssa_name): Use it.  Split out ...
(coalesce_phi_operands, coalesce_result_decls): ... these.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcconly_with_tag=gcc-4_0-branchr1=2.7592.2.352r2=2.7592.2.353
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-outof-ssa.c.diff?cvsroot=gcconly_with_tag=gcc-4_0-branchr1=2.47r2=2.47.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.target/i386/pr21291.c.diff?cvsroot=gcconly_with_tag=gcc-4_0-branchr1=NONEr2=1.1.2.1



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21291


[Bug middle-end/21291] [4.0/4.1 Regression] can't find a register in class 'GENERAL_REGS' while reloading 'asm'

2005-08-04 Thread rth at gcc dot gnu dot org

--- Additional Comments From rth at gcc dot gnu dot org  2005-08-05 02:34 
---
Fixed.

-- 
   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21291


[Bug middle-end/21529] [4.0/4.1 Regression] code size regression (+40%) with -Os from GCC-3.4.3 to 4.1

2005-08-04 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-08-05 
02:42 ---
Subject: Bug 21529

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-08-05 02:42:07

Modified files:
gcc: ChangeLog params.def params.h tree-sra.c 

Log message:
PR 21529
* params.def (PARAM_SRA_MAX_STRUCTURE_COUNT): New.
* params.h (SRA_MAX_STRUCTURE_COUNT): New.
* tree-sra.c (decide_block_copy): Use it.  Disable element copy
if we'd have to instantiate too many members.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.9660r2=2.9661
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/params.def.diff?cvsroot=gccr1=1.65r2=1.66
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/params.h.diff?cvsroot=gccr1=1.31r2=1.32
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-sra.c.diff?cvsroot=gccr1=2.69r2=2.70



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21529


[Bug libstdc++/23244] New: __gnu_cxx::hash_map inconsistent iterator behavior

2005-08-04 Thread jzampier at gmail dot com
The iterators over hash_map behave in a manner inconsistent with the other
std::map, std::list, etc... data structures. This can cause segfaults which are
hard to root-cause. Sample Code Included with additional information:

Specifically, the iterators over hash_map require the 'first' datamember to
be valid until the iterator has advanced past that point. (see code for clarity)
The iterator operator++ should not depend on being able to call the
hash functor on that data member to advance. Because, as in the example, 
you can't call the functor when the pointer has been deleted.

This behavior happens on other hosts of g++ (tested on 3.4.3, linux). (I just
have cygwin on here...)

The offending code is placed in #if 0 and #endif directives.

While this isn't a bug per se, it is a problem with the behavior of 
hash_map that should at least be documented in LARGE letters 
in the hash_map, if not fixed to work like the rest of the stl.

// $Id$
// Program: hashbroke
// Purpose: To demonstrate how __gnu_cxx::hash_map is broken. (sorta)
// Author: Jeffrey Zampieron
// License: GPL.

#include iostream
#include ext/hash_map
#include map

using namespace std;
using namespace __gnu_cxx;

typedef struct {
  size_t operator()( const string* str ) const {
return __gnu_cxx::__stl_hash_string( str-c_str() );
  }
} strptrhash;

typedef struct {
  bool operator()( const string* lhs, const string* rhs ) const {
return *lhs == *rhs;
  }
} strptrequal;

typedef struct {
  bool operator()( const string* lhs, const string* rhs ) const {
return *lhs  *rhs;
  }
} strptrless;

typedef hash_map string*, string*, strptrhash, strptrequal  StringPtrHash;
typedef std::map string*, string*, strptrless  StringPtrMap;

int main() {
  StringPtrHash testhash;
  // test keys
  string* k1 = new string( key1 );
  string* k2 = new string( key2 );
  string* k3 = new string( key3 );
  string* k4 = new string( key4 );
  string* k5 = new string( key5 );
  string* k6 = new string( key6 );

  // test vals
  string* v1 = new string( val1 );
  string* v2 = new string( val2 );
  string* v3 = new string( val3 );
  string* v4 = new string( val4 );
  string* v5 = new string( val5 );
  string* v6 = new string( val6 );

  testhash[ k1 ] = v1;
  testhash[ k2 ] = v2;
  testhash[ k3 ] = v3;
  testhash[ k4 ] = v4;
  testhash[ k5 ] = v5;
  testhash[ k6 ] = v6;
  
  cout  Hash:\n;
  for( StringPtrHash::iterator iter = testhash.begin(); 
   iter != testhash.end();
   iter++ ) {
cout  Key:   *( iter-first )  endl;
cout  Val:   *( iter-second )  endl;
  }

  // this SHOULD be valid.
  // and is for std::map
  // but causes a segfault here.
#if 0
  for( StringPtrHash::iterator iter = testhash.begin(); 
   iter != testhash.end();
   iter++ ) {
delete( iter-first );
delete( iter-second );
  }
#endif 

  // Work around:
  string* prev = __null;
  for( StringPtrHash::iterator iter = testhash.begin(); 
   iter != testhash.end();
   iter++ ) {
delete( prev );
delete( iter-second );
prev = iter-first;
  }
  delete( prev );

  // That this works with map:
  StringPtrMap testmap;
  k1 = new string( key1 );
  k2 = new string( key2 );
  k3 = new string( key3 );
  k4 = new string( key4 );
  k5 = new string( key5 );
  k6 = new string( key6 );
  
  // test vals
  v1 = new string( val1 );
  v2 = new string( val2 );
  v3 = new string( val3 );
  v4 = new string( val4 );
  v5 = new string( val5 );
  v6 = new string( val6 );
  

  testmap[ k1 ] = v1;
  testmap[ k2 ] = v2;
  testmap[ k3 ] = v3;
  testmap[ k4 ] = v4;
  testmap[ k5 ] = v5;
  testmap[ k6 ] = v6;

  cout  \nMap:\n;
  for( StringPtrMap::iterator iter = testmap.begin(); 
   iter != testmap.end();
   iter++ ) {
cout  Key:   *( iter-first )  endl;
cout  Val:   *( iter-second )  endl;
  }

  // works like map should.
  for( StringPtrMap::iterator iter = testmap.begin(); 
   iter != testmap.end();
   iter++ ) {
delete( iter-first );
delete( iter-second );
  }
 
  // The problem seems to be that the 
  // operator++ in the hash_map iterator
  // needs to call the function provided 
  // by strptrhash in order to advance...
  // but in my example that pointer has been deleted...
  // hence the segfault.
  // This is apparent if you run valgrind on the exec.
  // (I don't have it on this machine, or I'd include the output)

  // Why is this the case? Iterating over a map
  // should not require computation of a hash key.
  // While not really a bug, this is a caveat that should
  // be documented somewhere, or ideally fixed
  // Notice that map does not call strptrcmp to advance the iterator

}

-- 
   Summary: __gnu_cxx::hash_map inconsistent iterator behavior
   Product: gcc
   Version: 3.4.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jzampier at gmail dot com
   

[Bug libstdc++/23244] __gnu_cxx::hash_map inconsistent iterator behavior

2005-08-04 Thread jzampier at gmail dot com

--- Additional Comments From jzampier at gmail dot com  2005-08-05 02:58 
---
Created an attachment (id=9434)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9434action=view)
The offending code.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23244


[Bug inline-asm/23242] Invalid %sil register chosen when dereferenced pointer used in inline asm with -O0

2005-08-04 Thread rth at gcc dot gnu dot org

--- Additional Comments From rth at gcc dot gnu dot org  2005-08-05 03:14 
---
No, because you still need to use Q to get a register that may be used
with a low-part.  Even on i486.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23242


[Bug inline-asm/23242] Invalid %sil register chosen when dereferenced pointer used in inline asm with -O0

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-05 
03:32 ---
*** Bug 23243 has been marked as a duplicate of this bug. ***

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23242


[Bug middle-end/23241] [3.4/4.0/4.1 Regression] Invalid code generated for comparison of uchar to 255

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-05 
03:35 ---
Confirmed.

-- 
   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org, ebotcazou at gcc dot
   ||gnu dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
  GCC build triplet|powerpc-apple-darwin8.2.0   |
   GCC host triplet|powerpc-apple-darwin8.2.0   |
 GCC target triplet|arm-none-elf|arm-*-elf
   Last reconfirmed|-00-00 00:00:00 |2005-08-05 03:35:24
   date||
Summary|Invalid code generated for  |[3.4/4.0/4.1 Regression]
   |comparison of uchar to 255  |Invalid code generated for
   ||comparison of uchar to 255
   Target Milestone|--- |4.0.2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23241


[Bug middle-end/23241] [3.4/4.0/4.1 Regression] Invalid code generated for comparison of uchar to 255

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-05 
03:40 ---
Just a note for fullness, this was caused by the patch which fixed PR 19296.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23241


[Bug gcov/profile/23148] [4.1 Regression] gcov test failures

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-05 
03:43 ---
Fixed by:
2005-08-04  Jan Hubicka  [EMAIL PROTECTED]

* profile.c (branch_prob): Split edges with goto locus on them
to get proper line counts.
* tree-cfg.c (make_cond_expr_edges): Record user goto locuses, if any.


-- 
   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23148


[Bug c++/20589] error: 'anonymous enum' is/uses anonymous type'

2005-08-04 Thread sethml at google dot com

--- Additional Comments From sethml at google dot com  2005-08-05 03:43 
---
The C++ working group examined this issue in April as core language issue 488:
  http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#488

They tentatively concluded that type deduction should fail in this case, leaving
the built-in operator==(int,int) version as the only viable candidate and thus
the code attached to this bug report would compile.

It seems likely that this decision will hold, that the standard will be
clarified, making this code valid.

Can we get this bug re-opened, and perhaps change GCC 4 to accept this code in
anticipation of the C++ standard changing to explicitly allow it?

-- 
   What|Removed |Added

 CC||sethml at google dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20589


[Bug c++/20589] error: 'anonymous enum' is/uses anonymous type'

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-05 
03:48 ---
Reopening to ...

-- 
   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|INVALID |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20589


[Bug c++/20589] error: 'anonymous enum' is/uses anonymous type'

2005-08-04 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-05 
03:48 ---
To suspend it as the DR is still in drafting.

-- 
   What|Removed |Added

 Status|REOPENED|SUSPENDED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20589


  1   2   >