blob: 6edea31471cdcd6e68fc6812614da7f4c4ff6d49 [file] [log] [blame]
/* 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;
}