Re: [RFC] Removal of loop notes

2006-03-09 Thread Zdenek Dvorak
Hello,

 I see that flow no longer uses loop_depth when computing REG_N_REFS, 
 
 That strikes me as wrong.  Don't we want to give pseudos that are in loops
 preference over those that aren't?

we have much more reliable heuristic based on profile information for some time 
now.

Zdenek


Re: Erroneous -mt on Solaris i386

2006-03-09 Thread Rainer Orth
[EMAIL PROTECTED] writes:

 I compiled gcc 3.4.5 on an i386 pc under Solaris 10 with posix threads.
 When I try to compile certain downloaded tarballs (especially those that
 use the gtk+ libs) gcc passes -mt to cc1, which chokes with an illegal
 option error message.  The gcc docs say that this option is for the IA64
 on HPUX.  What can be done to fix this problem?  My workaround has been
 to edit out any reference to -m options in the specs file, but I am
 hoping there is a way to recompile gcc so that I don't have to do this.
 Any suggestions would be appreciated.

You're wrong to pass -mt to gcc on Solaris (both SPARC and x86) in the
first place; right now, this flag is specific to the Sun compilers,
although it would be useful to support them in gcc, too, for cc/CC
compatibility.

Rainer

-- 
-
Rainer Orth, Faculty of Technology, Bielefeld University


Help in AST dump

2006-03-09 Thread Darthrader

Hi,

Can someone tell me what do unql,high,low refer to in the dump generated by
gcc using -fdump-tree-original-raw.

@10 integer_type name: @20  unql: @21  size: @22
 algn: 64   prec: 36   unsigned
 min : @23  max : @24

@27 integer_cst  type: @13  high: -1   low : -2147483648

Darth
--
View this message in context: 
http://www.nabble.com/Help-in-AST-dump-t1252187.html#a3318259
Sent from the gcc - Dev forum at Nabble.com.



Re: Passing va_args...

2006-03-09 Thread Jean-Yves Bitterlich



Kalaky [EMAIL PROTECTED] writes:

  I'am looking for some way to pass variable arguments to another
  function that receives variable arguments without using va_list.

This is impossible.


what about?
#define DOTS ...

function_1 (int z, ...);
function_2 (int z, ...);
{
  return function_1 (z, DOTS);
}




Andreas.



--JYB


Re: Passing va_args...

2006-03-09 Thread Jean-Yves Bitterlich


 Kalaky [EMAIL PROTECTED] writes:

   I'am looking for some way to pass variable arguments to another
   function that receives variable arguments without using va_list.

 This is impossible.

what about?
#define DOTS ...

function_1 (int z, ...);
function_2 (int z, ...);
{
  return function_1 (z, DOTS);
}



 Andreas.


--JYB



RE: Passing va_args...

2006-03-09 Thread Dave Korn
On 09 March 2006 13:11, Jean-Yves Bitterlich wrote:

  Jean, do you know you're replying to an email from October 2005?  Ah well, I
see the thread ended without all the information coming out, Andreas said it
was impossible but didn't go into the details so it's worth mentioning the
builtins.

 Kalaky [EMAIL PROTECTED] writes:
 
   I'am looking for some way to pass variable arguments to another
   function that receives variable arguments without using va_list.
 
 This is impossible.
 
 what about?
 #define DOTS ...
 
 function_1 (int z, ...);
 function_2 (int z, ...);
 {
return function_1 (z, DOTS);
 }
 


  Why would substituting a macro for '...' suddenly make the nonsense
statement

return function_1 (z, ...);

mean anything?  That won't even compile, let alone do what you want.

  It may be impossible in practice, but it is supposed to be possible to do
this, depsite what Andreas Schwab wrote two messages (and five months)
upthread.  Gcc has some functions such as __builtin_apply_args,
__builtin_apply and __builtin_return that let you attempt this, but they are
very tricky features to get right and may fail on some platforms or in some
corner cases.  See the gcc manual section on constructing function calls, at

http://gcc.gnu.org/onlinedocs/gcc/Constructing-Calls.html#Constructing-Calls

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



Re: Passing va_args...

2006-03-09 Thread Jean-Yves Bitterlich



Dave Korn wrote:

On 09 March 2006 13:11, Jean-Yves Bitterlich wrote:

  Jean, do you know you're replying to an email from October 2005?  Ah well, I
see the thread ended without all the information coming out, Andreas said it
was impossible but didn't go into the details so it's worth mentioning the
builtins.


Kalaky [EMAIL PROTECTED] writes:

  I'am looking for some way to pass variable arguments to another
  function that receives variable arguments without using va_list.

This is impossible.

what about?
#define DOTS ...

function_1 (int z, ...);
function_2 (int z, ...);
{
   return function_1 (z, DOTS);
}
 



  Why would substituting a macro for '...' suddenly make the nonsense
statement

return function_1 (z, ...);

mean anything?  That won't even compile, let alone do what you want.


well ... it does compile (2.95.3)

aim is easy to find (function_2 is public method doing a bit known (i.e. 
z argument pre-checking), whereas function_1 is internal (of a library 
for example)). ... also I have to admit, a macro() is probably the best 
choice in most case.




  It may be impossible in practice, but it is supposed to be possible to do
this, depsite what Andreas Schwab wrote two messages (and five months)
upthread.  Gcc has some functions such as __builtin_apply_args,
__builtin_apply and __builtin_return that let you attempt this, but they are
very tricky features to get right and may fail on some platforms or in some
corner cases.  See the gcc manual section on constructing function calls, at


a question concerning the __builtin_* functions: could these functions 
help me in finding out whether there are at lease 1 argument passed ?

The background is the following constructs:

function b(q,w,f,va_list a) {

}

function a(x,f,...) {
va_list a;
va_start(a,f);
b(q,w,f,a);
va_end(a)
}

How can check in function b that there is at least 1 parameter ?
i.e. How can I avoid such things like a(x,%s) = b(q,w,%s,a)



cheers,
  DaveK


--JYB


Re: RFC: Memory SSA. A redesign of the virtual operand scheme.

2006-03-09 Thread Daniel Berlin
On Wed, 2006-03-08 at 15:05 -0500, Andrew Pinski wrote:
 I notice in your PDF, you have:
 Since alias analysis results are often conservative, may-alias sets my 
 contain tens
 and enve hundreds of symbols.
 
 Is there a reason why not tune the aliasing anaysis to return more liberal 
 results
 instead of changing the representation?

Because you can't.  

 
 From looking at Tramp3D, I found (and filed) a case where the aliasing anaysis
 was too conservative.

The analysis you ask for is, in general, impossible.  Even if we went
the ridiculous route of trying to special case every single situation
where we knew we could remove some single thing from an alias set, they
would still be too conservative in some places.


   Also that was the only case I could find and it would
 reduce the VOPs for this testcase after fixing this issue.  I filed this as
 PR 26609.

Removing the vops in this testcase is possible, but a bit tricky, and
somewhat irrelevant.

 I can look at the other testcases you mention and find more cases where
 aliasing analysis is very conservative and file the bugs for them.  This
 seems like a better plan than just changing the representation to work
 around the fact the may-alias sets are big.

may-alias sets may be big, this is a fact of life.  As we get into
interprocedural and whole-program analysis, they are going to get
bigger, not smaller.

Designing a representation that can represent large may-alias sets well
is
1. A very good idea
2. Completely orthogonal to improving aliasing set precision.

Claiming that we will never need this representation because we can
always just increase alias precision is not a good argument to make,
because it is provably false.






Would like to use gcc source code to improve compiler development skills

2006-03-09 Thread Lalit Gidwani
I have C/C++/Java programming skills. I have also
studied a couple of books on compiler development. I
would like to start with a project that will provide
me with the experience of having participated in a
real compiler development effort. I am interested in
C/C++/Java.

Can you tell me which module I should download from
your CVS server. I would like to study code for all
the major phases including lexical analysis, parsing,
semantic analysis, intermediate code generation,
optimation, and code generation.

Sincerely,

Lalit Gidwani

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


Re: Bogus trees from Ada front-end (more VRP vs Ada) stuff)

2006-03-09 Thread Robert Dewar

Jeffrey A Law wrote:

Presumably there's a reason why enumeral types don't have a 
base type?


They don't in Ada (since there is no issue at the Ada semantic
level of out of range intermediate values), but we could certainly
introduce such a notion at the implementation level if it helps.


I've got no strong opinions on how to fix this, I just wanted
to throw out another possible approach.

jeff





Re: [RFC] Removal of loop notes

2006-03-09 Thread Joe Buck

  I see that flow no longer uses loop_depth when computing REG_N_REFS, 
  
  That strikes me as wrong.  Don't we want to give pseudos that are in loops
  preference over those that aren't?
 
On Thu, Mar 09, 2006 at 09:12:35AM +0100, Zdenek Dvorak wrote:
 we have much more reliable heuristic based on profile information for
 some time now.

Profile information isn't always available.



