Wed Nov 28 08:21:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
+ EXPR_WITH_FILE_LOCATION, so change checks and documentation.
+
* tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
* tree.h: Add missing checks on some macros; make formatting more
#define LOOP_EXPR_BODY(NODE) TREE_OPERAND (LOOP_EXPR_CHECK (NODE), 0)
/* In a EXPR_WITH_FILE_LOCATION node. */
+#define EXPR_WFL_EMIT_LINE_NOTE(NODE) \
+ (EXPR_WITH_FILE_LOCATION_CHECK (NODE)->common.public_flag)
#define EXPR_WFL_NODE(NODE) \
TREE_OPERAND (EXPR_WITH_FILE_LOCATION_CHECK (NODE), 0)
#define EXPR_WFL_FILENAME_NODE(NODE) \
TREE_OPERAND(EXPR_WITH_FILE_LOCATION_CHECK (NODE), 1)
#define EXPR_WFL_FILENAME(NODE) \
IDENTIFIER_POINTER (EXPR_WFL_FILENAME_NODE ((NODE)))
-#define EXPR_WFL_LINENO(NODE) \
- (EXPR_WITH_FILE_LOCATION_CHECK (NODE)->exp.complexity >> 12)
-#define EXPR_WFL_COLNO(NODE) \
- (EXPR_WITH_FILE_LOCATION_CHECK (NODE)->exp.complexity & 0xfff)
-#define EXPR_WFL_LINECOL(NODE) \
- EXPR_WITH_FILE_LOCATION_CHECK (NODE)->exp.complexity
+/* ??? Java uses this in all expressions. */
+#define EXPR_WFL_LINECOL(NODE) (EXPR_CHECK (NODE)->exp.complexity)
+#define EXPR_WFL_LINENO(NODE) (EXPR_WFL_LINECOL (NODE) >> 12)
+#define EXPR_WFL_COLNO(NODE) (EXPR_WFL_LINECOL (NODE) & 0xfff)
#define EXPR_WFL_SET_LINECOL(NODE, LINE, COL) \
(EXPR_WFL_LINECOL(NODE) = ((LINE) << 12) | ((COL) & 0xfff))
-#define EXPR_WFL_EMIT_LINE_NOTE(NODE) ((NODE)->common.public_flag)
struct tree_exp
{