2018-01-24 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / obj-c++.dg / encode-2.mm
blob77eb6ad743324c58d7641e2330474e707f98a291
1 /* { dg-do assemble } */
2 /* { dg-options "-save-temps" } */
4 template <class T>
5 struct Vec {
6  T x, y;
7  int z;
8 };
10 typedef struct {
11   Vec<double> dvec;
12   Vec<float> fvec;
13   float fscalar;
14   double dscalar;
15   Vec<signed char> chVec;
16   int iscalar;
17 } anonymous;
19 Vec<double> dd;
21 const char *enc = @encode(Vec<float>);
22 const char *enc2 = @encode(Vec<double>);
23 const char *enc3 = @encode(anonymous);
25 /* { dg-final { scan-assembler "{Vec<float>=ffi}" } }  */
26 /* { dg-final { scan-assembler "{Vec<double>=ddi}" } }  */
27 /* { dg-final { scan-file "encode-2.o" "{?={Vec<double>=ddi}{Vec<float>=ffi}fd{Vec<signed char>=cci}i}" } } */