diff options
author | Carlo Zancanaro <carlo@pc-4w14-0.cs.usyd.edu.au> | 2012-10-15 17:10:06 +1100 |
---|---|---|
committer | Carlo Zancanaro <carlo@pc-4w14-0.cs.usyd.edu.au> | 2012-10-15 17:10:06 +1100 |
commit | be1de4be954c80875ad4108e0a33e8e131b2f2c0 (patch) | |
tree | 1fbbecf276bf7c7bdcbb4dd446099d6d90eaa516 /clang/test/SemaTemplate/instantiate-objc-1.mm | |
parent | c4626a62754862d20b41e8a46a3574264ea80e6d (diff) | |
parent | f1bd2e48c5324d3f7cda4090c87f8a5b6f463ce2 (diff) |
Merge branch 'master' of ssh://bitbucket.org/czan/honours
Diffstat (limited to 'clang/test/SemaTemplate/instantiate-objc-1.mm')
-rw-r--r-- | clang/test/SemaTemplate/instantiate-objc-1.mm | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/clang/test/SemaTemplate/instantiate-objc-1.mm b/clang/test/SemaTemplate/instantiate-objc-1.mm new file mode 100644 index 0000000..2780f8e --- /dev/null +++ b/clang/test/SemaTemplate/instantiate-objc-1.mm @@ -0,0 +1,48 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s + +// Obj-C string literal expressions +template <typename T> struct StringTest { + void f() { + (void)@"Hello"; + } +}; + +template struct StringTest<int>; +template struct StringTest<double>; + +// @selector expressions +template <typename T> struct SelectorTest { + SEL f() { + return @selector(multiple:arguments:); + } + SEL f2() { + return @selector(multiple:arguments:); + } +}; + +template struct SelectorTest<int>; +template struct SelectorTest<double>; + +// @protocol expressions +@protocol P +@end + +template <typename T> struct ProtocolTest { + void f() { + (void)@protocol(P); + } +}; + +template struct ProtocolTest<int>; +template struct ProtocolTest<double>; + +// @encode expressions +template <typename T> struct EncodeTest { + static const char *encode(T t) { + return @encode(T); + } +}; + +template struct EncodeTest<int>; +template struct EncodeTest<double>; +template struct EncodeTest<wchar_t>; |