[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Diff to make core compile with gcc-4.1 prerelease
From: |
Gregory John Casamento |
Subject: |
Re: Diff to make core compile with gcc-4.1 prerelease |
Date: |
Fri, 7 Oct 2005 06:47:46 -0700 (PDT) |
David,
--- David Ayers <address@hidden> wrote:
> Gregory John Casamento schrieb:
> > Please find the attached patch.
> >
> > Basically, it just coerces all of the problem places to id prior to
> coercing it
> > to GSIMapVal/GSIMapKey/etc. This fixes the problem, but I'm not sure it's
> the
> > cleanest solution.
> >
> > I ran a test recently on gcc 3.4.3, using the attached simple test.c
> program.
> > I got the following:
> >
> > address@hidden heron]$ gcc -o testa test.c
> > test.c: In function `main':
> > test.c:16: error: cast to union type from type not present in union
>
> H'm...
>
> >
> > #include <stdio.h>
> >
> > typedef union {
> > int x;
> > void *y;
> > } test_union;
> >
> > void foo(test_union a)
> > {
> > puts("here");
> > }
> >
> > int main(char *argv[], int argc)
> > {
> > long a = 1024; // somevalue...
> > foo((test_union)a);
> >
>
> but this is not what we are doing, as long and int are distinct types.
> As you noticed this would have been an error in previous versions of GCC.
As are, id and NSObject*, depeding on how you look at it.
> In our case there are the special ObjC semantics that any objects could
> be matched to 'id'. And even if 'id' were not present and only
> "NSObject *" were, then the compiler should use that for any
> identifiable subclass of NSObject.
I do see your point about this. But when dealing with casting unions, which is
a gcc extension, I'm not certain if we can make a case for this.
> I would tend to agree with Richard that this is a compiler bug and maybe
> we should add something like the attached test case to gcc...
>
> Andrew?
>
> Cheers,
> David
Later, GJC
Gregory John Casamento
-- CEO/President Open Logic Corp. (A MD Corp.)
## Maintainer of Gorm (IB Equiv.) for GNUstep.
- Diff to make core compile with gcc-4.1 prerelease, Gregory John Casamento, 2005/10/07
- Re: Diff to make core compile with gcc-4.1 prerelease, David Ayers, 2005/10/07
- Re: Diff to make core compile with gcc-4.1 prerelease, Richard Frith-Macdonald, 2005/10/07
- Re: Diff to make core compile with gcc-4.1 prerelease, David Ayers, 2005/10/07
- Re: Diff to make core compile with gcc-4.1 prerelease, Gregory John Casamento, 2005/10/07
- Re: Diff to make core compile with gcc-4.1 prerelease, Richard Frith-Macdonald, 2005/10/07
- Re: Diff to make core compile with gcc-4.1 prerelease, Gregory John Casamento, 2005/10/07
- Re: Diff to make core compile with gcc-4.1 prerelease, Gregory John Casamento, 2005/10/07
Re: Diff to make core compile with gcc-4.1 prerelease,
Gregory John Casamento <=