3 * File name: ir/tr/trvrfy.h
4 * Purpose: Check types and entities for correctness.
5 * Author: Michael Beck, Goetz Lindenmaier
9 * Copyright: (c) 2003 Universität Karlsruhe
10 * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
20 * Methods to verify the type representations.
22 * @author Michael Beck, Goetz Lindenmaier
24 * Methods to verify the type representations.
25 * Copyright 2003 University of Karlsruhe.
33 * possible trvrfy() error codes
35 enum trvrfy_error_codes {
36 no_error = 0, /**< no error */
37 error_ent_not_cont = 1, /**< overwritten entity not in superclass */
38 error_null_mem = 2, /**< compound contains NULL member */
39 error_const_on_wrong_irg = 3, /**< constant placed on wrong IRG */
40 error_existent_entity_without_irg = 4 /**< Method ents with pec_exist must have an irg */
45 * Walks the type information and performs a set of sanity checks.
47 * Currently, the following checks are executed:
48 * - values of initialized entities must be allocated on the constant IRG
49 * - class types: doesn't have NULL members
50 * - class types: all overwrites are existant in the super type
53 * 0 if graph is correct
59 * If NDEBUG is defined performs nothing, else calles the tr_vrfy() function.
64 #define TR_VRFY() tr_vrfy()