OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [gcc/] [testsuite/] [gcc.dg/] [debug/] [20020224-1.c] - Blame information for rev 12

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 12 jlechner
/* { dg-do compile } */
2
 
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.  */
7
 
8
#define UNUSED __attribute__((unused))
9
#define EXT __extension__
10
 
11
int undef(void);
12
 
13
inline static void
14
f1 (int i UNUSED)
15
{
16
}
17
 
18
inline static void
19
f2 (void)
20
{
21
  f1 (EXT ({ int t1 UNUSED; undef (); }));
22
}
23
 
24
inline static void
25
f3 (void)
26
{
27
  int v1 UNUSED;
28
  int v2 UNUSED;
29
 
30
  EXT ({ int t2 UNUSED; if (0) undef (); 0; })
31
    && EXT ({ int t3 UNUSED; if (0) undef (); 0; });
32
 
33
  if (1)
34
    {
35
      undef ();
36
      if (1)
37
        f2 ();
38
    }
39
 
40
  {
41
    undef ();
42
  }
43
}
44
 
45
inline static void
46
f4 (void)
47
{
48
  EXT ({ undef (); 1; }) && EXT ({ int t4 UNUSED = ({ 1; }); 1; });
49
 
50
  { }
51
 
52
  EXT ({ int t5 UNUSED; if (0) undef (); 0; });
53
 
54
  f4 ();
55
 
56
  undef ();
57
  f3 ();
58
 
59
  return;
60
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.