[Bug libfortran/20131] gfortan - incorrectly reads beyond the end of line.

2005-03-08 Thread Thomas dot Koenig at online dot de

--- Additional Comments From Thomas dot Koenig at online dot de  2005-03-08 
08:20 ---
Updated patch:

http://gcc.gnu.org/ml/gcc-patches/2005-03/msg00729.html

-- 


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


[Bug libfortran/19568] incorrect formatted read

2005-03-08 Thread Thomas dot Koenig at online dot de

--- Additional Comments From Thomas dot Koenig at online dot de  2005-03-08 
08:21 ---
Updated patch:

http://gcc.gnu.org/ml/gcc-patches/2005-03/msg00729.html


-- 


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


[Bug c/20379] New: Gcc 3.4.3 got internal compiler error: Segmentation fault

2005-03-08 Thread wei dot feng at sybase dot com
We were using GCC 3.2.3 before and the code is OK to compile, but after 
upgrade to GCC 3.4.3 and GCC 3.4.1, both version give internal compiler 
error: Segmentation fault when compile this file. We are running on RHEL 3.0 
( Linux 2.4.21) on x86_64.

The GCC version:gcc -v:
===
Reading specs from /usr/local/lib/gcc/x86_64-unknown-linux-gnu/3.4.3/specs
Configured with: ../gcc-3.4.3/configure
Thread model: posix
gcc version 3.4.3

The command:

/usr/local/bin/gcc  -c -pipe -m64 -fno-omit-frame-pointer -fPIC -Di386 -
D_REENTRANT -O3 -DSERVER -DMONITORS -DHA_KEY='NONE'-
I/aseamd1_tst2/wfeng/aselinuxamd64/build/sql/linuxamd64/64bit -
I/aseamd1_tst2/wfeng/aselinuxamd64/build/sql/linuxamd64/src -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linuxamd64/ksource/dblkio -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linux/ksource/dblkio -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/ksource/dblkio -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/../ext/linuxamd64/conn/include -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/../ext/linuxamd64/sysam/include -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/../ext/linuxamd64/unicode/include 
-
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/../ext/linuxamd64/capslib/include 
-
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/../ext/linuxamd64/sslplus/include 
-
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/../ext/linuxamd64/thread/include -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/../ext/linuxamd64/kaio/include -
I. -I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linuxamd64/kinclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linux/kinclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/kinclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linuxamd64/cinclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linux/cinclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/cinclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linuxamd64/include -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linux/include -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/include -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linuxamd64/jinclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linux/jinclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/jinclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linuxamd64/jvminclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linux/jvminclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/jvminclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linuxamd64/stlinclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linux/stlinclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/stlinclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linuxamd64/intlinclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linux/intlinclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/intlinclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linuxamd64/fdp/include -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linux/fdp/include -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/fdp/include -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linuxamd64/mda/include -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linux/mda/include -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/mda/include -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linuxamd64/oinclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/linux/oinclude -
I/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/oinclude  -
o /aseamd1_tst2/wfeng/aselinuxamd64/build/sql/linuxamd64/64bit/libkrn/diskio.o 
 /ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/ksource/dblkio/diskio.c 


The Output:
==
In file included 
from /ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/../ext/linuxamd64/conn/include
/intl.h:53,
 
from /ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/ksource/dblkio/diskio.
c:50:
/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/../ext/linuxamd64/conn/include/sybv
arg.h:129:1: warning: syb_va_arg redefined
In file included 
from /ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/cinclude/syb_std.h:103
2,
 
from /ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/ksource/dblkio/diskio.
c:33:
/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/include/sybvarargs.h:121:1:
 warning: this is the location of the previous definition
/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/ksource/dblkio/diskio.c:135
: warning: struct aioinit declared inside parameter list
/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/ksource/dblkio/diskio.c:135
: warning: its scope is only this definition or declaration, which is probably 
not what you want
/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/ksource/dblkio/diskio.c: 
In function `basis_dllaio':
/ccview/aselinuxamd64_wfeng_vu/calm/svr/sql/generic/ksource/dblkio/diskio.c:130
5: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See 

[Bug c/20379] Gcc 3.4.3 got internal compiler error: Segmentation fault

2005-03-08 Thread wei dot feng at sybase dot com

--- Additional Comments From wei dot feng at sybase dot com  2005-03-08 
09:40 ---
Created an attachment (id=8358)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8358action=view)
The  preprocessed file 


-- 


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


[Bug bootstrap/20380] New: bootstrap failure

2005-03-08 Thread o dot flebbe at science-computing dot de
Bootstrap of gcc-3.4.3 (and 3.4.2) fails with following messages while trying to
create libstdc++.so.6.

I applied the APAR's mentioned in the Platform notes (btw it is a aix51 ML 3)

bos.adt.base.5.1.0.55.bff  bos.rte.bind_cmds.5.1.0.55.bff


.libs/codecvt.o(.tc+0x0):/soft/gcc/gcc-3.4.2/gcc-3.4.2/libstdc++-v3/src/codecvt.cc:
undefined reference to `vtable for std::__codecvt_abstract_basewchar_t, char,
char*'
.libs/codecvt.o(.tc+0x0):/soft/gcc/gcc-3.4.2/gcc-3.4.2/libstdc++-v3/src/codecvt.cc:
undefined reference to `vtable for std::__codecvt_abstract_basechar, char, 
char*'
.libs/codecvt.o(.rw+0x2c):/soft/gcc/gcc-3.4.2/gcc-3.4.2/libstdc++-v3/src/codecvt.cc:
undefined reference to `vtable for
__cxxabiv1::__si_class_type_info'
.libs/codecvt.o(.rw+0x34):/soft/gcc/gcc-3.4.2/gcc-3.4.2/libstdc++-v3/src/codecvt.cc:
undefined reference to `typeinfo fo
r std::__codecvt_abstract_basechar, char, char*'
.libs/codecvt.o(.rw+0x64):/soft/gcc/gcc-3.4.2/gcc-3.4.2/libstdc++-v3/src/codecvt.cc:
undefined reference to `vtable for

 tons of other undefined references omitted ...

-- 
   Summary: bootstrap failure
   Product: gcc
   Version: 3.4.3
Status: UNCONFIRMED
  Severity: critical
  Priority: P2
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: o dot flebbe at science-computing dot de
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: powerpc-ibm-aix5.1.0.0
  GCC host triplet: powerpc-ibm-aix5.1.0.0
GCC target triplet: powerpc-ibm-aix5.1.0.0


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


[Bug c++/18306] seems not possible to specialize a template member function

2005-03-08 Thread ramya dot chandar at wipro dot com

--- Additional Comments From ramya dot chandar at wipro dot com  2005-03-08 
09:44 ---
(In reply to comment #9)
 Invalid, as what you are doing is called explicit specializtion and when this
happens you instantiate the 
 template and now you are violating the one defintional rule (which is 14.7/5
in the C++ standard).
 
 Note that if you use 3.4.0, it works with adding template.

(In reply to comment #9)
 Invalid, as what you are doing is called explicit specializtion and when this
happens you instantiate the 
 template and now you are violating the one defintional rule (which is 14.7/5
in the C++ standard).
 
 Note that if you use 3.4.0, it works with adding template.


Since solving this Compiler error is very critical to us, We made  some more
investigation in our code to see if it violates the one defintional rule of C++.

Here is our consolidated investigation.

Explicit template specialization itself does NOT instantiate the template. It
only specializes it. Hence, we feel, it is not violating any C++ standard rules.

E.g.,

templateclass T class A {
public:
void f(T t) { /* ... */ } // definition in general case
};

template void Aint::f(int i) { /* ... */ } // definition in specific, i.e.,
'T=int' case

The above code does NOT instantiate the template, it only does explicit
specialization of its 'f' member function for the case of  'T= int'.

Template instantiation is an another issue, and it can happen either implicitly
or explicitly.
Implicit template instantiation happens when the template is being used in the
way that its usage requires the instantiation.
E.g.,

Aint* aP; // No instantiation happens!
Aint  a;  // Implicit template instantiation happens!

Explicit template instantiation happens when the explicit template instantiation
syntax is applied.
E.g.,

template class Aint;
template void Aint::f(int);
template class Achar;

Looking at our IOCM Sequence.hh and Sequence.impl  files, within these files the
templates, that generate errors with the new GNU compiler( 3.3.2), are surely
NOT instantiated.

However it is true that the template specializations in the Sequence.impl files
should have template prefix (but most of the compilers are actually accept
them without this as well).

I checked these files with the Microsoft Visual Studio .Net 2003 which is
commonly known as having one of the compilers that most follow the C++ standard.
With this compiler everything compiles well (in fact, with or without the
template prefix).

Can you please explain us,  if it is the problem with  GCC 3.3.2 compiler.
surprisingly, with  GCC 2.95.3 compiler, we are able to compile the same code
without any changes.

-- 


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


[Bug java/20351] compilation with a redundant jar fails, if output file specified

2005-03-08 Thread rmathew at gcc dot gnu dot org

--- Additional Comments From rmathew at gcc dot gnu dot org  2005-03-08 
09:56 ---
FWIW, with the new verifier enabled this seems to work just fine.

-- 


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


[Bug java/20362] ICE: bus error if missed interface used in abstract class and output file specified

2005-03-08 Thread rmathew at gcc dot gnu dot org

--- Additional Comments From rmathew at gcc dot gnu dot org  2005-03-08 
10:05 ---
As of 2005-03-08, this testcase works quite fine for me with mainline CVS.

-- 


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


[Bug c/20379] Segfault after struct declared inside parameter list

2005-03-08 Thread falk at debian dot org

--- Additional Comments From falk at debian dot org  2005-03-08 10:11 
---
I can reproduce this with 3.4.4 20041218 (prerelease) (Debian 3.4.3-6)
(i486-linux), but not with 3.4.4 20050203 (prerelease) (Debian 3.4.3-9)
(alpha-linux). Probably it's already fixed.

Test case:

void dblkIO_aio_init (struct aioinit *);
void basis_dllaio ()
{
  struct aioinit { int x; } rt_init;
  dblkIO_aio_init(rt_init);
}


-- 
   What|Removed |Added

   Keywords||ice-on-valid-code
  Known to work||3.3.5
Summary|Gcc 3.4.3 got  internal|Segfault after struct
   |compiler error: Segmentation|declared inside parameter
   |fault  |list


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


[Bug bootstrap/20380] bootstrap failure

2005-03-08 Thread o dot flebbe at science-computing dot de

--- Additional Comments From o dot flebbe at science-computing dot de  
2005-03-08 10:27 ---
Someone has placed the gnu ld into my PATH Arghhh.

Closed, invalid.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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


[Bug c++/20381] New: ICE in build_ptrmemfunc, at cp/typeck.c:5702

2005-03-08 Thread micis at gmx dot de
I compiled ACE 5.4.2 with the 20050306 snapshot and got an ICE in 
build_ptrmemfunc, at cp/typeck.c:5702.
This ICE is new (snapshot from last week works) and occurs even at -O0.

Michael Cieslinski



g++41b -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.1-20050306/configure --prefix=/usr/local/gcc41b
 --program-suffix=41b --with-arch=opteron --enable-languages=c,c++
 --enable-checking
Thread model: posix
gcc version 4.1.0 20050306 (experimental)



g++41b -march=opteron -c -o POSIX_Proactor.o POSIX_Proactor.ii
/home/cie019/ace542-gcc40x/ACE_wrappers/ace/Select_Reactor_T.cpp: In member 
function 'virtual int 
ACE_Select_Reactor_TACE_SELECT_REACTOR_TOKEN::dispatch_io_handlers
(ACE_Select_Reactor_Handle_Set, int, int)':
/home/cie019/ace542-gcc40x/ACE_wrappers/ace/Select_Reactor_T.cpp:1253: internal 
compiler error: in build_ptrmemfunc, at cp/typeck.c:5702
Please submit a full bug report, with preprocessed source if appropriate.

-- 
   Summary: ICE in build_ptrmemfunc, at cp/typeck.c:5702
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: micis at gmx dot de
CC: gcc-bugs at gcc dot gnu 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=20381


[Bug c++/20381] ICE in build_ptrmemfunc, at cp/typeck.c:5702

2005-03-08 Thread micis at gmx dot de

--- Additional Comments From micis at gmx dot de  2005-03-08 10:40 ---
Created an attachment (id=8359)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8359action=view)
preprocessed source


-- 


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


Rq4Clarification: std::uncaught_exception

2005-03-08 Thread Attila Feher F \(JO/LMF\)
Hi,

I have been reading http://gcc.gnu.org/bugs.html, but I cannot figure out if 
the bug I have found in the way std::uncaught_exception works is a gcc or a 
libstdc++ bug.  Since the faulty behavior is the same with MinGW and Linux 
native gcc, I guess it is a language/compiler issue.

(The bug is that std::uncaught_exception returns false in a corner case, when 
the standard asks for true return.  I think it is probably the least important 
issue, but I still would like to get it registered somewhere.)

Please let me know where should I report this bug!

I am sorry, if I have sent this message to the wrong place.  Just let me know 
where to ask for clarifications, and I won't make the mistake again.

TIA,
Attila aka WW


[Bug ada/20035] failed run-time assertion : Tasking not implemented on this configuration on sparc-linux

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

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-03-08 
11:44 ---
Subject: Bug 20035

CVSROOT:/cvs/gcc
Module name:gcc
Branch: gcc-4_0-branch
Changes by: [EMAIL PROTECTED]   2005-03-08 11:44:40

Modified files:
gcc/ada: ChangeLog Makefile.in 
Added files:
gcc/ada: system-linux-sparc.ads 

Log message:
2005-03-07  James A. Morrison [EMAIL PROTECTED]
Laurent Guerby [EMAIL PROTECTED]

PR ada/20035
* system-linux-sparc.ads: New.
* Makefile.in: Add sparc linux entry.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/system-linux-sparc.ads.diff?cvsroot=gcconly_with_tag=gcc-4_0-branchr1=NONEr2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/ChangeLog.diff?cvsroot=gcconly_with_tag=gcc-4_0-branchr1=1.638r2=1.638.4.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/Makefile.in.diff?cvsroot=gcconly_with_tag=gcc-4_0-branchr1=1.110r2=1.110.6.1



-- 


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


[Bug ada/20035] failed run-time assertion : Tasking not implemented on this configuration on sparc-linux

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

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-03-08 
11:48 ---
Subject: Bug 20035

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-03-08 11:48:35

Modified files:
gcc/ada: ChangeLog Makefile.in 
Added files:
gcc/ada: system-linux-sparc.ads 

Log message:
2005-03-07  James A. Morrison [EMAIL PROTECTED]
Laurent Guerby [EMAIL PROTECTED]

PR ada/20035
* system-linux-sparc.ads: New.
* Makefile.in: Add sparc linux entry.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/system-linux-sparc.ads.diff?cvsroot=gccr1=1.1r2=1.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/ChangeLog.diff?cvsroot=gccr1=1.640r2=1.641
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/Makefile.in.diff?cvsroot=gccr1=1.111r2=1.112



-- 


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


Re: Rq4Clarification: std::uncaught_exception

2005-03-08 Thread Paolo Carlini
Please let me know where should I report this bug!
Unsurprisingly, I suggest:
 http://gcc.gnu.org/bugzilla/
*Please* strive to reduce the relevant testcase as much as
possible.
Thanks,
Paolo.



[Bug target/18836] [4.1] target fold_builtin for alpha

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

--- Additional Comments From rth at gcc dot gnu dot org  2005-03-08 12:02 
---
Committed.

-- 
   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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


[Bug other/17652] [meta-bug] GCC 4.1 pending patches

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


-- 
Bug 17652 depends on bug 18836, which changed state.

Bug 18836 Summary: [4.1] target fold_builtin for alpha
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18836

   What|Old Value   |New Value

 Status|NEW |RESOLVED
 Resolution||FIXED

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


[Bug c++/20381] ICE in build_ptrmemfunc, at cp/typeck.c:5702

2005-03-08 Thread martin at mpa-garching dot mpg dot de

--- Additional Comments From martin at mpa-garching dot mpg dot de  
2005-03-08 12:19 ---
Here is a shorter testcase:

class foo {
  public:
int f1(int);
};

templatetypename T class bar: public foo {
  void baz () {
foo::f1;
  }
};


-- 


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


[Bug c++/20381] ICE in build_ptrmemfunc, at cp/typeck.c:5702

2005-03-08 Thread martin at mpa-garching dot mpg dot de


-- 
   What|Removed |Added

 CC||martin at mpa-garching dot
   ||mpg dot de


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


[Bug rtl-optimization/20367] alias analysis doesn't take into account that variables that haven't their address taken can't alias arbitrary MEMs

2005-03-08 Thread giovannibajo at libero dot it

--- Additional Comments From giovannibajo at libero dot it  2005-03-08 
12:30 ---
So, to recap: testcase in comment #5 should not be optimized (at least, it is 
not related to this bug). Testcase in comment #2 is already optimized correctly 
in the tree-profiling-branch, which is due to be merged for 4.1.

If so, we can suspend this bug until the branch is merged. The proposed patch 
cannot be merged to release branches because this is not a regression, AFAICT. 

I also guess that on the mainline we want to fix this at the tree level.

-- 


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


[Bug c/20382] New: internal compiler error in emit_move_insn, at expr.c:2809

2005-03-08 Thread sailors3 at comcast dot net
systemConfig/5xx_board_init.c:104 internal compiler error: in emit_move_insn, 
at expr.c:2809

gcc version 3.4.0-macraigor1

GNU C version 3.4.0-macraigor1 (powerpc-elf)
compiled by GNU C version 3.3.1 (cygming special).
I didn't configure GNU, Macraigor did, I didn't even know one could configure 
it, I haven't seen documentation on this.

command line is in file bug.rpt

I don't see how to attach the files you have asked for:

I'm running GNU on a Dell 8400 with WindowsXP and cygwin.

-- 
   Summary: internal compiler error in emit_move_insn, at
expr.c:2809
   Product: gcc
   Version: 3.4.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sailors3 at comcast dot net
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: 3.3.1-macraigor1
  GCC host triplet: 3.4.0
GCC target triplet: 3.3.1


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


[Bug c/20382] internal compiler error in emit_move_insn, at expr.c:2809

2005-03-08 Thread sailors3 at comcast dot net

--- Additional Comments From sailors3 at comcast dot net  2005-03-08 13:13 
---
Created an attachment (id=8360)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8360action=view)
preprocessed input file


-- 


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


[Bug c/20382] internal compiler error in emit_move_insn, at expr.c:2809

2005-03-08 Thread sailors3 at comcast dot net

--- Additional Comments From sailors3 at comcast dot net  2005-03-08 13:14 
---
Created an attachment (id=8361)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8361action=view)
command line that triggered bug.


-- 


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


[Bug c/14411] Request for setjmp/longjmp attributes

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

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-03-08 
13:19 ---
Subject: Bug 14411

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-03-08 13:19:41

Modified files:
gcc: ChangeLog c-common.c calls.c tree.h 
gcc/doc: extend.texi 
Added files:
gcc/testsuite/gcc.dg: attr-returns_twice-1.c 

Log message:
PR c/14411
* calls.c (flags_from_decl_or_type): Handle eturns_twice' attribute.
* c-common.c (handle_returns_twice): New function.
(c_common_attribute_table): Declare eturns_twice' attribute.
* doc/extend.texi: Document eturns_twice' attribute.
* tree.h (DECL_IS_RETURNS_TWICE): New macro.
(struct tree_decl): Add returns_twice_flag.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.7728r2=2.7729
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-common.c.diff?cvsroot=gccr1=1.606r2=1.607
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/calls.c.diff?cvsroot=gccr1=1.380r2=1.381
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.h.diff?cvsroot=gccr1=1.698r2=1.699
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/extend.texi.diff?cvsroot=gccr1=1.242r2=1.243
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/attr-returns_twice-1.c.diff?cvsroot=gccr1=NONEr2=1.1



-- 


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


[Bug rtl-optimization/20359] [3.3/3.4 regression] Incorrect code with global register variables

2005-03-08 Thread jakub at gcc dot gnu dot org

--- Additional Comments From jakub at gcc dot gnu dot org  2005-03-08 14:01 
---
Seems to be the combiner, that combines:
(insn 8 22 10 0 (set (reg/v:DI 42 r13 [ r ])
(symbol_ref:DI (g) [flags 0x3] function_decl 0x2a97cde410 g)) 84
{*movdi_1_rex64_nointerunit} (nil)
(nil))

(insn 10 8 12 0 (set (reg:DI 59 [ r ])
(reg/v:DI 42 r13 [ r ])) 84 {*movdi_1_rex64_nointerunit} (insn_list 8
(nil))
(expr_list:REG_DEAD (reg/v:DI 42 r13 [ r ])
(nil)))

into:

(insn 10 8 12 0 (set (reg:DI 59 [ r ])
(symbol_ref:DI (g) [flags 0x3] function_decl 0x2a97cde410 g)) 84
{*movdi_1_rex64_nointerunit} (nil)
(nil))

without taking into account that there is a hard reg assignment.
This means it is not certain that the problem is not present in 4.0/4.1 as well,
just that combiner is not presented the same *.life RTLs and therefore makes
different decisions.
In 4.0, *.life looks like:
(insn 8 6 9 0 (set (reg/v:DI 42 r13 [ r ])
(symbol_ref:DI (g) [flags 0x3] function_decl 0x2a97d09820 g)) 81
{*movdi_1_rex64} (nil)
(expr_list:REG_UNUSED (reg/v:DI 42 r13 [ r ])
(nil)))

(insn 9 8 10 0 (set (reg/f:DI 59)
(symbol_ref:DI (g) [flags 0x3] function_decl 0x2a97d09820 g)) 81
{*movdi_1_rex64} (nil)
(nil))


-- 


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


[Bug rtl-optimization/20367] alias analysis doesn't take into account that variables that haven't their address taken can't alias arbitrary MEMs

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-03-08 
14:07 ---
(In reply to comment #8)
 So, to recap: testcase in comment #5 should not be optimized (at least, it is 
 not related to this bug). Testcase in comment #2 is already optimized 
 correctly 
 in the tree-profiling-branch, which is due to be merged for 4.1.

Nope the testcase in comment #2 is already optimizated on the mainline (and in 
4.0.0) so this could be 
closed as fixed.  Now the one in Comment #5 is a dup of bug 19905 so this could 
be closed as fixed for 
4.0.0 and not worried about.

-- 
   What|Removed |Added

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


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


[Bug other/17652] [meta-bug] GCC 4.1 pending patches

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


-- 
Bug 17652 depends on bug 20367, which changed state.

Bug 20367 Summary: alias analysis doesn't take into account that variables that 
haven't their address taken can't alias arbitrary MEMs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20367

   What|Old Value   |New Value

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

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


[Bug middle-end/20382] internal compiler error in emit_move_insn, at expr.c:2809

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


-- 
   What|Removed |Added

  Component|c   |middle-end


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


[Bug c++/20381] [4.0/4.1 Regression] ICE in build_ptrmemfunc, at cp/typeck.c:5702

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

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

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||ice-on-valid-code
  Known to fail||4.0.0 4.1.0
  Known to work||3.4.0
   Last reconfirmed|-00-00 00:00:00 |2005-03-08 14:12:44
   date||
