ref: e21b9b0779b6daa0e082d059ce6a179f4b454bef
parent: 12e814ef8e1192fd7071d075c2b152f080ab39aa
author: Roberto E. Vargas Caballero <[email protected]>
date: Fri Jul 17 18:56:38 EDT 2015
Disable macro expansions in cpp clausules It is mandatory by the standard, and it is needed beause in other case you can have recursion problems
--- a/cc1/cpp.c
+++ b/cc1/cpp.c
@@ -532,6 +532,8 @@
if (*input->p != '#')
return 0;
++input->p;
+
+ disexpand = 1;
lexmode = CPPMODE;
setnamespace(NS_CPPCLAUSES);
next();
@@ -544,6 +546,8 @@
if (yytoken != EOFTOK && !cppoff)
error("trailing characters after preprocessor directive");
+ disexpand = 0;
lexmode = CCMODE;
+
return 1;
}