|
Archives
D Programming
DD.gnu digitalmars.D digitalmars.D.bugs digitalmars.D.dtl digitalmars.D.dwt digitalmars.D.announce digitalmars.D.learn digitalmars.D.debugger C/C++ Programming
c++c++.announce c++.atl c++.beta c++.chat c++.command-line c++.dos c++.dos.16-bits c++.dos.32-bits c++.idde c++.mfc c++.rtl c++.stl c++.stl.hp c++.stl.port c++.stl.sgi c++.stlsoft c++.windows c++.windows.16-bits c++.windows.32-bits c++.wxwindows digitalmars.empire digitalmars.DMDScript |
c++.dos - Preprocessor bug?
The following code snippet fails and causes an internal error in dmc v8.28n:
#include <stdio.h>
#define CONCAT(x,y) x##y
#define NAMESPACE(x) CONCAT(w32,x)
#define foo NAMESPACE(foo)
int foo (void) { }
int main (void)
{
foo();
return (0);
}
--------------------------------------------------
c:\net\watt\src>dmc -c test.c
int foo (void)
^
test.c(9) : Preprocessor error: unterminated macro argument
Fatal error: out of memory
--- errorlevel 1
--------------------------------------------------
If I do "#define NAMESPACE(x) w32 ## x", it compiles fine.
Gisle V.
Jul 01 2002
|