summaryrefslogtreecommitdiff
path: root/gcc/compare-types.h
blob: 384819ce2d7c6dd74ce7060a30942ff6f8e34d7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#pragma once


namespace test_type_equality { void run_tests(); };

static constexpr unsigned not_equal = 0;
static constexpr unsigned equal_incomplete = 1 << 1;
// equal should be the last one
static constexpr unsigned equal = 1 << 2;

extern unsigned eq_identifier(const_tree a, const_tree b);
extern unsigned eq_pointer(const_tree a, const_tree b);
extern unsigned eq_main_variant(const_tree a, const_tree b);
extern unsigned eq_canonical(const_tree a, const_tree b);
extern unsigned eq_canonical_internal(const_tree a, const_tree b);
extern unsigned eq_type_compare(const_tree a, const_tree b);
extern unsigned eq_type_structural(const_tree a, const_tree b);
extern unsigned eq_types(const_tree a, const_tree b, const bool force_structural = false);