Summary|ICE in build_ptrmemfunc, at |[4.0/4.1 Regression] ICE in
   |cp/typeck.c:5702|build_ptrmemfunc, at
   ||cp/typeck.c:5702
   Target Milestone|--- |4.0.0


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


[Bug rtl-optimization/20367] alias analysis doesn't take into account that variables that haven't their address taken can't alias arbitrary MEMs

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

--- Additional Comments From joern dot rennecke at st dot com  2005-03-08 
14:21 ---
Subject: Re:  alias analysis doesn't take into account that variables that 
haven't their address taken can't alias arbitrary MEMs

giovannibajo at libero dot it wrote:

--- Additional Comments From giovannibajo at libero dot it  2005-03-08 
12:30 ---
So, to recap: testcase in comment #5 should not be optimized (at least, it is 
not related to this bug).

Actually, it is related inasmuch as it demonstrates a pitfall you have 
to avoid.

 Testcase in comment #2 is already optimized correctly 
in the tree-profiling-branch, which is due to be merged for 4.1.

If so, we can suspend this bug until the branch is merged. The proposed patch 
cannot be merged to release branches because this is not a regression, AFAICT. 

I also guess that on the mainline we want to fix this at the tree level.

It still makes sense to also handle this at the rtl level, so that the 
scheduler knows that
the MEMs don't alias.  Unless you propose to convert sched1 and sched2 to do
machine-independent scheduling on trees ;-)



-- 


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


[Bug inline-asm/20382] internal compiler error with bogus asm output constraint

2005-03-08 Thread falk at debian dot org

--- Additional Comments From falk at debian dot org  2005-03-08 14:25 
---
Confirmed. This is triggered by a bogus argument for an output constraint.
Not a regression.

void f() {
  __asm__ (  : =r (r5), +r (r5));
}



-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|middle-end  |inline-asm
 Ever Confirmed||1
  GCC build triplet|3.3.1-macraigor1|
   GCC host triplet|3.4.0   |
 GCC target triplet|3.3.1   |
   Keywords||ice-on-invalid-code
  Known to fail||2.95.4 3.2.3 3.3.5 3.4.3
   ||4.1.0
Summary|internal compiler error in  |internal compiler error with
   |emit_move_insn, at  |bogus asm output constraint
   |expr.c:2809 |


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


[Bug ada/20035] failed run-time assertion : Tasking not implemented on this configuration on sparc-linux

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-03-08 
14:29 ---
Fixed.

-- 
   What|Removed |Added

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


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


[Bug target/20375] [4.0/4.1 Regression] C++ ICE in assign_parm_find_entry_rtl

2005-03-08 Thread nathan at gcc dot gnu dot org


-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |nathan at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-03-08 14:29:06
   date||


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


[Bug libstdc++/20352] FAIL: 26_numerics/complex/pow.cc execution test

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

--- Additional Comments From dave at hiauly1 dot hia dot nrc dot ca  
2005-03-08 14:35 ---
Subject: Re:  FAIL: 26_numerics/complex/pow.cc execution test

 Digging more (in C99 and Posix), it seems that pow(x,y) always behaves the 
 same
 for x == +0 and x == -0: this would imply that probably it's safe to have in
 the generic code something like the attached (vs mainline, very same change
 also for 4.0 and 3.4). And should also improve the QoI of complex::pow(0, 0),
 aligning it to the real case, as per F.9.4.4
 
 Can you test it on the targets you have access to?

This fixes the fail on hppa1.1-hp-hpux10.20.  Also tested with no
regressions on hppa2.0w-hp-hpux11.11 (4.1.0), hppa64-hp-hpux11.11 (4.1.0)
and hppa-unknown-linux-gnu (4.0.0).

Dave


-- 


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


[Bug c/14411] Request for setjmp/longjmp attributes

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-03-08 
14:36 ---
Fixed.

-- 
   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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


[Bug c/14411] Request for setjmp/longjmp attributes

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-03-08 
14:38 ---
Actually I take that back, it is only 1 out of 3 which was applied.

-- 
   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |


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


[Bug other/17652] [meta-bug] GCC 4.1 pending patches

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


-- 
Bug 17652 depends on bug 14411, which changed state.

Bug 14411 Summary: Request for setjmp/longjmp attributes
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14411

   What|Old Value   |New Value

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |

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


[Bug other/17652] [meta-bug] GCC 4.1 pending patches

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


-- 
Bug 17652 depends on bug 14411, which changed state.

Bug 14411 Summary: Request for setjmp/longjmp attributes
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14411

   What|Old Value   |New Value

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

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


[Bug c/20379] Segfault after struct declared inside parameter list

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-03-08 
14:49 ---
Lets close this as fixed then.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |3.4.4


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


[Bug middle-end/19985] executables created with -fprofile-arcs -ftest-coverage segfault in gcov_exit ()

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


-- 
   What|Removed |Added

   Severity|critical|normal
   Keywords|wrong-code  |


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


[Bug c/20379] Segfault after struct declared inside parameter list

2005-03-08 Thread reichelt at gcc dot gnu dot org

--- Additional Comments From reichelt at gcc dot gnu dot org  2005-03-08 
14:57 ---
Reopen ...

-- 
   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|FIXED   |


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


[Bug c/20379] Segfault after struct declared inside parameter list

2005-03-08 Thread reichelt at gcc dot gnu dot org

--- Additional Comments From reichelt at gcc dot gnu dot org  2005-03-08 
14:58 ---
... to mark as duplicate of PR 18978.


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

-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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


[Bug c/18978] [3.4 Regression] Segfault after a warning about 'struct sigaction'

2005-03-08 Thread reichelt at gcc dot gnu dot org

--- Additional Comments From reichelt at gcc dot gnu dot org  2005-03-08 
14:58 ---
*** Bug 20379 has been marked as a duplicate of this bug. ***

-- 
   What|Removed |Added

 CC||wei dot feng at sybase dot
   ||com


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


[Bug rtl-optimization/20367] alias analysis doesn't take into account that variables that haven't their address taken can't alias arbitrary MEMs

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

--- Additional Comments From amylaar at gcc dot gnu dot org  2005-03-08 
15:10 ---
You have not addressed the scheduling issues.

-- 
   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|FIXED   |


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


[Bug other/17652] [meta-bug] GCC 4.1 pending patches

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


-- 
Bug 17652 depends on bug 20367, which changed state.

Bug 20367 Summary: alias analysis doesn't take into account that variables that 
haven't their address taken can't alias arbitrary MEMs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20367

   What|Old Value   |New Value

 Status|RESOLVED|UNCONFIRMED
 Resolution|FIXED   |

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


[Bug c++/20383] New: #line directive breaks try-catch statement

2005-03-08 Thread heinlein at informatik dot uni-ulm dot de
The following legal input produces the error message: 
`...' handler must be the last handler for its try block. 
 
int main () { 
try {} 
#line 1 xxx 
catch (int) {} 
}

-- 
   Summary: #line directive breaks try-catch statement
   Product: gcc
   Version: 3.3.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: heinlein at informatik dot uni-ulm dot de
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug c++/20383] [3.3/3.4 Regression] #line directive breaks try-catch statement

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-03-08 
15:21 ---
Fixed by the merge of the tree-ssa
: Search converges between 2004-05-11-trunk (#454) and 2004-05-14-trunk (#455).


Broke:
: Search converges between 2002-01-13-trunk (#54) and 2002-01-20-trunk (#55).

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||rejects-valid
  Known to fail||3.4.3 3.0.4 3.3.3
  Known to work||2.95.3 4.0.0
   Last reconfirmed|-00-00 00:00:00 |2005-03-08 15:21:31
   date||
Summary|#line directive breaks try- |[3.3/3.4 Regression] #line
   |catch statement |directive breaks try-catch
   ||statement
   Target Milestone|--- |3.4.4


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


[Bug fortran/15080] Forall bounds not calculated correctly (forall_3.f90)

2005-03-08 Thread Thomas dot Koenig at online dot de

--- Additional Comments From Thomas dot Koenig at online dot de  2005-03-08 
15:35 ---
Here's a somewhat reduced testcase that fails
for me on ia64-unknown-linux-gnu:

$ cat forall_5.f90
program evil_forall
  implicit none
  type t
logical valid
integer :: s
integer, dimension(:), pointer :: p
  end type
  type (t), dimension (2) :: v
  integer i

  allocate (v(1)%p(2))
  allocate (v(2)%p(2))

  v(:)%valid = (/.true., .true./)
  v(:)%s = (/1, 2/)
  v(1)%p(:) = (/9, 10/)
  v(2)%p(:) = (/11, 12/)

  forall (i=1:2,v(i)%valid)
v(i)%p(1:v(i)%s) = v(3-i)%p(1:v(i)%s)
  end forall

  if (any(v(1)%p(:) .ne. (/11, 10/))) call abort

end program

Still gives me 335 lines of *.t02.original - not easy to debug...

-- 


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


[Bug java/20384] New: Can't compile oracle test jdbc app with oracle jdbc14.jar shared lib version

2005-03-08 Thread delarosa at ilstechnology dot com
gcj -O2 -shared -fjni -findirect-dispatch ojdbc14.jar -o ojdbc14.so
gcj -o oracletest -O2 --classpath=/home/acuser/gcj/DB/ojdbc14.jar 
jdbcTester.java
 -main=jdbcTester /home/acuser/gcj/DB/ojdbc14.so -L /usr/local/lib -lgcj
jc1: error: invalid option #915;Çÿain=jdbcTester#915;ÇÖ
make: *** [oracletest] Error 1

-- 
   Summary: Can't compile oracle test jdbc app with oracle
jdbc14.jar shared lib version
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: delarosa at ilstechnology dot com
CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
dot org


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


[Bug java/20384] Can't compile oracle test jdbc app with oracle jdbc14.jar shared lib version

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-03-08 
16:40 ---
-main=jdbcTester

You want --main= jdbcTester

-- 


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


Re: Rq4Clarification: std::uncaught_exception

2005-03-08 Thread Martin Sebor
Attila Feher F (JO/LMF) wrote:
Hi,
I have been reading http://gcc.gnu.org/bugs.html, but I cannot figure out if 
the bug I have found in the way std::uncaught_exception works is a gcc or a 
libstdc++ bug.  Since the faulty behavior is the same with MinGW and Linux 
native gcc, I guess it is a language/compiler issue.
(The bug is that std::uncaught_exception returns false in a corner case, when 
the standard asks for true return.  I think it is probably the least important 
issue, but I still would like to get it registered somewhere.)
Please let me know where should I report this bug!
You might find this bug report helpful:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10606
Martin


[Bug java/20384] Can't compile oracle test jdbc app with oracle jdbc14.jar shared lib version

2005-03-08 Thread delarosa at ilstechnology dot com

--- Additional Comments From delarosa at ilstechnology dot com  2005-03-08 
16:49 ---
Thanks, --main fixed it.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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


[Bug rtl-optimization/13024] [3.4 regression] gcj can't build current rhug

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-03-08 
17:31 ---
Hmm, this fails on the mainline again:
PR13024.java: In class 'PR13024':^MPR13024.java: In method 
'PR13024.isZipOrJarArchive(java.io.File)':
^MPR13024.java:0: error: dominator of 3 should be 2, not 0^M
PR13024.java:0: internal compiler error: in verify_dominators, at 
dominance.c:854^M
Please submit a full bug report,^Mwith preprocessed source if appropriate.^M
See URL:http://gcc.gnu.org/bugs.html for instructions.^M


I think this was caused by Jeff's patch.

-- 


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


[Bug bootstrap/13993] [3.4 Regression] Relative path as srcdir causes problem

2005-03-08 Thread drow at gcc dot gnu dot org

--- Additional Comments From drow at gcc dot gnu dot org  2005-03-08 17:31 
---
Fixed on 3.4 and 4.0 branches.

-- 
   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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


[Bug rtl-optimization/20367] alias analysis doesn't take into account that variables that haven't their address taken can't alias arbitrary MEMs

2005-03-08 Thread giovannibajo at libero dot it

--- Additional Comments From giovannibajo at libero dot it  2005-03-08 
18:18 ---
(In reply to comment #10)


 So, to recap: testcase in comment #5 should not be optimized (at least,
 it is 
 not related to this bug).

 Actually, it is related inasmuch as it demonstrates a pitfall you have 
 to avoid

Right. We then should prepare a testcase from this code that scans the ivopts 
dump to check that the IV is not strength reduced or something like that.

 It still makes sense to also handle this at the rtl level, so that the 
 scheduler knows that
 the MEMs don't alias.  Unless you propose to convert sched1 and sched2 to do
 machine-independent scheduling on trees ;-)

To tell you the truth, I would like the expanders to somehow preserve tree 
aliasing information while creating RTL. But this is gonna be post 4.1 anyway 
since nobody is working on it, so yes, you are right, for now we want to handle 
this at RTL level too.

Can you show us the SH code generated by mainline for the testcase in comment 
#2? Or otherwise provide another testcase where the scheduling conflict is 
visible?

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-03-08 18:18:23
   date||


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


[Bug c/20385] New: Lame error message for undefined type

2005-03-08 Thread falk at debian dot org
% cat test.c
unknowntype f() { return 0; }

% gcc -c test.c
test.c:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'f'

Firstly, since this is a frequent mistake, we should really be able to produce
unknowntype used like a type, as other compilers do.

Secondly, IMHO this kind of expected ... error message is *never* a good
idea. I cannot recall a single instance where it was actually helpful to me,
and very often, as in this case, it is extremely confusing, and I would be 
better off with plain syntax error before f as it used to be in the old
parser. Even though my knowledge of C parsing is probably slightly above 
average, I have not the slightest idea why the parser expects '=', ',', ';',
'asm' or '__attribute__' here, and what I can derive from that about the
mistake I made. But maybe that's just me.

-- 
   Summary: Lame error message for undefined type
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: normal
  Priority: P2
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: falk at debian dot org
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug tree-optimization/20386] New: Missing computed goto to normal goto optimization

2005-03-08 Thread pinskia at gcc dot gnu dot org
We miss a computed goto to non computed got if there is code between the 
assignment and the goto:
void g();
int f(int i)
{
  void *a;
  if (i) a = l1;
  else a = l2;
  g();
  goto *a;
l1:
  return 1;
l2:
  return 2;
}

I saw this while debugging PR13024.java and why if I tried compiling it with 
javac it passed.
That function should be equivalent to the following:
void g();
int f(int i)
{
  void *a;
  g();
  if (i) a = l1;
  else a = l2;
  goto *a;
l1:
  return 1;
l2:
  return 2;
}
where we check i is not revalant here.

-- 
   Summary: Missing computed goto to normal goto optimization
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: enhancement
  Priority: P2
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug c/20385] Lame error message for undefined type

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-03-08 
18:33 ---
The `new' C++ parser gives the best error message:
t.c:1: error: 'unknowntype' does not name a type


