diff options
author | Serge Pavlov <sepavloff@gmail.com> | 2016-04-19 06:19:52 +0000 |
---|---|---|
committer | Serge Pavlov <sepavloff@gmail.com> | 2016-04-19 06:19:52 +0000 |
commit | 7dcc97e7ac0a7184f527c77178ecc9db7b412dc8 (patch) | |
tree | 25b03f63bb0010920c7624e5ec6478f67b2d953f /clang/test/SemaCXX/undefined-internal.cpp | |
parent | 77fa84eadd926bd95b9893c9fba949eb01bd50be (diff) | |
download | bcm5719-llvm-7dcc97e7ac0a7184f527c77178ecc9db7b412dc8.tar.gz bcm5719-llvm-7dcc97e7ac0a7184f527c77178ecc9db7b412dc8.zip |
Warn if function or variable cannot be implicitly instantiated
With this patch compiler emits warning if it tries to make implicit instantiation
of a template but cannot find the template definition. The warning can be suppressed
by explicit instantiation declaration or by command line options
-Wundefined-var-template and -Wundefined-func-template. The implementation follows
the discussion of http://reviews.llvm.org/D12326.
Differential Revision: http://reviews.llvm.org/D16396
llvm-svn: 266719
Diffstat (limited to 'clang/test/SemaCXX/undefined-internal.cpp')
-rw-r--r-- | clang/test/SemaCXX/undefined-internal.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/undefined-internal.cpp b/clang/test/SemaCXX/undefined-internal.cpp index 29ca5de6d41..59e6fdf9af0 100644 --- a/clang/test/SemaCXX/undefined-internal.cpp +++ b/clang/test/SemaCXX/undefined-internal.cpp @@ -82,6 +82,7 @@ namespace test5 { static int var; // expected-warning {{variable 'test5::B<test5::(anonymous namespace)::A>::var' has internal linkage but is not defined}} static void foo(); // expected-warning {{function 'test5::B<test5::(anonymous namespace)::A>::foo' has internal linkage but is not defined}} }; + extern template int B<A>::var; void test() { B<A>::var = 0; // expected-note {{used here}} |