www.digitalmars.com         C & C++   DMDScript  

c++ - DMC bug?

reply Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
Little rusty on C, so not sure if this is a compiler bug or not (I'm
using DMC 8.42n):

------------------------------------
typedef struct {
    int a;
} Foo;

int bar = (sizeof ((Foo*)0)->a);
------------------------------------

 dmc -c test.c
int bar = (sizeof ((Foo*)0)->a); ^ m.c(5) : Error: ')' expected --- errorlevel 1 FWIW, Adding an additional set of parens like below gets around the error: int bar = (sizeof (((Foo*)0)->a));
Oct 31 2012
parent Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Wed, 31 Oct 2012 03:29:50 -0400
Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> wrote:

 Little rusty on C, so not sure if this is a compiler bug or not (I'm
 using DMC 8.42n):
 
 ------------------------------------
 typedef struct {
     int a;
 } Foo;
 
 int bar = (sizeof ((Foo*)0)->a);
 ------------------------------------
I should point out I came across that in an existing C lib, a release version, so presumably it works on at least *some* C compiler. Just not sure whether or not it *should* work, or (for all I know) maybe it's one of those "undefined" areas of the langauge.
Oct 31 2012