diff options
Diffstat (limited to 'gcc/testsuite/obj-c++.dg/encode-9.mm')
-rw-r--r-- | gcc/testsuite/obj-c++.dg/encode-9.mm | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/obj-c++.dg/encode-9.mm b/gcc/testsuite/obj-c++.dg/encode-9.mm new file mode 100644 index 000000000..6b064dfdc --- /dev/null +++ b/gcc/testsuite/obj-c++.dg/encode-9.mm @@ -0,0 +1,26 @@ +/* Test than @encode is properly instantiated. */ +/* { dg-options "-lobjc" } */ +/* { dg-do run } */ + +#include <string.h> +#include <stdlib.h> +#include <objc/objc.h> + +template<typename T> +class typeOf { +public: + operator const char*() { return @encode(T); } +}; + +int main() { + typeOf<int> t; + if (strcmp ((const char *)t, @encode(int))) + abort(); + + typeOf<const char*> c; + if (strcmp ((const char *)c, @encode(const char*))) + abort(); + + return 0; +} + |