Sanitize the names of modules determined based on the names of headers
or directories, to make sure that they are identifiers that are not
keywords in any dialect. Fixes <rdar://problem/12489495>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165821 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Modules/normal-module-map.cpp b/test/Modules/normal-module-map.cpp
index 7cd4482..07ca5ed 100644
--- a/test/Modules/normal-module-map.cpp
+++ b/test/Modules/normal-module-map.cpp
@@ -33,3 +33,13 @@
 int testNestedUmbrellaB() {
   return nested_umbrella_b;
 }
+
+@__experimental_modules_import nested_umbrella.a_extras;
+
+@__experimental_modules_import nested_umbrella._1;
+
+@__experimental_modules_import nested_umbrella.decltype_;
+
+int testSanitizedName() {
+  return extra_a + one + decltype_val;
+}