Re: Would like to use gcc source code to improve compiler development skills

2006-03-09 Thread Jim Blandy
On 3/9/06, Lalit Gidwani [EMAIL PROTECTED] wrote:
 I have C/C++/Java programming skills. I have also
 studied a couple of books on compiler development. I
 would like to start with a project that will provide
 me with the experience of having participated in a
 real compiler development effort. I am interested in
 C/C++/Java.

 Can you tell me which module I should download from
 your CVS server. I would like to study code for all
 the major phases including lexical analysis, parsing,
 semantic analysis, intermediate code generation,
 optimation, and code generation.

The web page http://gcc.gnu.org/install/ has instructions for
downloading the complete GCC sources and building them.

This list is generally meant for discussion about active development
of GCC.  If you find you need help building GCC, you should ask those
questions on the gcc-help mailing list; see
http://gcc.gnu.org/lists.html.


Re: [RFC] Removal of loop notes

2006-03-09 Thread Joe Buck

On 3/9/06, Joe Buck [EMAIL PROTECTED] wrote:
  Profile information isn't always available.

On Thu, Mar 09, 2006 at 06:26:27PM +0100, Steven Bosscher wrote:
 But branch predictions are, and those are still far more reliable than loop
 notes. The predictions use natural loop discovery and they are exact for
 loops with a known number of iterations.

Agreed.



Crazy ICE from gcc 4.1.0

2006-03-09 Thread Alan Lehotsky
I've built a generic 4.1.0 for RH7.3 x86 linux (I did a make bootstrap)

Compiling a rather large file, I get 

tmp.f_00.cxx:26432: error: unrecognizable insn:
(insn 173 172 174 9 (set (reg:QI 122)
(const_int 128 [0x80])) -1 (nil)
(nil))
tmp.f_00.cxx:26432: internal compiler error: in extract_insn, at 
recog.c:2020


Which looks insane, because there's a perfectly good define_insn (cf *movqi_1 
in i386.md)
I'm trying to reduce this to a reasonably sized test case (and I'm going to try 
debugging this in the recognizer),
but I can't see why this instruction isn't matching the 2nd constraint 
alternative and just producing a movb r,#128


(define_insn *movqi_1
  [(set (match_operand:QI 0 nonimmediate_operand =q,q ,q ,r,r ,?r,m)
(match_operand:QI 1 general_operand   q,qn,qm,q,rn,qm,qn))]
  GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM
{
  switch (get_attr_type (insn))
{
case TYPE_IMOVX:
  gcc_assert (ANY_QI_REG_P (operands[1]) || GET_CODE (operands[1]) == MEM);
  return movz{bl|x}\t{%1, %k0|%k0, %1};
default:
  if (get_attr_mode (insn) == MODE_SI)
return mov{l}\t{%k1, %k0|%k0, %k1};
  else
return mov{b}\t{%1, %0|%0, %1};
}
}



AST dump

2006-03-09 Thread Darthrader

Hi,

Can someone tell me what do unql,high,low refer to in the dump generated by
gcc using -fdump-tree-original-raw.

@10 integer_type name: @20  unql: @21  size: @22
 algn: 64   prec: 36   unsigned
 min : @23  max : @24

@27 integer_cst  type: @13  high: -1   low : -2147483648

Darth
--
View this message in context: 
http://www.nabble.com/AST-dump-t1252187.html#a3318259
Sent from the gcc - Dev forum at Nabble.com.



Re: Crazy ICE from gcc 4.1.0

2006-03-09 Thread Paul Brook
On Thursday 09 March 2006 18:04, Alan Lehotsky wrote:
 I've built a generic 4.1.0 for RH7.3 x86 linux (I did a make bootstrap)

 Compiling a rather large file, I get

 tmp.f_00.cxx:26432: error: unrecognizable insn:
 (insn 173 172 174 9 (set (reg:QI 122)
 (const_int 128 [0x80])) -1 (nil)
 (nil))
 tmp.f_00.cxx:26432: internal compiler error: in extract_insn, at
 recog.c:2020


 Which looks insane, because there's a perfectly good define_insn (cf
 *movqi_1 in i386.md) 

It's invalid RTL. The constant isn't properly sign extended.
It should be (const int -128 [0xff80])

Paul


Re: gcc-4.2-20060304 is now available

2006-03-09 Thread Gerald Pfeifer
On Mon, 6 Mar 2006, Joseph S. Myers wrote:
 It is a bit weird that objcp is included in the gcc-core download.  It 
 could be included in the gcc-objc download (or in a separate objcp 
 download).  But
 It should go in an objcp download.  sourcebuild.texi includes updating 
 the release script as one of the things to do when contributing a new 
 front end.

Hmm, do we really want to split of another .tar file?

Looking at the current sizes

  gcc-core-4.2-20060304.tar.bz2  = 15703096
  gcc-g++-4.2-20060304.tar.bz2   =  3905138
  gcc-objc-4.2-20060304.tar.bz2  =   191280
  gcc-fortran-4.2-20060304.tar.bz2   =   793478
  gcc-testsuite-4.2-20060304.tar.bz2 =  3606941

I'd really suggest to make this part of gcc-objc instead of adding
another one.

Gerald


Re: GCC for SPARC Systems

2006-03-09 Thread Rainer Orth
Alexey Starovoytov [EMAIL PROTECTED] writes:

 We are pleased to announce the availability of GCC for SPARC (R) Systems
 (GCCfss) at http://cooltools.sunsource.net/gcc/
 
 GCCfss extends GCC to be able to use
 the optimizing Sun(tm) Code Generator for SPARC systems (SCGfss).

A couple of questions:

* Would it be possible to use the same technique for Solaris/x86 or
  Linux/x86, too?  Both versions of Studio 11 provide libsunir.so as well.

* Maybe it would be possible to perform further development on a vendor
  branch in the GCC svn repository?  I'm not sure if this would require SC
  buy-in, though.  Perhaps the changes might become acceptible for FSF GCC
  at some point in time; there have been discussions over at
  opensolaris.org about opening the sources to the Sun compilers.

Thanks.
Rainer

-- 
-
Rainer Orth, Faculty of Technology, Bielefeld University


gcc-4.0-20060309 is now available

2006-03-09 Thread gccadmin
Snapshot gcc-4.0-20060309 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/4.0-20060309/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 4.0 SVN branch
with the following options: svn://gcc.gnu.org/svn/gcc/branches/gcc-4_0-branch 
revision 111910

You'll find:

gcc-4.0-20060309.tar.bz2  Complete GCC (includes all of below)

gcc-core-4.0-20060309.tar.bz2 C front end and core compiler

gcc-ada-4.0-20060309.tar.bz2  Ada front end and runtime

gcc-fortran-4.0-20060309.tar.bz2  Fortran front end and runtime

gcc-g++-4.0-20060309.tar.bz2  C++ front end and runtime

gcc-java-4.0-20060309.tar.bz2 Java front end and runtime

gcc-objc-4.0-20060309.tar.bz2 Objective-C front end and runtime

gcc-testsuite-4.0-20060309.tar.bz2The GCC testsuite

Diffs from 4.0-20060302 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-4.0
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.


regmove.c and call_used_regs[]

2006-03-09 Thread Jeffri Tan
I am working on a port with gcc-4.0.2, and I've been getting a 
segmentation fault when call_used_regs[] is referenced with a pseudo 
register in fixup_match_2() in regmove.c.


   if (call_used_regs[REGNO(dst)])
   || find_reg_fusage (p, CLOBBER, dst))
  break;
   ...
}

regmove_optimize() calls fixup_match_2(), and checks that REGNO(dst) is 
a pseudo register, or it will skip the piece of code that calls 
fixup_match_2().


 if (!REG_P (dst)
 || REGNO (dst)  FIRST_PSEUDO_REGISTER
 || REG_LIVE_LENGTH (REGNO (dst))  0
 || GET_MODE (src) != GET_MODE (dst))
   continue;
