Re: i read that i should send here email

2006-04-12 Thread Paolo Bonzini

Piotr Marasz wrote:

I try compile example program
gcc.exe -Ic:\gcc\include -Lc:\gcc\lib c:\gcc\bin\program.c

gcc.exe: Internal error: (null) (program as)
Please submit bug report.


First the bug report should not go here but to 
http://gcc.gnu.org/bugzilla (this is a list for development of gcc).


Second, you need to tell which version you are using of gcc, where did 
you get it from, what system you are on, and what program you are 
compiling.  All information that http://gcc.gnu.org/bugs.html (found on 
google by searching for report gcc bug) tells you we need.



Free is bad?


Several thousands (million?) users of gcc don't agree, but everybody can 
of course make his own opinion.


Paolo


Question about build error

2006-04-12 Thread Eric Fisher
hi,
When I build gcc-3.2.2 for mips target, there's an error. What's the problem?

Thanks
Eirc

ake[1]: Leaving directory `/home/cii/qwang_gcc/libiberty'
xgcc: specs file malformed after 4096 characters
xgcc: specs file malformed after 4096 characters
xgcc: specs file malformed after 4096 characters
make[1]: Entering directory `/home/cii/qwang_gcc/gcc'
(cd intl  make all)
make[2]: Entering directory `/home/cii/qwang_gcc/gcc/intl'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/cii/qwang_gcc/gcc/intl'
echo int xxy_us_dummy; tmp-dum.c
/home/cii/qwang_gcc/gcc/xgcc -B/home/cii/qwang_gcc/gcc/ -B/opt/qwang-toolchain/m
ipsel-linux/bin/ -B/opt/qwang-toolchain/mipsel-linux/lib/ -isystem /opt/qwang-to
olchain/mipsel-linux/include -S tmp-dum.c
xgcc: specs file malformed after 4096 characters
make[1]: *** [s-under] Error 1
make[1]: Leaving directory `/home/cii/qwang_gcc/gcc'
make: *** [all-gcc] Error 2


Re: Reloading Problems and Memory Addressing

2006-04-12 Thread Rask Ingemann Lambertsen
On Wed, Apr 12, 2006 at 07:47:32AM +0200, Frank Riese wrote:
 On Monday 10 April 2006 19:48, you wrote:
  Can it at least add (small) immediates to registers?
 
 Nope, sry. The only instructions that take other arguments than registers are 
 the aforementioned LDL/LDH (load low/high), branch instructions (they take a 
 memory address) and four bit operations which can mask, invert, set or delete 
 a bit in a register.

This will increase the probability of reload failures when storing through
a pointer, because of the need for an extra register to hold the offset in
some cases. For example

int x, *p;
p[15] = x;
/* p not used after this */

LDL R[4], 30
LDH R[4], 0
ADD R[3], R[3], R[4]
STO R[3], R[2]

  #define GO_IF_LEGITIMATE_ADDRESS(XMODE, X, LABEL) \
if (REG_P (X))  \
goto LABEL;
 
 I tried that out today. I wasn't sure about the exact contexts in which this 
 macro is used. It seems to work fine, though.

Various parts of GCC (combine and reload, for example) build memory
addresses and will use this macro to verify that they are supported.
Predicates such as memory_operand, nonimmediate_operand and general_operand
use it to check memory operands for supported addresses. For example,
combine might try to generate an insn such as

(set (reg:HI 20) (mem:HI (plus:HI (reg:HI 21) (reg:HI 22

out of

(set (reg:HI 23) (plus:HI (reg:HI 21) (reg:HI 22)))
(set (reg:HI 20) (mem:HI (reg:HI 23)))

but this will be rejected by GO_IF_LEGITIMATE_ADDRESS() in your case.

 $ gcc function1.c
 
 [...]
 function1.c: In function 'main':
 function1.c:10: internal compiler error: Segmentation fault
 
 (gdb) bt
 #0  0x0829028f in htab_find_slot (htab=0x5b52202c, element=0xbf805284, 
 insert=INSERT) at ../../gcc-4.0.2/libiberty/hashtab.c:707

I have no idea. I haven't seen such a failure before.

  1) Does BP really have to be fixed? You are sufficiently desparate for
  registers than you'll not fix BP unless the hardware itself mandates this.
 
 I thought it needs to be fixed if I want to set it aside as the frame 
 pointer. 

See the macros FRAME_POINTER_REQUIRED and ELIMINABLE_REGS. You want the
former to be 0 and the latter to contain an elimination of
FRAME_POINTER_REGNUM into STACK_POINTER_REGNUM. Also check
CAN_DEBUG_WITHOUT_FP.

[not making BP fixed]
 Can I do the same thing with SP?

I don't know. The difficulty is somewhere between nontrivial and impossible.
Don't try this at first.

-- 
Rask Ingemann Lambertsen


RE: Reloading Problems and Memory Addressing

2006-04-12 Thread Dave Korn
On 12 April 2006 06:48, Frank Riese wrote:

 Yes, you're right. When I started writing this backend I didn't have much
 experience with it. I took the smallest backend I could find and tried to
 adjust it to me needs. The number of macros in the internals docs was a bit
 overwhelming at first and GCC kept segfaulting on me - something I'm
 definately not used to from GCC. So, I was happy when I had something
 working to start with. But now I think it would have been cleaner to start
 from scratch.

  Or you could track down the segfaults to bugs in the modifications you've
made; these are very often a sign that you've made a false assumption about
what's in an rtx and as a consequence used the wrong kind of accessors (XINT,
XEXP, etc) on it or its operands.  Get used to the habit of adding lots of
calls to print_rtl - under the control of a target flag, for preference!  It
is still easier to start with an existing backend that's similar to your
target than to build one from complete scratch.

 
 #define GO_IF_LEGITIMATE_ADDRESS(XMODE, X, LABEL) \
   if (REG_P (X))  \
   goto LABEL;
 
 I tried that out today. I wasn't sure about the exact contexts in which this
 macro is used. 

[  I'll try and answer this, because I've just been studying this area of the
compiler myself, and the revision will do me good.  Please bear in mind that
what I say is not authoritative as it's fairly new to me and so I may have
some errors in the details, but the outline is right.  EOE, caveat lector!  ]

  It's used when gcc needs to form a (mem X) rtx and wants to know what kind
of rtxen can be used (as the 'X') to represent the cpu's natural addressing
modes as understood by the assembler.  Whatever forms of rtx are accepted by
G_I_L_A will be the forms of rtx passed to PRINT_OPERAND_ADDRESS when they
crop up as the operands matched by the constraints in an insn pattern; when
code generation matches some rtl with a bunch of operands against a
define_insn pattern with operand constraints, it starts outputting the output
template from the define insn and calls P_O_A with the relevant operand when
it performs an operand substitution.

  So, e.g. if your CPU had register, register+offset, and immediate addressing
modes, G_I_L_A would accept 1) a (reg ...) rtx 2) a (plus (reg ...) (const_int
...)) rtx and 3) a (const_int ...) rtx.  Then, in P_O_A, you might use 
sprintf (STREAM, [r%d], REGNO(X)) 
if X had code REG, or 
sprintf (STREAM, [0x%x, r%d], INTVAL(XEXP(X, 1)), REGNO(XEXP(X,
0)));
for the PLUS or just
sprintf (STREAM, [0x%x], INTVAL(X)) 
for the CONST_INT that represents your immediate addressing mode.  (Note that
I might have the form of the (plus) rtx slightly wrong there w.r.t. insn
canonicalisation and I'm not sure whether you might not also see any (minus)
rtxen likewise).


cheers,
  DaveK
-- 
Can't think of a witty .sigline today



[gomp] EH problems with OpenMP

2006-04-12 Thread Volker Reichelt
Hi,

OpenMP is currently more or less unusable with the C++ front-end
because of EH issues (see PR26823). This unfortunate situation
is dragging on for more than two months now and makes further
testing impossible.

Some of the problems were fixed in PR26084, some still remain:
The original (unreduced) testcase from PR26084 still causes an ICE.
This is probably the same problem as in PR26823. We also have a third
PR about an EH problem (PR26913) which has probably the same cause.

Alas there seems to be no activity in that direction since PR26084
was closed. Could somebody of the gomp-maintainers please have a look?

Thanks a lot in advance,
Volker




Re: R_PPC_REL24 overflow

2006-04-12 Thread James Lemke
I suppose I should summarize what this problem was in case it's useful
to anyone else searching the archives.

A buggy cross-build process did not create libc.so.
The static linker didn't find libc.so so it silently used libc.a
instead.
Libc.a is not built with -fPIC so the load problem showed up.

Thanks for your comments.
Jim.

-- 
Jim Lemke   [EMAIL PROTECTED]   Orillia, Ontario



Catching up on status reports

2006-04-12 Thread Mark Mitchell
I'm behind on two RM duties: bug priorities and status reports.
Fortunately, I'm not traveling this week, so I'll get caught up shortly.
 I just wanted to let everyone know that I'd not forgotten there's stuff
to be done...

Thanks,

-- 
Mark Mitchell
CodeSourcery
[EMAIL PROTECTED]
(650) 331-3385 x713


[Ada] multilibbed implementation?

2006-04-12 Thread Christian Joensson
It's that time again... I just want to ask if there's any progress on
Ada being multilibbed?

--
Cheers,

/ChJ


Question about gcc-lib and building on SPARC

2006-04-12 Thread Mark Cuss

Hello - this is definitely a newbie question, so bear with me...

We've been using gcc under Solaris on SPARC hardware for some time now.  The 
guy who was here before me set up the previous version (gcc-3.3.3) and now 
I'm trying to get gcc-3.4.4 to build.


In the old gcc-3.3.3 install tree, I have the following directory:
$prefix/lib/gcc-lib/sparc-sun-solaris2.9/3.3.3

gcc 3.3.3 was compiled with the following configure flags:
[EMAIL PROTECTED] mark]$ gcc -v
Reading specs from 
/cdl/apps/.software/sun/gcc-3.3.3/lib/gcc-lib/sparc-sun-solaris2.9/3.3.3/specs
Configured with: 
configure --with-gnu-as --with-as=/cdl/apps/bin/sun/as --with-gnu-ld --with-ld=/cdl/apps/bin/sun/ld 
--enable-langauges=c,c++ --disable-shared --prefix=/cdl/apps/.software/sun/gcc-3.3.3

Thread model: posix
gcc version 3.3.3
[EMAIL PROTECTED] mark]$

I've successfully built and installed gcc-3.4.4 with the following configure 
flags:

[EMAIL PROTECTED] bin]$ ./gcc -v
Reading specs from 
/cdl/apps/.software/sun/gcc-3.4.4/bin/../lib/gcc/sparc-sun-solaris2.9/3.4.4/specs
Configured with: 
/cdl/apps/.software/sun/build/gcc-3.4.4-build/gcc-3.4.4/configure --disable-shared 
--prefix=/cdl/apps/.software/sun/gcc-3.4.4/ --enable-languages=c,c++

Thread model: posix
gcc version 3.4.4
[EMAIL PROTECTED] bin]$

However, in this case, I don't have the gcc-lib directory anymore.  When I 
try to build stuff with this compiler (a simple helloworld), the linker 
returns symbol errors, likely because the Sun-supplied ld and not the GNU ld 
is being used (even though a GNU ld exists in my PATH)


The obvious answer is that I didn't specify --with-gnu-ld 
and --with-ld=path in my gcc-3.4.4 configure.  I would have done this, but 
our Developers need to use Purify Plus on Sun, and if I do this, it breaks 
Purify because it somehow uses it's own linker at buld time.  The solution 
from Purify tech support was to go into 
$prefix/lib/gcc-lib/sparc-sun-solaris2.9/version and drop in symbolic 
links to the GNU ld and as.  When I attempted to do this though, I realized 
this directory doesn't seem to exist under gcc-3.4.4


So, to make a painfully long story short, I need to know how gcc 3.4.4 
decides upon which linker / assembler it uses.  I read the configure 
instructions and found that when the compiler is built is uses a whole bunch 
of rules to find as and ld, and it seems apparent that I'm using the Sun ld 
and as instead of the GNU one.  However, the old trick of putting symlinks 
in $prefix/lib/gcc-lib/sparc-sun-solaris2.9/version doesn't work anymore. 
Could someone please point a newbie in the right direction?


Thanks in advance,
Mark

Mark Cuss, B. Sc.
Software Developer
Systems Administrator
CDL Systems Ltd.
Suite 220
3553 31 Street NW
Calgary, AB, Canada
T2L 2K7

Phone 403 289 1733 ext 226
Fax 403 289 3967
[EMAIL PROTECTED]
www.cdlsystems.com 





Problem in function in-lining

