Checks now for "const not on const graph" problem
authorMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Tue, 25 Mar 2003 14:01:37 +0000 (14:01 +0000)
committerMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Tue, 25 Mar 2003 14:01:37 +0000 (14:01 +0000)
[r965]

ir/tr/trvrfy.h

index e147fae..58eb75b 100644 (file)
 #include "firm.h"
 
 /**
- * possible error codes
+ * possible trvrfy() error codes
  */
 enum  trvrfy_error_codes {
-  no_error = 0,
-  error_ent_not_cont = 1,
-  error_null_mem,
-  error_const_on_wrong_obstack,
+  no_error                 = 0,                /**< no error */
+  error_ent_not_cont       = 1,                /**< overwritten entity not in superclass */
+  error_null_mem           = 2,                /**< compound contains NULL member */
+  error_const_on_wrong_irg = 3,                /**< constant placed on wrong IRG */
 };
 
 
 /**
  * Walks the type information and performs a set of sanity checks.
  *
+ * Currently, the following checks are executed:
+ * - values of initialized entities must be allocated on the constant IRG
+ * - class types: doesn't have NULL members
+ * - class types: all overwrites are existant in the super type
+ *
  * @return
  *    0 if graph is correct
  *    else error code.
  */
 int tr_vrfy(void);
 
+/**
+ * If NDEBUG is defined performs nothing, else calles the tr_vrfy() function.
+ */
+#ifdef NDEBUG
+#define TR_VRFY()      0
+#else
+#define TR_VRFY()      tr_vrfy()
+#endif
+
 #endif /* TRVRFY_H */