.
 if (REGNO (src)  FIRST_PSEUDO_REGISTER)
   {
 if (GET_CODE (SET_SRC (set)) == PLUS
  GET_CODE (XEXP (SET_SRC (set), 1)) == CONST_INT
  XEXP (SET_SRC (set), 0) == src
  fixup_match_2 (insn, dst, src,
   XEXP (SET_SRC (set), 1),
   regmove_dump_file))
   break;

Is there another area within regmove_optimize() that constrains the dst 
to be a real register? That would prevent the segmentation fault when 
call_used_regs[] is accessed with a pseudo register.


Thanks for your help.

Jeffri

http://www.google.com/url?sa=Dq=http%3A%2F%2Fwww.autospies.com%2Farticle%2Findex.asp%3FarticleId%3D6654%26categoryId%3D 





Problem with pex-win32.c

2006-03-09 Thread Mark Mitchell
Ian --

The new pex-win32.c code doesn't operate correctly when used for
MinGW-hosted tools invoked from a Cygwin window.  In particular, process
creation (gcc invoking as, say) results in a DOS console window
popping up.  When invoked from a DOS window, things are fine.

The reason for this problem is that the current code uses MSVCRT's spawn
to create the process, and that function doesn't provide fine enough
control.  You have to use CreateProcess to make this work as desired.
When invoking CreateProcess, you must set bInheritHandle to TRUE and
pass a long a STARTUPINFO structure with dwFlags set to
STARTF_USESTDHANDLES, and the various hStd* handle fields set to the
values from the calling process.  (I'm pretty sure that CodeSourcery
posted patches that did that at one point; they were in our 3.4-based
toolchains.)

You might think that linking with -mwindows would work, and, indeed that
avoids the DOS windows popping up in Cygwin -- but they you get no
output at all under Windows.

I guess I have two questions: (a) do you feel like fixing this, and (b)
if not, do you have any objection to using CreateProcess?

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


prev_nonnote_insn that follow branches?

2006-03-09 Thread DJ Delorie

Is there a function like prev_nonnote_insn that, when it encounters a
label preceeded by a barrier, attempts to determine if there's a
single jump to that branch and returns it if so?


Re: GCC for SPARC Systems

2006-03-09 Thread Alexey Starovoytov
On Thu, 9 Mar 2006, Rainer Orth wrote:

 Alexey Starovoytov [EMAIL PROTECTED] writes:

  We are pleased to announce the availability of GCC for SPARC (R) Systems
  (GCCfss) at http://cooltools.sunsource.net/gcc/
 
  GCCfss extends GCC to be able to use
  the optimizing Sun(tm) Code Generator for SPARC systems (SCGfss).

 A couple of questions:

 * Would it be possible to use the same technique for Solaris/x86 or
   Linux/x86, too?  Both versions of Studio 11 provide libsunir.so as well.

It is certainly possible, but considered as not desirable.
As an engineer I can say that it wouldn't be too difficult to do the x86,
but I don't think it will happen any time soon.

 * Maybe it would be possible to perform further development on a vendor
   branch in the GCC svn repository?  I'm not sure if this would require SC
   buy-in, though.  Perhaps the changes might become acceptible for FSF GCC
   at some point in time; there have been discussions over at
   opensolaris.org about opening the sources to the Sun compilers.

Personally I'd like to arrange it as a gcc branch or contribute it
in some way, but my previous effort of much smaller scale (gcc2c) had
quite negative reception, so I don't expect any sort of approval.

Also I'd like to emphasize that GCC for SPARC Systems is trying to deliver
performance on SPARC cpus to those users who use plain GCC compiler there.
That's it.

I tried to explain my personal opinion of gcc4ss vs gcc on sparc on my blog:
http://blogs.sun.com/roller/page/alexey

Please don't hesitate to ask questions.
I'll be glad to share the details of implementation and hope that few things
may be useful to GCC developers as well.

Thank you.

Alexey.


 Thanks.
   Rainer

 --
 -
 Rainer Orth, Faculty of Technology, Bielefeld University





Re: GCC for SPARC Systems

2006-03-09 Thread Daniel Berlin

  * Maybe it would be possible to perform further development on a vendor
branch in the GCC svn repository?  I'm not sure if this would require SC
buy-in, though.  Perhaps the changes might become acceptible for FSF GCC
at some point in time; there have been discussions over at
opensolaris.org about opening the sources to the Sun compilers.
 
 Personally I'd like to arrange it as a gcc branch or contribute it
 in some way, but my previous effort of much smaller scale (gcc2c) had
 quite negative reception, so I don't expect any sort of approval.

Honestly, i doubt you would ever get it.  At a bare minimum, i'd expect
nobody would even consider it until the sources to Sun's compilers were
GPL'd or put under a GPL compatible license[1].
  
 
 Also I'd like to emphasize that GCC for SPARC Systems is trying to deliver
 performance on SPARC cpus to those users who use plain GCC compiler there.

Right. and instead of taking the route that other companies like IBM,
and recently, Intel and HP, have taken, which is to work *with* the GCC
community, and improve GCC, Sun apparently has decided to just work
around it.

It is one thing to say that short term, you need to do something else
(like hook up GCC to ORC or something) because GCC won't improve fast
enough.  But as far as i can tell Sun has absolutely no long term goal
to actually attempt to improve GCC so they don't need to do these kinds
of things.

[1] For the curious, what they are doing is simply taking our IR, and
converting it to their IR, and writing it to a file, and then passing
the file off to something else.  Much like Open64 did.



Re: Problem with pex-win32.c

2006-03-09 Thread Ian Lance Taylor
Mark Mitchell [EMAIL PROTECTED] writes:

 The new pex-win32.c code doesn't operate correctly when used for
 MinGW-hosted tools invoked from a Cygwin window.  In particular, process
 creation (gcc invoking as, say) results in a DOS console window
 popping up.  When invoked from a DOS window, things are fine.
 
 The reason for this problem is that the current code uses MSVCRT's spawn
 to create the process, and that function doesn't provide fine enough
 control.  You have to use CreateProcess to make this work as desired.
 When invoking CreateProcess, you must set bInheritHandle to TRUE and
 pass a long a STARTUPINFO structure with dwFlags set to
 STARTF_USESTDHANDLES, and the various hStd* handle fields set to the
 values from the calling process.  (I'm pretty sure that CodeSourcery
 posted patches that did that at one point; they were in our 3.4-based
 toolchains.)
 
 You might think that linking with -mwindows would work, and, indeed that
 avoids the DOS windows popping up in Cygwin -- but they you get no
 output at all under Windows.
 
 I guess I have two questions: (a) do you feel like fixing this, and (b)
 if not, do you have any objection to using CreateProcess?

I just copied the use of spawn from the earlier pex-win32
implementation.  The pex_win32_exec_child function is basically
exactly the same code as before.  I certainly have no objection to
using CreateProcess instead.

I could try a patch, but I can't test it, because I don't have a
Windows system.  So it might be better if somebody else tackled it.

Ian


[Bug c++/26615] New: compute size of static table in compile time rejected.

2006-03-09 Thread pluto at agmk dot net
#include cstdio

template  typename T, std::size_t N 
char[N] sizer( T (array)[N] );  === gcc error:
 expected unqualified-id before #8216;[#8217;
token

int main()
{
int t[15];
printf(%Zd\n, sizeof(sizer(t)));
return 0;
}


-- 
   Summary: compute size of static table in compile time rejected.
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pluto at agmk dot net
 GCC build triplet: x86-64-linux
  GCC host triplet: x86-64-linux
GCC target triplet: x86-64-linux


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



[Bug c/26616] New: internal compiler error: in fixup_var_refs_1

2006-03-09 Thread orenskl at lipman dot co dot il
I get an ICE when compiling net/core/dev.o from the linux kernel 2.6.11.6, this
does not happen if I remove the -Os option or when compiling for ARM (not
thumb)

The dev.i file is 510K, how do I upload it ?

output :

Reading specs from /cygdrive/c/gccarm/lib/gcc/arm-elf/3.4.0/specs
Configured with:
/cygdrive/c/Projects/PreProjects/uclinux/2_6/tools/gcc-3.4.0/configure
--host=i386-pc-cygwin32 --target=arm-elf --prefix=/cygdrive/c/gccarm
--enable-languages=c --enable-multilib --enable-target-optspace --with-gnu-ld
--disable-nls --with-float=soft --disable-__cxa_atexit --disable-c99
--disable-clocale --disable-c-mbchar --disable-long-long --enable-threads=posix
--enable-cxx-flags=-D_ISOC99_SOURCE -D_BSD_SOURCE
Thread model: posix
gcc version 3.4.0
 /cygdrive/c/gccarm/libexec/gcc/arm-elf/3.4.0/cc1.exe -E -quiet -nostdinc -v
-Iinclude -D__ARM_ARCH_4T__ -D__USES_INITFINI__ -D__KERNEL__ -D__linux__
-D__LINUX_ARM_ARCH__=4 -Uarm -DKBUILD_BASENAME=dev -DKBUILD_MODNAME=dev
-isystem /cygdrive/c/gccarm/lib/gcc/arm-elf/3.4.0/include -MD net/core/.dev.o.d
net/core/dev.c -mapcs -mno-sched-prolog -mbig-endian -mapcs-32 -march=armv4t
-mtune=arm7tdmi -malignment-traps -msoft-float -mthumb -mthumb-interwork -Wall
-Wstrict-prototypes -Wno-trigraphs -Wdeclaration-after-statement
-fno-strict-aliasing -fno-common -ffreestanding -fno-omit-frame-pointer
-fno-builtin -fno-omit-frame-pointer -Os -o dev.i
#include ... search starts here:
#include ... search starts here:
 include
 /cygdrive/c/gccarm/lib/gcc/arm-elf/3.4.0/include
End of search list.
 /cygdrive/c/gccarm/libexec/gcc/arm-elf/3.4.0/cc1.exe -fpreprocessed dev.i
-quiet -dumpbase dev.c -mapcs -mno-sched-prolog -mbig-endian -mapcs-32
-march=armv4t -mtune=arm7tdmi -malignment-traps -msoft-float -mthumb
-mthumb-interwork -auxbase-strip net/core/dev.o -Os -Wall -Wstrict-prototypes
-Wno-trigraphs -Wdeclaration-after-statement -version -fno-strict-aliasing
-fno-common -ffreestanding -fno-omit-frame-pointer -fno-builtin
-fno-omit-frame-pointer -o dev.s
GNU C version 3.4.0 (arm-elf)
compiled by GNU C version 3.4.4 (cygming special) (gdc 0.12, using dmd
0.125).
GGC heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=64430
net/core/dev.c: In function `dev_ifsioc':
net/core/dev.c:2344: warning: comparison of distinct pointer types lacks a cast
net/core/dev.c:2365: warning: comparison of distinct pointer types lacks a cast
net/core/dev.c: In function `dev_alloc_name':
net/core/dev.c:719: internal compiler error: in fixup_var_refs_1, at
function.c:1867
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions. 

Command line :

arm-elf-gcc -Wp,-MD,net/core/.dev.o.d -nostdinc -isystem
/cygdrive/c/gccarm/lib/gcc/arm-elf/3.4.0/include -D__KERNEL__ -Iinclude  -Wall
-Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common
-ffreestanding  -fno-omit-frame-pointer -fno-builtin -D__linux__
-fno-omit-frame-pointer -mapcs -mno-sched-prolog -mbig-endian -mapcs-32
-D__LINUX_ARM_ARCH__=4 -march=armv4t -mtune=arm7tdmi -malignment-traps
-msoft-float -Uarm -mthumb -mthumb-interwork -Wdeclaration-after-statement
-DKBUILD_BASENAME=dev -DKBUILD_MODNAME=dev -c -o net/core/dev.o net/core/dev.c
-Os -v -save-temp


-- 
   Summary: internal compiler error: in fixup_var_refs_1
   Product: gcc
   Version: 3.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: orenskl at lipman dot co dot il
 GCC build triplet: i386-pc-cygwin32
  GCC host triplet: i386-pc-cygwin32
GCC target triplet: arm-elf-gcc


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



[Bug c++/26615] compute size of static table in compile time rejected.

2006-03-09 Thread pluto at agmk dot net


--- Comment #1 from pluto at agmk dot net  2006-03-09 09:43 ---
ooops, it's invalid c++ (returning an array) code.

the better testcase is:

template  typename T, std::size_t N 
char[N] sizer( T (array)[N] );

the `char ()[15]` can be returned by function.


-- 


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



[Bug c++/26615] compute size of static table in compile time rejected.

2006-03-09 Thread pluto at agmk dot net


--- Comment #2 from pluto at agmk dot net  2006-03-09 10:10 ---
(In reply to comment #1)
 ooops, it's invalid c++ (returning an array) code.
 
 the better testcase is:
 
 template  typename T, std::size_t N 
 char[N] sizer( T (array)[N] );
 
 the `char ()[15]` can be returned by function.
 

ok, my fault:/ now it works.

template  typename T, std::size_t N 
char (sizer( T (array)[N] ))[N];


-- 

pluto at agmk dot net changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug java/26617] New: A class from an unnamed package is visible to classes in named packages

2006-03-09 Thread rmathew at gcc dot gnu dot org
GCJ allows classes in named packages to see classes in unnamed packages.

For example:

 ./Snafu.java 
public class Snafu { }
--

 ./foo/Bar.java 
package foo;
// import Snafu;
public class Bar
{
  Snafu junk;
}


Note that GCJ accepts the code in foo/Bar.java with
or without the line commenting out the import declaration.

Both Jikes 1.22 and Sun's JDK 1.5.0_05 reject this
code.


-- 
   Summary: A class from an unnamed package is visible to classes in
named packages
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rmathew at gcc dot gnu dot org


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



[Bug target/26541] std lib problems at link time

2006-03-09 Thread multix at gmail dot com


--- Comment #3 from multix at gmail dot com  2006-03-09 10:22 ---
If I compile 3.4.5 using --disable-shared the problem goes away, thus it is a
problem with the shared library.


-- 


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



[Bug tree-optimization/25449] [4.0] endless loop in nbench neural net with -ftree-loop-linear

2006-03-09 Thread RonnyPeine at gmx dot de


--- Comment #5 from RonnyPeine at gmx dot de  2006-03-09 10:37 ---
(In reply to comment #4)
 Is there a testcase other than just compile and run nbench with
 -ftree-loop-linear?
 
Yes, see PR20256: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20256
This is just a duplicate bugreport.


-- 


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



[Bug c/26616] internal compiler error: in fixup_var_refs_1

2006-03-09 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2006-03-09 10:39 ---
Try a more recent release from the 3.4 series first, please.  Otherwise, just
attach the preprocessed source to the bug.


-- 


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



[Bug c/26616] internal compiler error: in fixup_var_refs_1

2006-03-09 Thread orenskl at lipman dot co dot il


--- Comment #2 from orenskl at lipman dot co dot il  2006-03-09 11:17 
---
Created an attachment (id=11008)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11008action=view)
bug test case

Bug happens also on GCC 3.4.5


-- 


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



[Bug c/26616] internal compiler error: in fixup_var_refs_1

2006-03-09 Thread orenskl at lipman dot co dot il


--- Comment #3 from orenskl at lipman dot co dot il  2006-03-09 11:17 
---
Bug happens also on GCC 3.4.5


-- 


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



[Bug tree-optimization/25449] [4.0] endless loop in nbench neural net with -ftree-loop-linear

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2006-03-09 13:28 ---


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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||DUPLICATE


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



[Bug tree-optimization/20256] Perfect nest transformation not conservative enough

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #10 from pinskia at gcc dot gnu dot org  2006-03-09 13:28 
---
*** Bug 25449 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||RonnyPeine at gmx dot de


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



[Bug middle-end/26616] internal compiler error: in fixup_var_refs_1

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-03-09 13:32 ---
One more thing, 3.4.6 (which has not been announced yet but it is on the ftp
server) is the last 3.4.x release.


-- 


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



[Bug rtl-optimization/26619] New: Compiler fails to correctly initialize global reg variable

2006-03-09 Thread dave dot mueller at gmx dot ch
GCC 4.1.0 initializes another register than the one specified in the
definition. 
I'm not sure it this has also something to do with bug 21596. 
The same testcase built with GCC 3.4.4 is correct.


-- 
   Summary: Compiler fails to correctly initialize global reg
variable
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dave dot mueller at gmx dot ch
  GCC host triplet: i686-gnu-linux
GCC target triplet: arm-linux, powerpc-linux


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



[Bug rtl-optimization/26619] Compiler fails to correctly initialize global reg variable

2006-03-09 Thread dave dot mueller at gmx dot ch


--- Comment #1 from dave dot mueller at gmx dot ch  2006-03-09 13:59 ---
Created an attachment (id=11009)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11009action=view)
PowerPC .i file


-- 


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



[Bug rtl-optimization/26619] Compiler fails to correctly initialize global reg variable

2006-03-09 Thread dave dot mueller at gmx dot ch


--- Comment #2 from dave dot mueller at gmx dot ch  2006-03-09 14:00 ---
Created an attachment (id=11010)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11010action=view)
PowerPC .s file


-- 


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



[Bug rtl-optimization/26619] Compiler fails to correctly initialize global reg variable

2006-03-09 Thread dave dot mueller at gmx dot ch


--- Comment #3 from dave dot mueller at gmx dot ch  2006-03-09 14:01 ---
Created an attachment (id=11011)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11011action=view)
ARM .s file


-- 


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



[Bug rtl-optimization/26619] Compiler fails to correctly initialize global reg variable

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-03-09 14:02 ---
local register variables don't do what you think they do.   Hint they only work
with inline-asm.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug rtl-optimization/26619] Compiler fails to correctly initialize global reg variable

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-03-09 14:03 ---
If you want to use r5 the correct way is to do:
register int *foo asm(r5) = 0;
void t1(void)
{
*foo = 1;
}


-- 


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



[Bug middle-end/26616] internal compiler error: in fixup_var_refs_1

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-03-09 14:21 ---
Reduced testcase:
int dev_alloc_name()
{
 int i = 0;
 f(i);
 if (__builtin_constant_p(i))
   g();
}

--
This is fixed in 4.0.0 and above by the tree-ssa merge and cannot be invoked in
4.0.0 and above because __builtin_constant_p is foldded/simplified early on.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug c/26613] Corner case causes garbage to be output by -aux-info switch.

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2006-03-09 14:22 ---
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |minor
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|All |
   GCC host triplet|All |
 GCC target triplet|All |
   Last reconfirmed|-00-00 00:00:00 |2006-03-09 14:22:37
   date||


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



[Bug middle-end/26561] [4.2 Regression] ACATS failures c34004a, c46033a and cxg2024 at -O0

2006-03-09 Thread sayle at gcc dot gnu dot org


--- Comment #7 from sayle at gcc dot gnu dot org  2006-03-09 14:54 ---
Subject: Bug 26561

Author: sayle
Date: Thu Mar  9 14:54:11 2006
New Revision: 111862

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=111862
Log:
2006-03-09  Roger Sayle  [EMAIL PROTECTED]
Eric Botcazou  [EMAIL PROTECTED]

PR middle-end/26561
* fold-const.c (fold_div_compare): When optimizing X/C1 op C2 as
X op C3, consider whether C3 overflows towards +Inf or -Inf.

* gcc.c-torture/execute/divcmp-5.c: New test case.


Added:
trunk/gcc/testsuite/gcc.c-torture/execute/divcmp-5.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/fold-const.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/26509] incorrect behaviour of error-handler for internal read

2006-03-09 Thread jvdelisle at gcc dot gnu dot org


--- Comment #13 from jvdelisle at gcc dot gnu dot org  2006-03-09 14:56 
---
If you are doing sequential writes, the write truncates the file.  So if you
write out 8 bytes where there were 4 before, it just overwrites and extends the
file length if necessary.  All data after the last write goes away.  This is
normal behavior.

If it is DIRECT I/O you are doing, this is a different story and record sizes
are fixed length.


-- 


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



[Bug fortran/26509] incorrect behaviour of error-handler for internal read

2006-03-09 Thread martin at mpa-garching dot mpg dot de


--- Comment #14 from martin at mpa-garching dot mpg dot de  2006-03-09 
15:11 ---
(In reply to comment #13)

 If it is DIRECT I/O you are doing, this is a different story and record sizes
 are fixed length.

Yes, that's what I'm talking about. Consider: 

  PROGRAM TESTRECL
  IMPLICIT NONE

  OPEN(UNIT = 10, FILE = 'test', FORM = 'UNFORMATTED',
 : ACCESS = 'DIRECT', RECL = 4, ERR = 101)

  WRITE(UNIT=10,REC=1,ERR=101) 1d0
  PRINT *,no error detected
  GOTO 102
 101  PRINT *,error detected
 102  CONTINUE
  CLOSE(UNIT=10, STATUS='DELETE')
  END

~/tmpgfortran test3.f
~/tmp./a.out
At line 7 of file test3.f
Fortran runtime error: End of record

All I'm saying is that in this situation there seems to be no way to jump
to some label if something goes wrong (because there is no EOR parameter
for WRITE).
But I agree that this is not gfortran's problem, but rather
an inconsistency in the standard.


-- 


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



[Bug middle-end/26561] [4.2 Regression] ACATS failures c34004a, c46033a and cxg2024 at -O0

2006-03-09 Thread ebotcazou at gcc dot gnu dot org


--- Comment #8 from ebotcazou at gcc dot gnu dot org  2006-03-09 15:32 
---
Thanks Roger!


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c++/26621] New: template Instanciation fails for -O3

2006-03-09 Thread _talyn_ at web dot de
On various architectures all the 4.0.X versions of g++ fail to properly
instanciate some members of a class template if optimisation is set to -O3. For
-O2 everything is fine. 
A test case will be attached.  

Versions tested: 
g++ 4.0.3 20060212 (prerelease) (Debian 4.0.2-9) i686-pc-linux-gnu
g++ 4.0.2 x86_64-redhat-linux
g++ 4.0.1 (Apple Computer, Inc. build 5247)  powerpc-apple-darwin8

Versions known to work: 
g++ 3.4.X


-- 
   Summary: template Instanciation fails for -O3
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: _talyn_ at web dot de
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug c++/26621] template Instanciation fails for -O3

2006-03-09 Thread _talyn_ at web dot de


--- Comment #1 from _talyn_ at web dot de  2006-03-09 16:33 ---
Created an attachment (id=11013)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11013action=view)
Test case consisting of a Makefile and three source files

The makefile runs a compilation and linking with -O2 and -O3, the first
succeeds in linking, the latter not.  


-- 


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



[Bug c++/26621] template Instanciation fails for -O1 -finline-functions

2006-03-09 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Severity|minor   |normal


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



[Bug c++/26621] template Instanciation fails for -O1 -finline-functions

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-03-09 16:49 ---
I don't think this is a bug.  We are inlining CVectorWrap::~CVectorWrap into
main which causes the reference to TTypeWrapper::~TTypeWrapper and
TTypeWrapper::~TTypeWrapper is not used in instance.cc at all so it is not
emitted.


-- 


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



[Bug testsuite/26344] [4.2 Regression] three testsuite failures in gcc.dg/tree-ssa/

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #13 from pinskia at gcc dot gnu dot org  2006-03-09 17:19 
---
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug c/26004] [4.1/4.2 Regression] gcc errors on valid code [SVO]

2006-03-09 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-01-28 15:17:42 |2006-03-09 17:22:00
   date||


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



[Bug testsuite/26344] [4.2 Regression] three testsuite failures in gcc.dg/tree-ssa/

2006-03-09 Thread law at redhat dot com


--- Comment #14 from law at redhat dot com  2006-03-09 18:02 ---
Subject: Re:  [4.2 Regression] three testsuite
failures in gcc.dg/tree-ssa/

On Thu, 2006-03-09 at 17:19 +, pinskia at gcc dot gnu dot org wrote:
 
 --- Comment #13 from pinskia at gcc dot gnu dot org  2006-03-09 17:19 
 ---
 Fixed.
Only two of the three have been fixed.  Please don't close this yet.
jeff


-- 


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



[Bug c++/26621] template Instanciation fails for -O1 -finline-functions

2006-03-09 Thread _talyn_ at web dot de


--- Comment #3 from _talyn_ at web dot de  2006-03-09 18:06 ---
Allocating the CVectorWrap variable dynamically removes the undefined reference
to TTypeWrapper::~TTypeWrapper. I guess that's because it is virtual, and a
dynamic instance of CVectorWrap will call CVectorWrap::~CVectorWrap via VMT.
But this  would mean that a copy of  TTypeWrapper::~TTypeWrapper is somehow
available, just not accessable outside instance.cc.

And there are the other link errors: get_type() and getT() are refereced in
instance.cc. I guess they are inlined therein, and hence, referencing these
functions from wrap_filter fails. 
(In reply to comment #2)
 I don't think this is a bug.  We are inlining CVectorWrap::~CVectorWrap into
 main which causes the reference to TTypeWrapper::~TTypeWrapper and
 TTypeWrapper::~TTypeWrapper is not used in instance.cc at all so it is not
 emitted.
 


-- 


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



[Bug middle-end/26076] ICE in can_throw_internal_1 at except.c:2581

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-03-09 18:27 ---
Confirmed on the mainline.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|c++ |middle-end
 Ever Confirmed|0   |1
  Known to fail||4.2.0
   Last reconfirmed|-00-00 00:00:00 |2006-03-09 18:27:44
   date||
Summary|[gomp] ICE in   |ICE in can_throw_internal_1
   |can_throw_internal_1 at |at except.c:2581
   |except.c:2581   |


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



[Bug c++/25952] -fopenmp causes ICE on valid code

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-03-09 18:31 ---
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug middle-end/26611] [GOMP] openmp gomp ICE at gimplify.c:4257

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-03-09 18:33 ---
Also happens on the mainline now.  Reducing.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||error-recovery, ice-on-
   ||invalid-code


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



[Bug middle-end/26611] [GOMP] openmp gomp ICE at gimplify.c:4257

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-03-09 18:43 ---
Confirmed, reduced testcase:
int t;

void search()
{
#pragma omp parallel for
 for (int i = 0; i  1000; ++i) try {
   mm::print(t);
 }catch(...){}
}


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-03-09 18:43:30
   date||


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



[Bug c++/26084] ICE (segfault) on C++ OpenMP code

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-03-09 18:49 ---
PR 26076 has a reducer testcase and I can reduce the testcase in here into that
one.

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||DUPLICATE
Summary|[gomp-branch] ICE (segfault)|ICE (segfault) on C++ OpenMP
   |on C++ OpenMP code  |code


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



[Bug middle-end/26076] ICE in can_throw_internal_1 at except.c:2581

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-03-09 18:49 ---
*** Bug 26084 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug middle-end/26076] ICE in can_throw_internal_1 at except.c:2581

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-03-09 18:53 ---
A little simplier testcase is:
struct A
{
~A();
};
void foo()
{
#pragma omp parallel
A a, b;
}


-- 


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



[Bug c++/26084] ICE (segfault) on C++ OpenMP code

2006-03-09 Thread dnovillo at gcc dot gnu dot org


--- Comment #8 from dnovillo at gcc dot gnu dot org  2006-03-09 19:01 
---