2006-04-12 Thread Ching-Hua Chang
We had ported gcc-3.4.2 to our own RISC, and meet a strange
case in optimization level 3 (-O3).

The compiler produce wrong assembly code in O3 and
correct result if we add -fno-inline flag.

It seems that there some problem in function in-lining.
What can I do and what should I do to solve this problem ?



Source : xyz.c

...
... skip
...
#undef errno
int errno;
int _write (int fd, char *buf, int nbytes);

#ifdef REENTRANT_SYSCALLS_PROVIDED
volatile
int
_write_r (struct _reent *r, int fd, char *buf, int nbytes)
{
return _write(fd, buf, nbytes);
}
#endif
/*
  * write -- write bytes to the serial port. Ignore fd, since
  *  stdout and stderr are the same. Since we have no filesystem,
  *  open will only return an error.
  */
int
_write (int fd, char *buf, int nbytes)
{
  __asm__ volatile (li r8,2
:::r8);
  SemiHostedSyscall ();
}


Assembly file genereated with O3 optimization
==

.text
.align2
.globl_write
.ent_write
_write:
.framer0,0,r3, 1# vars= 0, regs= 0,
args= 0, gp= 0
.mask0x,0
#APP
.set volatile
li r8,2
sdbbp 0xb
mv r4, r4
mv r5, r11
#NO_APP
.set optimize
swr5,errno
br!r3
.end_write
.align2
.globl_write_r
.ent_write_r
_write_r:
.framer0,0,r3, 1# vars= 0, regs= 0,
args= 0, gp= 0
.mask0x,0
#APP
.set volatile
li r8,2
sdbbp 0xb == inline function call _write with worng arguments
mv r4, r4
mv r5, r11
#NO_APP
.set optimize
swr5,errno
br!r3
.end_write_r

.commerrno,4,4

Assembly file genereated with O3 and -fno-inline flag
==

.text
.align2
.globl_write
.ent_write
_write:
.framer0,0,r3, 1# vars= 0, regs= 0,
args= 0, gp= 0
.mask0x,0
#APP
.set volatile
li r8,2
sdbbp 0xb
mv r4, r4
mv r5, r11
#NO_APP
.set optimize
swr5,errno
br!r3
.end_write
.align2
.globl_write_r
.ent_write_r
_write_r:
.framer0,0,r3, 1# vars= 0, regs= 0,
args= 0, gp= 0
.mask0x,0
mv! r4, r5
mv! r5, r6
mv! r6, r7
j_write
.end_write_r

.commerrno,4,4


Re: GCC Compiler Engineer job (I am not a recruiter)

2006-04-12 Thread Mark Mitchell
Gerald Pfeifer wrote:
 On Mon, 10 Apr 2006, Mark Mitchell wrote:
 It seems like we're getting consensus around that approach, despite the
 initial sentiment in the other direction from Mike and Joe.  Mike, Joe,
 do either of you care to argue the point?  If not, I'll volunteer to
 write some text for the web pages, and ask Gerald to find a place to put it.
 
 http://gcc.gnu.org/lists.html probably would be the best place for such
 a note.

I applied the following patch.

-- 
Mark Mitchell
CodeSourcery
[EMAIL PROTECTED]
(650) 331-3385 x713

Index: lists.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/lists.html,v
retrieving revision 1.94
diff -c -5 -p -r1.94 lists.html
*** lists.html  28 Oct 2005 19:58:26 -  1.94
--- lists.html  13 Apr 2006 05:46:06 -
*** as well as in
*** 38,47 
--- 38,53 
lipba href=http://gcc.gnu.org/ml/gcc/;gcc/a/b
is a high volume list for general development discussions about GCC.
Anything relevant to the development or testing of GCC and not
covered by other mailing lists is suitable for discussion here./p

+   pRecruiting postings, including recruiting for GCC or other
+   free software jobs, are not permitted on this list, or on any of the
+   other GCC mailing lists.  If you are interested in hiring a GCC
+   developer, please visit the a href=http://www.fsf.org/jobs;FSF
+   jobs page/a./p
+
pAll major decisions and changes, like abandoning ports or front ends,
should be announced and discussed here.  Ideally, this list should be
sufficient to follow the major trends and important news in GCC's
development process./p/li



[Bug target/27117] [4.2 Regression] gcc fails to build on sh64-elf targets

2006-04-12 Thread bonzini at gnu dot org


-- 

bonzini at gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |bonzini at gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-04-12 07:11:15
   date||


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



[Bug middle-end/27095] [4.1/4.2 Regression] O2 produces duplicate code

2006-04-12 Thread amodra at bigpond dot net dot au


--- Comment #3 from amodra at bigpond dot net dot au  2006-04-12 07:12 
---
Testing a fix


-- 

amodra at bigpond dot net dot au changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |amodra at bigpond dot net
   |dot org |dot au
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-04-09 21:49:06 |2006-04-12 07:12:49
   date||


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



[Bug target/27117] [4.2 Regression] gcc fails to build on sh64-elf targets

2006-04-12 Thread bonzini at gnu dot org


--- Comment #2 from bonzini at gnu dot org  2006-04-12 07:30 ---
And the funny part is, it is again Dale's patch that causes the failure.

I'm more and more inclined to revert that part, but it may be a latent bug as
in the AIX case (note: David Edelsohn decided to fix the bug by making sure
the problematic RTL is not produced, but it still was an rs6000 latent bug in
some sense).  So, if Joern wants to take a look...


-- 

bonzini at gnu dot org changed:

   What|Removed |Added

 CC||amylaar at gcc dot gnu dot
   ||org


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



[Bug c/27126] New: -Wswitch-enums doesn't detect impossible cases in switch()

2006-04-12 Thread ramune+gcc at net-ronin dot org
Given:

int main(void)
{
enum foo { A, B, C, D} bar;
bar = D;
if(bar == A) {
;
} else if(bar == B) {
;
} else {
switch(bar) {
case C:
case D:
;
}
}
return 0;
}

barbeque/zarathustra:src: /usr/local/bin/gcc-4.1.0 -Wswitch-enum a.c
a.c: In function 'main':
a.c:10: warning: enumeration value 'A' not handled in switch
a.c:10: warning: enumeration value 'B' not handled in switch

A  B aren't valid targets for the switch statement by the time it's hit as
they have been handled by the if statements above.

Locally built gcc:

barbeque/zarathustra:src: /usr/local/bin/gcc-4.1.0 -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.1.0/configure --prefix=/usr/local/stow/gcc-4.1.0
--enable-languages=c,c++,objc --infodir=/usr/local/stow/gcc-4.1.0/share/info
--mandir=/usr/local/stow/gcc-4.1.0/share/man --enable-shared --enable-threads
--enable-tls --program-suffix=-4.1.0 --enable-__cxa_atexit
--enable-version-specific-runtime-libs
--enable-targets=x86_64-unknown-linux-gnu --enable-bootstrap=lean
--disable-biarch --disable-multilib
Thread model: posix
gcc version 4.1.0

On Debian/stable from amd64.debian.net.

Also happens on gcc 3.3.5 from the Debian apt archives.


-- 
   Summary: -Wswitch-enums doesn't detect impossible cases in
switch()
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ramune+gcc at net-ronin dot org
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug java/27127] New: internal compiler error when compiling libjava with jc1

2006-04-12 Thread rainer-gccbugzilla at 7val dot com
I'm trying to build gcc on solaris8 sparc. after the command below, Class.d is
0 bytes in size. I don't see any other temporary files left behind by
-save-temps

[EMAIL PROTECTED]:~/gcc-3.4.6/sparc-sun-solaris2.8/sparcv9/libjava$
/export/home/rainer/gcc-3.4.6/gcc/gcj -v -save-temps
-B/export/home/rainer/gcc-3.4.6/sparc-sun-solaris2.8/sparcv9/libjava/
-B/export/home/rainer/gcc-3.4.6/gcc/ --encoding=UTF-8 -Wno-deprecated
-fclasspath=
-fbootclasspath=/export/home/rainer/gcc-3.4.6/sparc-sun-solaris2.8/sparcv9/libjava
-g -O2 -m64 -MD -MT java/lang/Class.lo -MF java/lang/Class.d -c
../../.././libjava/java/lang/Class.java -fPIC -o java/lang/.libs/Class.o
Reading specs from /export/home/rainer/gcc-3.4.6/gcc/specs
Reading specs from
/export/home/rainer/gcc-3.4.6/sparc-sun-solaris2.8/sparcv9/libjava/libgcj.spec
rename spec lib to liborig
Configured with: ./configure --prefix=/usr/local/gcc-4.1.0
--program-suffix=4.1.0 --with-gnu-ld=/usr/local/bin/ld
--with-gnu-as=/usr/local/bin/as
Thread model: posix
gcc version 3.4.6
 /export/home/rainer/gcc-3.4.6/gcc/jc1 ../../.././libjava/java/lang/Class.java
-fuse-divide-subroutine -fcheck-references -fuse-boehm-gc
-fkeep-inline-functions -mptr64 -mstack-bias -mno-v8plus -mcpu=v9 -quiet
-dumpbase Class.java -m64 -auxbase-strip java/lang/.libs/Class.o -g -O2
-Wno-deprecated -version -fencoding=UTF-8 -fclasspath=
-fbootclasspath=/export/home/rainer/gcc-3.4.6/sparc-sun-solaris2.8/sparcv9/libjava
-fPIC -MD_ -MT java/lang/Class.lo -MF java/lang/Class.d -o Class.s
GNU Java version 3.4.6 (sparc-sun-solaris2.8)
compiled by GNU C version 3.4.2.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Class path starts here:
./
/export/home/rainer/gcc-3.4.6/sparc-sun-solaris2.8/sparcv9/libjava/
(system)
../../.././libjava/java/lang/Class.java: In class `java.lang.Class':
../../.././libjava/java/lang/Class.java: In method
`java.lang.Class.getDeclaredFields()':
../../.././libjava/java/lang/Class.java:85: internal compiler error: in
size_binop, at fold-const.c:1601
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.


-- 
   Summary: internal compiler error when compiling libjava  with jc1
   Product: gcc
   Version: 3.4.6
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rainer-gccbugzilla at 7val dot com
 GCC build triplet: sparc-sun-solaris2.8
  GCC host triplet: sparc-sun-solaris2.8
GCC target triplet: sparc-sun-solaris2.8


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



[Bug java/27127] internal compiler error when compiling libjava with jc1

2006-04-12 Thread rainer-gccbugzilla at 7val dot com


--- Comment #1 from rainer-gccbugzilla at 7val dot com  2006-04-12 08:38 
---
Created an attachment (id=11247)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11247action=view)
Class.s, as built by gcj/jc1 before failure


-- 


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



[Bug java/27127] internal compiler error when compiling libjava with jc1

2006-04-12 Thread ebotcazou at gcc dot gnu dot org


--- Comment #2 from ebotcazou at gcc dot gnu dot org  2006-04-12 09:06 
---
This is known to work, please make sure to read carefully the instructions at
  http://gcc.gnu.org/install/specific.html#x-x-solaris2

In particular, use the recommended config shell and do not build in the source
directory.  And --with-gnu-as=/usr/local/bin/as --with-gnu-ld=/usr/local/bin/ld
is not the correct syntax, please see
http://gcc.gnu.org/install/configure.html.

Also make sure to bootstrap (gmake bootstrap) and not simply build the
compiler.


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |WAITING


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



[Bug ada/18818] ACATS cd10002 fails at runtime

2006-04-12 Thread ebotcazou at gcc dot gnu dot org


--- Comment #10 from ebotcazou at gcc dot gnu dot org  2006-04-12 09:09 
---
Presumably fixed everywhere.


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.0.0


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



[Bug c++/27129] New: [4.1/4.2 Regression] ICE in get_expr_operands

2006-04-12 Thread jakub at gcc dot gnu dot org
static const float a = 0.299f;
static const float b = 0.114f;
static const float c = 1 - a - c;

float
foo (void)
{
  return a + b + c;
}

ICEs at -O and higher.  There is a typo (should have been 1 - a - b of course),
but IMHO that just triggers undefined behavior.
G++ 4.0.x would initialize c in __static_initialization_and_destruction_0(int,
int) and compile it without ICE, where foo would be return 0.413f + c;
In 4.1.0+, apparently c is initialized to error_mark_node, although no error
nor even a warning is emitted at compile time, and obviously various later
optimizers are upset when seeing error_mark_node on unexpected places,
errorneous
input is not supposed to reach that far ever.


-- 
   Summary: [4.1/4.2 Regression] ICE in get_expr_operands
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org


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



[Bug c/27130] New: wrong long long elementary computations

2006-04-12 Thread jpvial at nerim dot net
This is a completetest file: 10 lines are enough,
with only 3 lines of actual code

