r321924 - Test case for r321396
Richard Trieu via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 5 19:20:59 PST 2018
Author: rtrieu
Date: Fri Jan 5 19:20:59 2018
New Revision: 321924
URL: http://llvm.org/viewvc/llvm-project?rev=321924&view=rev
Log:
Test case for r321396
Any hashing for methods should be able to compile this test case without
emitting an error. Since the class and method come from the same header from
each module, there should be no messages about ODR violations.
Added:
cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/
cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Module2/
cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Module2/include.h
cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Module2/not-include.h
cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub1/
cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub1/X.h
cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub1/Y.h
cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub1/Z.h
cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub2/
cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub2/A.h
cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub2/B.h
cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/class.h
cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/function.h
cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/module.modulemap
cfe/trunk/test/Modules/odr_hash-Unresolved.cpp
Added: cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Module2/include.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Module2/include.h?rev=321924&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Module2/include.h (added)
+++ cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Module2/include.h Fri Jan 5 19:20:59 2018
@@ -0,0 +1,3 @@
+// include.h
+#include "Sub1/Z.h"
+
Added: cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Module2/not-include.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Module2/not-include.h?rev=321924&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Module2/not-include.h (added)
+++ cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Module2/not-include.h Fri Jan 5 19:20:59 2018
@@ -0,0 +1,5 @@
+// not-include.h
+
+#include "function.h"
+#include "class.h"
+
Added: cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub1/X.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub1/X.h?rev=321924&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub1/X.h (added)
+++ cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub1/X.h Fri Jan 5 19:20:59 2018
@@ -0,0 +1,3 @@
+// X.h
+#include "Sub1/Z.h"
+
Added: cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub1/Y.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub1/Y.h?rev=321924&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub1/Y.h (added)
+++ cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub1/Y.h Fri Jan 5 19:20:59 2018
@@ -0,0 +1,4 @@
+// Y.h
+#include "Sub1/Z.h"
+#include "class.h"
+
Added: cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub1/Z.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub1/Z.h?rev=321924&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub1/Z.h (added)
+++ cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub1/Z.h Fri Jan 5 19:20:59 2018
@@ -0,0 +1,4 @@
+// Z.h
+#include "Sub2/A.h"
+#include "Sub2/B.h"
+
Added: cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub2/A.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub2/A.h?rev=321924&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub2/A.h (added)
+++ cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub2/A.h Fri Jan 5 19:20:59 2018
@@ -0,0 +1,3 @@
+// A.h
+#include "function.h"
+
Added: cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub2/B.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub2/B.h?rev=321924&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub2/B.h (added)
+++ cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/Sub2/B.h Fri Jan 5 19:20:59 2018
@@ -0,0 +1,3 @@
+// B.h
+#include "function.h"
+
Added: cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/class.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/class.h?rev=321924&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/class.h (added)
+++ cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/class.h Fri Jan 5 19:20:59 2018
@@ -0,0 +1,11 @@
+#ifndef Class
+#define Class
+template <class T>
+class S {
+ int Field;
+ void run() {
+ int x;
+ A::Check(&Field, 1);
+ }
+};
+#endif
Added: cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/function.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/function.h?rev=321924&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/function.h (added)
+++ cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/function.h Fri Jan 5 19:20:59 2018
@@ -0,0 +1,6 @@
+#ifndef Function
+#define Function
+namespace A {
+static void Check(int*, int) {}
+}
+#endif
Added: cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/module.modulemap
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/module.modulemap?rev=321924&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/module.modulemap (added)
+++ cfe/trunk/test/Modules/Inputs/odr_hash-Unresolved/module.modulemap Fri Jan 5 19:20:59 2018
@@ -0,0 +1,21 @@
+module Module1 {
+ module Sub1 {
+ umbrella "Sub1"
+ module * { export * }
+ }
+
+ module Sub2 {
+ umbrella "Sub2"
+ module * { export * }
+ }
+}
+
+module Module2 {
+ umbrella "Module2"
+ module * { export * }
+}
+
+module Other {
+ textual header "function.h"
+ textual header "class.h"
+}
Added: cfe/trunk/test/Modules/odr_hash-Unresolved.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/odr_hash-Unresolved.cpp?rev=321924&view=auto
==============================================================================
--- cfe/trunk/test/Modules/odr_hash-Unresolved.cpp (added)
+++ cfe/trunk/test/Modules/odr_hash-Unresolved.cpp Fri Jan 5 19:20:59 2018
@@ -0,0 +1,14 @@
+// RUN: rm -rf %t
+
+// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t/modules.cache \
+// RUN: -I %S/Inputs/odr_hash-Unresolved \
+// RUN: -fmodules \
+// RUN: -fimplicit-module-maps \
+// RUN: -fmodules-cache-path=%t/modules.cache \
+// RUN: -fmodules-local-submodule-visibility \
+// RUN: -std=c++11 -x c++ %s -fsyntax-only
+
+// Note: There is no -verify in the run line because some error messages are
+// not captured from the module building stage.
+
+#include "Module2/include.h"
More information about the cfe-commits
mailing list