Andrew, please do not close bugs if you do not understand the problem.  You
obviously have not even tried to understand the problem.  This PR is related to
26076 but it is *not* a duplicate.

The patch that I developed originally fixes the reduced cases in this PR and
26076, but it DOES NOT fix the unreduced test case.

There are more interactions with EH than what my initial patch fixed.  Richard
is looking at fixing the original, unreduced case in this PR.


-- 

dnovillo at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rth at gcc dot gnu dot org
  BugsThisDependsOn|26076   |
 Status|RESOLVED|REOPENED
 Resolution|DUPLICATE   |


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



[Bug libgcj/24461] array access in either GZIPInputStream, Inflater, natInflate.cc, or zlib

2006-03-09 Thread tromey at gcc dot gnu dot org


--- Comment #4 from tromey at gcc dot gnu dot org  2006-03-09 19:02 ---
Testing a patch.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |tromey at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2005-10-24 19:05:27 |2006-03-09 19:02:16
   date||


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



[Bug c++/26084] ICE (segfault) on C++ OpenMP code

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #9 from pinskia at gcc dot gnu dot org  2006-03-09 19:03 ---
(In reply to comment #8)
 Andrew, please do not close bugs if you do not understand the problem.  You
 obviously have not even tried to understand the problem.  This PR is related 
 to
 26076 but it is *not* a duplicate.

Then there are two issues, one for the reduced testcase which is PR 26076 and
another issue.  But please don't say I don't understand the issue when the fact
is this testcase here actually reduces to the testcase in PR 26076.


-- 


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



[Bug c++/26084] ICE (segfault) on C++ OpenMP code

2006-03-09 Thread dnovillo at redhat dot com


--- Comment #10 from dnovillo at redhat dot com  2006-03-09 19:10 ---
Subject: Re:  ICE (segfault) on C++ OpenMP code

On 03/09/06 14:03, pinskia at gcc dot gnu dot org wrote:

 Then there are two issues, one for the reduced testcase which is PR 26076 and
 another issue.  But please don't say I don't understand the issue when the 
 fact
 is this testcase here actually reduces to the testcase in PR 26076.
 
The fact that you closed one as a duplicate of the other is a clear
indication that you have no idea what the issue is about.  Reducing one
test case to another one means nothing.  The very reduction removes
information that hides other bugs, or other aspects of the same bug.

If you are so keen on closing PRs, close 26076 as a duplicate of this one.


-- 


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



[Bug c++/26084] ICE (segfault) on C++ OpenMP code

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #11 from pinskia at gcc dot gnu dot org  2006-03-09 19:17 
---
(In reply to comment #10)
 If you are so keen on closing PRs, close 26076 as a duplicate of this one.

If you had written a status on this bug before I closed it as a dup, I would
not have closed it as a dup because I would have read that it was not fully a
dup.  Also really a secondary bug should be opened for the other bug you found
after fixing the reduced testcase with a new reduced testcase instead of not
just agrueeing in this bug.  There was no way to know what was going on without
status of the bug in the bug comments itself.  (Note this applies for all the
bug assigned to people).


-- 


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



[Bug libgcj/23495] java.lang.String.equals is suboptimal

2006-03-09 Thread tromey at gcc dot gnu dot org


--- Comment #12 from tromey at gcc dot gnu dot org  2006-03-09 19:17 ---
Fair enough.  I'm handling this.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |tromey at gcc dot gnu dot
   |dot org |org
 Status|WAITING |ASSIGNED
   Last reconfirmed|2005-08-20 19:41:09 |2006-03-09 19:17:54
   date||


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



[Bug c++/26084] ICE (segfault) on C++ OpenMP code

2006-03-09 Thread dnovillo at redhat dot com


--- Comment #12 from dnovillo at redhat dot com  2006-03-09 19:28 ---
Subject: Re:  ICE (segfault) on C++ OpenMP code

On 03/09/06 14:17, pinskia at gcc dot gnu dot org wrote:

 If you had written a status on this bug before I closed it as a dup,
 I would not have closed it as a dup because I would have read that it
 was not fully a dup.
 
When in doubt, ask.  I don't have the time you seem to have to keep a
perfectly up-to-date status on the PRs I have in my queue.

I understand that you as a bugmaster would like to minimize open PRs and
have perfect information on all of them, but such is life.  It's an
imperfect system and the bugs will not always have all the information
you want in them.

Unless you are absolutely certain (i.e., you have worked on a patch or
debugged the problem in detail), you should ask the developer who was
last working on the bug to see what the status is.


-- 


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



[Bug c++/26622] New: ICE in extract_insn, at recog.c:2084

2006-03-09 Thread apl at alum dot mit dot edu
Test case is huge (26KLOC), but only takes a fraction of a second to compile
and die.

Just compile with

   g++ -c ice.i

I'll append the test case momentarily


-- 
   Summary: ICE in extract_insn, at recog.c:2084
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: apl at alum dot mit dot edu
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug c++/26622] ICE in extract_insn, at recog.c:2084

2006-03-09 Thread apl at alum dot mit dot edu


--- Comment #1 from apl at alum dot mit dot edu  2006-03-09 19:43 ---
Created an attachment (id=11014)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11014action=view)
test causing ICE


-- 


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



[Bug c++/26622] ICE in extract_insn, at recog.c:2084

2006-03-09 Thread apl at alum dot mit dot edu


--- Comment #2 from apl at alum dot mit dot edu  2006-03-09 19:49 ---
 /tools/linux/gcc-4.1.0/bin/g++ -c ice.i
tmp.f_00.cxx: In member function 'void
CarbonDesignSystems__design::c_top::f_$block_selfcycle3_v_L7_253_()':
tmp.f_00.cxx:26432: error: unrecognizable insn:
(insn 176 175 177 12 (set (reg:QI 119)
(const_int 128 [0x80])) -1 (nil)
(nil))
tmp.f_00.cxx:26432: internal compiler error: in extract_insn, at
recog.c:2084
P

I don't understand why the instruction recogizer doesn't match the '*movqi_1'
pattern in expectation of generating a 'movb #128,pseudo119'


-- 

apl at alum dot mit dot edu changed:

   What|Removed |Added

  Component|target  |c++
  Known to fail||4.0.2 4.1.0
  Known to work||3.4.3


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



[Bug target/26622] ICE in extract_insn, at recog.c:2084

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-03-09 19:56 ---
This works for me on x86_64-linux with -m32.


-- 


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



[Bug libgomp/26165] Cannot find libgomp.spec after 'make install' on x86_64 and ppc64

2006-03-09 Thread dnovillo at gcc dot gnu dot org


--- Comment #3 from dnovillo at gcc dot gnu dot org  2006-03-09 20:07 
---

 Diego, is this still an issue on mainline?  I can look into the runtime error,
 though.
 
Works now.  I can live with the LD_LIBRARY_PATH problem.  Though I don't
remember how we handle other libraries like libgfortran and libstc++ (I do need
to set LD_LIBRARY_PATH for fortran, IIRC).


-- 

dnovillo at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME


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



[Bug target/23301] [4.0/4.1/4.2 Regression] sys/ucontext.h missing on powerpc-*-darwin5.*

2006-03-09 Thread geoffk at gcc dot gnu dot org


--- Comment #6 from geoffk at gcc dot gnu dot org  2006-03-09 20:19 ---
darwin5.5 is not a viable host OS for GCC; you need to upgrade.  It has, at
least, bugs in mmap.  I think at this point you probably need Mac OS
10.3/darwin7.0 or later, but it's likely that 10.2 will work fairly well.


-- 

geoffk at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WONTFIX


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



[Bug libgcj/24461] array access in either GZIPInputStream, Inflater, natInflate.cc, or zlib

2006-03-09 Thread tromey at gcc dot gnu dot org


--- Comment #5 from tromey at gcc dot gnu dot org  2006-03-09 20:22 ---
Subject: Bug 24461

Author: tromey
Date: Thu Mar  9 20:21:58 2006
New Revision: 111870

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=111870
Log:
PR libgcj/24461:
* java/util/zip/InflaterInputStream.java (fill): Throw exception
if stream is truncated.

Modified:
trunk/libjava/ChangeLog
trunk/libjava/java/util/zip/InflaterInputStream.java


-- 


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



[Bug target/26622] ICE in extract_insn, at recog.c:2084

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-03-09 20:24 ---
But I can reproduce it on a real i686 machine.  Reducing.


-- 


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



[Bug libgcj/24461] array access in either GZIPInputStream, Inflater, natInflate.cc, or zlib

2006-03-09 Thread tromey at gcc dot gnu dot org


--- Comment #6 from tromey at gcc dot gnu dot org  2006-03-09 20:25 ---
Subject: Bug 24461

Author: tromey
Date: Thu Mar  9 20:25:23 2006
New Revision: 111871

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=111871
Log:
PR libgcj/24461:
* java/util/zip/InflaterInputStream.java (fill): Throw exception
if stream is truncated.