-- 
   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-03-08 18:33:18
   date||


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


[Bug c/20385] Lame error message for undefined type

2005-03-08 Thread joseph at codesourcery dot com

--- Additional Comments From joseph at codesourcery dot com  2005-03-08 
18:59 ---
Subject: Re:  New: Lame error message for undefined type

On Tue, 8 Mar 2005, falk at debian dot org wrote:

 % cat test.c
 unknowntype f() { return 0; }
 
 % gcc -c test.c
 test.c:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'f'
 
 Firstly, since this is a frequent mistake, we should really be able to produce
 unknowntype used like a type, as other compilers do.
 
 Secondly, IMHO this kind of expected ... error message is *never* a good
 idea. I cannot recall a single instance where it was actually helpful to me,
 and very often, as in this case, it is extremely confusing, and I would be 
 better off with plain syntax error before f as it used to be in the old
 parser. Even though my knowledge of C parsing is probably slightly above 
 average, I have not the slightest idea why the parser expects '=', ',', ';',
 'asm' or '__attribute__' here, and what I can derive from that about the
 mistake I made. But maybe that's just me.

Functions can be defined without declaration specifiers in C90.  GNU C 
also allows (but pedwarns for) definitions (at file scope) of objects with 
no declaration specifiers (for example, *foo; meaning int *foo;).  So 
unknowntype has been parsed as the name being declared at this point.  
So it must either be a function definition of a function called 
unknowntype (which it isn't as the declaration isn't a function one) or 
a data declaration, and the tokens listed are those which would follow 
unknowntype in a data declaration (for example, unknowntype = 1; f() 
...).

It would be possible to have special-case detection for where empty 
declaration specifiers are followed by a declarator consisting only of an 
identifier, unparenthesised, and in the case of a parse error act like 
that identifier was a type and look for a new declarator.  This would 
cover unknowntype foo; and unknowntype *foo;.  You can't detect 
undeclared types in full generality; for example,

unknowntype (foo)() { return 0; }

is syntactically valid C90 which should be diagnosed, as it is at present, 
as declaring a function unknowntype returning a function and so breaking 
a constraint, rather than the compiler second-guessing that unknowntype 
is a type and (foo) is the parenthesised function name.



-- 


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


[Bug c/14411] Request for setjmp/longjmp attributes

2005-03-08 Thread avn at any dot ru

--- Additional Comments From avn at any dot ru  2005-03-08 19:02 ---
Actually, it is fixed. The other two patches that I pinged are not related to 
this PR. 

-- 
   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED


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


[Bug other/17652] [meta-bug] GCC 4.1 pending patches

2005-03-08 Thread avn at any dot ru


-- 
Bug 17652 depends on bug 14411, which changed state.

Bug 14411 Summary: Request for setjmp/longjmp attributes
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14411

   What|Old Value   |New Value

 Status|REOPENED|RESOLVED
 Resolution||FIXED

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


[Bug fortran/20387] New: ICE in gfc_conv_array_initializer

2005-03-08 Thread Thomas dot Koenig at online dot de
From http://www.cs.kuleuven.ac.be/~bartv/downloads/bug04.f95:

$ gfortran bug04.f90
bug04.f90:0: internal compiler error: in gfc_conv_array_initializer, at
fortran/trans-array.c:2936
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
$ gfortran -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.0/configure --prefix=/home/ig25 
--enable-languages=c,f95
Thread model: posix
gcc version 4.0.0 20050306 (prerelease)
$ cat bug04.f90
module bug04

  integer, dimension(300), parameter, private :: primes_1_to_300 = (/ 
2,3,5,7,   11,   13,   17,   19,   23,   29, 
   31,   37,   41,   43,   47,   53,   59,   61,   67,   71, 
   73,   79,   83,   89,   97,  101,  103,  107,  109,  113, 
  127,  131,  137,  139,  149,  151,  157,  163,  167,  173, 
  179,  181,  191,  193,  197,  199,  211,  223,  227,  229, 
  233,  239,  241,  251,  257,  263,  269,  271,  277,  281, 
  283,  293,  307,  311,  313,  317,  331,  337,  347,  349, 
  353,  359,  367,  373,  379,  383,  389,  397,  401,  409, 
  419,  421,  431,  433,  439,  443,  449,  457,  461,  463, 
  467,  479,  487,  491,  499,  503,  509,  521,  523,  541, 
  547,  557,  563,  569,  571,  577,  587,  593,  599,  601, 
  607,  613,  617,  619,  631,  641,  643,  647,  653,  659, 
  661,  673,  677,  683,  691,  701,  709,  719,  727,  733, 
  739,  743,  751,  757,  761,  769,  773,  787,  797,  809, 
  811,  821,  823,  827,  829,  839,  853,  857,  859,  863, 
  877,  881,  883,  887,  907,  911,  919,  929,  937,  941, 
  947,  953,  967,  971,  977,  983,  991,  997, 1009, 1013, 
 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 
 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 
 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 
 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291, 
 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 
 1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, 
 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 
 1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 
 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, 
 1663, 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 
 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, 
 1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879, 1889, 
 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987 /)

  integer, dimension(300), parameter, private :: primes_301_to_600 = (/ 
 1993, 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, 
 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129, 
 2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, 
 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287, 
 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 
 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 
 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, 
 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609, 2617, 
 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, 
 2689, 2693, 2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741, 
 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, 
 2833, 2837, 2843, 2851, 2857, 2861, 2879, 2887, 2897, 2903, 
 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 
 3001, 3011, 3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079, 
 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 
 3187, 3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257, 
 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, 
 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413, 
 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, 
 3517, 3527, 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571, 
 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, 
 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, 
 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821, 
 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 
 3911, 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989, 
 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, 
 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129, 4133, 4139, 
 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231, 
 4241, 4243, 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297, 
 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409 /)

  integer, dimension(300), parameter, private :: primes_601_to_900 = (/ 
 4421, 4423, 4441, 4447, 4451, 4457, 4463, 4481, 4483, 4493, 
 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, 
 4591, 4597, 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, 
 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, 
 

[Bug java/20388] New: gcj should have a -print-libgcj-jar-file-name option

2005-03-08 Thread fitzsim at redhat dot com
To locate gcj's version-specific jni.h header, we use:

gcj -print-file-name=include/jni.h

We should have a similar way to print the libgcj.jar file name.  This would be
useful for packagers.

-- 
   Summary: gcj should have a -print-libgcj-jar-file-name option
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fitzsim at redhat dot com
CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
dot org


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


[Bug java/20388] gcj should have a -print-libgcj-jar-file-name option

2005-03-08 Thread fitzsim at redhat dot com


-- 
   What|Removed |Added

   Severity|normal  |enhancement


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


[Bug fortran/20387] ICE in gfc_conv_array_initializer

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-03-08 
19:49 ---
Confirmed, reduced testcase which shows where the problem is (one less 
initializer and it will work):
module bug04
  integer, dimension(101), parameter, private :: a = (/ 
2,3,5,7,   11,   13,   17,   19,   23,   29, 
   31,   37,   41,   43,   47,   53,   59,   61,   67,   71, 
   73,   79,   83,   89,   97,  101,  103,  107,  109,  113, 
  127,  131,  137,  139,  149,  151,  157,  163,  167,  173, 
  179,  181,  191,  193,  197,  199,  211,  223,  227,  229, 
  233,  239,  241,  251,  257,  263,  269,  271,  277,  281, 
  283,  293,  307,  311,  313,  317,  331,  337,  347,  349, 
  353,  359,  367,  373,  379,  383,  389,  397,  401,  409, 
  419,  421,  431,  433,  439,  443,  449,  457,  461,  463, 
  467,  479,  487,  491,  499,  503,  509,  521,  523,  541, 
  547 /)
  integer, dimension(101), public :: b=(/ a /)
contains
end module bug04


-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||ice-on-valid-code
   Last reconfirmed|-00-00 00:00:00 |2005-03-08 19:49:03
   date||


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


[Bug java/20388] gcj should have a -print-libgcj-jar-file-name option

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


-- 
   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-03-08 19:49:43
   date||


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


[Bug fortran/20387] ICE in gfc_conv_array_initializer

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-03-08 
20:11 ---
Looks like we don't handle EXPR_ARRAY in gfc_conv_array_initializer, if we have 
100 or less we get 
EXPR_CONSTANT.

-- 


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


[Bug fortran/15080] Forall bounds not calculated correctly (forall_3.f90)

2005-03-08 Thread Thomas dot Koenig at online dot de

--- Additional Comments From Thomas dot Koenig at online dot de  2005-03-08 
20:30 ---
On i686-pc-linux-gnu, forall_5.f90 does the following:

$ gfortran forall_5.f90
$ ./a.out
Fortran runtime error: Attempt to allocate a negative amount of memory.
$ gfortran -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.0/configure --prefix=/home/ig25 
--enable-languages=c,f95
Thread model: posix
gcc version 4.0.0 20050306 (prerelease)

Did I mention I don't like memory corruption?

Thomas

-- 


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


[Bug c++/20103] [4.0/4.1 regression] ICE in create_tmp_var with C99 style struct initializer

2005-03-08 Thread aoliva at redhat dot com

--- Additional Comments From aoliva at gcc dot gnu dot org  2005-03-08 
20:44 ---
Subject: Re: [PR c++/20103] failure to gimplify constructors for addressable 
types

On Mar  8, 2005, Mark Mitchell [EMAIL PROTECTED] wrote:

 No, because there would be no TARGET_EXPR.  In a template, you would
 just have a COMPOUND_LITERAL_EXPR, with no TARGET_EXPR, because we
 want a syntactic representation of the input program.

 Yes, and introducing TARGET_EXPRs into templates *is a bug* because in
 templates we want a syntactic representation.  The closest thing we
 have to a syntactic representation of a compound literal is a
 CONSTRUCTOR; it's certainly not a TARGET_EXPR wrapped around a
 CONSTRUCTOR.  It may be just fine to use CONSTRUCTOR, instead of
 introducing COMPOUND_LITERAL_EXPR, but TARGET_EXPRs should not be
 appearing here at all.

 Unfortunately, you've also caused me to think about this long enough
 to realize that having the TARGET_EXPR here is wrong in the first
 place, as per above.

Okie dokie, how about this?

The change to the gimplify.c is needed to avoid having
gimple_add_tmp_var twice for the variable, once while expanding the
declaration/initialization, once while expanding the clean-ups.

Ok to install?  Passed check-g++ (except for the already-broken
eh/cleanup1.C) on x86_64-linux-gnu; just started bootstrap and full
reg-testing.

Index: gcc/ChangeLog
from  Alexandre Oliva  [EMAIL PROTECTED]

PR c++/20103
* gimplify.c (gimplify_decl_expr): Don't add temp variable if it
was already seen in a bind expr.

Index: gcc/gimplify.c
===
RCS file: /cvs/gcc/gcc/gcc/gimplify.c,v
retrieving revision 2.115
diff -u -p -r2.115 gimplify.c
--- gcc/gimplify.c 8 Mar 2005 13:56:57 - 2.115
+++ gcc/gimplify.c 8 Mar 2005 20:33:03 -
@@ -1047,7 +1047,8 @@ gimplify_decl_expr (tree *stmt_p)
   /* This decl isn't mentioned in the enclosing block, so add it to the
 list of temps.  FIXME it seems a bit of a kludge to say that
 anonymous artificial vars aren't pushed, but everything else is.  */
-  if (DECL_ARTIFICIAL (decl)  DECL_NAME (decl) == NULL_TREE)
+  if (DECL_ARTIFICIAL (decl)  DECL_NAME (decl) == NULL_TREE
+  !DECL_SEEN_IN_BIND_EXPR_P (decl))
gimple_add_tmp_var (decl);
 }
 