#include stdio.h
int main(void)
{
long  long x;
long  long y;
  x=3;
  y=5;
  printf (%Ld %Ld %Ld %Ld  \n,x,y,x+y,x-y);
  return 0;
}

gives the obviously absurd output
0 3 0 5 

adding inttypes.h make no difference

The gcc version is
gcc (GCC) 4.1.1 20060331 (prerelease)

Compiled form sources on a SUN Blade 1000 Solaris 9
with the only configure option
--enable-languages=c 


below is the .i file:

# 1 longlong.c
# 1 interne
# 1 ligne de commande
# 1 longlong.c
# 1 /usr/include/stdio.h 1 3 4
# 20 /usr/include/stdio.h 3 4
#pragma ident @(#)stdio.h  1.7901/04/16 SMI

# 1 /usr/include/iso/stdio_iso.h 1 3 4
# 32 /usr/include/iso/stdio_iso.h 3 4
#pragma ident @(#)stdio_iso.h  1.2 99/10/25 SMI


# 1 /usr/include/sys/feature_tests.h 1 3 4
# 13 /usr/include/sys/feature_tests.h 3 4
#pragma ident @(#)feature_tests.h  1.1899/07/26 SMI

# 1 /usr/include/sys/isa_defs.h 1 3 4
# 9 /usr/include/sys/isa_defs.h 3 4
#pragma ident @(#)isa_defs.h   1.2099/05/04 SMI
# 16 /usr/include/sys/feature_tests.h 2 3 4
# 36 /usr/include/iso/stdio_iso.h 2 3 4
# 1 /usr/include/sys/va_list.h 1 3 4
# 9 /usr/include/sys/va_list.h 3 4
#pragma ident @(#)va_list.h1.1301/02/08 SMI
# 26 /usr/include/sys/va_list.h 3 4
typedef void *__va_list;
# 37 /usr/include/iso/stdio_iso.h 2 3 4
# 1 /usr/include/stdio_tag.h 1 3 4
# 9 /usr/include/stdio_tag.h 3 4
#pragma ident @(#)stdio_tag.h  1.3 98/04/20 SMI
# 21 /usr/include/stdio_tag.h 3 4
typedef struct __FILE __FILE;
# 38 /usr/include/iso/stdio_iso.h 2 3 4
# 1 /usr/include/stdio_impl.h 1 3 4
# 9 /usr/include/stdio_impl.h 3 4
#pragma ident @(#)stdio_impl.h 1.1301/11/16 SMI
# 22 /usr/include/stdio_impl.h 3 4
typedef int ssize_t;
# 38 /usr/include/stdio_impl.h 3 4
struct __FILE
{




 ssize_t _cnt;
 unsigned char *_ptr;

 unsigned char *_base;
 unsigned char _flag;
 unsigned char _file;
 unsigned __orientation:2;
 unsigned __ionolock:1;
 unsigned __seekable:1;
 unsigned __filler:4;
};
# 39 /usr/include/iso/stdio_iso.h 2 3 4
# 59 /usr/include/iso/stdio_iso.h 3 4
typedef long long __longlong_t;
# 75 /usr/include/iso/stdio_iso.h 3 4
typedef __FILE FILE;







typedef unsigned int size_t;




typedef long fpos_t;
# 147 /usr/include/iso/stdio_iso.h 3 4
extern __FILE __iob[20];
# 164 /usr/include/iso/stdio_iso.h 3 4
extern int remove(const char *);
extern int rename(const char *, const char *);
extern FILE *tmpfile(void);
extern char *tmpnam(char *);
extern int fclose(FILE *);
extern int fflush(FILE *);
extern FILE *fopen(const char *, const char *);
extern FILE *freopen(const char *, const char *, FILE *);
extern void setbuf(FILE *, char *);
extern int setvbuf(FILE *, char *, int, size_t);

extern int fprintf(FILE *, const char *, ...);

extern int fscanf(FILE *, const char *, ...);

extern int printf(const char *, ...);

extern int scanf(const char *, ...);

extern int sprintf(char *, const char *, ...);

extern int sscanf(const char *, const char *, ...);
extern int vfprintf(FILE *, const char *, __va_list);
extern int vprintf(const char *, __va_list);
extern int vsprintf(char *, const char *, __va_list);
extern int fgetc(FILE *);
extern char *fgets(char *, int, FILE *);
extern int fputc(int, FILE *);
extern int fputs(const char *, FILE *);


extern int getc(FILE *);
extern int putc(int, FILE *);



extern int getchar(void);
extern int putchar(int);

extern char *gets(char *);
extern int puts(const char *);
extern int ungetc(int, FILE *);
extern size_t fread(void *, size_t, size_t, FILE *);
extern size_t fwrite(const void *, size_t, size_t, FILE *);
extern int fgetpos(FILE *, fpos_t *);
extern int fseek(FILE *, long, int);
extern int fsetpos(FILE *, const fpos_t *);
extern long ftell(FILE *);
extern void rewind(FILE *);


extern void clearerr(FILE *);
extern int feof(FILE *);
extern int ferror(FILE *);

extern void perror(const char *);


extern int __filbuf(FILE *);
extern int __flsbuf(int, FILE *);
# 23 /usr/include/stdio.h 2 3 4
# 91 /usr/include/stdio.h 3 4
typedef long off_t;







typedef __longlong_t off64_t;
# 109 /usr/include/stdio.h 3 4
typedef __longlong_t fpos64_t;
# 137 /usr/include/stdio.h 3 4
extern unsigned char _sibuf[], _sobuf[];
# 179 /usr/include/stdio.h 3 4
extern unsigned char *_bufendtab[];
extern FILE *_lastbuf;
# 215 /usr/include/stdio.h 3 4
extern void setbuffer(FILE *, char *, size_t);
extern int setlinebuf(FILE *);





extern int vfscanf(FILE *, const char *, __va_list);
extern int vscanf(const char *, __va_list);
extern int vsscanf(const char *, const char *, __va_list);





extern int snprintf(char *, size_t, const char *, ...);




extern int vsnprintf(char *, size_t, const char *, __va_list);
# 244 /usr/include/stdio.h 3 4
extern FILE *fdopen(int, const char *);
extern char *ctermid(char *);
extern int fileno(FILE *);
# 270 /usr/include/stdio.h 3 4
extern FILE *popen(const char *, const char *);
extern char *cuserid(char *);
extern char *tempnam(const 

[Bug c/27130] wrong long long elementary computations

2006-04-12 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2006-04-12 10:14 ---
Use %lld, the L length modifier is for floating point formats to enable
long double.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug c/27126] -Wswitch-enums doesn't detect impossible cases in switch()

2006-04-12 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2006-04-12 10:17 ---
Confirmed.  But this is unlikely to be fixed as it would require moving the
diagnostic to the middle-end where this information is available.  And
diagosticts from the middle-end are notoriously frowned upon.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |enhancement
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|x86_64-unknown-linux-gnu|
   GCC host triplet|x86_64-unknown-linux-gnu|
 GCC target triplet|x86_64-unknown-linux-gnu|
   Keywords||diagnostic
   Priority|P3  |P5
   Last reconfirmed|-00-00 00:00:00 |2006-04-12 10:17:19
   date||


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



[Bug c++/27129] [4.1/4.2 Regression] ICE in get_expr_operands

2006-04-12 Thread reichelt at gcc dot gnu dot org


--- Comment #1 from reichelt at gcc dot gnu dot org  2006-04-12 11:17 
---
Confirmed.


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||reichelt at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||ice-on-valid-code, monitored
   Last reconfirmed|-00-00 00:00:00 |2006-04-12 11:17:02
   date||
   Target Milestone|--- |4.1.1


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



[Bug c++/27115] [4.0/4.1/4.2 Regression] ICE in cp_expr_size or miscompilation

2006-04-12 Thread reichelt at gcc dot gnu dot org


--- Comment #2 from reichelt at gcc dot gnu dot org  2006-04-12 11:34 
---
Confirmed.
Shorter testcase that crashes at -O0:


struct A
{
A (const A);
A operator= (const A);
};

void foo(A a)
{
A b = ({ a; });
}


bug.cc: In function 'void foo(A)':
bug.cc:9: internal compiler error: in cp_expr_size, at cp/cp-objcp-common.c:101
Please submit a full bug report, [etc.]

The problem seems to be the statement-expression.
Just initializing A b = a; makes the ICE go away.


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||reichelt at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||monitored
   Last reconfirmed|-00-00 00:00:00 |2006-04-12 11:34:16
   date||
   Target Milestone|4.0.4   |4.1.1


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



[Bug c++/27094] [4.0/4.1/4.2 Regression] tree check: expected tree_list, have omp_return in build_call

2006-04-12 Thread jakub at gcc dot gnu dot org


--- Comment #6 from jakub at gcc dot gnu dot org  2006-04-12 11:46 ---
It is a GC problem, when build_over_call calls mark_used, it certainly doesn't
expect mark_used to do a gcc_collect underneath it, as it has several tree
pointers stored in local variables.  I guess build_over_call isn't the only
place that trusts mark_used doesn't do that, e.g. build_call,
build_op_delete_call, finish_eh_spec_block etc. likely suffer from the same
problem.
The call chain that leads to ggc_collect is mark_used -
{synthetize_method,instantiate_decl} - expand_or_defer_fn -
cgraph_finalize_function - ggc_collect.
So, either we change mark_used to never trigger GC from underneath us
(e.g. by function_depth++; synthetise_method (...); function_depth--; and
probably similarly for instantiate_decl), or we add an argument to mark_used
if it is ok to ggc_collect (similarly to cgraph_finalize_function's NESTED
argument), or we change all mark_used callers that might suffer from this
(either by adding function_depth++/function_depth-- around the call, or by
registering its temporaries with GC before calling mark_used).


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jason at redhat dot com,
   ||mark at codesourcery dot com


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



[Bug c++/27115] [4.0/4.1/4.2 Regression] ICE in cp_expr_size or miscompilation

2006-04-12 Thread reichelt at gcc dot gnu dot org


--- Comment #3 from reichelt at gcc dot gnu dot org  2006-04-12 12:11 
---
Here's a shorter testcase for the wrong-code problem (using -O):
It should return 0, but returns something else since GCC 4.0.2.
The compiler crashes on this testcase with GCC 3.3 - 4.0.1.

=
struct A
{
  int i;
  A (int j) : i(j) {}
  A (const A j) : i(j.i) {}
  A operator= (const A j) { i = j.i; return *this; }
};

A foo(int j)
{
  return ({ j ? A(1) : A(0); });
}

int main()
{
  return foo(1).i-1;
}
=


-- 


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



[Bug tree-optimization/26830] [4.2 Regression] Repeated SSA update during loop header copying

2006-04-12 Thread rakdver at gcc dot gnu dot org


--- Comment #33 from rakdver at gcc dot gnu dot org  2006-04-12 12:20 
---
Created an attachment (id=11248)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11248action=view)
Patch to speed up update_ssa

This patch makes update_ssa significantly faster in cases like this (when
update_ssa is called often), by ensuring that we do not perform unnecessary
expensive tasks (walking all statements or ssa names) each time update_ssa is
called.  Several more improvements are possible, especially in the phi
insertion phase.


-- 


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



[Bug middle-end/27132] New: Fold does not canonicalize i - -1

2006-04-12 Thread rguenth at gcc dot gnu dot org
Fold does not canonicalize i - -1 to i + 1 where allowed.  It has

