* java-except.h (struct eh_range): Removed unused `next' member.
* verify.c (verify_jvm_instructions): Call check_nested_ranges
after adding all exception handlers. Sort exception ranges in
order of start PC.
(struct pc_index): New structure.
(start_pc_cmp): New function.
* except.c (add_handler): Return `void'. Don't call link_handler;
instead construct an ordinary linked list and do range
coalescing.
(check_nested_ranges): New function.
(link_handler): Changed interface to allow merging of eh_ranges.
Split overlapping ranges. Return `void'.
Zack Weinberg [Mon, 17 May 1999 23:37:19 +0000 (23:37 +0000)]
cppspec.c: Insert -no-gcc into command line unless -gcc was given by user.
* cppspec.c: Insert -no-gcc into command line unless -gcc was
given by user.
* gcc.c (default_compilers): Define __GNUC__ and
__GNUC_MINOR__ only if -no-gcc was not given.
* objc/lang-specs.h: Likewise.
* cpp.texi: Document -x and -std options; explain that -lang
is no longer supported. Minor related corrections.
Alexandre Oliva [Mon, 17 May 1999 23:07:40 +0000 (23:07 +0000)]
Makefile.in (stmp-fixproto): Pass location of mkinstalldirs to fixproto.
* Makefile.in (stmp-fixproto): Pass location of mkinstalldirs to
fixproto.
* fixproto: Avoid unportable constructs such as `basename' and
`mkdir -p'. Use mkinstalldirs from the environment if `mkdir -p'
fails.
parse.y (statement_nsi:): Pop `for' statement block.
Mon May 17 18:01:40 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (statement_nsi:): Pop `for' statement block.
(java_complete_lhs): Labelled blocks containing no statement are
marked as completing normally.
(Part of the previous check-in, where the generated parse.c was
forgotten.)
* cp-tree.def (TEMPLATE_ID_EXPR): Update documentation.
* decl.c (grokfndecl): Don't allow inline declarations of friend
template specializations, or friend template specializations with
default arguments.
* pt.c (tsubst): Handle substitution into array types that does
not yield a fixed upper bound, even when not processing a
template.
(tsubst_copy): Deal with the fact that the second operand to a
TEMPLATE_ID_EXPR may be NULL_TREE, a TREE_LIST, or a TREE_VEC.
* search.c (marked_pushdecls_p): Don't descend into
TEMPLATE_TYPE_PARMs and the like.
(unmarked_pushdecls_p): Likewise.
Mark Mitchell [Mon, 17 May 1999 07:42:26 +0000 (07:42 +0000)]
call.c (build_over_call): Don't throw away initializations/copies of empty classes...
* call.c (build_over_call): Don't throw away
initializations/copies of empty classes; use MODIFY_EXPR and
INIT_EXPR as for non-empty classes.
* class.c (finish_struct_1): Put the padding byte for an empty
class on the TYPE_NONCOPIED_PARTS list for the class.
Mark Mitchell [Mon, 17 May 1999 07:21:14 +0000 (07:21 +0000)]
tree.def (TYPE_NONCOPIED_PARTS): Revise documentation to match reality.
* tree.def (TYPE_NONCOPIED_PARTS): Revise documentation to match
reality.
* expr.c (init_noncopied_parts): Don't generate initializers for
parts that don't need them.
Jan Hubicka [Mon, 17 May 1999 02:31:35 +0000 (04:31 +0200)]
reg-stack.c: Do not emit pop insns after cc0 setter.
* reg-stack.c: Do not emit pop insns after cc0 setter.
(emit_pop_insn): Do not emit insn in case WHEN is NULL.
(compare_for_stack_reg): Update REG_DEAD note and
do not emit push insn.
* i386.c: (output_float_compare): Handle new REG_DEAD notes.
Stu Grossman [Mon, 17 May 1999 00:44:09 +0000 (00:44 +0000)]
cplus-dem.c (demangle_fund_type (near 'I' case)): Don't advance the *mangled pointer beyond the end of the string.
* cplus-dem.c (demangle_fund_type (near 'I' case)): Don't advance
the *mangled pointer beyond the end of the string. Clean up code to
match prevailing coding style.
Jason Merrill [Sun, 16 May 1999 20:40:00 +0000 (16:40 -0400)]
decl2.c (finish_objects): Don't use .?tors.* if we don't have ASM_OUTPUT_CONSTRUCTOR.
* decl2.c (finish_objects): Don't use .?tors.* if we don't have
ASM_OUTPUT_CONSTRUCTOR.
* friend.c (do_friend): Add attrlist arg. Remove support for
getting a non-decl as 'decl'.
* decl.c (grokfndecl): Remove attrlist arg. Don't set attrs or
rtl.
(grokdeclarator): Adjust.
* cp-tree.h: Adjust.
* parse.y (direct_new_declarator): Make the first one a
nonmomentary_expr, too.
* init.c (build_new): suspend_momentary while we're calculating
the size.
(build_new_1): Don't copy size.
Mark Mitchell [Sun, 16 May 1999 19:31:51 +0000 (19:31 +0000)]
cp-tree.h (permanent_p): New function.
* cp-tree.h (permanent_p): New function.
* init.c (build_new_1): Use mapcar, not copy_node, to copy a
possibly complex tree node.
* tree.c (mapcar): Adjust comments, and follow coding standards in
conditional.
(permanent_p): New function.
Fri May 14 12:31:08 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* xref.c (xref_set_current_fp): New function, defined.
* xref.h (xref_set_current_fp): New function, prototyped.
Fri May 14 11:57:54 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* check-init.c (check_init): Take into account that
LABELED_BLOCK_STMT can be empty.
parse.y (java_check_regular_methods): Warning check on not overriding methods with default access in other packages...
Thu May 13 18:30:48 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (java_check_regular_methods): Warning check on not
overriding methods with default access in other packages does not
apply to `<clinit>'.
(java_complete_lhs): If block body is an empty_stmt_node, replace
it by NULL_TREE. This avoid gcc generating an irrelevant warning.
check-init.c (check_init): Removed code accepting to see things falling through default:, when doing xrefs.
Thu May 13 13:23:38 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* check-init.c (check_init): Removed code accepting to see things
falling through default:, when doing xrefs.
* java-tree.h (do_not_fold): New global variable, declared.
* parse.y (do_not_fold): New global variable, defined.
(java_complete_expand_method): Set `do_not_fold' to the value of
`flag_emit_xref'. When doing xrefs: copy the thrown exceptions,
and reinstall them after them have been purged; do not check for
initializations; do not issue missing return errors.
(java_complete_lhs): Do not attempt to patch INSTANCEOF_EXPR nodes
when doing xrefs.
(patch_binop): Skip the fold part when doing xrefs.
(build_string_concatenation): Skip the concatenation part when
doing xrefs.
(patch_synchronized_statement): Do not generate a try-finally when
doing xrefs.
(patch_throw_statement): When doing xrefs, do not call BUILD_THROW
and keep the location where the throw was seen.
* typeck.c (convert): When `do_not_fold' is set, do not attempt
any treatment on the converted node an simply return a NOP_EXPR of
the targeted type.
* xref.c (xref_get_data): New function, defined.
* xref.h (xref_get_data): New function, declared.
(XREF_GET_DATA): Use xref_get_data.