From 4a69c2e6c59ae69d2409964e40214d617c106db2 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Thu, 1 Sep 2011 17:04:32 +0000 Subject: Modules hide macro definitions by default, so that silly things like include guards don't show up as macro definitions in every translation unit that imports a module. Macro definitions can, however, be exported with the intentionally-ugly #__export_macro__ directive. Implement this feature by not even bothering to serialize non-exported macros to a module, because clients of that module need not (should not) know that these macros even exist. llvm-svn: 138943 --- clang/lib/Basic/IdentifierTable.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'clang/lib/Basic') diff --git a/clang/lib/Basic/IdentifierTable.cpp b/clang/lib/Basic/IdentifierTable.cpp index 792b0c9c617..0103318405c 100644 --- a/clang/lib/Basic/IdentifierTable.cpp +++ b/clang/lib/Basic/IdentifierTable.cpp @@ -217,6 +217,7 @@ tok::PPKeywordKind IdentifierInfo::getPPKeywordID() const { CASE(12, 'i', 'c', include_next); CASE(16, '_', 'i', __include_macros); + CASE(16, '_', 'e', __export_macro__); #undef CASE #undef HASH } -- cgit v1.2.3