/* A - B - A + (-B) if B is easily negatable.  */
if (negate_expr_p (arg1)
   ((FLOAT_TYPE_P (type)
 /* Avoid this transformation if B is a positive REAL_CST.  */
(TREE_CODE (arg1) != REAL_CST
   ||  REAL_VALUE_NEGATIVE (TREE_REAL_CST (arg1
  || (INTEGRAL_TYPE_P (type)  flag_wrapv  !flag_trapv)))
return fold_build2 (PLUS_EXPR, type,
fold_convert (type, arg0),
fold_convert (type, negate_expr (arg1)));

but that doesn't trigger if !flag_wrapv.


-- 
   Summary: Fold does not canonicalize i - -1
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: enhancement
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org


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



[Bug bootstrap/27133] New: Fails to build because of funny version of makeinfo

2006-04-12 Thread jkanze at cheuvreux dot com
This may actually be several distinct minor bugs.
On my Sparc machine, I have what I think is a strang
version of makeinfo, installed by TeX (or at least,
in the tex tree) -- makeinfo --version returns:
   makeinfo (GNU texinfo 3.12) 1.68
This results in the compiler system (most specifically
fastjar) failing to build.

I will apply the obvious fix in my case -- install
a correct version of makeinfo from sources.  However...
The makeinfo pages say that all GNU distributions should come 
with prebuilt info files, thus makeinfo should not be needed.  
If you notice a distribution that does not come with *.info files, 
please report it as a bug.  Whence this bug report.

Two possible improvements while I'm at it: there really
could be an error message (or a warning) in configure, where
you check the version, and (more a question) is there a simple
way to build without building the documentation -- I've already
got it from the Linux build anyway?


-- 
   Summary: Fails to build because of funny version of makeinfo
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jkanze at cheuvreux dot com
 GCC build triplet: sparc-sun-solaris2.8
  GCC host triplet: sparc-sun-solaris2.8
GCC target triplet: sparc-sun-solaris2.8


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



[Bug c++/27134] New: ICE when compiling vtk-5.0

2006-04-12 Thread xtv at tveith dot homelinux dot com
When compiling vtk-5.0 with gcc-4.1.0 there occurs an ICE.. preprocessed
sourcefile attached.


-- 
   Summary: ICE when compiling vtk-5.0
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: xtv at tveith dot homelinux dot com
  GCC host triplet: x86_64-linux-gnu


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



[Bug middle-end/27132] Fold does not canonicalize i - -1

2006-04-12 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2006-04-12 12:53 ---
Testcase:

/* { dg-do compile } */
/* { dg-options -fdump-tree-gimple } */

int foo(int i)
{
  return i - -1;
}

/* { dg-final { scan-tree-dump i \\+ 1 gimple } } */
/* { dg-final { cleanup-tree-dump gimple } } */


I have a patch.  But that conflicts with negate_expr_p - see
http://gcc.gnu.org/ml/gcc/2006-04/msg00063.html


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-04-12 12:53:29
   date||


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



[Bug c++/27134] ICE when compiling vtk-5.0

2006-04-12 Thread xtv at tveith dot homelinux dot com


--- Comment #1 from xtv at tveith dot homelinux dot com  2006-04-12 12:54 
---
Created an attachment (id=11249)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11249action=view)
preprocessed source file

preprocessed sourcefile compressed with gzip to meet the size requirements for
submitting non-patches to bugzilla


-- 


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



[Bug c++/27135] New: parser.c:10895: warning: 'is_parenthesized_init' may be used uninitialized in this function

2006-04-12 Thread danglin at gcc dot gnu dot org
/home/dave/gnu/gcc-4.2/objdir/./prev-gcc/xgcc
-B/home/dave/gnu/gcc-4.2/objdir/./
prev-gcc/ -B/home/dave/opt/gnu/gcc/gcc-4.2.0/hppa-linux/bin/ -c   -g -O2
-DIN_GC
C   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-Wold-style-definiti
on -Wmissing-format-attribute -Werror -Wc++-compat -fno-common  
-DHAVE_CONFIG_H
 -I. -Icp -I../../gcc/gcc -I../../gcc/gcc/cp -I../../gcc/gcc/../include
-I../../
gcc/gcc/../libcpp/include  -I../../gcc/gcc/../libdecnumber -I../libdecnumber
../../gcc/gcc/cp/parser.c -o cp/parser.o
cc1: warnings being treated as errors
../../gcc/gcc/cp/parser.c: In function 'cp_parser_init_declarator':
../../gcc/gcc/cp/parser.c:10895: warning: 'is_parenthesized_init' may be used
un
initialized in this function
make[3]: *** [cp/parser.o] Error 1
make[3]: Leaving directory `/home/dave/gnu/gcc-4.2/objdir/gcc'
make[2]: *** [all-stage2-gcc] Error 2
make[2]: Leaving directory `/home/dave/gnu/gcc-4.2/objdir'
make[1]: *** [stage2-bubble] Error 2


-- 
   Summary: parser.c:10895: warning: 'is_parenthesized_init' may be
used uninitialized in this function
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa-unknown-linux-gnu
  GCC host triplet: hppa-unknown-linux-gnu
GCC target triplet: hppa-unknown-linux-gnu


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



[Bug c++/27084] Does not propagate memory load base through useless type conversion

2006-04-12 Thread rguenth at gcc dot gnu dot org


--- Comment #9 from rguenth at gcc dot gnu dot org  2006-04-12 13:35 ---
PASS: g++.old-deja/g++.mike/dyncast7.C (test for excess errors)
FAIL: g++.old-deja/g++.mike/dyncast7.C execution test

const Foo* and Foo* are really not compatible.  We can just exchange Foo* for
const Foo* for loads.


-- 


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



[Bug c++/27084] Does not propagate memory load base through useless type conversion

2006-04-12 Thread rguenth at gcc dot gnu dot org


--- Comment #10 from rguenth at gcc dot gnu dot org  2006-04-12 13:37 
---
Created an attachment (id=11250)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11250action=view)
updated patch

Patch I will clean and test instead.  Also fixes 27090.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Attachment #11227|0   |1
is obsolete||


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



[Bug target/27117] [4.2 Regression] gcc fails to build on sh64-elf targets

2006-04-12 Thread amylaar at gcc dot gnu dot org


--- Comment #3 from amylaar at gcc dot gnu dot org  2006-04-12 13:46 ---
sh64 has indexed addressing, but the addition is always done as 64 bit,
and there are currently no implemenmtations that allow the 64 bit logical
address space to be re-mapped into a 32 physical address space - instead
they trap on any access to an address that does not fit into a 32 bit
address space.

This makes using indexed addressing with Pmode for -m5-32media (where Pmode
is SImode) unsafe, since some optimizations can fold additions into indexed
addressing and thus cause out-of-range addresses.  Therefore, INDEX_REG_CLASS
is NO_REGS for -m5-32media.

The division code produces an address with a DImode plus of two registers -
this is safe, since we exactly describe what the hardware does.
However, find_reloads_address_1 sees a plus and recurses with CONTEXT set to 1,
and then uses INDEX_REG_CLASS; it does not take into account that the mode
is not Pmode.

I think the best solution is to have an INDEX_REG_CLASS_FOR_MODE macro,
which defaults to INDEX_REG_CLASS.  Then this macro can be defined for the
SH to return GENERAL_REGS for DImode when compiling SHmedia code.

A kludgy solution would be to make reload reload the sum into a base register
(to cover the general case), and make the SH LEGITIMIZE_RELOAD_ADDRESS
recognize a sum with a non-pmode PLUS, and only reload pseudos inside into
GENERAL_REGS.


-- 


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



[Bug c++/27129] [4.1/4.2 Regression] ICE in get_expr_operands

2006-04-12 Thread prigault at oricom dot ca


--- Comment #2 from prigault at oricom dot ca  2006-04-12 14:00 ---
IMO, the line defining c should trigger an error message because it needs to
use c before creating the variable, or else undefined behaviour occurs.
This message could be:
 error: #8216;c#8217; was not declared in this scope
or:
 error: 'c' is used uninitialized

Consider:

$ more test.cc
#include stdio.h

static const float f = 1 - a;

int main(void)
{
printf(%f\n, f);

return 0;
}

$ g++ -Wall  -O2 -o test  test.cc
test.cc:3: error: #8216;a#8217; was not declared in this scope

$ more test1.cc
#include stdio.h

static const float f = 1 - f;

int main(void)
{
printf(%f\n, f);

return 0;
}

$ g++ -Wall  -O2 -o test1  test1.cc
$

There should be an error message there as well.


-- 

prigault at oricom dot ca changed:

   What|Removed |Added

 CC||prigault at oricom dot ca


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



[Bug tree-optimization/26830] [4.2 Regression] Repeated SSA update during loop header copying

2006-04-12 Thread dnovillo at redhat dot com


--- Comment #34 from dnovillo at redhat dot com  2006-04-12 14:09 ---
Subject: Re:  [4.2 Regression] Repeated SSA update
 during loop header copying

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 04/12/06 08:20, rakdver at gcc dot gnu dot org wrote:

  -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11248action=view)
 Patch to speed up update_ssa
 
Fails building libgcc with checking disabled on x86.

Starting program: /notnfs/dnovillo/BLD-gcc-native/gcc/cc1 -fpreprocessed
libgcov.i -quiet -dumpbase libgcov.c -mtune=generic -auxbase-strip
libgcc/./_gcov.o -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes
- -Wmissing-prototypes -Wold-style-definition -version -fPIC -o libgcov.s
Reading symbols from shared object read from target memory...done.
Loaded system supplied DSO at 0xb000
GNU C version 4.2.0 20060412 (experimental) (i686-pc-linux-gnu)
compiled by GNU C version 4.1.0 20060304 (Red Hat 4.1.0-3).
GGC heuristics: --param ggc-min-expand=98 --param ggc-min-heapsize=128991
Compiler executable checksum: 3c4ee7023c10209f81749c69d1323e23

Program received signal SIGSEGV, Segmentation fault.
0x0813d8f4 in bitmap_first_set_bit (a=0x86ec974)
at /home/dnovillo/gcc/src/gcc/bitmap.c:595
595   bit_no = elt-indx * BITMAP_ELEMENT_ALL_BITS;
(gdb) up
#1  0x080da1da in set_livein_block (var=0xb7ce9034, bb=0xb7cc0d20)
at /home/dnovillo/gcc/src/gcc/tree-into-ssa.c:486
486   int def_block_index = bitmap_first_set_bit (db_p-def_blocks);
(gdb) up
#2  0x080ddd3b in mark_use_interesting (var=0xb7ce9034, stmt=0xb7cd8f50,
bb=0xb7cc0d20, blocks=0x86ec8c0, insert_phi_p=1 '\001')
at /home/dnovillo/gcc/src/gcc/tree-into-ssa.c:1924
1924set_livein_block (var, bb);
(gdb)
#3  0x080dde71 in prepare_use_sites_for (name=0xb7ce9034, blocks=0x86ec8c0,
insert_phi_p=1 '\001') at
/home/dnovillo/gcc/src/gcc/tree-into-ssa.c:2045
2045  mark_use_interesting (name, stmt, bb, blocks,
insert_phi_p);
(gdb)
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2.2 (GNU/Linux)

iD8DBQFEPQooUTa2oAUaiwQRAkAIAKCE4Sy7b0HCuZXv2M6a0OP0EBrQWgCgg5CT
7er5u0KdZhzL7y6sHsLVZts=
=B10i
-END PGP SIGNATURE-


-- 


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



[Bug target/27117] [4.2 Regression] gcc fails to build on sh64-elf targets

2006-04-12 Thread paolo dot bonzini at lu dot unisi dot ch


--- Comment #4 from paolo dot bonzini at lu dot unisi dot ch  2006-04-12 
14:09 ---
Subject: Re:  [4.2 Regression] gcc fails to build on sh64-elf
 targets


 I think the best solution is to have an INDEX_REG_CLASS_FOR_MODE macro,
 which defaults to INDEX_REG_CLASS.  Then this macro can be defined for the
 SH to return GENERAL_REGS for DImode when compiling SHmedia code.
   
Thanks for the analysis.  I quickly tested that your approach works for 
Kaz's testcase.  However I don't feel confident enough to write this 
patch though -- and even less to document it.

Are you going to do it,  or should I go on and revert the regclass.c change?

This is what I tested BTW:

Index: reload.c
===
--- reload.c(revision 112658)
+++ reload.c(working copy)
@@ -5316,7 +5316,7 @@ find_reloads_address_1 (enum machine_mod
   RTX_CODE code = GET_CODE (x);

   if (context == 1)
-context_reg_class = INDEX_REG_CLASS;
+context_reg_class = GET_MODE (x) == DImode ? GENERAL_REGS : 
INDEX_REG_CLASS;
   else
 context_reg_class = base_reg_class (mode, outer_code, index_code);


-- 


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



[Bug tree-optimization/26830] [4.2 Regression] Repeated SSA update during loop header copying

2006-04-12 Thread rakdver at atrey dot karlin dot mff dot cuni dot cz


--- Comment #35 from rakdver at atrey dot karlin dot mff dot cuni dot cz  
2006-04-12 14:20 ---
Subject: Re:  [4.2 Regression] Repeated SSA update during loop header copying

   -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11248action=view)
  Patch to speed up update_ssa
  
 Fails building libgcc with checking disabled on x86.

forgot to say: mostly untested patch, still work in progress :-)


-- 


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



[Bug tree-optimization/26830] [4.2 Regression] Repeated SSA update during loop header copying

2006-04-12 Thread dnovillo at redhat dot com


--- Comment #36 from dnovillo at redhat dot com  2006-04-12 14:23 ---
Subject: Re:  [4.2 Regression] Repeated SSA update
 during loop header copying

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 04/12/06 10:20, rakdver at atrey dot karlin dot mff dot cuni dot cz
wrote:

 forgot to say: mostly untested patch, still work in progress :-)
 
