diff options
Diffstat (limited to 'gcc/testsuite/obj-c++.dg/encode-2.mm')
-rw-r--r-- | gcc/testsuite/obj-c++.dg/encode-2.mm | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/obj-c++.dg/encode-2.mm b/gcc/testsuite/obj-c++.dg/encode-2.mm new file mode 100644 index 000000000..157bb5267 --- /dev/null +++ b/gcc/testsuite/obj-c++.dg/encode-2.mm @@ -0,0 +1,28 @@ +/* { dg-do assemble } */ +/* { dg-options "-save-temps" } */ + +template <class T> +struct Vec { + T x, y; + int z; +}; + +typedef struct { + Vec<double> dvec; + Vec<float> fvec; + float fscalar; + double dscalar; + Vec<signed char> chVec; + int iscalar; +} anonymous; + +Vec<double> dd; + +const char *enc = @encode(Vec<float>); +const char *enc2 = @encode(Vec<double>); +const char *enc3 = @encode(anonymous); + +/* { dg-final { scan-assembler "{Vec<float>=ffi}" } } */ +/* { dg-final { scan-assembler "{Vec<double>=ddi}" } } */ +/* { dg-final { scan-file "encode-2.o" "{?={Vec<double>=ddi}{Vec<float>=ffi}fd{Vec<signed char>=cci}i}" } } +/* { dg-final cleanup-saved-temps } */ |