* lang-specs.h: Added %{I*}.
From-SVN: r35018
This commit is contained in:
parent
c67846f282
commit
44fadf1e3a
@ -1,3 +1,7 @@
|
||||
2000-07-13 Tom Tromey <tromey@cygnus.com>
|
||||
|
||||
* lang-specs.h: Added %{I*}.
|
||||
|
||||
2000-07-13 Zack Weinberg <zack@wolery.cumb.org>
|
||||
|
||||
* lang-specs.h: Use the new named specs. Remove unnecessary braces.
|
||||
|
@ -290,6 +290,7 @@ static struct jcf_block * get_jcf_label_here PARAMS ((struct jcf_partial *));
|
||||
static void put_linenumber PARAMS ((int, struct jcf_partial *));
|
||||
static void localvar_alloc PARAMS ((tree, struct jcf_partial *));
|
||||
static void localvar_free PARAMS ((tree, struct jcf_partial *));
|
||||
static void localvar_finish PARAMS ((tree, struct jcf_partial *));
|
||||
static int get_access_flags PARAMS ((tree));
|
||||
static void write_chunks PARAMS ((FILE *, struct chunk *));
|
||||
static int adjust_typed_op PARAMS ((tree, int));
|
||||
@ -644,6 +645,25 @@ localvar_free (decl, state)
|
||||
}
|
||||
}
|
||||
|
||||
/* Like localvar_free, but leaves the variable allocated. This lets
|
||||
us avoid problems with inappropriate variable reuse in some
|
||||
situations. */
|
||||
static void
|
||||
localvar_finish (decl, state)
|
||||
tree decl;
|
||||
struct jcf_partial *state;
|
||||
{
|
||||
struct jcf_block *end_label = get_jcf_label_here (state);
|
||||
int index = DECL_LOCAL_INDEX (decl);
|
||||
register struct localvar_info **ptr = &localvar_buffer [index];
|
||||
register struct localvar_info *info = *ptr;
|
||||
|
||||
info->end_label = end_label;
|
||||
|
||||
if (info->decl != decl)
|
||||
abort ();
|
||||
}
|
||||
|
||||
|
||||
#define STACK_TARGET 1
|
||||
#define IGNORE_TARGET 2
|
||||
@ -2379,7 +2399,7 @@ generate_bytecode_insns (exp, target, state)
|
||||
RESERVE (1);
|
||||
OP1 (OPCODE_athrow);
|
||||
NOTE_POP (1);
|
||||
localvar_free (exception_decl, state);
|
||||
localvar_finish (exception_decl, state);
|
||||
|
||||
/* The finally block. First save return PC into return_link. */
|
||||
define_jcf_label (finally_label, state);
|
||||
@ -2388,7 +2408,7 @@ generate_bytecode_insns (exp, target, state)
|
||||
|
||||
generate_bytecode_insns (finally, IGNORE_TARGET, state);
|
||||
maybe_wide (OPCODE_ret, DECL_LOCAL_INDEX (return_link), state);
|
||||
localvar_free (return_link, state);
|
||||
localvar_finish (return_link, state);
|
||||
define_jcf_label (finished_label, state);
|
||||
}
|
||||
break;
|
||||
|
@ -31,6 +31,6 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
|
||||
{".jar", "@java" },
|
||||
{"@java",
|
||||
"%{fjni:%{femit-class-file:%e-fjni and -femit-class-file are incompatible}}\
|
||||
%{!E:jc1 %i %(cc1_options) %{+e*} %{MD} %{MMD} %{M} %{MM}\
|
||||
%{!E:jc1 %i %(cc1_options) %{+e*} %{I*} %{MD} %{MMD} %{M} %{MM}\
|
||||
%{!S:-o %{|!pipe:%g.s} |\n\
|
||||
as %(asm_options) %{!pipe:%g.s} %A }}"},
|
||||
|
Loading…
Reference in New Issue
Block a user