Re: Using inline assembly with specific register indices

2005-04-06 Thread Eric Christopher

 
 Ok about the r convention I wrongfully used, it is assumed for the integer
 register-file.
 

Correct.

 I am currently using MIPS + soft-float + some other functionalities in
 Coprocessor #2 with success (somewhat tested in a functional simulator). About
 10-12 special-purpose instructions are implemented in COP2 plus the
 ctc2,cfc2,... etc instructions that are detailed in the MIPS ISA documents. 
 All
 added instructions are faithful to the COP2 convention (6-bit opcode + 26
 implementation specific bits).
 

OK.

 I have used Matt Hiller's patch on binutils, for supporting coprocessor 
 register
 names, which was uploaded at gcc-patch ml circa June 2002. It works, at least
 for the things I have used it. Actually the patch doesn't correspond exactly 
 to
 either versions 2.13,2.14 or 2.15 but to some CVS snapshot (I suppose).
 

Correct. CVS as of the day it was submitted.

 My question on the usage of inline assembly regards omitting writing long jump
 tables (e.g. with nested switches). This is not usually necessary but it is
 when dealing with dynamic code generation.
 

I'm not sure what the question is here.

 Plus: can gcc co-operate with dynamic code generation tools e.g. the GNU
 lightning? I have also heard of another tool, dcg (if i spell it correctly).

I've not done any of this.

-eric



RE: Trying to build crosscompiler for Sparc Solaris 8 - SparcSolaris 10 ( others)...

2005-04-06 Thread Dave Korn
Original Message
From: Aaron Gaudio
Sent: 05 April 2005 21:05

 (CCing this to [EMAIL PROTECTED] due to potential build bugs...)

 I have already installed binutils 2.15 and gcc 3.4.5 native Solaris 8
 verisons in the prefix /vobs/java/gnu and added this directory to my
 path, so that those are the tools being used for building the cross-
 compiler environment.

  Two things to check: 

 1) Try specifying an absolute rather than relative path to the gcc
configure script; I think this has been known to be a source of problems on
solaris platforms in the past, but I don't know if it's still relevant now.
It can't hurt to try.

 2) If what you say above is *literally* correct, then the reason the wrong
assembler is being found is because you've added $prefix to your $PATH, when
you should have added $prefix/bin!


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



Re: Obsoleting c4x last minute for 4.0

2005-04-06 Thread Richard Earnshaw
On Wed, 2005-04-06 at 00:30, Mark Mitchell wrote:
 Joe Buck wrote:

  
  But if it won't even build, then users should be warned.
 
 I suppose -- but we have relatively many configurations that probably 
 won't build, at least if you start combining various options, and 
 including langauges beyond just C and C++.
 
 I'd be content with a patch that issued a warning, but declaring a port 
 obsolete has often been contentions, and I'd hate to rush into it.

Maybe we need a third category - 'at risk'.  Such a port will typically
have no active maintainer, some likely serious bugs and might at some
future date be obsoleted if no maintainer steps forward.

We could put several ports into that category and it shouldn't have the
negative stigma that obsolete seems to have.

R.


Re: [BUG mm] fixed i386 memcpy inlining buggy

