diff options
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/Index/skipped-bodies-templates.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/clang/test/Index/skipped-bodies-templates.cpp b/clang/test/Index/skipped-bodies-templates.cpp new file mode 100644 index 00000000000..d8fbc28ebc2 --- /dev/null +++ b/clang/test/Index/skipped-bodies-templates.cpp @@ -0,0 +1,27 @@ +// RUN: env CINDEXTEST_SKIP_FUNCTION_BODIES=1 c-index-test -test-load-source all %s 2>&1 \ +// RUN: | FileCheck %s + + +template <class T> +struct Foo { + inline int with_body() { + return 100; + } + + inline int without_body(); +}; + + +int bar = Foo<int>().with_body() + Foo<int>().without_body(); +// CHECK-NOT: warning: inline function 'Foo<int>::with_body' is not defined +// CHECK: warning: inline function 'Foo<int>::without_body' is not defined + +template <class T> +inline int with_body() { return 10; } + +template <class T> +inline int without_body(); + +int baz = with_body<int>() + without_body<int>(); +// CHECK-NOT: warning: inline function 'with_body<int>' is not defined +// CHECK: warning: inline function 'without_body<int>' is not defined |

