Re: Trampoline implementation for MIPS

2006-09-29 Thread Ian Lance Taylor
"kernel coder" <[EMAIL PROTECTED]> writes: > Following is the code for which i'm trying to undertsand the generated > trampoline code. > > int foo(int (*f)()){ > (*f)(); > } > main(){ > int i; > int g(){printf("hello,%d",i);} > foo(g); > } > > Parts of generated a

Re: GCC 4.3 project to merge representation changes

2006-09-29 Thread Mark Mitchell
Tom Tromey wrote: Yes, it does. I still haven't deleted the code that uses this, but it will never be invoked. I think that's fine; as long as there are no actual user-visible problems with Java, that shouldn't block merging Sandra/Kazu's changes. -- Mark Mitchell CodeSourcery [EMAIL PROTE

Re: representation of struct field offsets

2006-09-29 Thread Mark Mitchell
Richard Kenner wrote: I don't follow. The current representation of variable-position fields uses *both* fields, a variable offset in *bytes*, plus a constant offset in *bits*. That doesn't explain why the bit value isn't normalized to be smaller than BITS_PER_UNIT; any whole bytes could be

Re: RFC: deprecated functions calling deprecated functions

2006-09-29 Thread Mike Stump
On Sep 29, 2006, at 2:04 PM, Mark Mitchell wrote: Eric Christopher wrote: So, a testcase like this: extern void foo() __attribute__((deprecated)); extern void bar() __attribute__((deprecated)); void foo() {} void bar() { foo(); } Should we warn on the invocation of foo() since it's also bein

Re: intermittent failures on Darwin using java.lang.Process.waitFor()

2006-09-29 Thread David Daney
Geoffrey Keating wrote: The intermittent failures on Darwin are due to a kernel bug tripped by java.lang.Process.waitFor(). The bug appears to be that if: - the program is multithreaded - it is blocking SIGCHLD - it receives a SIGCHLD due to a process terminating - later it calls sigsuspend (b

gcc-4.1-20060929 is now available

2006-09-29 Thread gccadmin
Snapshot gcc-4.1-20060929 is now available on ftp://gcc.gnu.org/pub/gcc/snapshots/4.1-20060929/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 4.1 SVN branch with the following options: svn://gcc.gnu.org/svn/gcc/branches

Re: representation of struct field offsets

2006-09-29 Thread Richard Kenner
> Unique, but uncommon. Right. > Thus, it would make sense to make it a union with the other > information with a discriminator. As a plus, you'd be able to tell > variable offset fields by checking a single bit instead of a load > (TREE_CODE ). > > IE > unsigned int: offset_is_variable:1; > un

Re: RFC: deprecated functions calling deprecated functions

2006-09-29 Thread David Nicol
I think we should continue to warn. I can see the arguments on both sides, but I think warning makes sense. The person compiling the library should use -Wno-deprecated, and accept that they be calling some other deprecated function they don't intend to call. how about suppressing nested warnin

Re: RFC: deprecated functions calling deprecated functions

2006-09-29 Thread Mark Mitchell
Eric Christopher wrote: So, a testcase like this: extern void foo() __attribute__((deprecated)); extern void bar() __attribute__((deprecated)); void foo() {} void bar() { foo(); } Should we warn on the invocation of foo() since it's also being called from within a deprecated function? We

Re: GCC 4.3 project to merge representation changes

2006-09-29 Thread Tom Tromey
> "Mark" == Mark Mitchell <[EMAIL PROTECTED]> writes: >> Kazu Hirata wrote: >> The Java frontend uses a >> flag within the TREE_LIST object that makes up TYPE_ARG_TYPEs, so it >> is blocking the propsed merge. (Java maintainers are planning to >> fix this in future.) Mark> Yes, I agree that

intermittent failures on Darwin using java.lang.Process.waitFor()

2006-09-29 Thread Geoffrey Keating
The intermittent failures on Darwin are due to a kernel bug tripped by java.lang.Process.waitFor(). The bug appears to be that if: - the program is multithreaded - it is blocking SIGCHLD - it receives a SIGCHLD due to a process terminating - later it calls sigsuspend (but not sigwait) then the

Re: issue about post testresults

2006-09-29 Thread Joe Buck
On Fri, Sep 29, 2006 at 05:03:49PM +0800, Weidong Cui wrote: > I checked my dynamic IP in "www.robtex.com" website and found it in > some Real-time Blackhole Lists. But you know, I can do nothing about > it. If you have a dynamic IP, you should not configure your system to make a direct SMTP conne

issue about post testresults

2006-09-29 Thread Weidong Cui
Hi, All, I tried to send my GCC testsuite to [EMAIL PROTECTED] followed the instructions in gcc website last sunday, but there was no response for about 3 days. Before I sent my testsuite, I've aleady sent mail to "[EMAIL PROTECTED]" and "[EMAIL PROTECTED]" as GCC website say. I also consulted

Re: paired register loads and stores

2006-09-29 Thread David Edelsohn
> Erich Plondke writes: Erich> I guess in a way this is "autovectorization of random code snippets" so maybe Erich> it's too complex but it seems within the realm of what combine could do... Yes, this is more appropriately addressed by straight-line code vectorizations, i.e., SLP.

S/390 as GCC 4.3 secondary plattform?

2006-09-29 Thread Andreas Krebbel
Hello Mark, sorry for tuning in so late to the GCC 4.3 primary/secondary plattform discussion. As you probably expect I'll give a vote for s390-ibm-linux-gnu and s390x-ibm-linux-gnu to be marked as gcc secondary plattforms. I think the s390 back end is in a pretty good shape. The languages c,ad

RE: Re: Visibility=hidden for x86_64 Xen builds -- problems?

2006-09-29 Thread Menezes, Evandro
Jan, > Xen gets compiled with -fPIC, and we recently added a global > visibility > pragma to avoid the cost of going through the GOT for all access to > global data objects (PIC isn't really needed here, all we need is > sufficient compiler support to get the final image located outside the > +/

Re: inapropriate 'comparison is always false due to limited range of data type' warning

2006-09-29 Thread Jakub Jelinek
On Fri, Sep 29, 2006 at 10:55:27AM -0400, Rodolfo Hansen wrote: > [EMAIL PROTECTED] ~ $ gcc -O0 test.c -o test > test.c: In function 'main': > test.c:5: warning: comparison is always false due to limited range of data > type > > > does not make sense to me in the following code: > > > > #incl

Re: paired register loads and stores

2006-09-29 Thread Erich Plondke
On 9/29/06, David Edelsohn <[EMAIL PROTECTED]> wrote: The GCC register allocator allocates objects that span multiple registers in adjacent registers. For instance, a 64-bit doubleword integer (long long int) will be allocated in two adjacent hardware registers when GCC is targeted at a

inapropriate 'comparison is always false due to limited range of data type' warning

2006-09-29 Thread Rodolfo Hansen
Hello, [EMAIL PROTECTED] ~ $ gcc -O0 test.c -o test test.c: In function 'main': test.c:5: warning: comparison is always false due to limited range of data type does not make sense to me in the following code: #include int main (char *argv[], int argc) { unsigned short int number; for (nu

Re: representation of struct field offsets

2006-09-29 Thread Daniel Berlin
On 9/28/06, Richard Kenner <[EMAIL PROTECTED]> wrote: > The only trouble you'll probably run into is with fields whose offset > from the start of a structure is variable. Exactly. That's the reason it's defined the way it is. There is no way to synthesize that field from any other in the FIELD

Re: paired register loads and stores

2006-09-29 Thread David Edelsohn
> Erich Plondke writes: Erich> Yes, but peephole2 lives after register allocation, so how does the target Erich> tell the register allocator that adjacent values loaded from memory should Erich> also attempt to be placed adjacent in the register file? Erich> It looks like if they /happen/ t

Re: paired register loads and stores

2006-09-29 Thread Erich Plondke
On 9/29/06, David Edelsohn <[EMAIL PROTECTED]> wrote: > Erich Plondke writes: Erich> rs6000 and Sparc ports seem to use a peephole2 to get the ldd or lfq Erich> instructions (respectively), but it looks like there's no reason for Erich> the register allocater to allocate registers together.

Re: paired register loads and stores

2006-09-29 Thread David Edelsohn
> Erich Plondke writes: Erich> rs6000 and Sparc ports seem to use a peephole2 to get the ldd or lfq Erich> instructions (respectively), but it looks like there's no reason for Erich> the register allocater to allocate registers together. The peephole2 Erich> just picks up loads to adjacent me

Re: frame unwind issue with discontiguous code

2006-09-29 Thread Jakub Jelinek
On Thu, Sep 28, 2006 at 01:26:00PM +0200, Jan Beulich wrote: > While I'm not certain whether gcc is able to split one function's code > between different sections (if for nothing else, this might help reduce > TLB pressure by moving code unlikely to be executed not just out of Yes, and that caused

Re: Abt Writing a GCC front end

2006-09-29 Thread Andrew Pinski
On Fri, 2006-09-29 at 02:58 -0700, Mohamed Shafi wrote: > Hello all, > > I am involved with a GCC port where i have to add fixed point support > to C based on the fixed point extension of DSP-C specification. I think you are in luck as there is a project to add that to 4.3: http://gcc.gnu.org/wik

Abt Writing a GCC front end

2006-09-29 Thread Mohamed Shafi
Hello all, I am involved with a GCC port where i have to add fixed point support to C based on the fixed point extension of DSP-C specification. So intially i thought that i will typedef long or short to support the new data type. But for my hardware the fixed point registers are 48 bit long.

RE : Re: [RFC] Program Bounds Checking

2006-09-29 Thread Etienne Lorrain
--- Robert Dewar <[EMAIL PROTECTED]> wrote: > Tzi-cker Chiueh wrote: > > We have considered the bound instruction in the CASH project. But > > we found that bound instruction is slower than the six normal > > instructions it is meant to replace for range checking. For example, the > > bound instruc

Trampoline implementation for MIPS

2006-09-29 Thread kernel coder
hi, I'm having some trouble while understanding the generated assembly code for trampoline by mips back-end. Following is the code for which i'm trying to undertsand the generated trampoline code. int foo(int (*f)()){ (*f)(); } main(){ int i; int g(){printf("hello,%d",i);