Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / gcc / testsuite / gcc.dg / debug / 20020224-1.c
blobc61a17aed10db65c132c5a04cdde4f7b1271888b
1 /* { dg-do compile } */
3 /* Here's the deal: f3 is not inlined because it's too big, but f2 and
4 f1 are inlined into it. We used to fail to emit debugging info for
5 t1, because it was moved inside the (inlined) block of f1, marked
6 as abstract, then we'd crash. */
8 #define UNUSED __attribute__((unused))
9 #define EXT __extension__
11 int undef(void);
13 inline static void
14 f1 (int i UNUSED)
18 inline static void
19 f2 (void)
21 f1 (EXT ({ int t1 UNUSED; undef (); }));
24 inline static void
25 f3 (void)
27 int v1 UNUSED;
28 int v2 UNUSED;
30 EXT ({ int t2 UNUSED; if (0) undef (); 0; })
31 && EXT ({ int t3 UNUSED; if (0) undef (); 0; });
33 if (1)
35 undef ();
36 if (1)
37 f2 ();
41 undef ();
45 inline static void
46 f4 (void)
48 EXT ({ undef (); 1; }) && EXT ({ int t4 UNUSED = ({ 1; }); 1; });
50 { }
52 EXT ({ int t5 UNUSED; if (0) undef (); 0; });
54 f4 ();
56 undef ();
57 f3 ();
59 return;