diff options
author | Sam Weinig <sam.weinig@gmail.com> | 2009-09-11 18:49:46 +0000 |
---|---|---|
committer | Sam Weinig <sam.weinig@gmail.com> | 2009-09-11 18:49:46 +0000 |
commit | d5d6778fb91d018cbd57456cae71289640ea8e66 (patch) | |
tree | f03c4ff79ac8e53c4aeef891244f525b9f932255 /test/CodeGenCXX/predefined-expr-sizeof.cpp | |
parent | 8664ad5cbdf01ac9878c8f762cc91f4bb7196098 (diff) |
Add test for dependent PredefinedExprs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81550 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/predefined-expr-sizeof.cpp')
-rw-r--r-- | test/CodeGenCXX/predefined-expr-sizeof.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/CodeGenCXX/predefined-expr-sizeof.cpp b/test/CodeGenCXX/predefined-expr-sizeof.cpp new file mode 100644 index 0000000000..e318fbec18 --- /dev/null +++ b/test/CodeGenCXX/predefined-expr-sizeof.cpp @@ -0,0 +1,30 @@ +// RUN: clang-cc %s -emit-llvm -o - | FileCheck %s + +// CHECK: store i32 49, i32* %size +// CHECK: store i32 52, i32* %size +template<typename T> +class TemplateClass { +public: + void templateClassFunction() { + int size = sizeof(__PRETTY_FUNCTION__); + } +}; + +// CHECK: store i32 27, i32* %size +// CHECK: store i32 30, i32* %size +template<typename T> +void functionTemplate(T t) { + int size = sizeof(__PRETTY_FUNCTION__); +} + +int main() { + TemplateClass<int> t1; + t1.templateClassFunction(); + TemplateClass<double> t2; + t2.templateClassFunction(); + + functionTemplate<int>(0); + functionTemplate(0.0); + + return 0; +} |