Commit 8e1f2d4c by Kaveh R. Ghazi Committed by Kaveh Ghazi

Makefile.in (jcf-parse.o): Depend on $(PARSE_H).

        * Makefile.in (jcf-parse.o): Depend on $(PARSE_H).
        (parse-scan.o): Depend on toplev.h.
        * class.c (make_method_value): Add prototype.  Make it static.
        Remove unused second argument, caller changed.
        * expr.c (java_lang_expand_expr): Remove unused variable
        `return_label'.
        * java-tree.h: Don't prototype find_in_current_zip.
        Add prototypes for verify_constant_pool, start_java_method,
        end_java_method, give_name_to_locals, expand_byte_code,
        open_in_zip, set_constant_value, find_constant1, find_constant2,
        find_utf8_constant, find_string_constant, find_class_constant,
        find_fieldref_index, find_methodref_index, write_constant_pool,
        count_constant_pool_bytes and encode_newarray_type.
        * jcf-dump.c: Remove unused variable `LONG_temp'.
        * jcf-parse.c: Include parse.h.
        (jcf_parse_source): Remove unused parameter, all callers changed.
        (jcf_figure_file_type): Add static prototype.
        (find_in_current_zip): Likewise.  Also remove unused parameter,
        all callers changed.
        (read_class): Initialize variable `saved_pos'.
        * jcf-reader.c (jcf_parse_preamble): Mark variables
        `minor_version' and `major_version' with ATTRIBUTE_UNUSED.
        * lex.c (java_is_eol): Wrap prototype and definition in !JC1_LITE.
        (java_init_lex): Wrap variable `java_lang_imported' in !JC1_LITE.
        (java_parse_doc_section): Initialize variable `seen_star'.
        (java_lex): Wrap variable `number_beginning' in !JC1_LITE.
        (java_lex_error): Mark parameters `msg' and `forward' with
        ATTRIBUTE_UNUSED.
        (java_get_line_col): Mark parameters `filename' and `line' with
        ATTRIBUTE_UNUSED.
        * parse-scan.y: Include toplev.h.
        (yyerror): Mark parameter `msg' with ATTRIBUTE_UNUSED.
        * parse.h: use `struct JCF', not plain `JCF'.
        (java_parser_context_save_global, java_expand_classes
        java_parser_context_restore_global, java_parse): Add prototypes.
        * typeck.c (convert_ieee_real_to_integer): Remove unused variable
        `node'.

From-SVN: r25616
parent 158281d7
Sat Mar 6 11:17:16 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* Makefile.in (jcf-parse.o): Depend on $(PARSE_H).
(parse-scan.o): Depend on toplev.h.
* class.c (make_method_value): Add prototype. Make it static.
Remove unused second argument, caller changed.
* expr.c (java_lang_expand_expr): Remove unused variable
`return_label'.
* java-tree.h: Don't prototype find_in_current_zip.
Add prototypes for verify_constant_pool, start_java_method,
end_java_method, give_name_to_locals, expand_byte_code,
open_in_zip, set_constant_value, find_constant1, find_constant2,
find_utf8_constant, find_string_constant, find_class_constant,
find_fieldref_index, find_methodref_index, write_constant_pool,
count_constant_pool_bytes and encode_newarray_type.
* jcf-dump.c: Remove unused variable `LONG_temp'.
* jcf-parse.c: Include parse.h.
(jcf_parse_source): Remove unused parameter, all callers changed.
(jcf_figure_file_type): Add static prototype.
(find_in_current_zip): Likewise. Also remove unused parameter,
all callers changed.
(read_class): Initialize variable `saved_pos'.
* jcf-reader.c (jcf_parse_preamble): Mark variables
`minor_version' and `major_version' with ATTRIBUTE_UNUSED.
* lex.c (java_is_eol): Wrap prototype and definition in !JC1_LITE.
(java_init_lex): Wrap variable `java_lang_imported' in !JC1_LITE.
(java_parse_doc_section): Initialize variable `seen_star'.
(java_lex): Wrap variable `number_beginning' in !JC1_LITE.
(java_lex_error): Mark parameters `msg' and `forward' with
ATTRIBUTE_UNUSED.
(java_get_line_col): Mark parameters `filename' and `line' with
ATTRIBUTE_UNUSED.
* parse-scan.y: Include toplev.h.
(yyerror): Mark parameter `msg' with ATTRIBUTE_UNUSED.
* parse.h: use `struct JCF', not plain `JCF'.
(java_parser_context_save_global, java_expand_classes
java_parser_context_restore_global, java_parse): Add prototypes.
* typeck.c (convert_ieee_real_to_integer): Remove unused variable
`node'.
Wed Feb 24 16:13:59 1999 Per Bothner <bothner@deneb.cygnus.com> Wed Feb 24 16:13:59 1999 Per Bothner <bothner@deneb.cygnus.com>
* check-init.c (check_init): COPYN takes word count, not bit count. * check-init.c (check_init): COPYN takes word count, not bit count.
......
...@@ -300,7 +300,7 @@ jcf-depend.o : jcf-depend.c $(CONFIG_H) $(srcdir)/../system.h jcf.h ...@@ -300,7 +300,7 @@ jcf-depend.o : jcf-depend.c $(CONFIG_H) $(srcdir)/../system.h jcf.h
jcf-io.o : jcf-io.c $(CONFIG_H) $(srcdir)/../system.h jcf-io.o : jcf-io.c $(CONFIG_H) $(srcdir)/../system.h
jcf-parse.o : jcf-parse.c $(CONFIG_H) $(JAVA_TREE_H) $(srcdir)/../flags.h \ jcf-parse.o : jcf-parse.c $(CONFIG_H) $(JAVA_TREE_H) $(srcdir)/../flags.h \
$(srcdir)/../input.h java-except.h $(srcdir)/../system.h \ $(srcdir)/../input.h java-except.h $(srcdir)/../system.h \
$(srcdir)/../toplev.h $(srcdir)/../toplev.h $(PARSE_H)
jcf-write.o : jcf-write.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h $(RTL_H) \ jcf-write.o : jcf-write.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h $(RTL_H) \
java-opcodes.h parse.h buffer.h $(srcdir)/../system.h $(srcdir)/../toplev.h java-opcodes.h parse.h buffer.h $(srcdir)/../system.h $(srcdir)/../toplev.h
jv-scan.o : jv-scan.c $(CONFIG_H) $(srcdir)/../system.h jv-scan.o : jv-scan.c $(CONFIG_H) $(srcdir)/../system.h
...@@ -309,7 +309,7 @@ lang.o : lang.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h $(srcdir)/../input.h \ ...@@ -309,7 +309,7 @@ lang.o : lang.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h $(srcdir)/../input.h \
$(srcdir)/../toplev.h $(srcdir)/../system.h $(srcdir)/../toplev.h $(srcdir)/../system.h
mangle.o : mangle.c $(CONFIG_H) jcf.h $(srcdir)/../system.h \ mangle.o : mangle.c $(CONFIG_H) jcf.h $(srcdir)/../system.h \
$(srcdir)/../toplev.h $(srcdir)/../toplev.h
parse-scan.o : $(CONFIG_H) $(srcdir)/../system.h parse-scan.o : $(CONFIG_H) $(srcdir)/../system.h $(srcdir)/../toplev.h
typeck.o : typeck.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h convert.h \ typeck.o : typeck.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h convert.h \
$(srcdir)/../toplev.h $(srcdir)/../system.h $(srcdir)/../toplev.h $(srcdir)/../system.h
verify.o : verify.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h javaop.h java-opcodes.h \ verify.o : verify.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h javaop.h java-opcodes.h \
......
...@@ -37,6 +37,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ ...@@ -37,6 +37,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "parse.h" #include "parse.h"
static tree mangle_class_field PROTO ((tree class)); static tree mangle_class_field PROTO ((tree class));
static tree make_method_value PROTO ((tree));
static rtx registerClass_libfunc; static rtx registerClass_libfunc;
...@@ -874,10 +875,9 @@ make_field_value (tree fdecl) ...@@ -874,10 +875,9 @@ make_field_value (tree fdecl)
return finit; return finit;
} }
tree static tree
make_method_value (mdecl, this_class_addr) make_method_value (mdecl)
tree mdecl; tree mdecl;
tree this_class_addr;
{ {
tree minit; tree minit;
tree code; tree code;
...@@ -1042,7 +1042,7 @@ make_class_data (type) ...@@ -1042,7 +1042,7 @@ make_class_data (type)
if (METHOD_PRIVATE (method) if (METHOD_PRIVATE (method)
&& (flag_inline_functions || optimize)) && (flag_inline_functions || optimize))
continue; continue;
init = make_method_value (method, this_class_addr); init = make_method_value (method);
method_count++; method_count++;
methods = tree_cons (NULL_TREE, init, methods); methods = tree_cons (NULL_TREE, init, methods);
} }
......
...@@ -1886,7 +1886,6 @@ java_lang_expand_expr (exp, target, tmode, modifier) ...@@ -1886,7 +1886,6 @@ java_lang_expand_expr (exp, target, tmode, modifier)
for (current = TREE_OPERAND (exp, 1); current; for (current = TREE_OPERAND (exp, 1); current;
current = TREE_CHAIN (current)) current = TREE_CHAIN (current))
{ {
extern rtx return_label;
tree type; tree type;
tree catch = TREE_OPERAND (current, 0); tree catch = TREE_OPERAND (current, 0);
tree decl = BLOCK_EXPR_DECLS (catch); tree decl = BLOCK_EXPR_DECLS (catch);
......
...@@ -587,10 +587,28 @@ extern int merge_type_state PROTO ((tree)); ...@@ -587,10 +587,28 @@ extern int merge_type_state PROTO ((tree));
extern void push_type PROTO ((tree)); extern void push_type PROTO ((tree));
extern void load_type_state PROTO ((tree)); extern void load_type_state PROTO ((tree));
extern void add_interface PROTO ((tree, tree)); extern void add_interface PROTO ((tree, tree));
extern int find_in_current_zip PROTO ((char *, int, struct JCF **));
extern void append_gpp_mangled_classtype PROTO ((struct obstack *, char *)); extern void append_gpp_mangled_classtype PROTO ((struct obstack *, char *));
extern void emit_unicode_mangled_name PROTO ((struct obstack *, char *, int)); extern void emit_unicode_mangled_name PROTO ((struct obstack *, char *, int));
extern tree force_evaluation_order PROTO ((tree)); extern tree force_evaluation_order PROTO ((tree));
extern int verify_constant_pool PROTO ((struct JCF *));
extern void start_java_method PROTO ((tree));
extern void end_java_method PROTO ((void));
extern void give_name_to_locals PROTO ((struct JCF *));
extern void expand_byte_code PROTO ((struct JCF *, tree));
extern int open_in_zip PROTO ((struct JCF *, const char *, const char *, int));
extern void set_constant_value PROTO ((tree, tree));
#ifdef jword
extern int find_constant1 PROTO ((struct CPool *, int, jword));
extern int find_constant2 PROTO ((struct CPool *, int, jword, jword));
#endif
extern int find_utf8_constant PROTO ((struct CPool *, tree));
extern int find_string_constant PROTO ((struct CPool *, tree));
extern int find_class_constant PROTO ((struct CPool *, tree));
extern int find_fieldref_index PROTO ((struct CPool *, tree));
extern int find_methodref_index PROTO ((struct CPool *, tree));
extern void write_constant_pool PROTO ((struct CPool *, unsigned char *, int));
extern int count_constant_pool_bytes PROTO ((struct CPool *));
extern int encode_newarray_type PROTO ((tree));
/* Access flags etc for a method (a FUNCTION_DECL): */ /* Access flags etc for a method (a FUNCTION_DECL): */
......
...@@ -913,7 +913,6 @@ DEFUN(disassemble_method, (jcf, byte_ops, len), ...@@ -913,7 +913,6 @@ DEFUN(disassemble_method, (jcf, byte_ops, len),
{ {
int oldpc = PC; int oldpc = PC;
int saw_index; int saw_index;
jlong LONG_temp;
jint INT_temp; jint INT_temp;
switch (byte_ops[PC++]) switch (byte_ops[PC++])
{ {
......
...@@ -33,6 +33,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ ...@@ -33,6 +33,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "input.h" #include "input.h"
#include "java-tree.h" #include "java-tree.h"
#include "toplev.h" #include "toplev.h"
#include "parse.h"
/* A CONSTANT_Utf8 element is converted to an IDENTIFIER_NODE at parse time. */ /* A CONSTANT_Utf8 element is converted to an IDENTIFIER_NODE at parse time. */
#define JPOOL_UTF(JCF, INDEX) CPOOL_UTF(&(JCF)->cpool, INDEX) #define JPOOL_UTF(JCF, INDEX) CPOOL_UTF(&(JCF)->cpool, INDEX)
...@@ -81,7 +82,9 @@ static tree give_name_to_class PROTO ((JCF *jcf, int index)); ...@@ -81,7 +82,9 @@ static tree give_name_to_class PROTO ((JCF *jcf, int index));
void parse_zip_file_entries PROTO (()); void parse_zip_file_entries PROTO (());
void process_zip_dir PROTO (()); void process_zip_dir PROTO (());
static void parse_source_file PROTO ((tree)); static void parse_source_file PROTO ((tree));
static void jcf_parse_source PROTO ((JCF *)); static void jcf_parse_source PROTO ((void));
static int jcf_figure_file_type PROTO ((JCF *));
static int find_in_current_zip PROTO ((char *, struct JCF **));
/* Handle "SourceFile" attribute. */ /* Handle "SourceFile" attribute. */
...@@ -465,15 +468,14 @@ read_class (name) ...@@ -465,15 +468,14 @@ read_class (name)
tree save_current_class = current_class; tree save_current_class = current_class;
char *save_input_filename = input_filename; char *save_input_filename = input_filename;
JCF *save_current_jcf = current_jcf; JCF *save_current_jcf = current_jcf;
long saved_pos; long saved_pos = 0;
if (current_jcf->read_state) if (current_jcf->read_state)
saved_pos = ftell (current_jcf->read_state); saved_pos = ftell (current_jcf->read_state);
push_obstacks (&permanent_obstack, &permanent_obstack); push_obstacks (&permanent_obstack, &permanent_obstack);
/* Search in current zip first. */ /* Search in current zip first. */
if (find_in_current_zip (IDENTIFIER_POINTER (name), if (find_in_current_zip (IDENTIFIER_POINTER (name), &jcf) == 0)
IDENTIFIER_LENGTH (name), &jcf) == 0)
/* FIXME: until the `.java' parser is fully working, we only /* FIXME: until the `.java' parser is fully working, we only
look for a .java file when one was mentioned on the look for a .java file when one was mentioned on the
command line. This lets us test the .java parser fairly command line. This lets us test the .java parser fairly
...@@ -496,7 +498,7 @@ read_class (name) ...@@ -496,7 +498,7 @@ read_class (name)
current_jcf = jcf; current_jcf = jcf;
if (current_jcf->java_source) if (current_jcf->java_source)
jcf_parse_source (current_jcf); jcf_parse_source ();
else { else {
java_parser_context_save_global (); java_parser_context_save_global ();
java_push_parser_context (); java_push_parser_context ();
...@@ -560,9 +562,8 @@ load_class (class_or_name, verbose) ...@@ -560,9 +562,8 @@ load_class (class_or_name, verbose)
/* Parse a source file when JCF refers to a source file. */ /* Parse a source file when JCF refers to a source file. */
void static void
jcf_parse_source (jcf) jcf_parse_source ()
JCF *jcf;
{ {
tree file; tree file;
...@@ -956,7 +957,7 @@ void process_zip_dir() ...@@ -956,7 +957,7 @@ void process_zip_dir()
zip file. */ zip file. */
int int
DEFUN(find_in_current_zip, (name, length, jcf), DEFUN(find_in_current_zip, (name, length, jcf),
char *name AND int length AND JCF **jcf) char *name AND JCF **jcf)
{ {
JCF *local_jcf; JCF *local_jcf;
tree class_name = maybe_get_identifier (name), class, icv; tree class_name = maybe_get_identifier (name), class, icv;
...@@ -979,7 +980,7 @@ DEFUN(find_in_current_zip, (name, length, jcf), ...@@ -979,7 +980,7 @@ DEFUN(find_in_current_zip, (name, length, jcf),
} }
/* Figure what kind of file we're dealing with */ /* Figure what kind of file we're dealing with */
int static int
DEFUN(jcf_figure_file_type, (jcf), DEFUN(jcf_figure_file_type, (jcf),
JCF *jcf) JCF *jcf)
{ {
......
...@@ -139,8 +139,8 @@ DEFUN(jcf_parse_preamble, (jcf), ...@@ -139,8 +139,8 @@ DEFUN(jcf_parse_preamble, (jcf),
JCF* jcf) JCF* jcf)
{ {
uint32 magic = (JCF_FILL (jcf, 8), JCF_readu4 (jcf)); uint32 magic = (JCF_FILL (jcf, 8), JCF_readu4 (jcf));
uint16 minor_version = JCF_readu2 (jcf); uint16 minor_version ATTRIBUTE_UNUSED = JCF_readu2 (jcf);
uint16 major_version = JCF_readu2 (jcf); uint16 major_version ATTRIBUTE_UNUSED = JCF_readu2 (jcf);
#ifdef HANDLE_MAGIC #ifdef HANDLE_MAGIC
HANDLE_MAGIC (magic, minor_version, major_version); HANDLE_MAGIC (magic, minor_version, major_version);
#endif #endif
......
...@@ -57,7 +57,9 @@ static int java_lineterminator PROTO ((unicode_t)); ...@@ -57,7 +57,9 @@ static int java_lineterminator PROTO ((unicode_t));
static char *java_sprint_unicode PROTO ((struct java_line *, int)); static char *java_sprint_unicode PROTO ((struct java_line *, int));
static void java_unicode_2_utf8 PROTO ((unicode_t)); static void java_unicode_2_utf8 PROTO ((unicode_t));
static void java_lex_error PROTO ((char *, int)); static void java_lex_error PROTO ((char *, int));
#ifndef JC1_LITE
static int java_is_eol PROTO ((FILE *, int)); static int java_is_eol PROTO ((FILE *, int));
#endif
static void java_store_unicode PROTO ((struct java_line *, unicode_t, int)); static void java_store_unicode PROTO ((struct java_line *, unicode_t, int));
static unicode_t java_parse_escape_sequence PROTO (()); static unicode_t java_parse_escape_sequence PROTO (());
static int java_letter_or_digit_p PROTO ((unicode_t)); static int java_letter_or_digit_p PROTO ((unicode_t));
...@@ -74,9 +76,9 @@ static unicode_t java_sneak_unicode PROTO (()); ...@@ -74,9 +76,9 @@ static unicode_t java_sneak_unicode PROTO (());
void void
java_init_lex () java_init_lex ()
{ {
#ifndef JC1_LITE
int java_lang_imported = 0; int java_lang_imported = 0;
#ifndef JC1_LITE
if (!java_lang_id) if (!java_lang_id)
java_lang_id = get_identifier ("java.lang"); java_lang_id = get_identifier ("java.lang");
if (!java_lang_cloneable) if (!java_lang_cloneable)
...@@ -398,7 +400,7 @@ static int ...@@ -398,7 +400,7 @@ static int
java_parse_doc_section (c) java_parse_doc_section (c)
unicode_t c; unicode_t c;
{ {
int valid_tag = 0, seen_star; int valid_tag = 0, seen_star = 0;
while (JAVA_WHITE_SPACE_P (c) || (c == '*') || c == '\n') while (JAVA_WHITE_SPACE_P (c) || (c == '*') || c == '\n')
{ {
...@@ -604,7 +606,9 @@ java_lex (java_lval) ...@@ -604,7 +606,9 @@ java_lex (java_lval)
char literal_token [256]; char literal_token [256];
int literal_index = 0, radix = 10, long_suffix = 0, overflow = 0, bytes; int literal_index = 0, radix = 10, long_suffix = 0, overflow = 0, bytes;
int i; int i;
#ifndef JC1_LITE
int number_beginning = ctxp->c_line->current; int number_beginning = ctxp->c_line->current;
#endif
/* We might have a . separator instead of a FP like .[0-9]* */ /* We might have a . separator instead of a FP like .[0-9]* */
if (c == '.') if (c == '.')
...@@ -1291,8 +1295,8 @@ build_wfl_node (node) ...@@ -1291,8 +1295,8 @@ build_wfl_node (node)
static void static void
java_lex_error (msg, forward) java_lex_error (msg, forward)
char *msg; char *msg ATTRIBUTE_UNUSED;
int forward; int forward ATTRIBUTE_UNUSED;
{ {
#ifndef JC1_LITE #ifndef JC1_LITE
ctxp->elc.line = ctxp->c_line->lineno; ctxp->elc.line = ctxp->c_line->lineno;
...@@ -1305,6 +1309,7 @@ java_lex_error (msg, forward) ...@@ -1305,6 +1309,7 @@ java_lex_error (msg, forward)
#endif #endif
} }
#ifndef JC1_LITE
static int static int
java_is_eol (fp, c) java_is_eol (fp, c)
FILE *fp; FILE *fp;
...@@ -1324,11 +1329,12 @@ java_is_eol (fp, c) ...@@ -1324,11 +1329,12 @@ java_is_eol (fp, c)
return 0; return 0;
} }
} }
#endif
char * char *
java_get_line_col (filename, line, col) java_get_line_col (filename, line, col)
char *filename; char *filename ATTRIBUTE_UNUSED;
int line, col; int line ATTRIBUTE_UNUSED, col ATTRIBUTE_UNUSED;
{ {
#ifdef JC1_LITE #ifdef JC1_LITE
return 0; return 0;
......
...@@ -41,6 +41,7 @@ definitions and other extensions. */ ...@@ -41,6 +41,7 @@ definitions and other extensions. */
#include "system.h" #include "system.h"
#include "obstack.h" #include "obstack.h"
#include "toplev.h"
extern char *input_filename; extern char *input_filename;
extern FILE *finput, *out; extern FILE *finput, *out;
...@@ -1178,7 +1179,7 @@ void reset_report () ...@@ -1178,7 +1179,7 @@ void reset_report ()
void void
yyerror (msg) yyerror (msg)
char *msg; char *msg ATTRIBUTE_UNUSED;
{ {
} }
......
...@@ -594,7 +594,7 @@ struct parser_ctxt { ...@@ -594,7 +594,7 @@ struct parser_ctxt {
tree current_class; /* Current class */ tree current_class; /* Current class */
tree current_function_decl; /* Current function decl, save/restore */ tree current_function_decl; /* Current function decl, save/restore */
JCF *current_jcf; /* CU jcf */ struct JCF *current_jcf; /* CU jcf */
int prevent_ese; /* Prevent expression statement error */ int prevent_ese; /* Prevent expression statement error */
int class_err; /* Flag to report certain errors */ int class_err; /* Flag to report certain errors */
...@@ -652,8 +652,11 @@ extern tree do_resolve_class PROTO ((tree, tree, tree)); ...@@ -652,8 +652,11 @@ extern tree do_resolve_class PROTO ((tree, tree, tree));
void java_push_parser_context PROTO ((void)); void java_push_parser_context PROTO ((void));
void java_pop_parser_context PROTO ((int)); void java_pop_parser_context PROTO ((int));
void java_init_lex PROTO ((void)); void java_init_lex PROTO ((void));
extern void java_parser_context_save_global PROTO ((void));
extern void java_parser_context_restore_global PROTO ((void));
int yyparse PROTO ((void)); int yyparse PROTO ((void));
extern int java_parse PROTO ((void));
int yylex (); int yylex ();
void yyerror PROTO ((char *)); void yyerror PROTO ((char *));
extern void java_expand_classes PROTO ((void));
#endif #endif
...@@ -66,7 +66,7 @@ static tree ...@@ -66,7 +66,7 @@ static tree
convert_ieee_real_to_integer (type, expr) convert_ieee_real_to_integer (type, expr)
tree type, expr; tree type, expr;
{ {
tree node, assignment, expr_decl; tree assignment, expr_decl;
expr = save_expr (expr); expr = save_expr (expr);
return build (COND_EXPR, type, return build (COND_EXPR, type,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment