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__
21 f1 (EXT ({ int t1 UNUSED
; undef (); }));
30 EXT ({ int t2 UNUSED
; if (0) undef (); 0; })
31 && EXT ({ int t3 UNUSED
; if (0) undef (); 0; });
48 EXT ({ undef (); 1; }) && EXT ({ int t4 UNUSED
= ({ 1; }); 1; });
52 EXT ({ int t5 UNUSED
; if (0) undef (); 0; });