Oh, OK.  I got the impression you were submitting it.  I'll wait for
your final version then.  Thanks.

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2.2 (GNU/Linux)

iD8DBQFEPQ1sUTa2oAUaiwQRApY5AJ4v+ve2Yl2mkv8+nMVSo0XvOBEF0wCeOLKr
aojItQJu1BeKQcMIwzfLKSM=
=5Ole
-END PGP SIGNATURE-


-- 


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



[Bug fortran/26834] gfc_todo: Not Implemented: Unable to determine rank of expression

2006-04-12 Thread paul dot richard dot thomas at cea dot fr


--- Comment #2 from paul dot richard dot thomas at cea dot fr  2006-04-12 
14:32 ---
(In reply to comment #1)
 Confirmed, PR 25669 and bug 18003 are very closely related (it might turn out
 this is a dup of one of them).

They are indeed the same.  Attached below is a patch that fixes all three and a
testcase that demonstrates that this is so.  The patch is still testing but I
am pretty sure it is OK (ie. this is a path that ICEd previously).  I will
submit tonight, if all is well.

Paul

Index: gcc/fortran/trans-array.c
===
--- gcc/fortran/trans-array.c   (révision 112853)
+++ gcc/fortran/trans-array.c   (copie de travail)
@@ -2393,6 +2393,19 @@
  loop-dimen = ss-data.info.dimen;
  break;

+   /* Cope with the likes of PRINT *, lbound (a), where nothing
+  better is available.  */
+   case GFC_SS_INTRINSIC:
+ switch (ss-expr-value.function.isym-generic_id)
+   {
+   case GFC_ISYM_LBOUND:
+   case GFC_ISYM_UBOUND:
+ loop-dimen = ss-data.info.dimen;
+
+   default:
+ break;
+   }
+
default:
  break;
}
@@ -2418,6 +2431,15 @@
gfc_conv_section_startstride (loop, ss, n);
  break;

+   case GFC_SS_INTRINSIC:
+ switch (ss-expr-value.function.isym-generic_id)
+   {
+   case GFC_ISYM_LBOUND:
+   case GFC_ISYM_UBOUND:
+ break;
+   default:
+ continue;
+   }
case GFC_SS_CONSTRUCTOR:
case GFC_SS_FUNCTION:
  for (n = 0; n  ss-data.info.dimen; n++)
Index: gcc/fortran/trans-intrinsic.c
===
--- gcc/fortran/trans-intrinsic.c   (révision 112853)
+++ gcc/fortran/trans-intrinsic.c   (copie de travail)
@@ -3710,6 +3710,7 @@
   newss-type = GFC_SS_INTRINSIC;
   newss-expr = expr;
   newss-next = ss;
+  newss-data.info.dimen = 1;

   return newss;
 }

! { dg-do compile }
! This tests the fix for PRs 26834, 25669 and 18803, in which
! shape information for the lbound and ubound intrinsics was not
! transferred to the scalarizer.  For this reason, an ICE would
! ensue, whenever these functions were used in temporaries.
!
! The tests are lifted from the PRs and some further checks are
! done to make sure that nothing is broken.
!
! This is PR26834
subroutine gfcbug34 ()
  implicit none
  type t
 integer, pointer :: i (:) = NULL ()
  end type t
  type(t), save :: gf
  allocate (gf%i(20))
  write(*,*) 'ubound:', ubound (gf% i)
  write(*,*) 'lbound:', lbound (gf% i)
end subroutine gfcbug34

! This is PR25669
subroutine foo (a)
  real a(*)
  call bar (a, LBOUND(a),2)
end subroutine foo
subroutine bar (b, i, j)
  real b(i:j)
  print *, i, j
  print *, b(i:j)
end subroutine bar

! This is PR18003
subroutine io_bug()
  integer :: a(10)
  print *, ubound(a)
end subroutine io_bug

! This checks that lbound and ubound are OK in  temporary
! expressions.
subroutine io_bug_plus()
  integer :: a(10, 10), b(2)
  print *, ubound(a)*(/1,2/)
  print *, (/1,2/)*ubound(a)
end subroutine io_bug_plus

  character(4) :: ch(2), ech(2) = (/'ABCD', 'EFGH'/)
  real(4) :: a(2)
  equivalence (ech,a)
  integer(1) :: i(8) = (/(j, j = 1,8)/)

! Check that the bugs have gone
  call io_bug ()
  call io_bug_plus ()
  call foo ((/1.0,2.0,3.0/))
  call gfcbug34 ()

! Check that we have not broken other intrinsics.
  print *, cos ((/1.0,2.0/))
  print *, transfer (a, ch)
  print *, i(1:4) * transfer (a, i, 4) * 2
end


-- 


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



[Bug fortran/27124] Incorrect dependency for assignment from function with array section actual arg.

2006-04-12 Thread paul dot richard dot thomas at cea dot fr


--- Comment #2 from paul dot richard dot thomas at cea dot fr  2006-04-12 
14:34 ---
I have a fix for it, which is regtesting right now.  Even if it fails in this
form, it is along the right lines and there will be a version that is pukkah. I
hope to submit the patch tonight.

Quite simply, the fix consists of gathering up all the argument post_blocks,
which contain the unpacking and freeing of argument temporaries, and putting
them into a separate block.  Once the function call is translated, it either
goes in the se-pre block or becomes the se expression, depending on how the
value is returned.  Depending on this same choice, we now add the argument post
block to se-pre or to se-post.  This ensures that the results of byref calls
that produce temporaries are transferred to the destination array AFTER the
unpacking of the argument.  The reduced testcase below now runs correctly.

The patch and testcase appear below.

Paul

Index: gcc/fortran/trans-expr.c
===
--- gcc/fortran/trans-expr.c(révision 112853)
+++ gcc/fortran/trans-expr.c(copie de travail)
@@ -1832,6 +1832,7 @@
   gfc_charlen cl;
   gfc_expr *e;
   gfc_symbol *fsym;
+  stmtblock_t post;

   arglist = NULL_TREE;
   retargs = NULL_TREE;
@@ -1861,6 +1862,7 @@
   else
 info = NULL;

+  gfc_init_block (post);
   gfc_init_interface_mapping (mapping);
   need_interface_mapping = ((sym-ts.type == BT_CHARACTER
   sym-ts.cl-length
@@ -1970,7 +1972,7 @@
gfc_add_interface_mapping (mapping, fsym, parmse);

   gfc_add_block_to_block (se-pre, parmse.pre);
-  gfc_add_block_to_block (se-post, parmse.post);
+  gfc_add_block_to_block (post, parmse.post);

   /* Character strings are passed as two parameters, a length and a
  pointer.  */
@@ -2177,6 +2179,11 @@
}
 }

+  if (byref)
+gfc_add_block_to_block (se-pre, post);
+  else
+gfc_add_block_to_block (se-post, post);
+
   return has_alternate_specifier;
 }

! { dg-do run }
! Tests the fix for PR27124 in which the unpacking of argument
! temporaries and of array result temporaries occurred in the
! incorrect order.
! 
! Test is based on the original example, provided by
! Philippe Schaffnit [EMAIL PROTECTED]
!
  PROGRAM Test
INTEGER :: Array(2, 3) = reshape ((/1,4,2,5,3,6/),(/2,3/))
integer :: Brray(2, 3) = 0
Brray(1,:) = Function_Test (Array(1,:))
if (any(reshape (Brray, (/6/)) .ne. (/11, 0, 12, 0, 13, 0/))) call abort ()
Array(1,:) = Function_Test (Array(1,:))
if (any(reshape (Array, (/6/)) .ne. (/11, 4, 12, 5, 13, 6/))) call abort ()

  contains
  FUNCTION Function_Test (Input)
  INTEGER, INTENT(IN) :: Input(1:3)
  INTEGER :: Function_Test(1:3)
  Function_Test = Input + 10
  END FUNCTION Function_Test
  END PROGRAM Test




-- 


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



[Bug middle-end/27134] [4.1/4.2 regression] ICE with floor and -ffast-math

2006-04-12 Thread reichelt at gcc dot gnu dot org


--- Comment #2 from reichelt at gcc dot gnu dot org  2006-04-12 14:59 
---
Confirmed.
Reduced testcase (compile with -O -ffast-math):

==
double floor(double);

inline int bar(double x) { return (int)floor(x); }

int foo(int i) { return bar(i); }
==

bug.c: In function 'foo':
bug.c:3: internal compiler error: in get_callee_fndecl, at tree.c:5809
Please submit a full bug report, [etc.]

Happens with C and C++ frontend.

There seems to be something wrong with -ffast-math and floor.
Renaming floor to something else in the above testcase makes things
work again.


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||reichelt at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
  Component|c++ |middle-end
 Ever Confirmed|0   |1
   Keywords||ice-on-valid-code, monitored
   Last reconfirmed|-00-00 00:00:00 |2006-04-12 14:59:12
   date||
Summary|ICE when compiling vtk-5.0  |[4.1/4.2 regression] ICE
   ||with floor and -ffast-math
   Target Milestone|--- |4.1.1


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



[Bug fortran/27124] Incorrect dependency for assignment from function with array section actual arg.

2006-04-12 Thread P dot Schaffnit at access dot rwth-aachen dot de


--- Comment #3 from P dot Schaffnit at access dot rwth-aachen dot de  
2006-04-12 15:02 ---
Subject: Re:  Incorrect dependency for assignment from
 functionwith array section actual arg.


Merci!

Philippe

paul dot richard dot thomas at cea dot fr wrote:
 
 --- Comment #2 from paul dot richard dot thomas at cea dot fr  2006-04-12 
 14:34 ---
 I have a fix for it, which is regtesting right now.  Even if it fails in this
 form, it is along the right lines and there will be a version that is pukkah. 
 I
 hope to submit the patch tonight.
 
 Quite simply, the fix consists of gathering up all the argument post_blocks,
 which contain the unpacking and freeing of argument temporaries, and putting
 them into a separate block.  Once the function call is translated, it either
 goes in the se-pre block or becomes the se expression, depending on how the
 value is returned.  Depending on this same choice, we now add the argument 
 post
 block to se-pre or to se-post.  This ensures that the results of byref calls
 that produce temporaries are transferred to the destination array AFTER the
 unpacking of the argument.  The reduced testcase below now runs correctly.
 
 The patch and testcase appear below.
 
 Paul
 
 Index: gcc/fortran/trans-expr.c
 ===
 --- gcc/fortran/trans-expr.c(révision 112853)
 +++ gcc/fortran/trans-expr.c(copie de travail)
 @@ -1832,6 +1832,7 @@
gfc_charlen cl;
gfc_expr *e;
gfc_symbol *fsym;
 +  stmtblock_t post;
 
arglist = NULL_TREE;
retargs = NULL_TREE;
 @@ -1861,6 +1862,7 @@
else
  info = NULL;
 
 +  gfc_init_block (post);
gfc_init_interface_mapping (mapping);
need_interface_mapping = ((sym-ts.type == BT_CHARACTER
sym-ts.cl-length
 @@ -1970,7 +1972,7 @@
 gfc_add_interface_mapping (mapping, fsym, parmse);
 
gfc_add_block_to_block (se-pre, parmse.pre);
 -  gfc_add_block_to_block (se-post, parmse.post);
 +  gfc_add_block_to_block (post, parmse.post);
 
/* Character strings are passed as two parameters, a length and a
   pointer.  */
 @@ -2177,6 +2179,11 @@
 }
  }
 
 +  if (byref)
 +gfc_add_block_to_block (se-pre, post);
 +  else
 +gfc_add_block_to_block (se-post, post);
 +
return has_alternate_specifier;
  }
 
 ! { dg-do run }
 ! Tests the fix for PR27124 in which the unpacking of argument
 ! temporaries and of array result temporaries occurred in the
 ! incorrect order.
 !
 ! Test is based on the original example, provided by
 ! Philippe Schaffnit [EMAIL PROTECTED]
 !
   PROGRAM Test
 INTEGER :: Array(2, 3) = reshape ((/1,4,2,5,3,6/),(/2,3/))
 integer :: Brray(2, 3) = 0
 Brray(1,:) = Function_Test (Array(1,:))
 if (any(reshape (Brray, (/6/)) .ne. (/11, 0, 12, 0, 13, 0/))) call abort 
 ()
 Array(1,:) = Function_Test (Array(1,:))
 if (any(reshape (Array, (/6/)) .ne. (/11, 4, 12, 5, 13, 6/))) call abort 
 ()
 
   contains
   FUNCTION Function_Test (Input)
   INTEGER, INTENT(IN) :: Input(1:3)
   INTEGER :: Function_Test(1:3)
   Function_Test = Input + 10
   END FUNCTION Function_Test
   END PROGRAM Test
 
 --
 
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27124
 
 --- You are receiving this mail because: ---
 You are on the CC list for the bug, or are watching someone who is.


-- 


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



[Bug target/26459] [4.1/4.2 Regression] gcc fails to build on powerpc e500-double targets

2006-04-12 Thread edmar at freescale dot com


--- Comment #28 from edmar at freescale dot com  2006-04-12 15:36 ---
I double checked everything. The sources I checked out last night has the
patches of comments 17, 21, and 25.
This time I got a failure just like the on comment 7. The insn is the same
The original attachment: floatformat.i, still good. I can reproduce the error
with it.



/local/gnu_toolchain/build_area/obj_gcc-trunk_e500v1/obj_gcc-trunk_e500v2/powerpc-unknown-linux-gnuspe/libiberty
/local/gnu_toolchain/build_area/obj_gcc-trunk_e500v1/obj_gcc-trunk_e500v2/./gcc/xgcc
-B/local/gnu_toolchain/build_area/obj_gcc-trunk_e500v1/obj_gcc-trunk_e500v2/./gcc/
-B/local/gnu_toolchain/install_area/gcc-trunk-20060411-e500v2/powerpc-unknown-linux-gnuspe/bin/
-B/local/gnu_toolchain/install_area/gcc-trunk-20060411-e500v2/powerpc-unknown-linux-gnuspe/lib/
-isystem
/local/gnu_toolchain/install_area/gcc-trunk-20060411-e500v2/powerpc-unknown-linux-gnuspe/include
-isystem
/local/gnu_toolchain/install_area/gcc-trunk-20060411-e500v2/powerpc-unknown-linux-gnuspe/sys-include
-c -DHAVE_CONFIG_H -O2 -g -O2  -I. -I../../../gcc-trunk/libiberty/../include 
-W -Wall -pedantic -Wwrite-strings -Wstrict-prototypes -Wc++-compat
../../../gcc-trunk/libiberty/floatformat.c -o floatformat.o -v --save-temps
Reading specs from
/local/gnu_toolchain/build_area/obj_gcc-trunk_e500v1/obj_gcc-trunk_e500v2/./gcc/specs
Target: powerpc-unknown-linux-gnuspe
Configured with: ../gcc-trunk/configure
--prefix=/local/gnu_toolchain/install_area/gcc-trunk-20060411-e500v2
--with-local-prefix=/local/gnu_toolchain/install_area/gcc-trunk-20060411-e500v2
--enable-languages=c,c++ --enable-threads --target=powerpc-unknown-linux-gnuspe
--disable-shared --disable-multilib --disable-linux-futex --enable-e500_double
Thread model: posix
gcc version 4.2.0 20060411 (experimental)

/local/gnu_toolchain/build_area/obj_gcc-trunk_e500v1/obj_gcc-trunk_e500v2/./gcc/cc1
-E -quiet -v -I. -I../../../gcc-trunk/libiberty/../include -iprefix
/temp/gnu_toolchain/build_area/obj_gcc-trunk_e500v1/obj_gcc-trunk_e500v2/gcc/../lib/gcc/powerpc-unknown-linux-gnuspe/4.2.0/
-isystem
/local/gnu_toolchain/build_area/obj_gcc-trunk_e500v1/obj_gcc-trunk_e500v2/./gcc/include
-D__unix__ -D__gnu_linux__ -D__linux__ -Dunix -D__unix -Dlinux -D__linux
-Asystem=linux -Asystem=unix -Asystem=posix -DHAVE_CONFIG_H -isystem
/local/gnu_toolchain/install_area/gcc-trunk-20060411-e500v2/powerpc-unknown-linux-gnuspe/include
-isystem
/local/gnu_toolchain/install_area/gcc-trunk-20060411-e500v2/powerpc-unknown-linux-gnuspe/sys-include
../../../gcc-trunk/libiberty/floatformat.c -W -Wall -pedantic -Wwrite-strings
-Wstrict-prototypes -Wc++-compat -fworking-directory -O2 -O2 -fpch-preprocess
-o floatformat.i
ignoring nonexistent directory
/local/gnu_toolchain/install_area/gcc-trunk-20060411-e500v2/powerpc-unknown-linux-gnuspe/include
ignoring nonexistent directory
/temp/gnu_toolchain/build_area/obj_gcc-trunk_e500v1/obj_gcc-trunk_e500v2/gcc/../lib/gcc/powerpc-unknown-linux-gnuspe/4.2.0/include
ignoring nonexistent directory
/temp/gnu_toolchain/build_area/obj_gcc-trunk_e500v1/obj_gcc-trunk_e500v2/gcc/../lib/gcc/powerpc-unknown-linux-gnuspe/4.2.0/../../../../powerpc-unknown-linux-gnuspe/sys-include
ignoring nonexistent directory
/temp/gnu_toolchain/build_area/obj_gcc-trunk_e500v1/obj_gcc-trunk_e500v2/gcc/../lib/gcc/powerpc-unknown-linux-gnuspe/4.2.0/../../../../powerpc-unknown-linux-gnuspe/include
ignoring duplicate directory
/local/gnu_toolchain/install_area/gcc-trunk-20060411-e500v2/lib/gcc/powerpc-unknown-linux-gnuspe/4.2.0/../../../../powerpc-unknown-linux-gnuspe/sys-include
ignoring nonexistent directory
/local/gnu_toolchain/install_area/gcc-trunk-20060411-e500v2/lib/gcc/powerpc-unknown-linux-gnuspe/4.2.0/../../../../powerpc-unknown-linux-gnuspe/include
#include ... search starts here:
#include ... search starts here:
 .
 ../../../gcc-trunk/libiberty/../include

/local/gnu_toolchain/build_area/obj_gcc-trunk_e500v1/obj_gcc-trunk_e500v2/./gcc/include

/local/gnu_toolchain/install_area/gcc-trunk-20060411-e500v2/powerpc-unknown-linux-gnuspe/sys-include

/local/gnu_toolchain/install_area/gcc-trunk-20060411-e500v2/lib/gcc/powerpc-unknown-linux-gnuspe/4.2.0/include
End of search list.

