For modules, all macros that aren't include guards are implicitly
public. Add a __private_macro__ directive to hide a macro, similar to
the __module_private__ declaration specifier.
llvm-svn: 142188
diff --git a/clang/lib/Basic/IdentifierTable.cpp b/clang/lib/Basic/IdentifierTable.cpp
index 38f09a08..78f8a7cb 100644
--- a/clang/lib/Basic/IdentifierTable.cpp
+++ b/clang/lib/Basic/IdentifierTable.cpp
@@ -222,6 +222,8 @@
CASE(16, '_', 'i', __include_macros);
CASE(16, '_', 'e', __export_macro__);
+
+ CASE(17, '_', 'p', __private_macro__);
#undef CASE
#undef HASH
}