2005-04-06 Thread Denis Vlasenko
On Tuesday 05 April 2005 19:34, Christophe Saout wrote:
 Hi Denis,
 
 the new i386 memcpy macro is a ticking timebomb.
 
 I've been debugging a new mISDN crash, just to find out that a memcpy
 was not inlined correctly.
 
 Andrew, you should drop the fix-i386-memcpy.patch (or have it fixed).
 
 This source code:
 
 mISDN_pid_t pid;
   [...]
 memcpy(st-mgr-pid, pid, sizeof(mISDN_pid_t));
 
 was compiled as:
 
 lea0xffa4(%ebp),%esi %esi is loaded
 (   add$0x10,%ebx  )
 (   mov%ebx,%eax   ) something else
 (   call   1613 test_stack_protocol+0x83 ) %esi preserved
 mov0xffa0(%ebp),%edx
 mov0x74(%edx),%edi   %edi is loaded
 add$0x20,%edi offset in structure added
 !   mov$0x14,%esi!!  %esi overwritten!
 mov%esi,%ecx %ecx loaded
 repz movsl %ds:(%esi),%es:(%edi)
 
 Apparently the compiled decided that the value 0x14 could be reused
 afterwards (which it does for an inlined memset of the same size some
 instructions below) and clobbers %esi.
 
 Looking at the macro:
 
 __asm__ __volatile__(
 
 : =D (edi), =S (esi)
 : 0 ((long) to),1 ((long) from)
 : memory
 );
 }
 if (n = 5*4) {
 /* large block: use rep prefix */
 int ecx;
 __asm__ __volatile__(
 rep ; movsl
 : =c (ecx)
 
 it seems obvious that the compiled assumes it can reuse %esi and %edi
 for something else between the two __asm__ sections. These should
 probably be merged.

Oh shit. I was trying to be too clever. I still run with this patch,
so it must be happening very rarely.

Does this one compile ok?

static inline void * __constant_memcpy(void * to, const void * from, size_t n)
{
long esi, edi;
#if 1   /* want to do small copies with non-string ops? */
switch (n) {
case 0: return to;
case 1: *(char*)to = *(char*)from; return to;
case 2: *(short*)to = *(short*)from; return to;
case 4: *(int*)to = *(int*)from; return to;
#if 1   /* including those doable with two moves? */
case 3: *(short*)to = *(short*)from;
*((char*)to+2) = *((char*)from+2); return to;
case 5: *(int*)to = *(int*)from;
*((char*)to+4) = *((char*)from+4); return to;
case 6: *(int*)to = *(int*)from;
*((short*)to+2) = *((short*)from+2); return to;
case 8: *(int*)to = *(int*)from;
*((int*)to+1) = *((int*)from+1); return to;
#endif
}
#else
if (!n) return to;
#endif
{
/* load esi/edi */
__asm__ __volatile__(

: =D (edi), =S (esi)
: 0 ((long) to),1 ((long) from)
: memory
);
}
if (n = 5*4) {
/* large block: use rep prefix */
int ecx;
__asm__ __volatile__(
rep ; movsl
: =c (ecx), =D (edi), =S (esi)
: 0 (n/4), 1 (edi),2 (esi)
: memory
);
} else {
/* small block: don't clobber ecx + smaller code */
if (n = 4*4) __asm__ 
__volatile__(movsl:=D(edi),=S(esi):0(edi),1(esi):memory);
if (n = 3*4) __asm__ 
__volatile__(movsl:=D(edi),=S(esi):0(edi),1(esi):memory);
if (n = 2*4) __asm__ 
__volatile__(movsl:=D(edi),=S(esi):0(edi),1(esi):memory);
if (n = 1*4) __asm__ 
__volatile__(movsl:=D(edi),=S(esi):0(edi),1(esi):memory);
}
switch (n % 4) {
/* tail */
case 0: return to;
case 1: __asm__ 
__volatile__(movsb:=D(edi),=S(esi):0(edi),1(esi):memory); return 
to;
case 2: __asm__ 
__volatile__(movsw:=D(edi),=S(esi):0(edi),1(esi):memory); return 
to;
default: __asm__ 
__volatile__(movsw\n\tmovsb:=D(edi),=S(esi):0(edi),1(esi):memory);
 return to;
}
}
--
vda



Re: Obsoleting c4x last minute for 4.0

2005-04-06 Thread Joseph S. Myers
On Wed, 6 Apr 2005, Richard Earnshaw wrote:

 Maybe we need a third category - 'at risk'.  Such a port will typically
 have no active maintainer, some likely serious bugs and might at some
 future date be obsoleted if no maintainer steps forward.
 
 We could put several ports into that category and it shouldn't have the
 negative stigma that obsolete seems to have.

One possible way of assessing activity would be to say that after 4.1 
maintained CPU ports should have test results for mainline regularly sent 
to gcc-testresults and monitored for regressions, though this rather 
depends on the willingness of maintainers of embedded ports to do this 
testing; ports without such testing and regression monitoring could be 
considered at risk.

Only the following ports seem to have had results for 4.1.0-mainline (i.e. 
mainline since 4.0 branched) sent to gcc-testresults: alpha, arm, hppa, 
i?86/x86_64, ia64, mips, powerpc, s390, sh, sparc, although cris and mmix 
are evidently monitored for regressions even though they don't get test 
results to gcc-testresults.  (If test results for a port are so bad that 
though sent to gcc-testresults they exceed the message size limit, and 
this remains the case for a prolonged period such as ever since 4.0 
branched, that also indicates lack of active maintenance.)

-- 
Joseph S. Myers   http://www.srcf.ucam.org/~jsm28/gcc/
[EMAIL PROTECTED] (personal mail)
[EMAIL PROTECTED] (CodeSourcery mail)
[EMAIL PROTECTED] (Bugzilla assignments and CCs)


RE: [BUG mm] fixed i386 memcpy inlining buggy

2005-04-06 Thread Dave Korn
Original Message
From: Dave Korn
Sent: 06 April 2005 12:13

 Original Message
 From: Dave Korn
 Sent: 06 April 2005 12:06
 
 
   Me and my big mouth.
 
   OK, that one does work.
 
   Sorry for the outburst.
 


 well, actually, maybe it doesn't after all.


  What's that uninitialised variable ecx doing there eh?


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



RE: [BUG mm] fixed i386 memcpy inlining buggy

2005-04-06 Thread Dave Korn
Original Message
From: Dave Korn
Sent: 06 April 2005 12:53

 Original Message
 From: Dave Korn
 Sent: 06 April 2005 12:13
 
 Original Message
 From: Dave Korn
 Sent: 06 April 2005 12:06
 
 
   Me and my big mouth.
 
   OK, that one does work.
 
   Sorry for the outburst.
 
 
 
  well, actually, maybe it doesn't after all.
 
 
   What's that uninitialised variable ecx doing there eh?

  Oh, I see, it's there as an output so it can be matched as an input by the
0 constraint.

  Ok, guess it does.


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



Input and print statements for Front End?

2005-04-06 Thread Harry Goulding
Hi All,
I'm developing a front end for a simple programming language as part of a 
project.

I have looked through the GCC Internals Manual, the Toy front end language 
and Treelang.

I can't seem to find any info regarding an input or print statement, so  i 
can read integers(my language only deals with integers) from the stdio and 
return integer results to stdio.

I see that the Toy language has to be compiled with a C program to achieve 
the above. Is this the best or even only solution?

Thanks
_
Send an animated 'wink' to someone special - download MSN Messenger, FREE! 
http://messenger.msn.co.uk/Beta/Default.aspx



Re: gcc4, static array, SSE alignement

2005-04-06 Thread tbp
On Apr 6, 2005 3:18 AM, James E Wilson [EMAIL PROTECTED] wrote:
 I would guess a limitation of cygwin binutils support, or perhaps of
 Windows itself.
Binutils, perhaps. Windows certainly not as msvc2k3  icc8.1 don't
have such issue with the same code.

 This seems to work fine on linux.  If I compile a simple example using
 __alignof__, I see that the compiler is assuming 16-byte alignment.  If
 I compile with -S, I see that the compiler is giving them 32-byte
 alignment (probably for better cache alignment).  If I run objdump -x on
 the a.out file, I see that .bss section has 2**5 (32-byte) alignment.
 All is as it should be.
Sections:
Idx Name  Size  VMA   LMA   File off  Algn
  0 .text 0003e754  00401000  00401000  0400  2**4
  CONTENTS, ALLOC, LOAD, READONLY, CODE, DATA
  1 .data 4634  0044  0044  0003ec00  2**4
  CONTENTS, ALLOC, LOAD, DATA
  2 .rdata4884  00445000  00445000  00043400  2**4
  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 .bss  8fc0  0044a000  0044a000    2**4
  ALLOC
  4 .idata1984  00453000  00453000  00047e00  2**2
  CONTENTS, ALLOC, LOAD, DATA
  5 .stab 00169908  00455000  00455000  00049800  2**2
  CONTENTS, READONLY, DEBUGGING, NEVER_LOAD, EXCLUDE
  6 .stabstr  001c39e1  005bf000  005bf000  001b3200  2**0
  CONTENTS, READONLY, DEBUGGING, NEVER_LOAD, EXCLUDE

Gcc  the toolchain used to have lots of issues wrt alignement, but i
thought they were a thing of the past.
As far as i can see, everything is fine regarding section alignements.

 A real bug report, as per
  http://gcc.gnu.org/bugs.html
 would be useful here, so we can check.  In particular, a testcase to
 reproduce the problem, and exactly what you believe is wrong with the
 output.
Yep, but i was testing the water.
I mean i have lots of other 16 bytes aligned data (static, extern,
const or not and whatnot) in there and the only problematic one is
this semi large static.
So, because that's the largest, i thought i've crossed some magic size
threshold.

I'll try to pinpoint the problem a bit better.


Re: gcc4, static array, SSE alignement

2005-04-06 Thread tbp
On Apr 6, 2005 2:08 PM, tbp [EMAIL PROTECTED] wrote:
 I'll try to pinpoint the problem a bit better.
Alas, since the other day the code using that static array has changed
a bit and i can't reproduce the bug.
So, after all, it really was gcc's fault.

I'll try to dig up the original version.


Re: Input and print statements for Front End?

2005-04-06 Thread Paul Brook
On Wednesday 06 April 2005 13:00, Harry Goulding wrote:
 Hi All,

 I'm developing a front end for a simple programming language as part of a
 project.

 I have looked through the GCC Internals Manual, the Toy front end language
 and Treelang.

 I can't seem to find any info regarding an input or print statement, so  i
 can read integers(my language only deals with integers) from the stdio and
 return integer results to stdio.

Interfacing with the OS is the resposibility of your language runtime library, 
not the compiler itself..

You might want to look at how the fortran intrinsic functions an IO routines 
are handled. Basically the language define IO constructs are turned into a 
sequence of function calls.

Paul


Re: [BUG mm] fixed i386 memcpy inlining buggy

2005-04-06 Thread Andrew Haley
I'm having a little difficulty understanding what this is for.  Is it
that gcc's builtin memcpy expander generates bad code, or that older
versions of gcc generate bad code, or what?  gcc generates too much
code?

Andrew.


HEAD regression: All java tests are failing with an ICE when optimized

2005-04-06 Thread Andrew Haley
HEAD, clean build this morning.  i686-linux-gnu.

With the libgcj make check, there are many identical failures.

These are of the form

PR4766.java: In class 'PR4766':
PR4766.java: In method 'PR4766.myfunction()':
PR4766.java:0: internal compiler error: in hash_scan_set, at 
postreload-gcse.c:741
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
compiler exited with status 1

And the ICE is always in hash_scan_set.

I do not believe that this is a Java FE bug.

Has anyone else seen this?

Andrew.


Re: HEAD regression: All java tests are failing with an ICE when optimized

2005-04-06 Thread Diego Novillo
On Wed, Apr 06, 2005 at 01:56:48PM +0100, Andrew Haley wrote:

 Has anyone else seen this?
 
Yes.  At first I thought it was my patch, but it only happens on
i686 and libjava was working fine the day before.


Diego.


Re: http://gcc.gnu.org/install/specific.html#*-*-solaris2*

2005-04-06 Thread Karl Berry
Now I now (and understand) that you changed the mangling of filenames,
but where does the g_t come from, and why?

Catering to XHTML's stupidity.  I mentioned it in:

http://www.gnu.org/software/texinfo/manual/texinfo/texinfo.html#HTML-Xref-Link-Basics
viz.
One exception: the algorithm for node name expansion prefixes the
string `g_t' when the node name begins with a non-letter. This kludge
(due to XHTML rules) is not necessary for filenames, and is
therefore omitted.

Sorry ...


Re: HEAD regression: All java tests are failing with an ICE when optimized

2005-04-06 Thread Ranjit Mathew
Andrew Haley wrote:
 HEAD, clean build this morning.  i686-linux-gnu.
 
 With the libgcj make check, there are many identical failures.
 
 These are of the form
 
 PR4766.java: In class 'PR4766':
 PR4766.java: In method 'PR4766.myfunction()':
 PR4766.java:0: internal compiler error: in hash_scan_set, at 
 postreload-gcse.c:741
 Please submit a full bug report,
 with preprocessed source if appropriate.
 See URL:http://gcc.gnu.org/bugs.html for instructions.
 compiler exited with status 1
 
 And the ICE is always in hash_scan_set.
 
 I do not believe that this is a Java FE bug.
 
 Has anyone else seen this?

First off, I didn't when I ran my regular
bootstrap + libjava_check cycle. That's because
I use --disable-checking.

Second, it's most likely caused by Nathan's assertifying
patch to gcc/p*.c:

  http://gcc.gnu.org/ml/gcc-patches/2005-04/msg00227.html

Note that the #ifdef ENABLE_CHECKING guard
in postreload-gcse.c (around line #741) was
*misspelt* before:

  - #ifdef ENABLE_CHEKCING

and was thus never being executed before.

Ranjit.

-- 
Ranjit Mathew  Email: rmathew AT gmail DOT com

Bangalore, INDIA.Web: http://ranjitmathew.hostingzero.com/


RE: Trying to build crosscompiler for Sparc Solaris 8 - SparcSolaris 10 ( others)...

2005-04-06 Thread Aaron Gaudio
On Wed, 2005-04-06 at 10:28 +0100, Dave Korn wrote:
 Original Message
 From: Aaron Gaudio
 Sent: 05 April 2005 21:05
 
  (CCing this to [EMAIL PROTECTED] due to potential build bugs...)
 
  I have already installed binutils 2.15 and gcc 3.4.5 native Solaris 8
  verisons in the prefix /vobs/java/gnu and added this directory to my
  path, so that those are the tools being used for building the cross-
  compiler environment.
 
   Two things to check: 
 
  1) Try specifying an absolute rather than relative path to the gcc
 configure script; I think this has been known to be a source of problems on
 solaris platforms in the past, but I don't know if it's still relevant now.
 It can't hurt to try.
 
  2) If what you say above is *literally* correct, then the reason the wrong
 assembler is being found is because you've added $prefix to your $PATH, when
 you should have added $prefix/bin!
 
 

Thanks for your attention, Dave. I checked the script I'm using to build
and I actually am using an absolute path to gcc's configure, despite
what I wrote in my original mailnote. 

As for the prefix... you're right, I should be adding $prefix/bin to my
path. I was adding $prefix in my script, but lo, I had already added
$prefix/bin to my path in my shell. I'll fix my script, but that won't
have any impact on the problems I'm facing. You see, the 'as' being
called was in fact the one in $prefix/bin, but the problem is that
$prefix is a holding place for binaries with multiple targets.
$prefix/bin/as is a Sparc Solaris 8 binary with a Sparc Solaris 8 target
(eg --version This assembler was configured for a target of `sparc-sun-
solaris2.8'.). However, $prefix/bin/i586-sun-solaris2.10-as is a Sparc
Solaris 8 binary with an i586 Solaris 10 target (--version This
assembler was configured for a target of `i586-sun-solaris2.10'.). 

It seems like either Makefile should be using $AS_FOR_TARGET (which
would expand to 'i586-sun-solaris2.10-as'), instead of $AS (which is
just 'as') OR the .s file being assembled should be using Sparc assembly
instructions instead of x86. I assumed the former was the case, and that
let me get further in the build, so that's what I've stuck with for
now...

-- 
Aaron Gaudio   agaudio @ eng.mc.xerox.com   585-422-6876
   madcap @ irc://rockhopper.eng.mc.xerox.com
 OpenPGP fingerprint: 74B3 1018 08EB 1B3F E7C7  B944 11B1 E0C3 949C 8906
 Every man is a mob, a chain gang of idiots. 
 - Jonathan Nolan, /Memento Mori/


signature.asc
Description: This is a digitally signed message part


Re: Obsoleting c4x last minute for 4.0

2005-04-06 Thread Joel Sherrill [EMAIL PROTECTED]
Joel Sherrill [EMAIL PROTECTED] wrote:
Richard Earnshaw wrote:
On Wed, 2005-04-06 at 00:30, Mark Mitchell wrote:
Joe Buck wrote:


But if it won't even build, then users should be warned.

I suppose -- but we have relatively many configurations that probably 
won't build, at least if you start combining various options, and 
including langauges beyond just C and C++.

I'd be content with a patch that issued a warning, but declaring a 
port obsolete has often been contentions, and I'd hate to rush into it.

Maybe we need a third category - 'at risk'.  Such a port will typically
have no active maintainer, some likely serious bugs and might at some
future date be obsoleted if no maintainer steps forward.
We could put several ports into that category and it shouldn't have the
negative stigma that obsolete seems to have.

The RTEMS community has been interested in the c4x port for a long time
but we don't have anyone who can fix things at the level this one is
broken.  We keep trying it and reporting on it.  It gets a little 
better, then it gets a little worse.
I have been reminded by an RTEMS user that the c4x port actually
did successfully build C for 3.4.  This makes it a recent regression.
--
Joel Sherrill, Ph.D. Director of Research  Development
[EMAIL PROTECTED] On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
   Support Available (256) 722-9985


3.4.3 on Solaris9, boehm-gc probs.

2005-04-06 Thread Hugh Sasse Staff Elec Eng
I've STW for this but can't see others with the same problem.  I'm
getting:
[...]
/bin/bash ./libtool --mode=compile /export/home/Scratch/hgs/gcc-build/gcc/xgcc 
-B/export/home/Scratch/hgs/gcc-build/gcc/ 
-B/usr/local/sparc-sun-solaris2.9/bin/ -B/usr/local/sparc-sun-solaris2.9/lib/ 
-isystem /usr/local/sparc-sun-solaris2.9/include -isystem 
/usr/local/sparc-sun-solaris2.9/sys-include -DGC_SOLARIS_THREADS=1 
-DGC_SOLARIS_PTHREADS=1 -DSILENT=1 -DNO_SIGNALS=1 -DALL_INTERIOR_POINTERS=1 
-DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1  -I. 
-I/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc  
-I/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/include  -O2 -mcpu=v9 
-fexceptions -I././targ-include 
-I/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/./libc/include -O2 -mcpu=v9 -c 
/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c
/export/home/Scratch/hgs/gcc-build/gcc/xgcc 
-B/export/home/Scratch/hgs/gcc-build/gcc/ 
-B/usr/local/sparc-sun-solaris2.9/bin/ -B/usr/local/sparc-sun-solaris2.9/lib/ 
-isystem /usr/local/sparc-sun-solaris2.9/include -isystem 
/usr/local/sparc-sun-solaris2.9/sys-include -DGC_SOLARIS_THREADS=1 
-DGC_SOLARIS_PTHREADS=1 -DSILENT=1 -DNO_SIGNALS=1 -DALL_INTERIOR_POINTERS=1 
-DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -I. 
-I/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc 
-I/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/include -O2 -mcpu=v9 -fexceptions 
-I././targ-include -I/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/./libc/include 
-O2 -mcpu=v9 -c /export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c  -fPIC 
-DPIC -o .libs/dyn_load.o
/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c: In function 
`GC_FirstDLOpenedLinkMap':
/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c:110: error: syntax error before 
_DYNAMIC
/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c:111: error: `Elf32_Dyn' 
undeclared (first use in this function)
/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c:111: error: (Each 
undeclared identifier is reported only once
/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c:111: error: for each 
function it appears in.)
/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c:111: error: `dp' 
undeclared (first use in this function)
/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c:114: error: syntax error 
before '*' token
/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c:127: error: 
`dynStructureAddr' undeclared (first use in this function)
/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c:127: error: `_DYNAMIC' 
undeclared (first use in this function)
/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c:135: error: parse error 
before ')' token
/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c:136: error: `DT_DEBUG' 
undeclared (first use in this function)
/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c:139: error: 
dereferencing pointer to incomplete type
/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c: In function 
`GC_register_dynamic_libraries':
/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c:209: error: 
dereferencing pointer to incomplete type
/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c:227: error: 
dereferencing pointer to incomplete type
/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c:229: error: 
dereferencing pointer to incomplete type
gmake[3]: *** [dyn_load.lo] Error 1
gmake[3]: Leaving directory 
`/export/home/Scratch/hgs/gcc-build/sparc-sun-solaris2.9/boehm-gc'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory 
`/export/home/Scratch/hgs/gcc-build/sparc-sun-solaris2.9/boehm-gc'
gmake[1]: *** [all-target-boehm-gc] Error 2
gmake[1]: Leaving directory `/export/home/Scratch/hgs/gcc-build'
gmake: *** [bootstrap-lean] Error 2
You have mail in /var/mail/hgs
bash-2.05$
when using
gcc (GCC) 3.4.1
GNU assembler 2.14 20030612
GNU ld version 2.14 20030612
GNU Make 3.80
ltmain.sh (GNU libtool) 1.5.14 (1.1220.2.195 2005/02/12 12:12:33)
GNU bash, version 2.05.0(1)-release (sparc-sun-solaris2.9)
and a build script of
quote
#!/bin/bash -x
PATH=/bin:/usr/sbin:/usr/ccs/bin:/etc:/usr/local/bin:/opt/sfw/bin:/usr/openwin/bin
export PATH
CONFIG_SHELL=/bin/bash
export CONFIG_SHELL
BUILDINGVER=3.4.3
BUILD_DIR=/export/home/Scratch/hgs/gcc-build
GCC_SOURCE_DIR=/export/home/Scratch/hgs/gcc-${BUILDINGVER}
# CC=/progs/SUNWspro/bin/cc -xildoff -xarch=v9 options only needed
# for 64 bit...
# CC=/progs/SUNWspro/bin/cc
CC=gcc
export CC
CXX=g++
export CXX
MAKE=/usr/local/bin/gmake
export MAKE
ASOPT=--with-as=/usr/local/bin/as
LDOPT=--with-ld=/usr/local/bin/ld
LANGOPT=--enable-languages=c,c++,f77,java,objc
cd $BUILD_DIR
/bin/rm -rf ./*
${GCC_SOURCE_DIR}/configure $ASOPT $LDOPT $LANGOPTS --disable-nls  \
# gmake --jobs=5 bootstrap-lean  
gmake  bootstrap-lean  \
gmake check

/quote
Is there anything I have missed?
Thank you,
Hugh


Re: Obsoleting c4x last minute for 4.0

2005-04-06 Thread Mark Mitchell
Richard Earnshaw wrote:
On Wed, 2005-04-06 at 00:30, Mark Mitchell wrote:
Joe Buck wrote:

But if it won't even build, then users should be warned.
I suppose -- but we have relatively many configurations that probably 
won't build, at least if you start combining various options, and 
including langauges beyond just C and C++.

I'd be content with a patch that issued a warning, but declaring a port 
obsolete has often been contentions, and I'd hate to rush into it.

Maybe we need a third category - 'at risk'.  Such a port will typically
have no active maintainer, some likely serious bugs and might at some
future date be obsoleted if no maintainer steps forward.
That seems eminently reasonable.
--
Mark Mitchell
CodeSourcery, LLC
[EMAIL PROTECTED]
(916) 791-8304


RE: Trying to build crosscompiler for Sparc Solaris 8 -SparcSolaris 10 ( others)...

2005-04-06 Thread Dave Korn
Original Message
From: Aaron Gaudio
Sent: 06 April 2005 14:25


 Thanks for your attention, Dave. I checked the script I'm using to build
 and I actually am using an absolute path to gcc's configure, despite
 what I wrote in my original mailnote.

  Oh well, so much for that one.  This is why you should cut and paste the
real output from builds that go wrong when you're making a bug report,
rather than faking it: you gave me false information about your problem.
This is not very constructive.

 As for the prefix... you're right, I should be adding $prefix/bin to my
 path. I was adding $prefix in my script, but lo, I had already added
 $prefix/bin to my path in my shell. I'll fix my script, but that won't
 have any impact on the problems I'm facing. You see, the 'as' being
 called was in fact the one in $prefix/bin, but the problem is that
 $prefix is a holding place for binaries with multiple targets.

  Yes indeed, but that isn't a problem.  When you're doing a cross-compile,
the make process is in fact looking out for ${target}-as.  If you've
configured gcc for i586-sun-solaris2.10, and there is a
i586-sun-solaris2.10-as in your $PATH, the make process should find it.
It's only after completely failing to find ${target}-as that the make
process will fall back as a last resort to just trying to use the first 'as'
it can find.

 $prefix/bin/as is a Sparc Solaris 8 binary with a Sparc Solaris 8 target
 (eg --version This assembler was configured for a target of `sparc-sun-
 solaris2.8'.). However, $prefix/bin/i586-sun-solaris2.10-as is a Sparc
 Solaris 8 binary with an i586 Solaris 10 target (--version This
 assembler was configured for a target of `i586-sun-solaris2.10'.).

  Well, it *absolutely* should have found and used that one.  Assuming you
really did configure gcc for that target, of course.

 It seems like either Makefile should be using $AS_FOR_TARGET (which
 would expand to 'i586-sun-solaris2.10-as'), instead of $AS (which is
 just 'as') OR the .s file being assembled should be using Sparc assembly
 instructions instead of x86. I assumed the former was the case, and that
 let me get further in the build, so that's what I've stuck with for
 now...

  No, no, no, you are definitely wrong.  Leave the makefile alone: it works
fine for every other kind of cross-compile, there's nothing wrong with it,
gcc 3.4.3 has been out for a while now and people would have noticed if it
was so badly broken!

  There is an unbreakable rule when making cross toolchains: you must use
the EXACT same arguments for --prefix and for --target when you configure
gcc as you used when you configured binutils.  You appear to have broken
that rule.  If the makefile is using $AS instead of $AS_FOR_TARGET, then you
have gotten a bad configure somehow, and autoconf has made you a makefile
suitable for a host-native compiler.  Did you try reconfiguring in the same
object directory you had previously used for the sparc-sun-solaris2.8
target?

  I think you should blow away your object directory, create a new one,
freshly configure and try again.  If it still doesn't work, show me the REAL
configure commands you've been using.  Don't post forged output in a bug
report!

  BTW, there's a list called the crossgcc mailing list
(http://sources.redhat.com/ml/crossgcc/), which is more suitable to this
sort of problem than the main gcc or gcc-help lists, but since we're here
now, we may as well try and sort this one out here; I'm just letting you
know for future reference.


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



gcc-3.4-20050401 BUG? generates illegal instruction in X11R6.4.2/mkfontscale/freetype macro

2005-04-06 Thread Clemens Koller
Hello, gcc-list!
Hello, Melchior!
Well, about a year ago, we/you have had problems when building X11
that mkfontscale crashes with an illegal instruction or an segmentation
fault on powerpc. Maybe some of you remember.
Here is the old mail:
[Devel] [BUG] freetype2 CVS/HEAD: crash in FT_Get_Name_Index (ftobjs.c:2407)
http://lists.gnu.org/archive/html/freetype-devel/2004-04/msg00051.html
I am running into the same problems again (and several others did).
Even with a pretty new toolchain:
gcc-3.4-20050401 (3.4.4)
X11R6.4.2
glibc-2.3.4
binutils-2.15.96
freetype-2.1.9
to reproduce the problem:
install freetype-2.1.9
./configure
make
make install
compile X
make World
everything fine
make install
when mkfontscale tries to
+ ../../../exports/bin/mkfontscale /usr/X11R6/lib/X11/fonts/Type1
make[4]: *** [install] Error 132
(Illegal instruction)
I ran into the same problem again and again. This only happens
with the Type1 fonts... the others build fine!
My host is a embedded PowerPC from Freescale (MPC8540, e500 core, no fpu)
I've applied your patch for the macro. (inserting a dummy printf();)
But this doesn't fix the problem on my platform.
What is the real background that mkfontscale breaks?
A compiler error or a bug in freetype?
Are there any good news that the problem is really fixed?
Well... and how? Any suggestions to track down that problem?
Best greets
Clemens Koller
___
RD Imaging Devices
Anagramm GmbH
Rupert-Mayer-Str. 45/1
81379 Muenchen
Germany
http://www.anagramm.de
Phone: +49-89-741518-50
Fax: +49-89-741518-19


Re: [BUG mm] fixed i386 memcpy inlining buggy

2005-04-06 Thread Denis Vlasenko
On Tuesday 05 April 2005 19:34, Christophe Saout wrote:
 the new i386 memcpy macro is a ticking timebomb.
 
 I've been debugging a new mISDN crash, just to find out that a memcpy
 was not inlined correctly.
 
 Andrew, you should drop the fix-i386-memcpy.patch (or have it fixed).

Updated patch against 2.6.11 follows. This one, like the original
patch, is run tested too.

This time I took no chances, esi/edi contents are
explicitly propagated from one asm() block to another.
I didn't do it before, not expecting that gcc can be
s incredibly clever. Sorry.

Christophe does this one look/compile ok?
--
vda
--- linux-2.6.11.src/include/asm-i386/string.h.orig	Thu Mar  3 09:31:08 2005
+++ linux-2.6.11.src/include/asm-i386/string.h	Wed Apr  6 19:08:39 2005
@@ -198,47 +198,80 @@ static inline void * __memcpy(void * to,
 int d0, d1, d2;
 __asm__ __volatile__(
 	rep ; movsl\n\t
-	testb $2,%b4\n\t
-	je 1f\n\t
-	movsw\n
-	1:\ttestb $1,%b4\n\t
-	je 2f\n\t
-	movsb\n
-	2:
+	movl %4,%%ecx\n\t
+	andl $3,%%ecx\n\t
+#if 1	/* want to pay 2 byte penalty for a chance to skip microcoded rep? */
+	jz 1f\n\t
+#endif
+	rep ; movsb\n\t
+	1:
 	: =c (d0), =D (d1), =S (d2)
-	:0 (n/4), q (n),1 ((long) to),2 ((long) from)
+	: 0 (n/4), g (n), 1 ((long) to), 2 ((long) from)
 	: memory);
 return (to);
 }
 
 /*
- * This looks horribly ugly, but the compiler can optimize it totally,
+ * This looks ugly, but the compiler can optimize it totally,
  * as the count is constant.
  */
 static inline void * __constant_memcpy(void * to, const void * from, size_t n)
 {
-	if (n = 128)
-		return __builtin_memcpy(to, from, n);
-
-#define COMMON(x) \
-__asm__ __volatile__( \
-	rep ; movsl \
-	x \
-	: =c (d0), =D (d1), =S (d2) \
-	: 0 (n/4),1 ((long) to),2 ((long) from) \
-	: memory);
-{
-	int d0, d1, d2;
+	long esi, edi;
+	if (!n) return to;
+#if 1	/* want to do small copies with non-string ops? */
+	switch (n) {
+		case 1: *(char*)to = *(char*)from; return to;
+		case 2: *(short*)to = *(short*)from; return to;
+		case 4: *(int*)to = *(int*)from; return to;
+#if 1	/* including those doable with two moves? */
+		case 3: *(short*)to = *(short*)from;
+			*((char*)to+2) = *((char*)from+2); return to;
+		case 5: *(int*)to = *(int*)from;
+			*((char*)to+4) = *((char*)from+4); return to;
+		case 6: *(int*)to = *(int*)from;
+			*((short*)to+2) = *((short*)from+2); return to;
+		case 8: *(int*)to = *(int*)from;
+			*((int*)to+1) = *((int*)from+1); return to;
+#endif
+	}
+#endif
+	esi = (long) from;
+	edi = (long) to;
+	if (n = 5*4) {
+		/* large block: use rep prefix */
+		int ecx;
+		__asm__ __volatile__(
+			rep ; movsl
+			: =c (ecx), =D (edi), =S (esi)
+			: 0 (n/4), 1 (edi),2 (esi)
+			: memory
+		);
+	} else {
+		/* small block: don't clobber ecx + smaller code */
+		if (n = 4*4) __asm__ __volatile__(movsl
+			:=D(edi),=S(esi):0(edi),1(esi):memory);
+		if (n = 3*4) __asm__ __volatile__(movsl
+			:=D(edi),=S(esi):0(edi),1(esi):memory);
+		if (n = 2*4) __asm__ __volatile__(movsl
+			:=D(edi),=S(esi):0(edi),1(esi):memory);
+		if (n = 1*4) __asm__ __volatile__(movsl
+			:=D(edi),=S(esi):0(edi),1(esi):memory);
+	}
 	switch (n % 4) {
-		case 0: COMMON(); return to;
-		case 1: COMMON(\n\tmovsb); return to;
-		case 2: COMMON(\n\tmovsw); return to;
-		default: COMMON(\n\tmovsw\n\tmovsb); return to;
+		/* tail */
+		case 0: return to;
+		case 1: __asm__ __volatile__(movsb
+			:=D(edi),=S(esi):0(edi),1(esi):memory);
+			return to;
+		case 2: __asm__ __volatile__(movsw
+			:=D(edi),=S(esi):0(edi),1(esi):memory);
+			return to;
+		default: __asm__ __volatile__(movsw\n\tmovsb
+			:=D(edi),=S(esi):0(edi),1(esi):memory);
+			return to;
 	}
 }
-  
-#undef COMMON
-}
 
 #define __HAVE_ARCH_MEMCPY
 


Re: [gnu.org #222786] GCC Testsuite Tests Exclude List Contribution to FSF

2005-04-06 Thread David Edelsohn
 Toon Moene writes:

Toon We (the GNU Fortran folk) are in trouble too:  We're awaiting 
Toon affirmation of the receipt of Thomas Koenig's papers (sent from Germany 
Toon on the 19th of March).  He has quite a few patches to gfortran in the 
Toon queue and GCC 4.0 (the first GCC release to contain gfortran) is 
Toon scheduled for the 15th of April.

Toon Please help.

The FSF has advised that we can accept Thomas's patches while the
paperwork catches up.

David



Illegal promotion of bool to int....

2005-04-06 Thread sjhill
Greetings.

I am running up against an interesting compiler bug whereby a bool is
being promoted to an int. I found a Bugzilla entry and a message on the
mailing list that I thought was similar to what I am seeing:

   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15484
   http://gcc.gnu.org/ml/gcc/2004-05/msg00752.html

Usage of the patch does not help for gcc-3.3 or 3.4 compilers on PPC.
I tried a fresh checkout of 4.1.0, but it failed to cross-build for
i686-linux hosted and powerpc-linux target. I am building my cross
toolchains with 'crosstool'. Here is the output from my compile:

powerpc-7450-linux-gnu-g++ -I../common -O2 -Wall -Wno-uninitialized  
-mtune=7450 -maltivec -g -c ../modify/transform.cpp -o transform.o
../modify/transform.cpp:109: error: prototype for `analysis::analysis(int, 
resolution, sample_allocator*, float, roi_node*, int)' does not match any in 
class `analysis'
../common/sample_processing.h:768: error: candidates are: 
analysis::analysis(const analysis)
../common/sample_processing.h:781: error: 
analysis::analysis(resolution, sample_allocator*, bool, float, roi_node*)
../modify/transform.cpp:125: error: prototype for 
`sub_analysis::sub_analysis(resolution, sample_allocator*, int, float, 
roi_node*)' does not match any in class `sub_analysis'
../modify/analysis_local.h:49: error: candidates are: 
sub_analysis::sub_analysis(const sub_analysis)
../modify/analysis_local.h:53: error: 
sub_analysis::sub_analysis(resolution, sample_allocator*, bool, float, 
roi_node*)
../modify/transform.cpp:309: error: prototype for `void 
sub_analysis::push(line_buf, int)' does not match any in class `sub_analysis'
../modify/analysis_local.h:56: error: candidate is: virtual void 
sub_analysis::push(line_buf, bool)
make: *** [transform.o] Error 1

Does anyone have some insight on this? Thanks.

-Steve


specs file

2005-04-06 Thread Marek Krzyzowski
I as sorry I repeat my appeal, but if really nobody works on Sparc or PowerPC 
processors and nobody wants to send me 'specs' file from directory  
 /usr/lib/gcc-lib/name_of_compiler/lib/version/specs  or similar ???

One more time, thank you for help!


Nie dzwon do Londynu...
zanim nie sprawdzisz HALO.interia.pl
Tutaj: http://link.interia.pl/f1870



Re: Illegal promotion of bool to int....

2005-04-06 Thread Joe Buck
On Wed, Apr 06, 2005 at 12:14:04PM -0500, [EMAIL PROTECTED] wrote:
 I am running up against an interesting compiler bug whereby a bool is
 being promoted to an int. I found a Bugzilla entry and a message on the
 mailing list that I thought was similar to what I am seeing:
 ...
 Does anyone have some insight on this? Thanks.

Sorry, it's not possible to help you figure out a bug from such a vague
description.  A testcase would be needed.  If the bug is in code that
you cannot publish, you can try to cut it down to a small example that
you can reveal.



Re: use of extended asm on ppc for long long data types

2005-04-06 Thread David Edelsohn
 Kumar Gala writes:

Kumar Is there anyway to specify a long long data type as a constraint to 
Kumar extended asm for powerpc32.  If so, how does one specify the registers 
Kumar that would have the upper and lower bits

The rs6000.md machine description has examples of patterns
implementing 64-bit (DImode) operations in 32-bit mode.  The constraint is
a normal r or b GPR constraint.  GCC allocates pairs of consecutive
registers to hold the 64-bit value in 32-bit mode.

When operating in big-endian, the MSB is in the first register and
the LSB is the second register (R+1); in little-endian mode, the two
registers are reversed.  The PowerPC port defines a special print_operand
modifier %L to refer to R+1, e.g., for operand 0, one would write assembly
code referring to %0 and %L0.

David



Re: Question about #pragma pack(n)

2005-04-06 Thread James E Wilson
On Tue, 2005-04-05 at 21:20, feng qiu wrote:
 In c-pragma.c file, #pragma pack(n) set the value of 
 maximum_field_alignment.
 And in opts.c file,-fpack-struct set flag_pack_struct = 1 .
 But I don't known the relation between them.

Try using grep, as in grep flag_pack_struct *.c and grep
maximum_field_alignment *.c.

 It seems that they relate to the four ariables
 DECL_ALIGN,DECL_PACKED,TYPE_PACKED,and TYPE_ALIGN in stor-layout.c file,but 
 what is the difference in them?Should I modify this file?

If you really want to modify files, and submit a patch, you have to use
current mainline sources.  This stuff works differently on mainline than
it does in the older sources you are looking at.  We can't accept a
patch based off of an older release.

Yes, you are looking in the right place.  TYPE_PACKED and
maximum_field_alignment are the important ones for this particular
problem.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com




Re: 3.4.3 on Solaris9, boehm-gc probs.

2005-04-06 Thread Hugh Sasse Staff Elec Eng
On Wed, 6 Apr 2005, Eric Botcazou wrote:
/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c:110: error: syntax
error before _DYNAMIC
/export/home/Scratch/hgs/gcc-3.4.3/boehm-gc/dyn_load.c:111: error:
`Elf32_Dyn' undeclared (first use in this function)
Elf32_Dyn is supposed to be defined in /usr/include/sys/link.h:
Grep -C 5 gives me:
quote
union {
Elf32_Word  d_val;
Elf32_Addr  d_ptr;
Elf32_Off   d_off;
} d_un;
} Elf32_Dyn;
#if (defined(_LP64) || ((__STDC__ - 0 == 0)  (!defined(_NO_LONGLONG
typedef struct {
Elf64_Xword d_tag;  /* how to interpret value */
union {
--
unsigned long   l_addr; /* address at which object is mapped */
char*l_name;/* full name of loaded object */
#ifdef _LP64
Elf64_Dyn   *l_ld;  /* dynamic structure of object */
#else
Elf32_Dyn   *l_ld;  /* dynamic structure of object */
#endif
Link_map *  l_next; /* next link object */
Link_map *  l_prev; /* previous link object */
char*l_refname; /* filters reference name */
};
/quote
typedef struct {
   Elf32_Sword d_tag;  /* how to interpret value */
   union {
   Elf32_Word  d_val;
   Elf32_Addr  d_ptr;
   Elf32_Off   d_off;
   } d_un;
} Elf32_Dyn;
Here's what I get with -H:
Sorry?  -H applied to what command?

[...]
--
Eric Botcazou
Thank you,
Hugh


Re: 3.4.3 on Solaris9, boehm-gc probs.

2005-04-06 Thread Eric Botcazou
  Here's what I get with -H:

 Sorry?  -H applied to what command?

The GCC command line you pasted.

-- 
Eric Botcazou


re: gcc-3.4-20050401 BUG? generates illegal instruction in X11R6.4.2/mkfontscale/freetypemacro

2005-04-06 Thread Daniel Kegel
Clemens Koller wrote:
+ ../../../exports/bin/mkfontscale /usr/X11R6/lib/X11/fonts/Type1
make[4]: *** [install] Error 132
Can you try to produce a standalone test case
that doesn't require building all of X?
e.g. can you save the preprocessor output from the mkfontscale
compiler run, compile that on a different system,
and reproduce the problem, preferably with a single
known font file?
- Dan



[Bug target/17822] avr: Hard-coded XXX_FOR_TARGET

2005-04-06 Thread ralf dot corsepius at rtems dot org

--- Additional Comments From ralf dot corsepius at rtems dot org  
2005-04-06 06:18 ---
OK to apply this patch to gcc-4.0, too?

-- 


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


[Bug c++/20734] [4.0/4.1 Regression] rejects valid pointer to member

2005-04-06 Thread sstrasser at systemhaus-gruppe dot de

--- Additional Comments From sstrasser at systemhaus-gruppe dot de  
2005-04-06 06:28 ---
the file which has led to the test case above compiles ok, too

-- 


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


[Bug bootstrap/20780] gcc 4.0 from cvs head fails to build

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-04-06 
06:36 ---
(In reply to comment #2)
\ /var/tmp//ccDSlyQP.s:774:stfiwx instruction is optional for the PowerPC (not 
allowed without 
 -force_cpusubtype_ALL option)

At this point you need to read:
http://gcc.gnu.org/ml/gcc/2005-03/msg01149.html
and get a newer cctools so this is invalid.

-- 
   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||INVALID


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


[Bug tree-optimization/19794] [meta-bug] Jump threading related bugs

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-04-06 
06:38 ---
(In reply to comment #7)
 They don't even bear-out on other x86 platforms -- my older P3 and AMD
 boxes don't show the same kind of big improvement (they show a small
 improvements).  However, both of my P4s show big improvements.

Huh, both of those targets are still x86. So what about on say Power4 or 
PowerPC 970?

-- 


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


[Bug target/20781] 64 bit shift by non-constant implemented as libcall on PPC32

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-04-06 
06:46 ---
Hmm on powerpc-darwin on the mainline I get:
_foo:
addic. r11,r5,-32
subfic r2,r5,31
srwi r0,r4,1
srw r0,r0,r2
blt- cr0,L2
slw r9,r4,r11
li r10,0
mr r3,r9
mr r4,r10
blr
L2:
slw r9,r3,r5
slw r10,r4,r5
or r9,r0,r9
mr r4,r10
mr r3,r9
blr

Which is still bad as we have extra moves.

-- 


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


[Bug c++/20145] [4.0/4.1 Regression] template class has virtual functions ... is not suppressed with -isystem

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-04-06 
06:48 ---
(In reply to comment #7)
 The fact that something is in a system header does not in general cause the
 compiler not to warn about it.  G++ does not issue certain pedantic warnings
 when in a system header, but this is not one of those.

Why does the non-template version does not warn then?

-- 


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


[Bug libgcj/20750] libgcj needs a --with-java-home configure option

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


-- 
   What|Removed |Added

   Target Milestone|--- |4.0.0


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


[Bug target/13309] Incorrect code generated for __udivdi3 (really __udivmoddi4) (MIPS)

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

--- Additional Comments From rsandifo at gcc dot gnu dot org  2005-04-06 
06:56 ---
 Richard,
 I think we should probably close this one unless we actually get a chip part
 that has this failing :)

...or at least get some documentation about what the hardware
limitation actually is. ;)

I was keeping this open (but suspended) so that we could track
the fact that gcc doesn't work around this particular problem.
But I agree that there's not enough information here to be useful.

We can always reopen the PR if someone does provide the docs
(although we'd probably just suspend it again, unless someone's
actually volunteering to implement the workaround).

Richard


-- 
   What|Removed |Added

 Status|SUSPENDED   |RESOLVED
 Resolution||WORKSFORME


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


[Bug libgcj/20775] Crash in libgcj.so on linux alpha

2005-04-06 Thread tsv at solvo dot ru

--- Additional Comments From tsv at solvo dot ru  2005-04-06 07:11 ---
No, it is UP machine. Yes - it crashes at the same place all the time.

-- 


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


[Bug bootstrap/20783] New: [4.1 Regression] Bootstrapping 4.1 takes 50% longer than 4.0

2005-04-06 Thread Thomas dot Koenig at online dot de
I just ran two parallel bootstraps of mainline and 4.0,
on a single-processor Athlon XP 2600+.

Configuration was with --prefix=$HOME --enable-languages=c,f95
in both cases.

The 4.0 build, which finished earlier, used

real58m0.437s
user25m1.021s
sys 1m36.735s

The 4.1 build used

real67m24.663s
user38m19.830s
sys 1m41.125s

The compiler used for boostrapping was

$ gcc -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.1/configure --prefix=/home/ig25 
--enable-languages=c,f95
Thread model: posix
gcc version 4.1.0 20050402 (experimental)

$ cat /proc/cpuinfo
processor   : 0
vendor_id   : AuthenticAMD
cpu family  : 6
model   : 8
model name  : AMD Athlon(TM) XP 2600+
stepping: 1
cpu MHz : 2083.203
cache size  : 256 KB
fdiv_bug: no
hlt_bug : no
f00f_bug: no
coma_bug: no
fpu : yes
fpu_exception   : yes
cpuid level : 1
wp  : yes
flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmovpat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips: 4128.76

-- 
   Summary: [4.1 Regression] Bootstrapping 4.1 takes 50% longer than
4.0
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: Thomas dot Koenig at online dot de
CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: i686-pc-linux-gnu


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


[Bug target/11787] always call memcpy for block move in mips16

2005-04-06 Thread stephane dot mutz at philips dot com

--- Additional Comments From stephane dot mutz at philips dot com  
2005-04-06 08:07 ---
I understand your point. However, this sometimes results in a significant drop 
of performance forcing to revert to MIPS2 / MIPS32. This partly spoils the 
usefulness of MIPS16. I think the option of forcing memcpy calls iso inline in 
function calls should be left to the developer and not a defacto choice of the 
compiler.


-- 


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


[Bug target/17824] Hard-coded AS and LD in c4x.h

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

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-04-06 
08:11 ---
Subject: Bug 17824

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-04-06 08:10:54

Modified files:
gcc: ChangeLog 
gcc/config/c4x : c4x.h 

Log message:
2005-04-06  Ralf Corsepius  [EMAIL PROTECTED]

PR target/17824
* config/c4x/c4x.h (ASM_PROG, LD_PROG): Remove.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.8163r2=2.8164
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/c4x/c4x.h.diff?cvsroot=gccr1=1.152r2=1.153



-- 


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


[Bug target/17824] Hard-coded AS and LD in c4x.h

2005-04-06 Thread ralf dot corsepius at rtems dot org

--- Additional Comments From ralf dot corsepius at rtems dot org  
2005-04-06 08:15 ---
OK to apply this patch to 4.0, too?

-- 


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


[Bug libfortran/20108] incorrect run time error on formatted read

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

--- Additional Comments From fxcoudert at gcc dot gnu dot org  2005-04-06 
08:45 ---
I'm not sure, but I guess this one should go away with Thomas' patches for EOR
handling (see PR 20131, comment 5 for a link).

-- 
   What|Removed |Added

   Last reconfirmed|2005-02-21 21:44:19 |2005-04-06 08:45:11
   date||


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


[Bug c/20784] New: Impossible to mute warning: imaginary constants are a GCC extension

2005-04-06 Thread aaronavay62 at aaronwl dot com
float complex c = 1.if;  // warning: imaginary constants are a GCC extension

This warning is generated when -pedantic is specified.  This creates problems 
with perfectly valid standard C99 code such as the following.

double complex d = I;

No particular placement of __extension__ seems to be able to make this warning 
go away.

-- 
   Summary: Impossible to mute warning: imaginary constants are a
GCC extension
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: minor
  Priority: P2
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: aaronavay62 at aaronwl dot com
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug libstdc++/20758] operator-(const T, const complexT) vs operator-(const complexT, const complexT)

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

--- Additional Comments From gdr at integrable-solutions dot net  
2005-04-06 08:59 ---
Subject: Re:  operator-(const T, const complexT) vs operator-(const 
complexT, const complexT)

pcarlini at suse dot de [EMAIL PROTECTED] writes:

| Gaby, what do you think about this issue? In fact, it seems to me that an
| implementation strictly following the standard (26.2.6/6), or complex1.patch
| here, doesn't not incur in this problem...

I think we need more careful analysis and tracking of both C99, C++ and
LIA-3.  Coming to think about it, Bruce I still own you a reply about
the logarithm ; I'll send you all references I have in a separate
mail.

-- Gaby


-- 


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


[Bug c/20785] New: Pragma STDC CX_LIMITED_RANGE unimplemented

2005-04-06 Thread aaronavay62 at aaronwl dot com
#pragma STDC CX_LIMITED_RANGE off

is currently unimplemented, and generates the warning:

warning: ignoring #pragma STDC CX_LIMITED_RANGE

-- 
   Summary: Pragma STDC CX_LIMITED_RANGE unimplemented
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P2
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: aaronavay62 at aaronwl dot com
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug libstdc++/20758] operator-(const T, const complexT) vs operator-(const complexT, const complexT)

2005-04-06 Thread pcarlini at suse dot de

--- Additional Comments From pcarlini at suse dot de  2005-04-06 09:17 
---
 I think we need more careful analysis and tracking of both C99, C++ and
 LIA-3.

Ok, thanks, I will start on such analysis (in particulat wrt LIA-3). A minor
issue with complex1.patch is that probably unary operator- is cheaper than
a full subtraction, still, at the end, probably something similar will be
needed. I should also remark that this is definitely not a regression and
that, indeed, the current C++ standard, completely ignores signed zero, NAN,
INF, etc...

-- 


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


[Bug libstdc++/20758] operator-(const T, const complexT) vs operator-(const complexT, const complexT)

2005-04-06 Thread pcarlini at suse dot de

--- Additional Comments From pcarlini at suse dot de  2005-04-06 09:27 
---
By the way, about the log, now that you mention it, it's really a pity that we
cannot enable and use the builtin due to the namespace issues with the clog
stream. We should really figure out a way to resolve this annoying issue, humpf!

-- 


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


[Bug fortran/20786] New: Can't use AINT intrinsic with KIND parameter

2005-04-06 Thread fxcoudert at gcc dot gnu dot org
The following code is valid:

$ cat aint_mismatch.f 
  implicit none
  real(4) r
  r = aint (r,kind=8)
  end
$ gfortran aint_mismatch.f
aint_mismatch.f: In function ‘MAIN__’:
aint_mismatch.f:3: internal compiler error: in emit_move_insn, at expr.c:3085

The ICE disappears if kind=4 or if r is a real(8). This should be easy to fix,
since other similar intrinsics (such as ANINT) doesn't exhibit such ICE.

-- 
   Summary: Can't use AINT intrinsic with KIND parameter
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P2
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fxcoudert at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
OtherBugsDependingO 19292
 nThis:


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


[Bug fortran/19292] [meta-bug] g77 features lacking in gfortran

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


-- 
   What|Removed |Added

  BugsThisDependsOn||20786


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


[Bug fortran/20279] gfortran: ICE on valid code, in gfc_get_symbol_decl

2005-04-06 Thread reichelt at gcc dot gnu dot org

--- Additional Comments From reichelt at gcc dot gnu dot org  2005-04-06 
09:55 ---
This got fixed today.

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

-- 
   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


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


[Bug fortran/15959] ICE and assertion failure in trans-decl.c with character initialization

2005-04-06 Thread reichelt at gcc dot gnu dot org

--- Additional Comments From reichelt at gcc dot gnu dot org  2005-04-06 
09:55 ---
*** Bug 20279 has been marked as a duplicate of this bug. ***

-- 


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


[Bug fortran/20279] gfortran: ICE on valid code, in gfc_get_symbol_decl

2005-04-06 Thread reichelt at gcc dot gnu dot org


-- 
   What|Removed |Added

   Target Milestone|--- |4.0.0


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


[Bug libstdc++/20787] New: Implement resolution of DR 130 [Ready] in v7-branch

2005-04-06 Thread pcarlini at suse dot de
Just an internal reminder. A couple of notes:
1- I'm pretty sure cannot be implemented in v6, but would be happy to be wrong.
2- Maybe a similar fix is needed also for tr1/unordered_*.

-- 
   Summary: Implement resolution of DR 130 [Ready] in v7-branch
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: libstdc++
AssignedTo: pcarlini at suse dot de
ReportedBy: pcarlini at suse dot de
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug libstdc++/20787] Implement resolution of DR 130 [Ready] in v7-branch

2005-04-06 Thread pcarlini at suse dot de


-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-04-06 10:50:57
   date||


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


[Bug bootstrap/20783] [4.1 Regression] Bootstrapping 4.1 takes 50% longer than 4.0

2005-04-06 Thread giovannibajo at libero dot it

--- Additional Comments From giovannibajo at libero dot it  2005-04-06 
10:51 ---
mainline has checking enabled by default. Try bootstrapping it with --disable-
checking before comparing numbers.

Plus there is a regression we already know of, see:
http://gcc.gnu.org/ml/gcc/2005-04/msg00184.html

-- 
   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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


[Bug libstdc++/20787] Implement resolution of DR 130 [Ready] in v7-branch

2005-04-06 Thread pcarlini at suse dot de


-- 
   What|Removed |Added

   Severity|normal  |enhancement


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


[Bug c/20784] Impossible to mute warning: imaginary constants are a GCC extension

2005-04-06 Thread jsm28 at gcc dot gnu dot org

--- Additional Comments From jsm28 at gcc dot gnu dot org  2005-04-06 11:15 
---


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

-- 
   What|Removed |Added

 CC||jsm28 at gcc dot gnu dot org
 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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


[Bug preprocessor/7263] __extension__ keyword doesn't suppress warning on LL or ULL constants

2005-04-06 Thread jsm28 at gcc dot gnu dot org

--- Additional Comments From jsm28 at gcc dot gnu dot org  2005-04-06 11:15 
---
*** Bug 20784 has been marked as a duplicate of this bug. ***

-- 
   What|Removed |Added

 CC||aaronavay62 at aaronwl dot
   ||com


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


[Bug c/20785] Pragma STDC CX_LIMITED_RANGE unimplemented

2005-04-06 Thread jsm28 at gcc dot gnu dot org

--- Additional Comments From jsm28 at gcc dot gnu dot org  2005-04-06 11:21 
---
We know.  I'm not sure how much use there is opening PRs for major points listed
as Missing at http://gcc.gnu.org/c99status.html unless there are particular
subtle points which might be missed in implementation which would be better
noted in a PR.

Stephen Moshier started a C99 pragma implementation some time ago.  I have his
code (version of June 2001, not a complete implementation, only does anything
with FENV_ACCESS) and at least the testcases might be useful; I'll attach the
files to this bug as we may as well use the bug now it's open.


-- 
   What|Removed |Added

 CC||jsm28 at gcc dot gnu dot org
OtherBugsDependingO||16989
  nThis||
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-04-06 11:21:42
   date||


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


[Bug target/17245] [3.3 regression] ICE compiling gsl-1.5 statistics/lag1.c

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

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-04-06 
11:54 ---
Subject: Bug 17245

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-04-06 11:53:54

Modified files:
gcc: ChangeLog 
gcc/config/sparc: sparc.c 

Log message:
PR target/17245
* config/sparc/sparc.c (legitimate_address_p): Remove 'imm2'.
Revert 2004-10-08 patch.  Reject TFmode LO_SUM in 32-bit mode.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.8167r2=2.8168
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/sparc.c.diff?cvsroot=gccr1=1.360r2=1.361



-- 


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


[Bug target/17245] [3.3 regression] ICE compiling gsl-1.5 statistics/lag1.c

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

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-04-06 
11:56 ---
Subject: Bug 17245

CVSROOT:/cvs/gcc
Module name:gcc
Branch: gcc-4_0-branch
Changes by: [EMAIL PROTECTED]   2005-04-06 11:56:34

Modified files:
gcc: ChangeLog 
gcc/config/sparc: sparc.c 

Log message:
PR target/17245
* config/sparc/sparc.c (legitimate_address_p): Remove 'imm2'.
Revert 2004-10-08 patch.  Reject TFmode LO_SUM in 32-bit mode.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcconly_with_tag=gcc-4_0-branchr1=2.7592.2.138r2=2.7592.2.139
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/sparc.c.diff?cvsroot=gcconly_with_tag=gcc-4_0-branchr1=1.354.8.2r2=1.354.8.3



-- 


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


[Bug target/17245] [3.3 regression] ICE compiling gsl-1.5 statistics/lag1.c

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

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-04-06 
11:59 ---
Subject: Bug 17245

CVSROOT:/cvs/gcc
Module name:gcc
Branch: gcc-3_4-branch
Changes by: [EMAIL PROTECTED]   2005-04-06 11:59:10

Modified files:
gcc: ChangeLog 
gcc/config/sparc: sparc.c 

Log message:
PR target/17245
* config/sparc/sparc.c (legitimate_address_p): Remove 'imm2'.
Revert 2004-10-08 patch.  Reject TFmode LO_SUM in 32-bit mode.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcconly_with_tag=gcc-3_4-branchr1=2.2326.2.833r2=2.2326.2.834
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/sparc.c.diff?cvsroot=gcconly_with_tag=gcc-3_4-branchr1=1.271.4.23r2=1.271.4.24



-- 


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


[Bug c/20785] Pragma STDC CX_LIMITED_RANGE unimplemented

2005-04-06 Thread aaronavay62 at aaronwl dot com

--- Additional Comments From aaronavay62 at aaronwl dot com  2005-04-06 
12:13 ---
I opened the PR so I would have a tangible place to point to in a FIXME in some
code, saying when this bug is fixed, uncomment this.  Perhaps though, for
things of this sort, it would be better to point to the status page.  However,
one can add oneself to the CC list for a bug much easier than he can add himself
to the CC list for a webpage.


-- 


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


[Bug fortran/20788] New: Loading libgfortran.so clobbers C redirection of stdin

2005-04-06 Thread ripley at stats dot ox dot ac dot uk
When using a C main program that has in any way loaded libgfortran.so,
redirected C stdin is broken.  This is used by the R project
http://www.r-project.org to run scripts, and even occurs even if
the main (C) program has dlopen-ed a DSO with compiled Fortran code
linked against libgfortran.so.

There is separate bug that stops GFORTRAN_STDIN_UNIT being set to a 
negative value to avoid the initialization that causes the problem.

-- 
   Summary: Loading libgfortran.so clobbers C redirection of stdin
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: critical
  Priority: P2
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ripley at stats dot ox dot ac dot uk
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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


[Bug fortran/20788] Loading libgfortran.so clobbers C redirection of stdin

2005-04-06 Thread ripley at stats dot ox dot ac dot uk

--- Additional Comments From ripley at stats dot ox dot ac dot uk  
2005-04-06 12:27 ---
Created an attachment (id=8547)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8547action=view)
Reproduction details, partial fix.


-- 


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


[Bug target/20781] 64 bit shift by non-constant implemented as libcall on PPC32

2005-04-06 Thread dberlin at dberlin dot org

--- Additional Comments From dberlin at gcc dot gnu dot org  2005-04-06 
12:34 ---
Subject: Re:  64 bit shift by non-constant implemented as
libcall on PPC32

On Wed, 2005-04-06 at 06:46 +, pinskia at gcc dot gnu dot org wrote:
 --- Additional Comments From pinskia at gcc dot gnu dot org  2005-04-06 
 06:46 ---
 Hmm on powerpc-darwin on the mainline I get:

So apparently it's implemented, but not for ppc linux?
Weird.




-- 


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


[Bug target/20781] 64 bit shift by non-constant implemented as libcall on PPC32

2005-04-06 Thread dberlin at dberlin dot org

--- Additional Comments From dberlin at gcc dot gnu dot org  2005-04-06 
12:35 ---
Subject: Re:  64 bit shift by non-constant implemented as
libcall on PPC32

On Wed, 2005-04-06 at 06:46 +, pinskia at gcc dot gnu dot org wrote:
 --- Additional Comments From pinskia at gcc dot gnu dot org  2005-04-06 
 06:46 ---
 Hmm on powerpc-darwin on the mainline I get:

Oh, forget it, i was trying an older compiler.
Sigh.
Damn you PATH
e



-- 


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


[Bug c++/20789] New: segv

2005-04-06 Thread igodard at pacbell dot net
 

-- 
   Summary: segv
   Product: gcc
   Version: 3.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: igodard at pacbell dot net
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug c++/20789] segv

2005-04-06 Thread igodard at pacbell dot net

--- Additional Comments From igodard at pacbell dot net  2005-04-06 12:37 
---
Created an attachment (id=8548)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8548action=view)
compiler output


-- 


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


[Bug c++/20789] segv

2005-04-06 Thread igodard at pacbell dot net

--- Additional Comments From igodard at pacbell dot net  2005-04-06 12:37 
---
Created an attachment (id=8549)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8549action=view)
source code (compressed)


-- 


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


[Bug fortran/17229] parser confused by arithmetic if inside an if

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

--- Additional Comments From fxcoudert at gcc dot gnu dot org  2005-04-06 
12:38 ---
But then, some scientific libraries are using it (I was about to report the same
bug when a search pointed to this one). And since it works on any compiler I
could find (including g77), I'd change that into a bug (and not enhancement).

-- 
   What|Removed |Added

 CC||fxcoudert at gcc dot gnu dot
   ||org
   Severity|enhancement |normal
   Last reconfirmed|2004-11-11 05:26:38 |2005-04-06 12:38:33
   date||


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


[Bug AWT/20790] New: libjawt.so must be renamed

2005-04-06 Thread fitzsim at redhat dot com
libjawt.so needs to be renamed libgcj-jawt.so.  Because it is installed in the
standard library prefix and has the same name as Sun's AWT Native Interface
implementation library, proprietary JVMs pick up libgcj's libjawt.so and not
Sun's.  We can install a symlink in java-gcj-compat so that applications
building against libjawt.so will not see the difference between libgcj-jawt.so
and libjawt.so.

-- 
   Summary: libjawt.so must be renamed
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: AWT
AssignedTo: fitzsim at redhat dot com
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=20790


[Bug fortran/17229] parser confused by arithmetic if inside an if

2005-04-06 Thread prthomas at drfccad dot cea dot fr

--- Additional Comments From prthomas at drfccad dot cea dot fr  2005-04-06 
13:22 ---
Subject: RE:  parser confused by arithmetic if inside a
n if


 But then, some scientific libraries are using it (I was about 
 to report the same
 bug when a search pointed to this one). And since it works on 
 any compiler I
 could find (including g77), I'd change that into a bug (and 
 not enhancement).
 

Neither Tobi not Andrew said that it is not a bug..

Paul


-- 


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


[Bug other/20791] New: visibilty options don't work

2005-04-06 Thread oliverst at online dot de
When compiling a source file with -fvisibility=hidden and/or
-fvisibility-inlines-hidden I get the following error for each function in the
file (happens with C and C++ front-end):

C:/DOKUME~1/OSTOEN~2/LOKALE~1/Temp/ccCC.s: Assembler messages:
C:/DOKUME~1/OSTOEN~2/LOKALE~1/Temp/ccCC.s:5: Error: unknown pseudo-op: 
`.hidden'

I am using a MinGW32 build of GCC, so I am not quite sure, if thise feature is
for MinGW32, but if it won't work for MinGW32, it should be disabled.

Here is my specs:

Using built-in specs.
Target: i686-pc-mingw32
Configured with: /datal/gcc/gcc/configure --prefix=/datal/gcc/build/wingcc
--build=i686-pc-linux-gnu --host=i686-pc-mingw32 --target=i686-pc-mingw32
--enable-languages=c,c++,java --with-gcc --with-gnu-as --with-gnu-ld
--enable-threads=win32 --disable-nls --disable-win32-registry --disable-shared
--disable-debug --without-newlib --enable-libgcj --disable-java-awt --without-x
--enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter
--enable-hash-synchronization --enable-sjlj-exceptions --enable-libgcj-multifile
--enable-libgcj-mingw-osapi=ansi
Thread model: win32
gcc version 4.0.0 20050324 (prerelease)

-- 
   Summary: visibilty options don't work
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: oliverst at online dot de
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug other/20791] visibilty options don't work

2005-04-06 Thread oliverst at online dot de


-- 
   What|Removed |Added

   GCC host triplet||i686-pc-mingw32


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


[Bug fortran/17229] parser confused by arithmetic if inside an if

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

--- Additional Comments From fxcoudert at gcc dot gnu dot org  2005-04-06 
13:52 ---
Paul: Before I changed the severity field, it was enhancement.

All: I was a patch for this one, I will polish the testcase a bit and post it in
a few days.

-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |fxcoudert at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2005-04-06 12:38:33 |2005-04-06 13:52:39
   date||


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


[Bug other/20792] New: [4.1 Regression] target.opt messages missing from gcc.pot

2005-04-06 Thread jsm28 at gcc dot gnu dot org
If gcc.pot is regenerated on mainline, the help information for options moved to
.opt files, other than those for the current target, are missing from the
generated gcc.pot file.  A special version of options.c with the messages for
all languages and targets may need generating for the use of exgettext.

The same problem applies for lang.opt files on the 4.0 branch - messages for
languages which aren't enabled are missing from gcc.pot - though it can be
worked around by enabling all languages, if the system used has all the
prerequisites for all languages.  If there is a safe fix, I think it should be
applied to 4.0 branch as well to avoid problems with missing messages there.

-- 
   Summary: [4.1 Regression] target.opt messages missing from
gcc.pot
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jsm28 at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org,rsandifo at gcc dot gnu
dot org


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


[Bug target/20726] gcc-4.0.0_beta20050326 failed to build

2005-04-06 Thread selecter at spray dot se

--- Additional Comments From selecter at spray dot se  2005-04-06 14:01 
---
Fixincludes is running on compilation, but I had to patch pthread manually. It's
gentoo problem - they do not support gcc-4.0.0 yet.

-- 
   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||INVALID


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


[Bug c++/57] [DR 325] GCC can't parse a non-parenthesized comma in a template-id within a default argument

2005-04-06 Thread liu_gw at 163 dot com

--- Additional Comments From liu_gw at 163 dot com  2005-04-06 14:10 ---
(From update of attachment 8546)
gcc v3.4.3:
gcc/parser.c


-- 


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


[Bug tree-optimization/20076] [3.3/3.4 Regression] __builtin_return(__builtin_apply()) inlined incorrectly

2005-04-06 Thread jsm28 at gcc dot gnu dot org

--- Additional Comments From jsm28 at gcc dot gnu dot org  2005-04-06 14:18 
---
gcc.dg/builtin-apply4.c execution test is failing on mainline on ia64-hpux. 
gcc-testresults also shows it failing on 4.0 branch on ia64-linux.

-- 
   What|Removed |Added

 CC||jakub at gcc dot gnu dot
   ||org, jsm28 at gcc dot gnu
   ||dot org


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


[Bug bootstrap/20783] [4.1 Regression] Bootstrapping 4.1 takes 50% longer than 4.0

2005-04-06 Thread Thomas dot Koenig at online dot de

--- Additional Comments From Thomas dot Koenig at online dot de  2005-04-06 
14:21 ---
This goes away when --disable-checking is specified for 4.0
and 4.1.

Closing as invalid.

-- 
   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||INVALID


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


[Bug other/20792] [4.1 Regression] target.opt messages missing from gcc.pot

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

--- Additional Comments From rsandifo at gcc dot gnu dot org  2005-04-06 
14:28 ---
Thanks for the heads-up.  Will try to fix this ASAP.


-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rsandifo at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-04-06 14:28:26
   date||


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


[Bug middle-end/20793] New: allocate_initial_values does not adjust register liveness information

2005-04-06 Thread amylaar at gcc dot gnu dot org
When ALLOCATE_INITIAL_VALUE, allocate_initial_values will replace
a pseudo with a machine-defined value, but it won't update the
register liveness information.  This can lead to incorrect global
allocations.
An incomplete conflict list can be observed compiling execute/pr17377.c
at -O2 for sh64-elf.  If this leads to an actual execution failure
depends on details of if-conversion, the machine description and
register allocation, which are subject to change.

-- 
   Summary: allocate_initial_values does not adjust register
liveness information
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P2
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: amylaar at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug c/20794] New: [4.0/4.1 Regression] Miscompilation with __attribute ((aligned))

2005-04-06 Thread jakub at gcc dot gnu dot org
extern void abort (void);

typedef int T __attribute__((aligned));
struct S { T a[2]; } s;
void *p[2];

int
main (void)
{
  p[0] = s.a[0];
  p[1] = s.a[1];
  if (p[0] == p[1])
abort ();
  return 0;
}

is miscompiled on at least i386, x86_64, ppc32 and ppc64, at all optimization
levels.  Works correctly in C++.

-- 
   Summary: [4.0/4.1 Regression] Miscompilation with __attribute
((aligned))
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P2
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug middle-end/20794] [4.0/4.1 Regression] Miscompilation with __attribute ((aligned))

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-04-06 
14:52 ---
I want to say this is a middle-end problem as the trees look ok:
  p[0] = s.a[0]{lb: 0 sz: 0};
  D.1140 = s.a[1]{lb: 0 sz: 0};
  p[1] = D.1140;
  D.1141 = p[0];
  D.1142 = p[1];
  if (D.1141 == D.1142) goto L0; else goto L1;

Confirmed.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|c   |middle-end
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-04-06 14:52:28
   date||
   Target Milestone|--- |4.0.0


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


[Bug c++/20795] New: ICE in assign_parms

2005-04-06 Thread jakub at gcc dot gnu dot org
struct S { union {} a; } __attribute__((aligned));
void check (struct S arg)
{
}

ICEs on x86-64 at any optimization level.  Works fine in C.

-- 
   Summary: ICE in assign_parms
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: x86_64-linux


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


[Bug fortran/17229] parser confused by arithmetic if inside an if

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

--- Additional Comments From fxcoudert at gcc dot gnu dot org  2005-04-06 
14:57 ---
Patch proposed here: http://gcc.gnu.org/ml/fortran/2005-04/msg00104.html

-- 
   What|Removed |Added

   Keywords||patch


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


[Bug middle-end/20795] ICE in assign_parms

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-04-06 
14:57 ---
Even though this is only seen with the C++ front-end, I would almost think this 
is a middle-end 
problem.

-- 
   What|Removed |Added

  Component|c++ |middle-end
   Keywords||ice-on-valid-code


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


[Bug c++/20796] New: -Wunused warns for variable passed to constructor via function-style cast

2005-04-06 Thread timb at bluearc dot com
With -Wunused, this:

struct A { A(int); };
struct S { S(A); };
void f()
{
int i = 0;
S s(A(i));
}

generates a spurious warning:

test.cpp: In function `void f()':
test.cpp:5: warning: unused variable `int i'

(Happens in Debian's 3.3.5-12, 3.4.3-12, 4.0-0pre9)

-- 
   Summary: -Wunused warns for variable passed to constructor via
function-style cast
   Product: gcc
   Version: 3.3.5
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: timb at bluearc dot com
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i486-linux
  GCC host triplet: i486-linux
GCC target triplet: i486-linux


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


[Bug other/20791] visibilty options don't work

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-04-06 
15:03 ---
Did you build GCC your self?  If not, did you get the version of binutils that 
the person was offering.  
And yes we have a check while configuring to enable/disabling visiblity.

-- 


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


[Bug middle-end/20794] [4.0/4.1 Regression] Miscompilation with __attribute ((aligned))

2005-04-06 Thread jakub at gcc dot gnu dot org

--- Additional Comments From jakub at gcc dot gnu dot org  2005-04-06 15:05 
---
Doesn't need to be in struct, and the requested alignment must be bigger
than sizeof (int) to reproduce.
extern void abort (void);

typedef int T __attribute__((aligned (8)));
T a[2];
void *p[2];

int
main (void)
{
  p[0] = a[0];
  p[1] = a[1];
  if (p[0] == p[1])
abort ();
  return 0;
}
fails as well.

Note that the requested alignment is apparently honored by neither GCC 3.4 and
earlier in C, nor in G++ (3.4 as well as 4.0) for the individual array members,
only the whole array is aligned as if the attribute was present on the array
itself, not on the member type.

So we probably first need to answer whether that layout is correct or if we want
an ABI change here.

-- 


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


[Bug middle-end/20793] allocate_initial_values does not adjust register liveness information

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

--- Additional Comments From amylaar at gcc dot gnu dot org  2005-04-06 
15:09 ---
Created an attachment (id=8550)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8550action=view)
proposed patch


-- 


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


[Bug fortran/20786] Can't use AINT intrinsic with KIND parameter

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-04-06 
15:11 ---
Confirmed, the problem is most likely we are missing a fold_convert somewhere 
converting from 
double down to float (sorry for using C types but it makes it easier sometimes).

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-04-06 15:11:53
   date||


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


[Bug middle-end/20606] ICE in make_edges, at cfgbuild.c:327 on x86_64 (with O2 - not with no optimizations)

2005-04-06 Thread aph at gcc dot gnu dot org

--- Additional Comments From aph at gcc dot gnu dot org  2005-04-06 15:13 
---
This only happens with -O2.  -O is a reasonable workaround for the time being.

-- 
   What|Removed |Added

   Last reconfirmed|2005-03-23 19:29:03 |2005-04-06 15:13:38
   date||


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


[Bug c++/57] [DR 325] GCC can't parse a non-parenthesized comma in a template-id within a default argument

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

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-04-06 
15:18 ---
(In reply to comment #26)
 (From update of attachment 8546)
 gcc v3.4.3:
 gcc/parser.c

I should note this bug is suspended.  This is because the standard is unclear 
at what is the correct 
behavior.  See DR 325 for all the details.

-- 
   What|Removed |Added

 CC||liu_gw at 163 dot com


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


[Bug AWT/20790] libjawt.so must be renamed

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

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

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-04-06 15:19:49
   date||


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


  1   2   >