2000-04-17 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (fold_constant_for_init): Let VAR_DECL and FIELD_DECL be
processed by the method's switch statement.
From-SVN: r34024
* java-tree.h (build_instanceof): Declare.
(build_get_class): Declare.
* parse.y (patch_binop): Use build_instanceof.
* expr.c (build_instanceof): New function. If class is final,
don't make a function call.
(expand_java_INSTANCEOF): Use it.
(build_get_class): New function.
From-SVN: r34021
2000-05-18 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
* jcf-write.c (generate_classfile): Scan the source_file for
slashes with the right pointer variable.
From-SVN: r34006
* print-rtl.c (print_rtx): Only print note line number as string
if between NOTE_INSN_BIAS and NOTE_INSN_MAX.
* final.c (final_scan_insn): Do nothing for note line number 0.
From-SVN: r33997
* gcc-common.c (ggc_mark_rtx_children): Mark NOTE_EXPECTED_VALUE
from NOTE_INSN_EXPECTED_VALUE notes and NOTE_SOURCE_FILE from
NOTE_INSN_DELETED_LABEL.
From-SVN: r33996
Place constant, uninitialised data in .rodata not .bss, and do not interpret an
error in the initialisation value as meaning that the variable should be
placed in the .bss section.
From-SVN: r33995
* com.h (FFECOM_f2cINTEGER, FFECOM_f2cLONGINT): Note that
these types correspond to built-in types now defined in
the C front end (for libf2c).
From-SVN: r33991
* configure.in: Test for __g77_integer, __g77_uinteger,
__g77_longint, and __g77_ulongint builtin types, rather
than mucking around with compiler headers.
* configure: Regenerate.
* g2c.hin (integer, logical, flag, ftnlen, ftnint): Use
__g77_integer rather than autoconfigured value.
(uinteger): Use __g77_uinteger rather than autoconfigured value.
(longint): Use __g77_longint rather than autoconfigured value.
(ulongint): Use __g77_ulongint rather than autoconfigured value.
From-SVN: r33990
* cppexp.c (parse_assertion): New.
(lex): Call it for CPP_HASH. Remove CPP_ASSERTION case.
(_cpp_parse_expr): Remove case '#'. Don't set
parsing_if_directive.
* cpphash.c (collect_objlike_expansion,
collect_funlike_expansion, collect_params,
_cpp_create_definition): The list no longer has a trailing
VSPACE token.
* cpphash.h (enum node_type): Add T_ASSERTION.
(struct hashnode): Remove aschain, add pred.
(struct predicate): New.
Update prototypes.
* cpplex.c (expand_token_space): Handle both offset and
nonoffset lists.
(init_token_list, _cpp_free_token_list, _cpp_parse_assertion): Delete.
(_cpp_init_toklist, _cpp_clear_toklist, _cpp_free_toklist,
_cpp_slice_toklist, _cpp_squeeze_toklist, _cpp_equiv_tokens,
_cpp_equiv_toklists): New.
(_cpp_scan_line): Rename to _cpp_scan_until; add ability to
stop at any single-character token, not just newline.
(_cpp_lex_token): Remove special cases for #define and #if.
(cpp_get_token): Expect # as a separate token type. Remove
DIRECTIVE case.
(_cpp_get_directive_token): Remove DIRECTIVE case.
(_cpp_lex_line, _cpp_lex_file, _cpp_init_input_buffer): Update.
* cpplib.c (_cpp_check_directive): Set dirno and
SYNTAX_INCLUDE bit of flags, not dir_handler and dir_flags.
(_cpp_handle_directive): Run # <number> through the same logic
as normal directives.
(do_define): Don't set parsing_define_directive. Use
_cpp_scan_until. The list does not have a VSPACE at the end.
(do_if): Save, clear, and restore only_seen_white around
_cpp_parse_expr.
(skip_if_group): s/CPP_DIRECTIVE/CPP_HASH/
(do_assert, do_unassert): Rewrite.
* cpplib.h (TTYPE_TABLE): Remove CPP_ASSERTION.
(LIST_OFFSET): New flag.
(struct cpp_toklist): Replace dir_handler and dir_flags with
dirno and flags.
(struct cpp_reader): Remove parsing_if_directive and
parsing_define_directive.
From-SVN: r33984
* fixinc/inclhack.def (broken_cabs): Update fix to handle comments
following the cabs decl which terminate on the following line.
Add the corresponding test_text case.
From-SVN: r33983
* gcc_update (self): Set to `$0'.
(touch_files_reexec): Use `$self' instead of `$0'.
Reported by Albert Chin-A-Young <china@thewrittenword.com>
From-SVN: r33974