diff --git a/Examples/test-suite/preproc.i b/Examples/test-suite/preproc.i index 4d5040dcb..ad0839fb3 100644 --- a/Examples/test-suite/preproc.i +++ b/Examples/test-suite/preproc.i @@ -266,7 +266,7 @@ inline const char* mangle ## #@__VA_ARGS__ () { #define THREE(FOO) 3 #define one ONE -#define two TWO +#define two TWO() #define three THREE(42) diff --git a/Examples/test-suite/python/preproc_runme.py b/Examples/test-suite/python/preproc_runme.py index 3bf9ece09..c989294b6 100644 --- a/Examples/test-suite/python/preproc_runme.py +++ b/Examples/test-suite/python/preproc_runme.py @@ -8,3 +8,7 @@ if preproc.define != 1: if preproc.defined != 1: raise RuntimeError + +if 2*preproc.one != preproc.two: + raise RuntimeError + diff --git a/Source/Preprocessor/cpp.c b/Source/Preprocessor/cpp.c index 414694059..070cfc3a5 100644 --- a/Source/Preprocessor/cpp.c +++ b/Source/Preprocessor/cpp.c @@ -618,7 +618,7 @@ expand_macro(String_or_char *name, List *args) } /* If the macro expects arguments, but none were supplied, we leave it in place */ - if (!args && (margs)) { + if (!args && (margs) && Len(margs) > 0) { return NewString(name); }