@@ -2123,7 +2124,8 @@ gimple_boolify (tree expr)
  *EXPR_P should be stored.  */
 
 static enum gimplify_status
-gimplify_cond_expr (tree *expr_p, tree *pre_p, tree *post_p, tree target)
+gimplify_cond_expr (tree *expr_p, tree *pre_p, tree *post_p, tree target,
+   fallback_t fallback)
 {
   tree expr = *expr_p;
   tree tmp, tmp2, type;
@@ -2137,18 +2139,40 @@ gimplify_cond_expr (tree *expr_p, tree *
  the arms.  */
   else if (! VOID_TYPE_P (type))
 {
+  tree result;
+
   if (target)
{
  ret = gimplify_expr (target, pre_p, post_p,
   is_gimple_min_lval, fb_lvalue);
  if (ret != GS_ERROR)
ret = GS_OK;
- tmp = target;
+ result = tmp = target;
  tmp2 = unshare_expr (target);
}
+  else if ((fallback  fb_lvalue) == 0)
+   {
+ result = tmp2 = tmp = create_tmp_var (TREE_TYPE (expr), iftmp);
+ ret = GS_ALL_DONE;
+   }
   else
{
- tmp2 = tmp = create_tmp_var (TREE_TYPE (expr), iftmp);
+ tree type = build_pointer_type (TREE_TYPE (expr));
+
+ if (TREE_TYPE (TREE_OPERAND (expr, 1)) != void_type_node)
+   TREE_OPERAND (expr, 1) =
+ build_fold_addr_expr (TREE_OPERAND (expr, 1));
+
+ if (TREE_TYPE (TREE_OPERAND (expr, 2)) != void_type_node)
+   TREE_OPERAND (expr, 2) =
+ build_fold_addr_expr (TREE_OPERAND (expr, 2));
+ 
+ tmp2 = tmp = create_tmp_var (type, iftmp);
+
+ expr = build (COND_EXPR, void_type_node, TREE_OPERAND (expr, 0),
+   TREE_OPERAND (expr, 1), TREE_OPERAND (expr, 2));
+
+ result = build_fold_indirect_ref (tmp);
  ret = GS_ALL_DONE;
}
 
@@ -2169,7 +2193,7 @@ gimplify_cond_expr (tree *expr_p, tree *
   /* Move the COND_EXPR to the prequeue.  */
   gimplify_and_add (expr, pre_p);
 
-  *expr_p = tmp;
+  *expr_p = result;
   return ret;
 }
 
@@ -2907,7 +2931,8 @@ gimplify_modify_expr_rhs (tree *expr_p, 
if (!is_gimple_reg_type (TREE_TYPE (*from_p)))
  {
*expr_p = *from_p;
-   return gimplify_cond_expr (expr_p, pre_p, post_p, *to_p);
+   return gimplify_cond_expr (expr_p, pre_p, post_p, *to_p,
+  fb_rvalue);
  }
else
  ret = GS_UNHANDLED;
@@ -3721,7 +3746,8 @@ gimplify_expr (tree *expr_p, tree *pre_p
  break;
 
case COND_EXPR:
- ret = gimplify_cond_expr (expr_p, pre_p, post_p, NULL_TREE);
+ ret = gimplify_cond_expr (expr_p, pre_p, 

[Bug rtl-optimization/20367] alias analysis doesn't take into account that variables that haven't their address taken can't alias arbitrary MEMs

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

--- Additional Comments From amylaar at gcc dot gnu dot org  2005-03-08 
20:51 ---
(In reply to comment #16)

 And that should be fixed via the structure aliasing improvements that Daniel
is working on.

Will this also work when a[0] .. a[2] are replaced with a0 .. a2 ? 



-- 


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


[Bug middle-end/20364] [3.4 Regression] Segfault with -Xpreprocessor argument

2005-03-08 Thread wilson at gcc dot gnu dot org

--- Additional Comments From wilson at gcc dot gnu dot org  2005-03-08 
20:53 ---
Hint taken.  I'm testing the patch with gcc-3.4, and then will check it in if
there are no problems.


-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |wilson at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2005-03-07 18:58:59 |2005-03-08 20:53:54
   date||


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


[Bug libgcj/20389] New: Buff

2005-03-08 Thread daney at gcc dot gnu dot org
 

-- 
   Summary: Buff
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: libgcj
AssignedTo: daney at gcc dot gnu dot org
ReportedBy: daney at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
dot org


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


[Bug libgcj/20389] Buffere

2005-03-08 Thread daney at gcc dot gnu dot org


-- 
   What|Removed |Added

Summary|Buff|Buffere


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


[Bug libgcj/20389] BufferedInputStream gets ArrayIndexOutOfBoundsExeception

2005-03-08 Thread daney at gcc dot gnu dot org

--- Additional Comments From daney at gcc dot gnu dot org  2005-03-08 21:13 
---
I will attach a testcase.

I also have a tentative patch and Mauve test that I will submit shortly.

-- 
   What|Removed |Added

  GCC build triplet||i686-pc-linux
   GCC host triplet||i686-pc-linux
 GCC target triplet||i686-pc-linux
  Known to fail||4.0.0 4.1.0
  Known to work||3.4.3
Summary|Buffere |BufferedInputStream gets
   ||ArrayIndexOutOfBoundsExecept
   ||ion


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


[Bug libgcj/20389] BufferedInputStream gets ArrayIndexOutOfBoundsExeception

2005-03-08 Thread daney at gcc dot gnu dot org

--- Additional Comments From daney at gcc dot gnu dot org  2005-03-08 21:16 
---
Created an attachment (id=8367)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8367action=view)
Testcase

As shown in the testcase, a series of marks and reads can cause either
ArrayIndexOutOfBoundsException or erroneous EOF.

-- 


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


[Bug libgcj/20389] [4.0/4.1 Regression] BufferedInputStream gets ArrayIndexOutOfBoundsExeception

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

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

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
  Known to work|3.4.3   |3.4.3 3.3.3
   Last reconfirmed|-00-00 00:00:00 |2005-03-08 21:23:11
   date||
Summary|BufferedInputStream gets|[4.0/4.1 Regression]
   |ArrayIndexOutOfBoundsExecept|BufferedInputStream gets
   |ion |ArrayIndexOutOfBoundsExecept
   ||ion


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


[Bug libgcj/20389] [4.0/4.1 Regression] BufferedInputStream gets ArrayIndexOutOfBoundsExeception

2005-03-08 Thread daney at gcc dot gnu dot org


-- 
   What|Removed |Added

 Status|NEW |ASSIGNED
   Last reconfirmed|2005-03-08 21:23:11 |2005-03-08 21:32:28
   date||


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


[Bug c++/20103] [4.0/4.1 regression] ICE in create_tmp_var with C99 style struct initializer

2005-03-08 Thread aoliva at redhat dot com

--- Additional Comments From aoliva at gcc dot gnu dot org  2005-03-08 
21:55 ---
Subject: Re: [PR c++/20103] failure to gimplify constructors for addressable 
types

On Mar  8, 2005, Alexandre Oliva [EMAIL PROTECTED] wrote:

 Okie dokie, how about this?

 The change to the gimplify.c is needed to avoid having
 gimple_add_tmp_var twice for the variable, once while expanding the
 declaration/initialization, once while expanding the clean-ups.

 Ok to install?  Passed check-g++ (except for the already-broken
 eh/cleanup1.C) on x86_64-linux-gnu; just started bootstrap and full
 reg-testing.

Err...  *This* was the one that passed check-g++.  The one I posted in
a hurry earlier was very incomplete, and contained fragments of other
patches.  Sorry about that.

Index: gcc/ChangeLog
from  Alexandre Oliva  [EMAIL PROTECTED]

PR c++/20103
* gimplify.c (gimplify_decl_expr): Don't add temp variable if it
was already seen in a bind expr.

Index: gcc/gimplify.c
===
RCS file: /cvs/gcc/gcc/gcc/gimplify.c,v
retrieving revision 2.115
diff -u -p -r2.115 gimplify.c
--- gcc/gimplify.c 8 Mar 2005 13:56:57 - 2.115
+++ gcc/gimplify.c 8 Mar 2005 21:48:41 -
@@ -1047,7 +1047,8 @@ gimplify_decl_expr (tree *stmt_p)
   /* This decl isn't mentioned in the enclosing block, so add it to the
 list of temps.  FIXME it seems a bit of a kludge to say that
 anonymous artificial vars aren't pushed, but everything else is.  */
-  if (DECL_ARTIFICIAL (decl)  DECL_NAME (decl) == NULL_TREE)
+  if (DECL_ARTIFICIAL (decl)  DECL_NAME (decl) == NULL_TREE
+  !DECL_SEEN_IN_BIND_EXPR_P (decl))
gimple_add_tmp_var (decl);
 }
 
Index: gcc/cp/ChangeLog
from  Alexandre Oliva  [EMAIL PROTECTED]

PR c++/20103
* cp-tree.h (build_compound_literal): Declare.
* semantics.c (finish_compound_literal): Move most of the code...
* tree.c (build_compound_literal): ... here.  New function.
(lvalue_p_1): Handle COMPOUND_LITERAL_EXPR.
(stabilize_init): Likewise.
* pt.c (tsubst_copy_and_build): Likewise.
* call.c (build_over_call): Likewise.
* class.c (fixed_type_or_null): Likewise.
* cp-gimplify.c (cp_gimplify_init_expr): Likewise.
* cvt.c (force_rvalue, ocp_convert): Likewise.
* typeck.c (build_x_unary_op): Likewise.
(cxx_mark_addressable): Likewise.
(maybe_warn_about_returning_address_of_local): Likewise.

Index: gcc/cp/cp-tree.h
===
RCS file: /cvs/gcc/gcc/gcc/cp/cp-tree.h,v
retrieving revision 1.1107
diff -u -p -r1.1107 cp-tree.h
--- gcc/cp/cp-tree.h 1 Mar 2005 09:57:38 - 1.1107
+++ gcc/cp/cp-tree.h 8 Mar 2005 21:48:50 -
@@ -4218,6 +4218,7 @@ extern tree build_min_nt  (enum tree_co
 extern tree build_min_non_dep  (enum tree_code, tree, ...);
 extern tree build_cplus_new(tree, tree);
 extern tree get_target_expr(tree);
+extern tree build_compound_literal (tree, tree);
 extern tree build_cplus_array_type (tree, tree);
 extern tree hash_tree_cons (tree, tree, tree);
 extern tree hash_tree_chain(tree, tree);
Index: gcc/cp/semantics.c
===
RCS file: /cvs/gcc/gcc/gcc/cp/semantics.c,v
retrieving revision 1.463
diff -u -p -r1.463 semantics.c
--- gcc/cp/semantics.c 23 Feb 2005 05:30:48 - 1.463
+++ gcc/cp/semantics.c 8 Mar 2005 21:48:52 -
@@ -1980,23 +1980,16 @@ finish_compound_literal (tree type, tree
   compound_literal = build_constructor (NULL_TREE, initializer_list);
   /* Mark it as a compound-literal.  */
   TREE_HAS_CONSTRUCTOR (compound_literal) = 1;
+
   if (processing_template_decl)
+/* This causes template substitution to run digest_init on the
+   CONSTRUCTOR.  */
 TREE_TYPE (compound_literal) = type;
   else
-{
-  /* Check the initialization.  */
-  compound_literal = digest_init (type, compound_literal, NULL);
-  /* If the TYPE was an array type with an unknown bound, then we can
-figure out the dimension now.  For example, something like:
-
-  `(int []) { 2, 3 }'
-
-implies that the array has two elements.  */
-  if (TREE_CODE (type) == ARRAY_TYPE  !COMPLETE_TYPE_P (type))
-   complete_array_type (type, compound_literal, 1);
-}
+/* Check the initialization.  */
+compound_literal = digest_init (type, compound_literal, NULL);
 
-  return compound_literal;
+  return build_compound_literal (type, compound_literal);
 }
 
 /* Return the declaration for the function-name variable indicated by
Index: gcc/cp/tree.c
===
RCS file: /cvs/gcc/gcc/gcc/cp/tree.c,v
retrieving revision 1.427
diff -u -p -r1.427 

[Bug target/20331] [3.4/4.0/4.1 Regression] Wrong code generation for the argument of the pure function in PIC

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

--- Additional Comments From amylaar at gcc dot gnu dot org  2005-03-08 
21:58 ---
(In reply to comment #1)
 I've traced what's going on:
   http://gcc.gnu.org/ml/gcc-patches/2005-03/msg00525.html
 It includes a patch for comment.
 

The sh64 port is partcularily exposed in emit_libcall_block because it uses
paradoxical subregs to set up the offset part of the PIC address, but I
think your patch makes sense.  Except that this is only the tip of the iceberg.
The problem was introduced in a maga-patch to remove RTX_UNCHANGING_P; there
are a number of other places that need to be fixed up similarily.

2004-08-18  Richard Henderson  [EMAIL PROTECTED]

* rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
* alias.c (true_dependence): Update to match new semantics.
(canon_true_dependence, write_dependence_p): Likewise.
(anti_dependence, output_dependence): Update write_dependence_p args.
(unchanging_anti_dependence): Remove.
* calls.c (purge_mem_unchanging_flag): Remove.
(fixup_tail_calls): Don't call it.
(expand_call): Don't add unchanging memory to function usage.
* expr.c (emit_block_move_via_libcall): Likewise.
(clear_storage_via_libcall): Don't clobber RTX_UNCHANGING_P mems.
(get_subtarget): Don't use RTX_UNCHANGING_P.
(expand_assignment, store_constructor, expand_expr_real_1): Likewise.
(do_tablejump): Set MEM_READONLY_P, not RTX_UNCHANGING_P.
* combine.c (get_last_value_validate): Use MEM_READONLY_P.
* cse.c (insert): Don't use RTX_UNCHANGING_P.
(cse_insn, canon_hash): Use MEM_READONLY_P.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Use MEM_READONLY_P
instead of RTX_UNCHANGING_P.
* explow.c (maybe_set_unchanging): Remove.
* expr.h (maybe_set_unchanging): Remove.
* flow.c (insn_dead_p, mark_used_regs): Use anti_dependence.
* function.c (assign_stack_temp_for_type): Don't use RTX_UNCHANGING_P.
(assign_parm_setup_reg, expand_function_start): Likewise.
* integrate.c (copy_rtx_and_substitute): Likewise.
* ra-rewrite.c (emit_colors): Likewise.
* regmove.c (copy_src_to_dest, regmove_optimize): Likewise.
(fixup_match_1): Likewise.
* reload1.c (reload, alter_reg): Likewise.
* local-alloc.c (validate_equiv_mem): Check MEM_READONLY_P,
not RTX_UNCHANGING_P.
(equiv_init_varies_p): Likewise.
* loop-invariant.c (check_maybe_invariant): Likewise.
* resource.c (mark_referenced_resources, mark_set_resources): Likewise.
* loop.c (note_addr_stored): Likewise.
(prescan_loop): Likewise. Don't check function usage for clobbered
unchanging memory.
* rtlanal.c (rtx_unstable_p): Check MEM_READONLY_P,
not RTX_UNCHANGING_P.
(rtx_varies_p, modified_between_p, modified_in_p): Likewise.
* varasm.c (force_const_mem): Likewise.
* stmt.c (expand_decl): Don't set RTX_UNCHANGING_P.
* web.c (entry_register): Likewise.
* tree-gimple.h (get_base_address): Move decl ...
* tree.h: ... here.
* doc/rtl.texi (MEM_READONLY_P): Replace RTX_UNCHANGING_P.

* config/alpha/alpha.c (alpha_set_memflags_1): Rewrite to be
called via for_each_rtx.  Copy MEM_SCALAR_P, MEM_NOTRAP_P too.
(alpha_set_memflags): Update to match.

* config/darwin.c (machopic_indirect_data_reference): Set
MEM_READONLY_P instead of RTX_UNCHANGING_P.
(machopic_indirect_call_target): Likewise.
(machopic_legitimize_pic_address): Likewise.
* config/arm/arm.c (legitimize_pic_address, arm_gen_load_multiple,
arm_gen_store_multiple, arm_gen_movmemqi): Likewise.
* config/arm/arm.md (load_multiple, store_multiple): Likewise.
* config/frv/frv.md (symGOT2reg): Likewise.
* config/i386/i386.c (legitimize_pic_address,
legitimize_tls_address, ix86_split_to_parts): Likewise.
* config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
* config/ia64/ia64.md (load_fptr): Likewise.
* config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
* config/m68k/m68k.c (legitimize_pic_address): Likewise.
* config/mcore/mcore.c (block_move_sequence): Likewise.
* config/mn10300/mn10300.md (symGOT2reg): Likewise.
* config/pa/pa.c (legitimize_pic_address): Likewise.
* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
(rs6000_emit_move): Likewise.
* config/s390/s390.c (legitimize_pic_address): Likewise.
(legitimize_tls_address): Likewise.
* config/s390/s390.md (casesi): Likewise.
* config/sh/sh.c (prepare_move_operands, sh_reorg): Likewise.
* config/sh/sh.md (symGOT2reg): Likewise.
* config/sparc/sparc.c (legitimize_pic_address): Likewise.
* config/v850/v850.md (casesi): Likewise.

* config/ia64/ia64.c 

[Bug other/20390] New: Options aren't handled by LANG_HOOKS_HANDLE_OPTIONS

2005-03-08 Thread sgk at troutmask dot apl dot washington dot edu
The gfortran frontend defines the two options -i8 and -r8 in gfortran/lang.opt.
gcc/opts.sh appears to process lang.opt without a problem, because the produced
options.h file contains OPT_i8 and OPT_r8.  However, neither -i8 nor -r8 is
passed to gfc_handle_option, which is defined to LANG_HOOKS_HANDLE_OPTION
in f95-lang.c.

I have added some debugging printfs to gfc_handle_option

int
gfc_handle_option (size_t scode, const char *arg, int value)
{
  int result = 1;
  enum opt_code code = (enum opt_code) scode;

 printf(code = %d , code);
 if (arg != NULL) printf(arg = %s , arg);
 printf(value = %d\n, value);

The execution of gfortran shows that gfc_handle_option is
never called if -i8 or -r8 is specified.

troutmask:sgk[307] gfc41 -static -o kl -d8 kl.f90
code = 138 value = 1
troutmask:sgk[308] gfc41 -static -o kl -r8 kl.f90
gfc41: unrecognized option '-r8'
troutmask:sgk[309] gfc41 -static -o kl -i8 kl.f90

Note, -d8 is OPT_d8 in options.h and it is passed to gfc_handle_option.

So, it appears that some magic parsing of command line arguments occurs
before gfc_handle_option is called.  Is there someway to inhibit this
magic??

-- 
   Summary: Options aren't handled by LANG_HOOKS_HANDLE_OPTIONS
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sgk at troutmask dot apl dot washington dot edu
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug other/20390] Options aren't handled by LANG_HOOKS_HANDLE_OPTIONS

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-03-08 
23:21 ---
This was basically fixed as PR 13464, do you want to close this as a dup and 
add your analysis there?

-- 


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


[Bug c++/19199] [3.3/3.4/4.0/4.1 Regression] Wrong warning about returning a reference to a temporary

2005-03-08 Thread aoliva at redhat dot com

--- Additional Comments From aoliva at gcc dot gnu dot org  2005-03-08 
23:23 ---
Subject: Re:  [3.3/3.4/4.0/4.1 Regression] Wrong warning about returning a 
reference to a temporary

On Mar  7, 2005, Roger Sayle [EMAIL PROTECTED] wrote:

 For example, I believe that Alex's proposed solution to PR c++/19199
 isn't an appropriate fix.  It's perfectly reasonable for fold to convert
 a C++ COND_EXPR into a MIN_EXPR or MAX_EXPR, as according to the C++
 front-end all three of these tree nodes are valid lvalues.  Hence it's
 not this transformation in fold that's in error.

Bugzilla was kept out of the long discussion that ensued, so I'll try
to summarize.  The problem is that the conversion is turning a
COND_EXPR such as:

  ((int)a  (int)b ? a : b)

into

  (__typeof(a)) ((int)a ? (int)b)

which is not an lvalue.  This is the transformation we have to avoid.


 Simply disabling the COND_EXPR - MIN_EXPR/MAX_EXPR transformation is
 also likely to be a serious performance penalty, especially on targets
 that support efficient sequences for min and max.

This was not what I intended to do with my patch, FWIW.
Unfortunately, I goofed in the added call to operand_equal_p, limiting
too much the situations in which the optimization could be applied.
The patch fixes this problem, and updates the patch such that it
applies cleanly again.

As for other languages whose COND_EXPRs can't be lvalues, we can
probably arrange quite easily for them to ensure at least one of their
result operands is not an lvalue, so as to enable the transformation
again.

Comments?  Ok to install?

Index: gcc/ChangeLog
from  Alexandre Oliva  [EMAIL PROTECTED]

* fold-const.c (non_lvalue): Split tests into...
(maybe_lvalue_p): New function.
(fold_ternary): Use it to avoid turning a COND_EXPR lvalue into
a MIN_EXPR rvalue.

Index: gcc/fold-const.c
===
RCS file: /cvs/gcc/gcc/gcc/fold-const.c,v
retrieving revision 1.535
diff -u -p -r1.535 fold-const.c
--- gcc/fold-const.c 7 Mar 2005 21:24:21 - 1.535
+++ gcc/fold-const.c 8 Mar 2005 22:07:52 -
@@ -2005,16 +2005,12 @@ fold_convert (tree type, tree arg)
 }
 }
 
-/* Return an expr equal to X but certainly not valid as an lvalue.  */
+/* Return false if expr can be assumed to not be an lvalue, true
+   otherwise.  */
 
-tree
-non_lvalue (tree x)
+static bool
+maybe_lvalue_p (tree x)
 {
-  /* While we are in GIMPLE, NON_LVALUE_EXPR doesn't mean anything to
- us.  */
-  if (in_gimple_form)
-return x;
-
   /* We only need to wrap lvalue tree codes.  */
   switch (TREE_CODE (x))
   {
@@ -2054,8 +2050,24 @@ non_lvalue (tree x)
 /* Assume the worst for front-end tree codes.  */
 if ((int)TREE_CODE (x) = NUM_TREE_CODES)
   break;
-return x;
+return false;
   }
+
+  return true;
+}
+
+/* Return an expr equal to X but certainly not valid as an lvalue.  */
+
+tree
+non_lvalue (tree x)
+{
+  /* While we are in GIMPLE, NON_LVALUE_EXPR doesn't mean anything to
+ us.  */
+  if (in_gimple_form)
+return x;
+
+  if (! maybe_lvalue_p (x))
+return x;
   return build1 (NON_LVALUE_EXPR, TREE_TYPE (x), x);
 }
 
@@ -9734,10 +9746,16 @@ fold_ternary (tree expr)
 of B and C.  Signed zeros prevent all of these transformations,
 for reasons given above each one.
 
+We don't want to use operand_equal_for_comparison_p here,
+because it might turn an lvalue COND_EXPR into an rvalue one,
+see PR c++/19199.
+
  Also try swapping the arguments and inverting the conditional.  */
   if (COMPARISON_CLASS_P (arg0)
-  operand_equal_for_comparison_p (TREE_OPERAND (arg0, 0),
-arg1, TREE_OPERAND (arg0, 1))
+  ((maybe_lvalue_p (op1)  maybe_lvalue_p (op2))
+ ? operand_equal_p (TREE_OPERAND (arg0, 0), op1, 0)
+ : operand_equal_for_comparison_p (TREE_OPERAND (arg0, 0),
+   arg1, TREE_OPERAND (arg0, 1)))
   !HONOR_SIGNED_ZEROS (TYPE_MODE (TREE_TYPE (arg1
{
  tem = fold_cond_expr_with_comparison (type, arg0, op1, op2);
@@ -9746,9 +9764,10 @@ fold_ternary (tree expr)
}
 
   if (COMPARISON_CLASS_P (arg0)
-  operand_equal_for_comparison_p (TREE_OPERAND (arg0, 0),
-op2,
-TREE_OPERAND (arg0, 1))
+  ((maybe_lvalue_p (op1)  maybe_lvalue_p (op2))
+ ? operand_equal_p (TREE_OPERAND (arg0, 0), op2, 0)
+ : operand_equal_for_comparison_p (TREE_OPERAND (arg0, 0),
+   op2, TREE_OPERAND (arg0, 1)))
   !HONOR_SIGNED_ZEROS (TYPE_MODE (TREE_TYPE (op2
{
  tem = invert_truthvalue (arg0);
Index: gcc/testsuite/ChangeLog
from  Alexandre Oliva  [EMAIL PROTECTED]

PR c++/19199
* 

[Bug other/20390] Options aren't handled by LANG_HOOKS_HANDLE_OPTIONS

2005-03-08 Thread sgk at troutmask dot apl dot washington dot edu

--- Additional Comments From sgk at troutmask dot apl dot washington dot 
edu  2005-03-08 23:47 ---
Subject: Re:  Options aren't handled by LANG_HOOKS_HANDLE_OPTIONS

On Tue, Mar 08, 2005 at 11:21:52PM -, pinskia at gcc dot gnu dot org wrote:
 
 --- Additional Comments From pinskia at gcc dot gnu dot org  2005-03-08 
 23:21 ---
 This was basically fixed as PR 13464, do you want to close this as a dup and 
 add your analysis there?
 

What do you mean by fixed?  The -i8 and -r8 options are swallowed
before gfc_handle_option is called, and I have a patch that actually
fixes -d8.  PR 13464 does not show up if one searches bugzilla
with fortran.  

I'll add what I found.  BTW, it I change lang.opt to have -fiate 
instead of -i8, things  works.



-- 


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


[Bug other/20390] Options aren't handled by LANG_HOOKS_HANDLE_OPTIONS

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-03-08 
23:50 ---
(In reply to comment #2) 
 What do you mean by fixed?  
I mean filed, woops.

-- 


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


[Bug driver/13464] -i8 and -r8 not passed correctly to compiler proper. and -d8 does not work

2005-03-08 Thread sgk at troutmask dot apl dot washington dot edu

--- Additional Comments From sgk at troutmask dot apl dot washington dot 
edu  2005-03-08 23:52 ---
The gfortran frontend defines the two options -i8 and -r8 in gfortran/lang.opt. 
gcc/opts.sh appears to process lang.opt without a problem, because the produced
options.h file contains OPT_i8 and OPT_r8.  However, neither -i8 nor -r8 is
passed to gfc_handle_option, which is defined to LANG_HOOKS_HANDLE_OPTION
in f95-lang.c.
  
I have added some debugging printfs to gfc_handle_option
  
int
gfc_handle_option (size_t scode, const char *arg, int value)
{
  int result = 1;
  enum opt_code code = (enum opt_code) scode;
  
 printf(code = %d , code);
 if (arg != NULL) printf(arg = %s , arg); 
 printf(value = %d\n, value);
  
The execution of gfortran shows that gfc_handle_option is
never called if -i8 or -r8 is specified.
  
troutmask:sgk[307] gfc41 -static -o kl -d8 kl.f90
code = 138 value = 1
troutmask:sgk[308] gfc41 -static -o kl -r8 kl.f90
gfc41: unrecognized option '-r8'
troutmask:sgk[309] gfc41 -static -o kl -i8 kl.f90

Note, -d8 is OPT_d8 in options.h and it is passed to gfc_handle_option.

So, it appears that some magic parsing of command line arguments occurs
before gfc_handle_option is called.  Is there someway to inhibit this
magic??

BTW, I have a patch that actually makes -d8 work.

-- 


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


[Bug other/20390] Options aren't handled by LANG_HOOKS_HANDLE_OPTIONS

2005-03-08 Thread sgk at troutmask dot apl dot washington dot edu

--- Additional Comments From sgk at troutmask dot apl dot washington dot 
edu  2005-03-08 23:53 ---


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

-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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


[Bug driver/13464] -i8 and -r8 not passed correctly to compiler proper. and -d8 does not work

2005-03-08 Thread sgk at troutmask dot apl dot washington dot edu

--- Additional Comments From sgk at troutmask dot apl dot washington dot 
edu  2005-03-08 23:53 ---
*** Bug 20390 has been marked as a duplicate of this bug. ***

-- 
   What|Removed |Added

 CC||sgk at troutmask dot apl dot
   ||washington dot edu


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


[Bug libgcj/20389] [4.0/4.1 Regression] BufferedInputStream gets ArrayIndexOutOfBoundsExeception

2005-03-08 Thread daney at gcc dot gnu dot org

--- Additional Comments From daney at gcc dot gnu dot org  2005-03-09 00:16 
---
Patch posted here:

http://gcc.gnu.org/ml/java-patches/2005-q1/msg00669.html

-- 
   What|Removed |Added

   Keywords||patch


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


[Bug middle-end/20364] [3.4 Regression] Segfault with -Xpreprocessor argument

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

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-03-09 
01:01 ---
Subject: Bug 20364

CVSROOT:/cvs/gcc
Module name:gcc
Branch: gcc-3_4-branch
Changes by: [EMAIL PROTECTED]   2005-03-09 01:00:56

Modified files:
gcc: ChangeLog c-opts.c 

Log message:
Fix for PR middle-end/20364, backported from mainline.
Backport from mainline
2004-04-13  James E Wilson  [EMAIL PROTECTED]
PR middle-end/20364
* c-opt.c (c_common_post_options): If this_input_filename is NULL,
increment errorcount and return false instead of true.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcconly_with_tag=gcc-3_4-branchr1=2.2326.2.813r2=2.2326.2.814
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-opts.c.diff?cvsroot=gcconly_with_tag=gcc-3_4-branchr1=1.96.4.9r2=1.96.4.10



-- 


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


[Bug middle-end/20364] [3.4 Regression] Segfault with -Xpreprocessor argument

2005-03-08 Thread wilson at gcc dot gnu dot org

--- Additional Comments From wilson at gcc dot gnu dot org  2005-03-09 
01:10 ---
Fix by the patch I just checked in.


-- 
   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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


[Bug c++/19199] [3.3/3.4/4.0/4.1 Regression] Wrong warning about returning a reference to a temporary

2005-03-08 Thread roger at eyesopen dot com

--- Additional Comments From roger at eyesopen dot com  2005-03-09 01:28 
---
Subject: Re:  [3.3/3.4/4.0/4.1 Regression] Wrong warning about
 returning a reference to a temporary


On 8 Mar 2005, Alexandre Oliva wrote:

   * fold-const.c (non_lvalue): Split tests into...
   (maybe_lvalue_p): New function.
   (fold_ternary): Use it to avoid turning a COND_EXPR lvalue into
   a MIN_EXPR rvalue.

This version is Ok for mainline, and currently open release branches.

Thanks,

Roger
--



-- 


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


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

2005-03-08 Thread jakub at redhat dot com

--- Additional Comments From jakub at redhat dot com  2005-03-09 01:47 
---
Subject: Re: [PR target/20126, RFC] loop DEST_ADDR biv replacement may fail

On Mon, Mar 07, 2005 at 06:56:19PM -0300, Alexandre Oliva wrote:
 loop attempts to eliminate a biv represented by a pseudo in favor of a
 giv represented by (plus (reg) (const_int -1)).  Unfortunately, the
 biv pseudo appears in an insn that doesn't accept anything but a
 register, so validate_change fails and the error goes unnoticed.
 
 The patch below fixes the problem and passed bootstrap on
 x86_64-linux-gnu (testing still pending), but I'm not very comfortable
 with the use of location for the assignment.  Is this a safe change?
 Any loop experts around willing to take a second look on this?  Thanks
 in advance,

Unfortunately, it seems to break ada bootstrap on at least x86-64 and i386:
../../gcc/ada/ali.adb: In function 'ALI.SCAN_ALI':
../../gcc/ada/ali.adb:2070: error: unrecognizable insn:
(insn:HI 5987 1558 1560 230 ../../gcc/ada/ali.adb:996 (set (plus:SI (reg:SI 
2074)
(symbol_ref:SI (ali__cumulative_restrictions) [flags 0x2] 
var_decl 0xb7e2b360 ali__cumulative_restrictions))
(plus:SI (reg:SI 2074)
(symbol_ref:SI (ali__cumulative_restrictions) [flags 0x2] 
var_decl 0xb7e2b360 ali__cumulative_restrictions))) -1 (nil)
(nil))

../../gcc/ada/ali.adb: In function 'ALI.SCAN_ALI':
../../gcc/ada/ali.adb:2070: error: unrecognizable insn:
(insn:HI 6040 1461 1463 230 ../../gcc/ada/ali.adb:992 (set (plus:DI (plus:DI 
(reg:DI 2096)
(reg/f:DI 726))
(const_int 12 [0xc]))
(plus:DI (reg:DI 2096)
(const:DI (plus:DI (symbol_ref:DI (ali__cumulative_restrictions) 
[flags 0x2] var_decl 0x2a96136ea0 ali__cumulative_restrictions)
(const_int 92 [0x5c]) -1 (nil)
(nil))

Jakub


-- 


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


[Bug inline-asm/20382] internal compiler error with bogus asm output constraint

2005-03-08 Thread sailors3 at comcast dot net

--- Additional Comments From sailors3 at comcast dot net  2005-03-09 02:48 
---
Subject: RE:  internal compiler error with bogus asm output constraint

Where can I find some documentation on using this extended asm format? I
have read all the GNU docs on it and can not understand how to use it.

Thanks,

Dave


-Original Message-
From: falk at debian dot org [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, March 08, 2005 6:25 AM
To: [EMAIL PROTECTED]
Subject: [Bug inline-asm/20382] internal compiler error with bogus asm
output constraint


--- Additional Comments From falk at debian dot org  2005-03-08 14:25
---
Confirmed. This is triggered by a bogus argument for an output constraint.
Not a regression.

void f() {
  __asm__ (  : =r (r5), +r (r5));
}



-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|middle-end  |inline-asm
 Ever Confirmed||1
  GCC build triplet|3.3.1-macraigor1|
   GCC host triplet|3.4.0   |
 GCC target triplet|3.3.1   |
   Keywords||ice-on-invalid-code
  Known to fail||2.95.4 3.2.3 3.3.5 3.4.3
   ||4.1.0
Summary|internal compiler error in  |internal compiler error
with
   |emit_move_insn, at  |bogus asm output constraint
   |expr.c:2809 |


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

--- You are receiving this mail because: ---
You reported the bug, or are watching the reporter.



-- 


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


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

2005-03-08 Thread aoliva at redhat dot com

--- Additional Comments From aoliva at gcc dot gnu dot org  2005-03-09 
04:02 ---
Subject: Re: [PR target/20126, RFC] loop DEST_ADDR biv replacement may fail

On Mar  8, 2005, Jakub Jelinek [EMAIL PROTECTED] wrote:

 Unfortunately, it seems to break ada bootstrap on at least x86-64 and i386:

Odd...  It surely completed bootstrap for me with default build flags.

Hmm...  FORTIFY_SOURCE?



-- 


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


[Bug c++/19199] [3.3/3.4/4.0/4.1 Regression] Wrong warning about returning a reference to a temporary

2005-03-08 Thread aoliva at redhat dot com

--- Additional Comments From aoliva at gcc dot gnu dot org  2005-03-09 
04:11 ---
Subject: Re:  [3.3/3.4/4.0/4.1 Regression] Wrong warning about returning a 
reference to a temporary

On Mar  8, 2005, Roger Sayle [EMAIL PROTECTED] wrote:

 On 8 Mar 2005, Alexandre Oliva wrote:
 
 * fold-const.c (non_lvalue): Split tests into...
 (maybe_lvalue_p): New function.
 (fold_ternary): Use it to avoid turning a COND_EXPR lvalue into
 a MIN_EXPR rvalue.

 This version is Ok for mainline, and currently open release branches.

Unfortunately, the problem in g++.oliva/expr2.C resurfaced, because,
as it turns out, the transformation (I != J ? I : J) = I yields an
lvalue as required, but not the *correct* lvalue in all cases.  I
tried what you'd suggested on IRC (testing whether the thing is an
lvalue after the fact), but that obviously failed in this case as
well.

So I figured a better approach would be to perform lvalue tests to
fold_cond_expr_with_comparison(), where we can avoid specific
inappropriate transformations while still trying other alternatives.

While at that, I figured we could use pedantic_lvalues to avoid
refraining from applying optimizations just because it looks like the
cond-expr might be an lvalue, even though the language requires it not
to be.

This is currently bootstrapping on x86_64-linux-gnu.  Ok to install if
bootstrap completes and regtesting passes?

Index: gcc/ChangeLog
from  Alexandre Oliva  [EMAIL PROTECTED]

PR c++/19199
* fold-const.c (non_lvalue): Split tests into...
(maybe_lvalue_p): New function.
(fold_cond_expr_with_comparison): Preserve lvalue-ness.

Index: gcc/fold-const.c
===
RCS file: /cvs/gcc/gcc/gcc/fold-const.c,v
retrieving revision 1.535
diff -u -p -r1.535 fold-const.c
--- gcc/fold-const.c 7 Mar 2005 21:24:21 - 1.535
+++ gcc/fold-const.c 9 Mar 2005 03:59:18 -
@@ -2005,16 +2005,12 @@ fold_convert (tree type, tree arg)
 }
 }
 
-/* Return an expr equal to X but certainly not valid as an lvalue.  */
+/* Return false if expr can be assumed to not be an lvalue, true
+   otherwise.  */
 
-tree
-non_lvalue (tree x)
+static bool
+maybe_lvalue_p (tree x)
 {
-  /* While we are in GIMPLE, NON_LVALUE_EXPR doesn't mean anything to
- us.  */
-  if (in_gimple_form)
-return x;
-
   /* We only need to wrap lvalue tree codes.  */
   switch (TREE_CODE (x))
   {
@@ -2054,8 +2050,24 @@ non_lvalue (tree x)
 /* Assume the worst for front-end tree codes.  */
 if ((int)TREE_CODE (x) = NUM_TREE_CODES)
   break;
-return x;
+return false;
   }
+
+  return true;
+}
+
+/* Return an expr equal to X but certainly not valid as an lvalue.  */
+
+tree
+non_lvalue (tree x)
+{
+  /* While we are in GIMPLE, NON_LVALUE_EXPR doesn't mean anything to
+ us.  */
+  if (in_gimple_form)
+return x;
+
+  if (! maybe_lvalue_p (x))
+return x;
   return build1 (NON_LVALUE_EXPR, TREE_TYPE (x), x);
 }
 
@@ -4162,7 +4174,15 @@ fold_cond_expr_with_comparison (tree typ
   tree arg00 = TREE_OPERAND (arg0, 0);
   tree arg01 = TREE_OPERAND (arg0, 1);
   tree arg1_type = TREE_TYPE (arg1);
-  tree tem;
+  tree tem = NULL;
+  /* If the COND_EXPR can possibly be an lvalue, we don't want to
+ perform transformations that return a simplified result that will
+ be recognized as lvalue, but that will not match the expected
+ result.  We may still return other expressions that would be
+ incorrect, but those are going to be rvalues, and the caller is
+ supposed to discard them.  */
+  bool lvalue = !pedantic_lvalues
+ maybe_lvalue_p (arg1)  maybe_lvalue_p (arg2);
 
   STRIP_NOPS (arg1);
   STRIP_NOPS (arg2);
@@ -4196,10 +4216,12 @@ fold_cond_expr_with_comparison (tree typ
   case EQ_EXPR:
   case UNEQ_EXPR:
tem = fold_convert (arg1_type, arg1);
-   return pedantic_non_lvalue (fold_convert (type, negate_expr (tem)));
+   tem = pedantic_non_lvalue (fold_convert (type, negate_expr (tem)));
+   break;
   case NE_EXPR:
   case LTGT_EXPR:
-   return pedantic_non_lvalue (fold_convert (type, arg1));
+   tem = pedantic_non_lvalue (fold_convert (type, arg1));
+   break;
   case UNGE_EXPR:
   case UNGT_EXPR:
if (flag_trapping_math)
@@ -4211,7 +4233,8 @@ fold_cond_expr_with_comparison (tree typ
  arg1 = fold_convert (lang_hooks.types.signed_type
   (TREE_TYPE (arg1)), arg1);
tem = fold (build1 (ABS_EXPR, TREE_TYPE (arg1), arg1));
-   return pedantic_non_lvalue (fold_convert (type, tem));
+   tem = pedantic_non_lvalue (fold_convert (type, tem));
+   break;
   case UNLE_EXPR:
   case UNLT_EXPR:
if (flag_trapping_math)
@@ -4222,12 +4245,18 @@ fold_cond_expr_with_comparison (tree typ
  arg1 = fold_convert (lang_hooks.types.signed_type
   (TREE_TYPE (arg1)), arg1);
tem = fold (build1 (ABS_EXPR, 

[Bug java/15525] suggestion to enable cast elimination

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


-- 
   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Last reconfirmed|2004-11-06 19:02:10 |2005-03-09 04:38:34
   date||


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


[Bug c++/14777] [3.4/4.0/4.1 Regression] typedef doesn't fully expose base class type

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-03-09 
04:45 ---
(In reply to comment #5)
 The first example has been fixed in 3.4.1.
 
 The second example is an accepts-invalid and may not be a regression. 
It is a regression from 3.3.3 and 3.2.3.



-- 
   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
  Known to fail|3.4.0 4.0.0 |3.4.0 4.0.0 2.95.3 4.1.0
Summary|typedef doesn't fully expose|[3.4/4.0/4.1 Regression]
   |base class type |typedef doesn't fully expose
   ||base class type
   Target Milestone|--- |3.4.4


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


[Bug c++/17256] [3.3/3.4/4.0/4.1 Regression] undefined but used static or inline functions should be diagnosed

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-03-09 
04:49 ---
This broke again on the mainline (before the branch of 4.0.0 and even before 
3.5.0 was changed to 
4.0.0).

-- 
   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
  Known to fail|3.3.4 3.4.0 |3.3.4 3.4.0 4.0.0 4.1.0
  Known to work|2.95.3 4.0.0|2.95.3
Summary|[3.3/3.4 Regression]|[3.3/3.4/4.0/4.1 Regression]
   |undefined but used static or|undefined but used static or
   |inline functions should be  |inline functions should be
   |diagnosed   |diagnosed


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


[Bug libgcj/20391] New: gcj-dbtool shows incorrect error message if JAR and DSO are switched on the command line

2005-03-08 Thread rmathew at gcc dot gnu dot org
If the JAR and DSO are switched on the command line
to gcj-dbtool -a, it shows an incorrect error message:

  ~/src/tmp  gcj-dbtool -a foo.db foo.so foo.jar
  error: could not update foo.db: java.lang.NullPointerException

-- 
   Summary: gcj-dbtool shows incorrect error message if JAR and DSO
are switched on the command line
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: libgcj
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rmathew at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
dot org


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


  1   2   >