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" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits