summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr45865.c
blob: 6edea31471cdcd6e68fc6812614da7f4c4ff6d49 (plain)
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
/* PR rtl-optimization/45865 */
/* { dg-do compile } */
/* { dg-options "-O2 -fcompare-debug" } */

typedef union tree_node *tree;
enum ix86_builtin_type {
  IX86_BT_LAST_VECT,
  IX86_BT_LAST_PTR
};
extern const enum ix86_builtin_type ix86_builtin_type_ptr_base[];
extern tree build_qualified_type (tree, int);
extern tree build_pointer_type (tree);
tree
ix86_get_builtin_type (enum ix86_builtin_type tcode, unsigned int index)
{
  tree type, itype;
  int quals;
  if (tcode <= IX86_BT_LAST_PTR)
    quals = 0x0;
  else
    quals = 0x1;
  itype = ix86_get_builtin_type (ix86_builtin_type_ptr_base[index],
				 index);
  if (quals != 0x0)
    itype = build_qualified_type (itype, quals);
  type = build_pointer_type (itype);
  return type;
}