--- a/stage3/visit_expression_type.cc Thu Apr 14 17:35:25 2011 +0100
+++ b/stage3/visit_expression_type.cc Thu Apr 14 18:12:59 2011 +0100
@@ -43,25 +43,8 @@
#include <string.h>
#include <strings.h>
+
/*
-static inline symbol_c * FIRST_(symbol_c *symbol1, symbol_c *symbol2) {
- if (symbol1->first_file == symbol2->first_file) return symbol1;
-
- if (symbol1->first_line < symbol2->first_line) return symbol1;
- if (symbol1->first_line > symbol2->first_line) return symbol2;
- if (symbol1->first_column < symbol2->first_column) return symbol1;
- if (symbol1->first_column > symbol2->first_column) return symbol2;
- return symbol1;
-}
-
-#define FIRST_(symbol1, symbol2) (((symbol1)->last_file == (symbol2)->first_file) ? (symbol1) : \
- ((symbol1)->first_file == (symbol2)->last_file) ? (symbol2) : \
- ((symbol1)->first_line < (symbol2)->first_line) ? (symbol1) : \
- ((symbol1)->first_line > (symbol2)->first_line) ? (symbol2) : \
- ((symbol1)->first_column < (symbol2)->first_column) ? (symbol1) : \
- ((symbol1)->first_column > (symbol2)->first_column) ? (symbol2) : \
- (symbol1))
-*/
#define FIRST_(symbol1, symbol2) (((symbol1)->first_line < (symbol2)->first_line) ? (symbol1) : \
((symbol1)->first_line > (symbol2)->first_line) ? (symbol2) : \
((symbol1)->first_column < (symbol2)->first_column) ? (symbol1) : \
@@ -73,6 +56,9 @@
((symbol1)->last_column < (symbol2)->last_column) ? (symbol2) : \
((symbol1)->last_column > (symbol2)->last_column) ? (symbol1) : \
(symbol1))
+*/
+#define FIRST_(symbol1, symbol2) (((symbol1)->first_order < (symbol2)->first_order) ? (symbol1) : (symbol2))
+#define LAST_(symbol1, symbol2) (((symbol1)->last_order > (symbol2)->last_order) ? (symbol1) : (symbol2))
#define STAGE3_ERROR(symbol1, symbol2, msg) { \
fprintf(stderr, "%s:(%d:%d) .. %s(%d:%d): %s\n", \