/local/gnu_toolchain/build_area/obj_gcc-trunk_e500v1/obj_gcc-trunk_e500v2/./gcc/cc1
-fpreprocessed floatformat.i -quiet -dumpbase floatformat.c -auxbase-strip
floatformat.o -g -O2 -O2 -W -Wall -pedantic -Wwrite-strings -Wstrict-prototypes
-Wc++-compat -version -o floatformat.s
GNU C version 4.2.0 20060411 (experimental) (powerpc-unknown-linux-gnuspe)
compiled by GNU C version 3.4.3.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 46d139d3138e283288bcfc291691aee0
../../../gcc-trunk/libiberty/floatformat.c: In function
'floatformat_to_double':
../../../gcc-trunk/libiberty/floatformat.c:415: error: unrecognizable insn:
(insn 342 340 128 14 ../../../gcc-trunk/libiberty/floatformat.c:383 (set
(reg:DF 11 11)
 

[Bug classpath/24481] SecureRandom.setSeed has no impact

2006-04-12 Thread cvs-commit at developer dot classpath dot org


--- Comment #10 from cvs-commit at developer dot classpath dot org  
2006-04-12 16:39 ---
Subject: Bug 24481

CVSROOT:/cvsroot/classpath
Module name:classpath
Branch: 
Changes by: Casey Marshall [EMAIL PROTECTED] 06/04/12 16:38:50

Modified files:
.  : ChangeLog 
gnu/java/security/jce/prng: SecureRandomAdapter.java 
gnu/java/security/prng: MDGenerator.java 

Log message:
2006-04-12  Casey Marshall  [EMAIL PROTECTED]

Fixes PR classpath/24481.
* gnu/java/security/jce/prng/SecureRandomAdapter.java (init):
initialize the adaptee.
(setSeed): call `addRandomBytes;' don't re-initialize the adaptee.
* gnu/java/security/prng/MDGenerator.java (addRandomByte,
addRandomBytes): new methods.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.7086tr2=1.7087r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/security/jce/prng/SecureRandomAdapter.java.diff?tr1=1.1tr2=1.2r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/security/prng/MDGenerator.java.diff?tr1=1.2tr2=1.3r1=textr2=text


-- 


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



[Bug rtl-optimization/26961] [4.0/4.1/4.2 Regression] ICE simplify_subreg:3813

2006-04-12 Thread reichelt at gcc dot gnu dot org


--- Comment #3 from reichelt at gcc dot gnu dot org  2006-04-12 17:24 
---
Even shorter testcase:

===
int foo(int i, int j)
{
return i ? (long long)(!j) : 0;
}
===


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||reichelt at gcc dot gnu dot
   ||org
   Keywords||monitored


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



[Bug c/27136] New: Compile failure with -O -ffast-math

2006-04-12 Thread trt at acm dot org
This program, compiled -O -ffast-math, seems to consume infinite stack space

/* -O -ffast-math */
void foo()
{
  double x;

  for (x = 2; x  10; x *= x)
;
}


-- 
   Summary: Compile failure with -O -ffast-math
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: trt at acm dot org
  GCC host triplet: i686-pc-linux-gnu


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



[Bug middle-end/27132] Fold does not canonicalize i - -1

2006-04-12 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-04-12 17:34 ---
Yes I already filed a couple bugs about turning this on for the !flag_wrapv 
case.


-- 


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



[Bug java/27101] GCJ rejects valid code (for Sun's measure of valid')

2006-04-12 Thread tromey at gcc dot gnu dot org


--- Comment #4 from tromey at gcc dot gnu dot org  2006-04-12 17:38 ---
I thought this looked like a dup, but I can't find the original.
In any case, ISTR looking at the logic here in gcj at one point,
and finding that it was all screwed up.

Pinski: you can do:  sed 's/^.//d'  File.java  and then cut
and paste...


-- 


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



[Bug middle-end/27132] Fold does not canonicalize i - -1

2006-04-12 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-04-12 17:39 ---
You need to fix PR 25148 first before fixing this bug really otherwise you will
get a testsuite failure as I got before.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn||25148


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



[Bug c++/27084] Does not propagate memory load base through useless type conversion

2006-04-12 Thread pinskia at gcc dot gnu dot org


--- Comment #11 from pinskia at gcc dot gnu dot org  2006-04-12 17:40 
---
(In reply to comment #9)
 PASS: g++.old-deja/g++.mike/dyncast7.C (test for excess errors)
 FAIL: g++.old-deja/g++.mike/dyncast7.C execution test

I did not get that failure.


-- 


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



[Bug java/13021] GCJ Boehm descriptor may be incorrect if alignment != sizeof(void*)

2006-04-12 Thread tromey at gcc dot gnu dot org


--- Comment #2 from tromey at gcc dot gnu dot org  2006-04-12 17:42 ---
I don't have a convenient way to test a fix for this.
But it does not look very hard to fix... just adding
an extra check in boehm.c:mark_reference_fields.

Note that the corresponding code in libgcj already seems
to handle this case:

  // If we run into a weird situation, we bail.
  if (off % sizeof (void *) != 0)
return (void *) (GCJ_DEFAULT_DESCR);


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug middle-end/27134] [4.1/4.2 regression] ICE with floor and -ffast-math

2006-04-12 Thread uros at kss-loka dot si


--- Comment #3 from uros at kss-loka dot si  2006-04-12 17:54 ---
 There seems to be something wrong with -ffast-math and floor.

I have done some analysis on this. Start from expand_builtin_int_roundingfn()
in builtins.c source, where we fallback to FP rounding optab.

fallback_fndecl from mathfn_builtin looks like:

 function_decl 0x2d992200 __builtin_floor
type function_type 0x2d9756e0
type real_type 0x2d970420 double DF
size integer_cst 0x2d951d80 constant invariant 64
unit size integer_cst 0x2d951db0 constant invariant 8
align 64 symtab 0 alias set -1 precision 64
pointer_to_this pointer_type 0x2d970630
QI
size integer_cst 0x2d9517e0 constant invariant 8
unit size integer_cst 0x2d951810 constant invariant 1
align 8 symtab 0 alias set -1
arg-types tree_list 0x2d9740f0 value real_type 0x2d970420
double
chain tree_list 0x2d96be10 value void_type 0x2d9700b0
void
pointer_to_this pointer_type 0x2dabad10
readonly used nothrow public external built-in decl_6 QI file built-in
line 0
built-in BUILT_IN_NORMAL:BUILT_IN_FLOOR attributes tree_list
0x2d9918d0
(mem:QI (symbol_ref:DI (floor) [flags 0x41] function_decl 0x2d992200
__builtin_floor) [0 S1 A8]) chain function_decl 0x2d992300 floor



After that, build_function_call_expr() is called, with an argument list:

 tree_list 0x2dabf180
value float_expr 0x2d95b240
type real_type 0x2d970420 double DF
size integer_cst 0x2d951d80 constant invariant 64
unit size integer_cst 0x2d951db0 constant invariant 8
align 64 symtab 0 alias set -1 precision 64
pointer_to_this pointer_type 0x2d970630

arg 0 parm_decl 0x2d958780 i type integer_type 0x2d9604d0
int
used SI file pr27134.c line 5
size integer_cst 0x2d951bd0 constant invariant 32
unit size integer_cst 0x2d9516f0 constant invariant 4
align 32 context function_decl 0x2daa1600 foo initial
integer_type 0x2d9604d0 int
(reg/v:SI 59 [ i ]) arg-type integer_type 0x2d9604d0 int

This is simplified in fold_build3() to:

 nop_expr 0x2dac5300
type real_type 0x2d970420 double DF
size integer_cst 0x2d951d80 constant invariant 64
unit size integer_cst 0x2d951db0 constant invariant 8
align 64 symtab 0 alias set -1 precision 64
pointer_to_this pointer_type 0x2d970630

arg 0 float_expr 0x2d95b240 type real_type 0x2d970420 double

arg 0 parm_decl 0x2d958780 i type integer_type 0x2d9604d0
int
used SI file pr27134.c line 5
size integer_cst 0x2d951bd0 constant invariant 32
unit size integer_cst 0x2d9516f0 constant invariant 4
align 32 context function_decl 0x2daa1600 foo initial
integer_type 0x2d9604d0 int
(reg/v:SI 59 [ i ]) arg-type integer_type 0x2d9604d0 int
incoming-rtl (reg:SI 5 di [ i ])

It looks to me, that fold_convert3() is trying to kill
(int) __builtin_lfloor ((double) i), where i is an integer argument.

Uros.


-- 

uros at kss-loka dot si changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |uros at kss-loka dot si
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-04-12 14:59:12 |2006-04-12 17:54:41
   date||


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



[Bug middle-end/27132] Fold does not canonicalize i - -1

2006-04-12 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-04-12 18:06 ---
This is basicially PR 23295.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn||23295


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



[Bug middle-end/23295] fold does not simplify -a - (5) to (-5) - a

2006-04-12 Thread rguenth at gcc dot gnu dot org


--- Comment #7 from rguenth at gcc dot gnu dot org  2006-04-12 18:10 ---
Didn't we have the canonicalization to put the constant in operand2 if
possible?  A lot of transformations rely on that.


-- 


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



[Bug bootstrap/27133] Fails to build because of funny version of makeinfo

2006-04-12 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-04-12 18:18 ---
Are you building from a release version, correct?

Otherwise you do need makeinfo as explained by:
http://gcc.gnu.org/install/prerequisites.html


-- 


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



[Bug classpath/24481] SecureRandom.setSeed has no impact

2006-04-12 Thread csm at gnu dot org


--- Comment #11 from csm at gnu dot org  2006-04-12 18:19 ---
Fixed for message digest-based PRNGs.


-- 

csm at gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |0.91


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



[Bug bootstrap/27135] [4.2 Regression] parser.c:10895: warning: 'is_parenthesized_init' may be used uninitialized in this function

2006-04-12 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-04-12 18:20 ---
Fixed by:
http://gcc.gnu.org/ml/gcc-cvs/2006-04/msg00302.html


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Component|c++ |bootstrap
 Resolution||FIXED
Summary|parser.c:10895: warning:|[4.2 Regression]
   |'is_parenthesized_init' may |parser.c:10895: warning:
   |be used uninitialized in|'is_parenthesized_init' may
   |this function   |be used uninitialized in
   ||this function
   Target Milestone|--- |4.2.0


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



[Bug tree-optimization/24609] [4.1/4.2 regression] Same value duplicated in two different registers

2006-04-12 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P2


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



[Bug libgcj/27066] libgcj native socket code does not support IPv6

2006-04-12 Thread cjw at daneel dot dyndns dot org


--- Comment #5 from cjw at daneel dot dyndns dot org  2006-04-12 19:08 
---
There are probably disadvantages: it doesn't seem possible to bind to 127.0.0.1
this way. So choosing the socket domain that matches the address to
bind/connect to is probably a good idea. I thought other java implementations
use the IPv4-in-IPv6 system but now I'm not so sure about that.


-- 


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



[Bug preprocessor/27137] New: Without -I- gcc needs another way to defer source dir. search

2006-04-12 Thread trt at acm dot org
The -I option inhibits the use of the current file directory as the first
search directory for #include file. This is important for software
development which uses partially populated source trees for which the build
looks through other trees to find the missing pieces.

Without -I- gcc should offer something like the IBM xlc -qidirfirst option:

Specifies the search order for files included with
the '#include' file_name directive.  Use
-qidirfirst with the -I option.  If -qidirfirst is
specified, the directories specified by the
-Idirectory option are searched before the
directory where the current file resides.  The
default is -qnoidirfirst.

This is all we need, but over the last 10 years we have instead pushed vendors
to support the -I- option.  It is sadly ironic that gcc deprecates it.

My employer does not use `nmake', but `nmake' has noticed this too:

   http://www.bell-labs.com/project/nmake/newsletters/issue021.html


-- 
   Summary: Without -I- gcc needs another way to defer source dir.
search
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: preprocessor
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: trt at acm dot org
  GCC host triplet: i686-pc-linux-gnu


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



[Bug fortran/25597] ICE with allocate on the return value of a function, character array with a len of an argument

2006-04-12 Thread patchapp at dberlin dot org


--- Comment #7 from patchapp at dberlin dot org  2006-04-12 19:28 ---
Subject: Bug number PR25597

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-04/msg00350.html


-- 


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



[Bug fortran/27124] Incorrect dependency for assignment from function with array section actual arg.

2006-04-12 Thread patchapp at dberlin dot org


--- Comment #4 from patchapp at dberlin dot org  2006-04-12 19:30 ---
Subject: Bug number PR27124

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-04/msg00468.html


-- 


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



[Bug fortran/26834] gfc_todo: Not Implemented: Unable to determine rank of expression

2006-04-12 Thread patchapp at dberlin dot org


--- Comment #3 from patchapp at dberlin dot org  2006-04-12 19:55 ---
Subject: Bug number PR26834

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-04/msg00469.html


-- 


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



[Bug libgcj/23829] FreeBSD 5 support for libjava

2006-04-12 Thread gerald at gcc dot gnu dot org


--- Comment #7 from gerald at gcc dot gnu dot org  2006-04-12 19:57 ---
Subject: Bug 23829

Author: gerald
Date: Wed Apr 12 19:57:02 2006
New Revision: 112897

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=112897
Log:
PR libgcj/23829
* configure.ac: Link against -lpthread rather than -lc_r on
FreeBSD 5 and above.
* configure: Regenerate.

Modified:
trunk/libjava/ChangeLog
trunk/libjava/configure
trunk/libjava/configure.ac


-- 


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



[Bug libgcj/23829] FreeBSD 5 support for libjava

2006-04-12 Thread gerald at pfeifer dot com


--- Comment #8 from gerald at pfeifer dot com  2006-04-12 19:59 ---
I committed this to HEAD and the 4.1-branch now.

Thanks to everyone who helped review this, and of course the
original submitter!


-- 

gerald at pfeifer dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug target/27117] [4.2 Regression] gcc fails to build on sh64-elf targets

2006-04-12 Thread amylaar at gcc dot gnu dot org


--- Comment #5 from amylaar at gcc dot gnu dot org  2006-04-12 19:59 ---
Created an attachment (id=11251)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11251action=view)
proposed patch


-- 


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



[Bug libgomp/25938] [4.2 regression] libgomp installs header files in version and target independent location

2006-04-12 Thread gerald at pfeifer dot com


--- Comment #7 from gerald at pfeifer dot com  2006-04-12 20:01 ---
RTH, Jakub, would you mind having a look at this regression?


-- 

gerald at pfeifer dot com changed:

   What|Removed |Added

 CC||rth at gcc dot gnu dot org


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



[Bug target/27060] divide libcall size has increased

2006-04-12 Thread amylaar at gcc dot gnu dot org


--- Comment #2 from amylaar at gcc dot gnu dot org  2006-04-12 20:09 ---
Subject: Bug 27060

Author: amylaar
Date: Wed Apr 12 20:09:41 2006
New Revision: 112898

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=112898
Log:
2006-04-12  Jorn Rennecke [EMAIL PROTECTED]

PR target/27060
* config/sh/lib1funcs.h: New file, broken out of:
* config/sh/lib1funcs.asm.
* config/sh/lib1funcs.h (DR00, DR01, DR20, DR21, DR40, DR41):
New macros.
* config/sh/lib1funcs.asm (udivsi3_i4): Use them.
* config/sh/lib1funcs-Os-4-200.asm: New file.
* config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-Os-4-200.
* config/sh/t-sh (OPT_EXTRA_PARTS): New variable.
(EXTRA_MULTILIB_PARTS): Include it.
($(T)sdivsi3_i4i-Os-4-200.o): New rule.
($(T)udivsi3_i4i-Os-4-200.o, $(T)libgcc-Os-4-200.a): Likewise.
* config/sh/t-superh (EXTRA_MULTILIB_PARTS): Include OPT_EXTRA_PARTS.
* config/sh/sh.h (OVERRIDE_OPTIONS): Recognize -mdiv=call-table for
TARGET_SH2.

Added:
trunk/gcc/config/sh/lib1funcs-Os-4-200.asm
trunk/gcc/config/sh/lib1funcs.h
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/sh/embed-elf.h
trunk/gcc/config/sh/lib1funcs.asm
trunk/gcc/config/sh/sh.h
trunk/gcc/config/sh/t-sh
trunk/gcc/config/sh/t-superh


-- 


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



[Bug crypto/27111] SecureRandom isn't seeded on creation

2006-04-12 Thread csm at gnu dot org


--- Comment #3 from csm at gnu dot org  2006-04-12 20:17 ---


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


-- 

csm at gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug classpath/24642] Failure to produce random values.

2006-04-12 Thread csm at gnu dot org


--- Comment #3 from csm at gnu dot org  2006-04-12 20:17 ---
*** Bug 27111 has been marked as a duplicate of this bug. ***


-- 

csm at gnu dot org changed:

   What|Removed |Added

 CC||csm at gnu dot org


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



[Bug preprocessor/27137] Without -I- gcc needs another way to defer source dir. search

2006-04-12 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-04-12 20:18 ---
What do you need exactly that -iquote or any of the -i* options provide?
Or even what this patch should provide:
http://gcc.gnu.org/ml/gcc-patches/2006-03/msg01197.html

That adds an option to do what exactly -I- did except for not change the
behavior of -I* after -I-.


-- 


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



[Bug classpath/24642] Failure to produce random values.

2006-04-12 Thread csm at gnu dot org


--- Comment #4 from csm at gnu dot org  2006-04-12 20:18 ---
Testing a patch.


-- 

csm at gnu dot org changed:

   What|Removed |Added

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


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



[Bug preprocessor/19541] deprecation of -I- makes precompiled headers less usable

2006-04-12 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-04-12 20:19 ---
Patch posted here:
http://gcc.gnu.org/ml/gcc-patches/2006-03/msg01197.html


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2006-
   ||03/msg01197.html
 Status|UNCONFIRMED |NEW
  Component|pch |preprocessor
 Ever Confirmed|0   |1
   Keywords||patch
   Last reconfirmed|-00-00 00:00:00 |2006-04-12 20:19:18
   date||


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



[Bug preprocessor/27137] Without -I- gcc needs another way to defer source dir. search

2006-04-12 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-04-12 20:19 ---
If that patch does the trick for you, then this is a dup of bug 19541.


-- 


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



[Bug fortran/27138] New: gfortran: Fails to

2006-04-12 Thread tobias dot burnus at physik dot fu-berlin dot de



-- 
   Summary: gfortran: Fails to
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tobias dot burnus at physik dot fu-berlin dot de


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



[Bug fortran/27138] gfortran: Fails to

2006-04-12 Thread tobias dot burnus at physik dot fu-berlin dot de


--- Comment #1 from tobias dot burnus at physik dot fu-berlin dot de  
2006-04-12 20:45 ---
Created an attachment (id=11252)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11252action=view)
test.tar.gz containing inp-test and test.F

This is SUSE's gcc-fortran-4.1.0-15, Merge[d] up to rev 112748 for gfortran
changes on the branch.

The attached program test.F reads an inputfile (also attached), which
contains three lines:
1| igrd=1,lwb=F,ndvgrd=6,idsprs=0,chng=-0.100D-11
2|
3| 12

