[modules] libstdc++ defines some static inline functions in its internal
headers. If those headers end up being textually included twice into the same
module, we get ambiguity errors.
Work around this by downgrading the ambiguity error to a warning if multiple
identical internal-linkage functions appear in an overload set, and just pick
one of those functions as the lookup result.
llvm-svn: 250884
diff --git a/clang/test/Modules/Inputs/libstdcxx-ambiguous-internal/c.h b/clang/test/Modules/Inputs/libstdcxx-ambiguous-internal/c.h
new file mode 100644
index 0000000..53122fa
--- /dev/null
+++ b/clang/test/Modules/Inputs/libstdcxx-ambiguous-internal/c.h
@@ -0,0 +1,4 @@
+#ifndef C_H
+#define C_H
+#include "a.h"
+#endif