Modified:
branches/gcc-4_1-branch/libjava/ChangeLog
branches/gcc-4_1-branch/libjava/java/util/zip/InflaterInputStream.java


-- 


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



[Bug libgcj/24461] array access in either GZIPInputStream, Inflater, natInflate.cc, or zlib

2006-03-09 Thread tromey at gcc dot gnu dot org


--- Comment #7 from tromey at gcc dot gnu dot org  2006-03-09 20:27 ---
Fix checked in.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.1.1


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



[Bug target/26622] [4.0/4.1/4.2 Regression] ICE in extract_insn, at recog.c:2084

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-03-09 21:12 ---
Confirmed, reduced testcase:
unsigned char m_in4;
unsigned long long block_selfcycle3_v_L7_253_()
{
  return ((long long)((m_in4  0x80) != 0))  7;
}


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-03-09 21:12:11
   date||
Summary|ICE in extract_insn, at |[4.0/4.1/4.2 Regression] ICE
   |recog.c:2084|in extract_insn, at
   ||recog.c:2084
   Target Milestone|--- |4.0.4


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



[Bug target/26622] [4.0/4.1/4.2 Regression] ICE in extract_insn, at recog.c:2084

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2006-03-09 21:17 ---
This looks like another HWI being 32bit bug :( which is why it works on x86_64
with -m32.


-- 


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



[Bug java/26624] New: make install too slow due to CNI header installation

2006-03-09 Thread fitzsim at redhat dot com
make install in libgcj is currently very slow compared to make install-exec
because of the number of CNI headers and how they are installed, that is one
install command per header.  This should be sped up so that we can simply use
make install on rebuilds since this is most likely what the uninitiated will
use.


-- 
   Summary: make install too slow due to CNI header installation
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fitzsim at redhat dot com


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



[Bug java/26625] New: libgcj-4.2.0.jar not rebuilt after a source file change

2006-03-09 Thread fitzsim at redhat dot com
We were modifying libjava/java/lang/Character.java and rebuilding, and
libgcj-4.2.0.jar wasn't being rebuilt.  I didn't try to figure out why but I
thought I'd file the issue since others have seen it too.


-- 
   Summary: libgcj-4.2.0.jar not rebuilt after a source file change
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fitzsim at redhat dot com


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



[Bug awt/22163] scrollbars appear and disappear

2006-03-09 Thread langel at redhat dot com


--- Comment #3 from langel at redhat dot com  2006-03-09 22:09 ---
Fixed.
most widgets are fixed accordingly. I will be fixing the rest and creating
mauve tests for all AWT widgets.


-- 

langel at redhat dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug middle-end/24998] [4.2 Regression] Build failure: undefined symbol __floatunsitf

2006-03-09 Thread wilson at specifix dot com


--- Comment #27 from wilson at specifix dot com  2006-03-09 22:21 ---
Subject: Re:  [4.2 Regression] Build failure: undefined
 symbol __floatunsitf

fxcoudert at gcc dot gnu dot org wrote:
 Adding the maintainers of all those in Cc list. I don't know what
 US_SOFTWARE_GOFAST, but from the last sentence quoted above, it looks like I
 don't really want to know :)

I'll tell you anyways.  See
 http://www.smxinfo.com/ussw/gofast.htm

Our support code hasn't been updated in such a long time that I'm 
skeptical it works with current versions of the gofast library.


-- 


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



[Bug tree-optimization/26626] New: ICE in in add_virtual_operand

2006-03-09 Thread mueller at gcc dot gnu dot org
following testcase ICEs with = -O2 for a few days now:

=== Cut ===
extern int *__errno_location (void) throw () __attribute__ ((__const__));

typedef union {
double d;
unsigned L[2];
} U;

void kjs_strtod()
{
int   rv,e1;
unsigned  z;
if (e1  308) {  ovfl:  (*__errno_location ()) = 34;  }
((U*)rv)-d *= 1e16;
if ((z = ((U*)rv)-L[1]  0x7ff0)  0x10)
goto ovfl;
}
=== Cut===

#1  0x081f2e1b in add_virtual_operand (var=value optimized out, s_ann=value
optimized out, 
flags=value optimized out, full_ref=0xb7d22140, offset=0, size=64,
for_clobber=0 '\0')
at tree-ssa-operands.c:979
#2  0x081f7ecb in get_indirect_ref_operands (stmt=0xb7d1b1d4, expr=0xb7d95b00,
flags=1, 
full_ref=0xb7d22140, offset=0, size=64, recurse_on_base=0 '\0') at
tree-ssa-operands.c:1116
#3  0x081f4105 in get_expr_operands (stmt=0xb7d1b1d4, expr_p=0xb7d1b1f0,
flags=3)
at tree-ssa-operands.c:1617
#4  0x081f5380 in parse_ssa_operands (stmt=0xb7d1b1d4) at
tree-ssa-operands.c:1763
#5  0x081f5be4 in build_ssa_operands (stmt=0xb7d1b1d4) at
tree-ssa-operands.c:1825
#6  0x081f6ec1 in update_stmt_operands (stmt=0xb7d1b1d4) at
tree-ssa-operands.c:1867
#7  0x081b5569 in mark_new_vars_to_rename (stmt=0xb7d1b1d4) at
tree-flow-inline.h:280
#8  0x08246a56 in substitute_and_fold (prop_value=0x87cf580, use_ranges_p=0
'\0')
at tree-ssa-propagate.c:1154
#9  0x081ef1be in execute_copy_prop (store_copy_prop=value optimized out, 
phis_only=value optimized out) at tree-ssa-copy.c:914
#10 0x081ef34f in do_copy_prop () at tree-ssa-copy.c:1048
#11 0x085023fb in execute_one_pass (pass=0x86f8040) at passes.c:863
#12 0x085025a7 in execute_pass_list (pass=0x86f8040) at passes.c:910
#13 0x085025ba in execute_pass_list (pass=0x86f7d40) at passes.c:911
#14 0x081bf996 in tree_rest_of_compilation (fndecl=0xb7dcbc80) at
tree-optimize.c:418
#15 0x0812a906 in expand_body (fn=0xb7dcbc80) at semantics.c:3009
#16 0x085512b5 in cgraph_expand_function (node=0xb7dcbd00) at cgraphunit.c:1102
#17 0x08553d1b in cgraph_optimize () at cgraphunit.c:1167
#18 0x080d3cf5 in cp_finish_file () at decl2.c:3110
#19 0x0819106f in c_common_parse_file (set_yydebug=0) at c-opts.c:1166
#20 0x084ce803 in toplev_main (argc=14, argv=0xbfae7bb4) at toplev.c:999
#21 0x0819e1b2 in main (argc=0, argv=0xb7dcd508) at main.c:35


-- 
   Summary: ICE in in add_virtual_operand
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mueller at gcc dot gnu dot org


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



[Bug tree-optimization/26626] ICE in in add_virtual_operand

2006-03-09 Thread mueller at gcc dot gnu dot org


--- Comment #1 from mueller at gcc dot gnu dot org  2006-03-09 22:40 ---
reduce-min5.ii: In function #8216;void kjs_strtod()#8217;:
reduce-min5.ii:12: warning: #8216;e1#8217; is used uninitialized in this
function
reduce-min5.ii:8: internal compiler error: in add_virtual_operand, at
tree-ssa-operands.c:979
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.


-- 


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




[Bug c++/11159] erroneous warning in copy ctor with virtual inheritance

2006-03-09 Thread wotte at dre dot vanderbilt dot edu


--- Comment #9 from wotte at dre dot vanderbilt dot edu  2006-03-09 22:44 
---
In some cases, this warning can also be impossible to address and may be
buggy/erroneous.  Consider the following example:

struct A
{
  A ();
};

struct B : virtual A
{
  B ();
};

struct C :  virtual B
{
  C ();
};

template typename Base
struct E : Base
{
  E ();

  E (E const )
  {
  };
};

EC foo;
EC bar (foo);

Produces the following diagnostic:

test.cpp: In copy constructor 'EBase::E(const EBase) [with Base = C]':
test.cpp:27:   instantiated from here
test.cpp:21: warning: base class 'struct A' should be explicitly initialized in
the copy constructor
test.cpp:21: warning: base class 'struct B' should be explicitly initialized in
the copy constructor
test.cpp:21: warning: base class 'struct C' should be explicitly initialized in
the copy constructor

If I make an immediately obvious fix by explicitly initializing Base:


struct A
{
  A ();
};

struct B : virtual A
{
  B ();
};

struct C :  virtual B
{
  C ();
};

template typename Base
struct E : Base
{
  E ();

  E (E const )
: Base ()
  {
  };
};

EC foo;
EC bar (foo);



I am presented with the following diagnostic:
test.cpp: In copy constructor 'EBase::E(const EBase) [with Base = C]':
test.cpp:28:   instantiated from here
test.cpp:21: warning: base class 'struct A' should be explicitly initialized in
the copy constructor
test.cpp:21: warning: base class 'struct B' should be explicitly initialized in
the copy constructor

