diff options
author | Zack Weinberg <zack@gcc.gnu.org> | 2003-04-11 00:24:58 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2003-04-11 00:24:58 +0000 |
commit | 06790e5fd57528a3ee2822d392ff918c1c49abb7 (patch) | |
tree | 1fa5f9ae60027aff2b51248aca045b3cd343f3c3 /gcc/tree.c | |
parent | 5288c2a113d5dd42cecb9553edeb652616c77f8e (diff) | |
download | gcc-06790e5fd57528a3ee2822d392ff918c1c49abb7.zip gcc-06790e5fd57528a3ee2822d392ff918c1c49abb7.tar.gz gcc-06790e5fd57528a3ee2822d392ff918c1c49abb7.tar.bz2 |
tree.c (tree_operand_check_failed): New function.
* tree.c (tree_operand_check_failed): New function.
* tree.h (TREE_OPERAND_CHECK, TREE_OPERAND_CHECK_CODE,
TREE_RTL_OPERAND_CHECK): New checking macros.
(TREE_OPERAND, SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL,
RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, WITH_CLEANUP_EXPR_RTL,
CONSTRUCTOR_ELTS, LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
EXIT_BLOCK_RETURN, LOOP_EXPR_BODY, EXPR_WFL_NODE,
EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME, TARGET_EXPR_SLOT,
TARGET_EXPR_INITIAL, TARGET_EXPR_CLEANUP): Use the new
checking macros.
From-SVN: r65452
Diffstat (limited to 'gcc/tree.c')
-rw-r--r-- | gcc/tree.c | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -4587,6 +4587,22 @@ tree_vec_elt_check_failed (idx, len, file, line, function) idx + 1, len, function, trim_filename (file), line); } +/* Similar to above, except that the check is for the bounds of the operand + vector of an expression node. */ + +void +tree_operand_check_failed (idx, code, file, line, function) + int idx; + enum tree_code code; + const char *file; + int line; + const char *function; +{ + internal_error + ("tree check: accessed operand %d of %s with %d operands in %s, at %s:%d", + idx + 1, tree_code_name[code], TREE_CODE_LENGTH (code), + function, trim_filename (file), line); +} #endif /* ENABLE_TREE_CHECKING */ /* For a new vector type node T, build the information necessary for |