lua-users home
lua-l archive

Re: bug in gcc?

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


>>>>> "RI" == Roberto Ierusalimschy <roberto@inf.puc-rio.br> writes:
 RI> When I compile lpeg (version 0.5) with g++ (that is, as C++ code), I get
 RI> the following error:
 RI> lpeg.c:395: error: invalid conversion from ‘int’ to ‘const char*’
 RI> That line is as follows:
 RI> return luaL_error(L, "too many pending calls/choices"), NULL;
 RI> (The function actually returns 'const char *'). If I remove the
 RI> LuaL_error call from the expression, the error disapears. (So, it seems
 RI> that NULL is still compatible with const char* ;) Parentheses around the
 RI> comma expression have no effect. Is this a bug in gcc? Or am I doing
 RI> something stupid?
 RI> I am using gcc version 4.0.3.
there is no implicit conversion between pointer and integer in
C++. so, compiler authors use various tricks ;)
look through stddef.h:
#ifdef __GNUG__
#define NULL __null
...
-- 
Yours sincerely, Eugeny.
Doctor Web, Ltd. http://www.drweb.com

AltStyle によって変換されたページ (->オリジナル) /