1.1 --- a/src/share/vm/adlc/adlparse.hpp Mon Dec 08 17:15:02 2008 -0800 1.2 +++ b/src/share/vm/adlc/adlparse.hpp Tue Dec 09 12:41:26 2008 -0800 1.3 @@ -93,6 +93,7 @@ 1.4 void pipe_parse(void); // Parse pipeline section 1.5 void definitions_parse(void); // Parse definitions section 1.6 void peep_parse(void); // Parse peephole rule definitions 1.7 + void preproc_line(void); // Parse a #line statement 1.8 void preproc_define(void); // Parse a #define statement 1.9 void preproc_undef(void); // Parse an #undef statement 1.10 1.11 @@ -226,7 +227,7 @@ 1.12 void get_effectlist(FormDict &effects, FormDict &operands); // Parse effect-operand pairs 1.13 // Return the contents of a parenthesized expression. 1.14 // Requires initial '(' and consumes final ')', which is replaced by '\0'. 1.15 - char *get_paren_expr(const char *description); 1.16 + char *get_paren_expr(const char *description, bool include_location = false); 1.17 // Return expression up to next stop-char, which terminator replaces. 1.18 // Does not require initial '('. Does not consume final stop-char. 1.19 // Final stop-char is left in _curchar, but is also is replaced by '\0'. 1.20 @@ -234,6 +235,11 @@ 1.21 char *find_cpp_block(const char *description); // Parse a C++ code block 1.22 // Issue parser error message & go to EOL 1.23 void parse_err(int flag, const char *fmt, ...); 1.24 + // Create a location marker for this file and line. 1.25 + char *get_line_string(int linenum = 0); 1.26 + // Return a location marker which tells the C preprocessor to 1.27 + // forget the previous location marker. (Requires awk postprocessing.) 1.28 + char *end_line_marker() { return (char*)"\n#line 999999\n"; } 1.29 1.30 // Return pointer to current character 1.31 inline char cur_char(void); 1.32 @@ -268,5 +274,6 @@ 1.33 static bool is_literal_constant(const char *hex_string); 1.34 static bool is_hex_digit(char digit); 1.35 static bool is_int_token(const char* token, int& intval); 1.36 + static bool equivalent_expressions(const char* str1, const char* str2); 1.37 static void trim(char* &token); // trim leading & trailing spaces 1.38 };