File: pr68273.c

package info (click to toggle)
gcc-arm-none-eabi 15%3A12.2.rel1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 959,712 kB
  • sloc: cpp: 3,275,382; ansic: 2,061,766; ada: 840,956; f90: 208,513; makefile: 76,132; asm: 73,433; xml: 50,448; exp: 34,146; sh: 32,436; objc: 15,637; fortran: 14,012; python: 11,991; pascal: 6,787; awk: 4,779; perl: 3,054; yacc: 338; ml: 285; lex: 201; haskell: 122
file content (82 lines) | stat: -rw-r--r-- 1,430 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/* { dg-do compile } */
/* { dg-options "-w -fdump-rtl-expand" } */
/* { dg-skip-if "" { *-*-* }  { } { "-O2" } } */

extern char errbuf[];
typedef struct Symbol
{
  char *name;
}
Symbol;
typedef struct Tnode
{
}
Tnode;
typedef union Value
{
  long long i;
}
Value;
typedef struct Entry
{
}
Entry;
typedef struct Table
{
}
Table;
typedef struct Node
{
  Tnode *typ;
  int sto;
  Value val;
}
Node;
struct Scope
{
  Table *table;
} *sp;
static Node op (Node);
Entry *p, *q;
union YYSTYPE
{
  Symbol *sym;
  Node rec;
};
typedef union YYSTYPE YYSTYPE;
typedef short int yytype_int16;

int
yyparse (void)
{
  YYSTYPE yyval;
  int yyn;
  YYSTYPE *yyvsp;
  while (1)
    {
      if (yyn == 34)
	{
	  if ((yyvsp[-1].rec).sto & 0x10)
	    sprintf (errbuf, "invalid typedef qualifier for '%s'",
		     (yyvsp[0].sym)->name);
	  p = enter (sp->table, (yyvsp[0].sym));
	}
      else
	op ((yyvsp[0].rec));
      *++yyvsp = yyval;
    }
}

static Node
op (Node q)
{
  integer (q.typ);
  mgtype (q.typ);
}


/* { dg-final { scan-rtl-dump-times "\\\(set \\\(reg:SI 5 \\\$5\\\)" 2 "expand" { target { ilp32 } } } }  */
/* { dg-final { scan-rtl-dump-times "\\\(set \\\(reg:SI 6 \\\$6\\\)" 1 "expand" { target { ilp32 } } } }  */

/* { dg-final { scan-rtl-dump-times "\\\(set \\\(reg:DI 5 \\\$5\\\)" 2 "expand" { target { lp64 } } } }  */
/* { dg-final { scan-rtl-dump-times "\\\(set \\\(reg:DI 6 \\\$6\\\)" 1 "expand" { target { lp64 } } } }  */