This file is read by three READ (5,*,END=n,ERR=n) ntype lines. With
Ifort, the first READ has an error and the second read gets the 12.
With gfortran, all three reads get an error.

Expected: Either the second or the third read picks up the 12.

The attached program prints with the Intel Fortran Compiler 9.0.033:
  Second read: ntype =   12
whereas with gfortran it only shows:
  Error glancing  at inp-file


-- 


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



[Bug middle-end/27139] New: Optimize double INT-FP-INT conversions

2006-04-12 Thread uros at kss-loka dot si
This testcase:

int test (int a)
{
return (double) a;
}

Produces:

cvtsi2sd%edi, %xmm0
cvttsd2si   %xmm0, %eax
ret

However, following code does the same (at least for -ffast-math):
movl%edi, %eax
ret


-- 
   Summary: Optimize double INT-FP-INT conversions
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: uros at kss-loka dot si
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug fortran/25619] temporary array of constant size character type goes wrong

2006-04-12 Thread hjl at gcc dot gnu dot org


--- Comment #8 from hjl at gcc dot gnu dot org  2006-04-12 20:58 ---
Subject: Bug 25619

Author: hjl
Date: Wed Apr 12 20:58:04 2006
New Revision: 112899

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=112899
Log:
gcc/fortran/

2006-04-12  H.J. Lu  [EMAIL PROTECTED]

PR fortran/25619
Backport from mainline
2006-04-04  H.J. Lu  [EMAIL PROTECTED]

* trans-array.c (gfc_conv_expr_descriptor): Only dereference
character pointer when copying temporary.

PR fortran/23634
Backport from mainline
2006-04-04  H.J. Lu  [EMAIL PROTECTED]

* trans-array.c (gfc_conv_expr_descriptor): Properly copy
temporary character with non constant size.

gcc/testsuite/

2006-04-12  H.J. Lu  [EMAIL PROTECTED]

PR fortran/23634
PR fortran/25619
Backport from mainline
2006-04-04  Paul Thomas  [EMAIL PROTECTED]

* gfortran.dg/actual_array_constructor_1.f90: New testcase.

Added:
   
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/actual_array_constructor_1.f90
Modified:
branches/gcc-4_1-branch/gcc/fortran/ChangeLog
branches/gcc-4_1-branch/gcc/fortran/trans-array.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/23634] temporary array of character ICE with non constant size

2006-04-12 Thread hjl at gcc dot gnu dot org


--- Comment #8 from hjl at gcc dot gnu dot org  2006-04-12 20:58 ---
Subject: Bug 23634

Author: hjl
Date: Wed Apr 12 20:58:04 2006
New Revision: 112899

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=112899
Log:
gcc/fortran/

2006-04-12  H.J. Lu  [EMAIL PROTECTED]

PR fortran/25619
Backport from mainline
2006-04-04  H.J. Lu  [EMAIL PROTECTED]

* trans-array.c (gfc_conv_expr_descriptor): Only dereference
character pointer when copying temporary.

PR fortran/23634
Backport from mainline
2006-04-04  H.J. Lu  [EMAIL PROTECTED]

* trans-array.c (gfc_conv_expr_descriptor): Properly copy
temporary character with non constant size.

gcc/testsuite/

2006-04-12  H.J. Lu  [EMAIL PROTECTED]

PR fortran/23634
PR fortran/25619
Backport from mainline
2006-04-04  Paul Thomas  [EMAIL PROTECTED]

* gfortran.dg/actual_array_constructor_1.f90: New testcase.

Added:
   
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/actual_array_constructor_1.f90
Modified:
branches/gcc-4_1-branch/gcc/fortran/ChangeLog
branches/gcc-4_1-branch/gcc/fortran/trans-array.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/27138] gfortran: read(*,*) myInt advances only one character on error

2006-04-12 Thread tobias dot burnus at physik dot fu-berlin dot de


--- Comment #2 from tobias dot burnus at physik dot fu-berlin dot de  
2006-04-12 21:05 ---
If one replaces the third read by
  character(len=300) :: str
  READ (5,*,END=100,ERR=99) str
  WRITE(*,*) trim(str)
one sees that the first two failing READs advance by one character each
('i','g').
The third (string) read then reads up to the comma ('td=1')

I would expect (as well as the program writer) that after the failed read one
is still in the next line (as ADVANCE=YES is implied).

Why the read(5,*) str only reads up to the comma and not the whole line, is
also an enigma for me.

G95 (GCC 4.0.3 (g95!) Apr  4 2006,
pgf95 6.0-5
PathScale EKOPath Version 2.1
(and as mentioned) Intel Fortran Compiler 9.0.033
all read the 12 with the second read.


-- 

tobias dot burnus at physik dot fu-berlin dot de changed:

   What|Removed |Added

Summary|gfortran: Fails to  |gfortran: read(*,*) myInt
   ||advances only one character
   ||on error


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



[Bug middle-end/26729] [4.0/4.1/4.2 regression] bad bitops folding

2006-04-12 Thread steven at gcc dot gnu dot org


--- Comment #12 from steven at gcc dot gnu dot org  2006-04-12 21:28 ---
fold_truthop is called with this input:

Breakpoint 11, fold_truthop (code=TRUTH_ANDIF_EXPR, truth_type=0x2adff4d0,
lhs=0x2adf64b0, rhs=0x2adf6690) at fold-const.c:4820
4820  if (TREE_SIDE_EFFECTS (lhs) || TREE_SIDE_EFFECTS (rhs))
(gdb) p debug_generic_expr(lhs)
(intD.0) wordD.1878  1
$50 = void
(gdb) p debug_generic_expr(rhs)
((intD.0) wordD.1878  08000) == 32768
$51 = void
(gdb) 

And it folds this input to 0, which is wrong.


-- 


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



[Bug target/27117] [4.2 Regression] gcc fails to build on sh64-elf targets

2006-04-12 Thread kkojima at gcc dot gnu dot org


--- Comment #6 from kkojima at gcc dot gnu dot org  2006-04-12 21:43 ---
 -#define INDEX_REG_CLASS \
 -  (!ALLOW_INDEXED_ADDRESS ? NO_REGS : TARGET_SHMEDIA ? GENERAL_REGS : 
 R0_REGS)
 +#define INDEX_REG_CLASS_FOR_MODE(MODE) \
 +  ((MODE) == DImode  TARGET_SHMEDIA ? 1 \

Should this last 1 be GENERAL_REGS?


-- 


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



[Bug libgcj/26483] Wrong parsing of doubles when interpreted on ia64

2006-04-12 Thread wilson at gcc dot gnu dot org


--- Comment #18 from wilson at gcc dot gnu dot org  2006-04-12 22:10 ---
Subject: Bug 26483

Author: wilson
Date: Wed Apr 12 22:10:49 2006
New Revision: 112900

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=112900
Log:
Fix IA-64 problems with denorms getting clobbered by type conversions.
PR libgcj/26483
* src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
(hfa_type_load): Call stf_spill.
(hfa_type_store): Call ldf_fill.
(ffi_call): Adjust calls to above routines.  Add local temps for
macro result.

Modified:
trunk/libffi/ChangeLog
trunk/libffi/src/ia64/ffi.c


-- 


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



[Bug libgcj/26483] Wrong parsing of doubles when interpreted on ia64

2006-04-12 Thread wilson at gcc dot gnu dot org


--- Comment #19 from wilson at gcc dot gnu dot org  2006-04-12 22:21 ---
IA-64.  Mine.


-- 

wilson at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |wilson at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-04-12 22:21:46
   date||


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



[Bug libgcj/26483] Wrong parsing of doubles when interpreted on ia64

2006-04-12 Thread wilson at gcc dot gnu dot org


--- Comment #20 from wilson at gcc dot gnu dot org  2006-04-12 22:22 ---
Fixed on mainline.  Testcase added to mainline.  The fix should probably be
backported to one or more active release branches.


-- 

wilson at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|wilson at gcc dot gnu dot   |
   |org |


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



[Bug middle-end/26823] ICE with OpenMP in add_stmt_to_eh_region_fn, at tree-eh.c:100

2006-04-12 Thread giovannibajo at libero dot it


--- Comment #2 from giovannibajo at libero dot it  2006-04-12 22:25 ---
RTH, this bug is very serious for OpenMP and C++. Can you please have a look?


-- 

giovannibajo at libero dot it changed:

   What|Removed |Added

 CC||rth at gcc dot gnu dot org


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



[Bug c/26751] [4.2 Regression] Some OpenMP semantics are caught too late (in the gimplifier)

2006-04-12 Thread steven at gcc dot gnu dot org


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rth at gcc dot gnu dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-04-12 22:41:46
   date||
Summary|Some OpenMP semantics are   |[4.2 Regression] Some OpenMP
   |caught too late (in the |semantics are caught too
   |gimplifier) |late (in the gimplifier)


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



[Bug middle-end/27139] Optimize double INT-FP-INT conversions with -ffast-math

2006-04-12 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-04-12 23:59 ---
Confirmed, I doubt this shows up that much anyways.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |enhancement
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
 GCC target triplet|x86_64-unknown-linux-gnu|
   Keywords||missed-optimization
   Last reconfirmed|-00-00 00:00:00 |2006-04-12 23:59:25
   date||
Summary|Optimize double INT-FP-INT|Optimize double INT-FP-INT
   |conversions |conversions with -ffast-math


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



[Bug fortran/27138] gfortran: read(*,*) myInt advances only one character on error

2006-04-12 Thread jvdelisle at gcc dot gnu dot org


--- Comment #3 from jvdelisle at gcc dot gnu dot org  2006-04-13 00:22 
---
I will investigate.


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jvdelisle at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-04-13 00:22:23
   date||


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



[Bug middle-end/26729] [4.0/4.1/4.2 regression] bad bitops folding

2006-04-12 Thread pinskia at gcc dot gnu dot org


--- Comment #13 from pinskia at gcc dot gnu dot org  2006-04-13 00:54 
---
It has to be the:

  /* See if the comparisons can be merged.  Then get all the parameters for
 each side.  */


which gets it wrong for some reason.


-- 


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



[Bug middle-end/23295] fold does not simplify -a - (5) to (-5) - a

2006-04-12 Thread pinskia at gcc dot gnu dot org


--- Comment #8 from pinskia at gcc dot gnu dot org  2006-04-13 01:01 ---
(In reply to comment #7)
 Didn't we have the canonicalization to put the constant in operand2 if
 possible?  A lot of transformations rely on that.

Why should they in this case, they only rely on that for operations that are
comunitive and minus is not.  (-5) - a is simplier than -a - 5 in reality.


-- 


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



[Bug target/26961] [4.0/4.1/4.2 Regression] ICE simplify_subreg:3813

2006-04-12 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-04-13 01:05 ---
the TRUTH_AND_EXPR is long long here and we produce an ICE while expanding to
RTL so this is a middle-end issue.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|rtl-optimization|target


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



[Bug c++/27115] [4.0/4.1/4.2 Regression] ICE in cp_expr_size or miscompilation with statement expressions and constructors (and ?: )

2006-04-12 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-04-13 01:17 ---
for the orginal expample:
3.3.3 ICE
3.4.0 worked
3.2.2 ICE
3.0.4 ICE
2.95.3 ICE

I don't think we should call this critical as this is using an extension in the
first place and it only ICEs with the extension in fact.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|critical|normal
Summary|[4.0/4.1/4.2 Regression] ICE|[4.0/4.1/4.2 Regression] ICE
   |in cp_expr_size or  |in cp_expr_size or
   |miscompilation with |miscompilation with
   |statement expressions and   |statement expressions and
   |constructors|constructors (and ?: )
   Target Milestone|4.1.1   |4.0.4


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



[Bug c/27126] -Wswitch-enums doesn't detect impossible cases in switch()

2006-04-12 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-04-13 01:27 ---


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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


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



[Bug c/23577] suprious warnings about unhanled cases in switches

2006-04-12 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-04-13 01:27 ---
*** Bug 27126 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||ramune+gcc at net-ronin dot
   ||org


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



[Bug middle-end/27136] [4.0/4.1/4.2 Regression] Compile failure with -O -ffast-math

2006-04-12 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-04-13 01:37 ---
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|c   |middle-end
 Ever Confirmed|0   |1
   Keywords||ice-on-valid-code
  Known to fail||4.0.0 4.1.0 4.2.0
  Known to work||3.4.0
   Last reconfirmed|-00-00 00:00:00 |2006-04-13 01:37:35
   date||
Summary|Compile failure with -O -   |[4.0/4.1/4.2 Regression]
   |ffast-math  |Compile failure with -O -
   ||ffast-math
   Target Milestone|--- |4.0.4


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



  1   2   >