Index: libparser/Cpp.c =================================================================== RCS file: /sources/global/global/libparser/Cpp.c,v retrieving revision 1.17 diff -c -r1.17 Cpp.c *** libparser/Cpp.c 30 Jun 2015 23:20:14 -0000 1.17 --- libparser/Cpp.c 14 Jul 2015 02:24:24 -0000 *************** *** 129,134 **** --- 129,135 ---- } break; case CPP_USING: + crflag = 0; /* * using namespace name; * using ...; *************** *** 141,148 **** warning("missing namespace name. [+%d %s].", lineno, curfile); pushbacktoken(); } ! } else pushbacktoken(); break; case CPP_NAMESPACE: crflag = 0; --- 142,168 ---- warning("missing namespace name. [+%d %s].", lineno, curfile); pushbacktoken(); } ! } else if (c == SYMBOL) { ! char savetok[MAXTOKEN], *saveline; ! int savelineno = lineno; ! ! strlimcpy(savetok, token, sizeof(savetok)); ! strbuf_reset(sb); ! strbuf_puts(sb, sp); ! saveline = strbuf_value(sb); ! if ((c = nexttoken(interested, cpp_reserved_word)) == '=') { ! PUT(PARSER_DEF, savetok, savelineno, saveline); ! } else { ! PUT(PARSER_REF_SYM, savetok, savelineno, saveline); ! while (c == SYMBOL) { ! PUT(PARSER_REF_SYM, token, lineno, sp); ! c = nexttoken(interested, cpp_reserved_word); ! } ! } ! } else { pushbacktoken(); + } + crflag = 1; break; case CPP_NAMESPACE: crflag = 0;