In this case, E can't explicitly initialize A or B, because E can't assume that
either is present as a parent of Base.  This is also likely erroneous because E
shouldn't have to explicitly initialize the parents of Base... That should be
handled by the copy constructor of Base.


-- 

wotte at dre dot vanderbilt dot edu changed:

   What|Removed |Added

 CC||wotte at dre dot vanderbilt
   ||dot edu


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



[Bug tree-optimization/26626] [4.2 Regression] ICE in in add_virtual_operand

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-03-09 22:52 ---
Removing throw ()  will also cause the code to be ICE'd and also with the C
front-end now too.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||ice-on-valid-code
   Last reconfirmed|-00-00 00:00:00 |2006-03-09 22:52:29
   date||
Summary|ICE in in   |[4.2 Regression] ICE in in
   |add_virtual_operand |add_virtual_operand
   Target Milestone|--- |4.2.0


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



[Bug tree-optimization/26626] [4.2 Regression] ICE in in add_virtual_operand

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-03-09 22:54 ---
The difference between copyprop and before is the following.
Before:
  rv.0_3 = rv.0_2;
  #   VUSE NMT.7_13;
  D.1900_4 = rv.0_3-d;

After:
rv.0_3 = rv.0_2;
#   VUSE SMT.6;
D.1900_4 = rv.0_2-d;


-- 


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



Re: [Bug tree-optimization/26626] [4.2 Regression] ICE in in add_virtual_operand

2006-03-09 Thread Daniel Berlin
On Thu, 2006-03-09 at 22:54 +, pinskia at gcc dot gnu dot org wrote:
 
 --- Comment #3 from pinskia at gcc dot gnu dot org  2006-03-09 22:54 
 ---
 The difference between copyprop and before is the following.
 Before:
   rv.0_3 = rv.0_2;
   #   VUSE NMT.7_13;
   D.1900_4 = rv.0_3-d;
 
 After:
 rv.0_3 = rv.0_2;
 #   VUSE SMT.6;
 D.1900_4 = rv.0_2-d;


This is nonsensical, and very bad.

 
 



[Bug tree-optimization/26626] [4.2 Regression] ICE in in add_virtual_operand

2006-03-09 Thread dberlin at dberlin dot org


--- Comment #4 from dberlin at gcc dot gnu dot org  2006-03-09 23:31 ---
Subject: Re:  [4.2 Regression] ICE in in
add_virtual_operand

On Thu, 2006-03-09 at 22:54 +, pinskia at gcc dot gnu dot org wrote:
 
 --- Comment #3 from pinskia at gcc dot gnu dot org  2006-03-09 22:54 
 ---
 The difference between copyprop and before is the following.
 Before:
   rv.0_3 = rv.0_2;
   #   VUSE NMT.7_13;
   D.1900_4 = rv.0_3-d;
 
 After:
 rv.0_3 = rv.0_2;
 #   VUSE SMT.6;
 D.1900_4 = rv.0_2-d;


This is nonsensical, and very bad.

 
 


-- 


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



[Bug tree-optimization/26626] [4.2 Regression] ICE in in add_virtual_operand

2006-03-09 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-03-09 23:58 ---
Forgot to say we also get the following NOTEs in the copyprop dump:
NOTE: no flow-sensitive alias info for rv.0_2 in #   VUSE NMT.8_14;
D.2364_4 = rv.0_2-d;
NOTE: no flow-sensitive alias info for rv.0_2 in #   VUSE NMT.8_14;
D.2364_4 = rv.0_2-d;
NOTE: no flow-sensitive alias info for rv.0_2 in #   NMT.8_17 = V_MAY_DEF
NMT.8_14;
rv.0_2-d = D.2365_5;


-- 


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



[Bug tree-optimization/26626] [4.2 Regression] ICE in in add_virtual_operand

2006-03-09 Thread dberlin at dberlin dot org


--- Comment #6 from dberlin at gcc dot gnu dot org  2006-03-10 00:39 ---
Subject: Re:  [4.2 Regression] ICE in in
add_virtual_operand

On Thu, 2006-03-09 at 23:58 +, pinskia at gcc dot gnu dot org wrote:
 
 --- Comment #5 from pinskia at gcc dot gnu dot org  2006-03-09 23:58 
 ---
 Forgot to say we also get the following NOTEs in the copyprop dump:
 NOTE: no flow-sensitive alias info for rv.0_2 in #   VUSE NMT.8_14;
 D.2364_4 = rv.0_2-d;
 NOTE: no flow-sensitive alias info for rv.0_2 in #   VUSE NMT.8_14;
 D.2364_4 = rv.0_2-d;
 NOTE: no flow-sensitive alias info for rv.0_2 in #   NMT.8_17 = V_MAY_DEF
 NMT.8_14;
 rv.0_2-d = D.2365_5;
 

This bare NMT usage is wrong, and indicative of a problem elsewhere.


 


-- 


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



[Bug libgcj/23495] java.lang.String.equals is suboptimal

2006-03-09 Thread tromey at gcc dot gnu dot org


--- Comment #13 from tromey at gcc dot gnu dot org  2006-03-10 00:39 ---
Subject: Bug 23495

Author: tromey
Date: Fri Mar 10 00:39:49 2006
New Revision: 111919

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=111919
Log:
PR libgcj/23495:
* java/lang/natString.cc (_Jv_NewString): Use memcpy.
(equals): Use memcmp.
(contentEquals): Likewise.
(getChars): Use memcpy.
(toCharArray): Likewise.
(regionMatches): Use memcmp.
(regionMatches): Likewise.
(startsWith): Likewise.
(concat): Use memcpy.
(valueOf): Likewise.

Modified:
trunk/libjava/ChangeLog
trunk/libjava/java/lang/natString.cc


-- 


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



[Bug libgcj/23495] java.lang.String.equals is suboptimal

2006-03-09 Thread tromey at gcc dot gnu dot org


--- Comment #14 from tromey at gcc dot gnu dot org  2006-03-10 00:48 ---
I checked in a patch using memcpy and memcmp.
This didn't yield as dramatic a speedup for me, but did do ok.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.2.0


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



[Bug target/26472] Default path for libgcc_s.sl is build directory

2006-03-09 Thread dave at hiauly1 dot hia dot nrc dot ca


--- Comment #15 from dave at hiauly1 dot hia dot nrc dot ca  2006-03-10 
01:25 ---
Subject: Re:  Default path for libgcc_s.sl is build directory

  Attached.  The diff is against libtool in binutils as about July 28, 2005.
 
 Similar changes have entered both branch-1-5 and HEAD Libtool more than 2 
 years
 ago; branch-1-4 is long dead.  I can only guess that's why it was ignored. ;-)
 
 HPPA support has evolved a bit since.  There is BTW a pending patch (both
 branches): http://article.gmane.org/gmane.comp.gnu.libtool.general/7083

The problem is the new HPPA support isn't in the GCC or Sourceware trees.

However, I'm beginning to think the HPPA support for shared libraries
is totally wrong (i.e., linking in dependent shared libraries in shared
links).

First, see the recommendations in http://docs.hp.com/en/1896/pthreads.html.
HP libc contains stubs for the pthread stubs.  So, for example, when we link
libstdc++ against libc, we end up with the following dependencies:

-bash-2.05b$ chatr libstdc++.sl
libstdc++.sl:
 shared library
 shared library dynamic path search:
 SHLIB_PATH disabled  second
 embedded path  enabled   first  /opt/gnu/gcc/gcc-4.1.0/lib
 internal name:
 libstdc++.sl.6
 shared library list:
 dynamic   /usr/lib/libm.2
 dynamic   /test/gnu/gcc-4.1/objdir/./gcc/libgcc_s.sl
 dynamic   /usr/lib/libc.2

So, libstdc++.sl is linked against the pthread stubs in libc
instead of the real pthread functions in libpthread.  I'm not sure
I fully understand how binding affects symbol resolution.  The
default binding is deferred, and in that case function references
are trapped via the linkage table and bound on the first reference.
If the first pthread reference comes from libstdc++, I think the
application will bind to the pthread stub functions in libc.  On
the other hand, if the first reference comes from from some other
place it may bind against routines in libpthread.  Thus, the default
binding with the current scheme is likely unpredictable or may change
as libraries load.

Linking dependent libraries into shared libraries also makes it
more likely that multiple incompatible versions would be used in
an application.  I don't think you will find any HP shared libraries
that have similar dependencies.

I've recently been trying to get Java working under HP-UX and haven't
yet found a version of gdb that can handle backtraces correctly because
they all get the shared library locations wrong.  This is probably
because the dynamic loader is loading multiple versions of a library.

I think a better approach would be to not link in any dependent
shared libraries in shared links.  As far as I can tell, there
aren't any issues with undefined symbols (at least in HP-UX 11).

Thoughts?

Dave


-- 


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



  1   2   >