Fri Apr 30 17:54:40 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* check-init.c (check_init): Exclude a case of error when doing
xrefs.
* class.c (layout_class_method): Don't generate the error message
twice when compiling from source.
* lang-options.h: Added `-Wredundant-modifers' and
`-Wunusupported-jdk11' flags and help text.
* lang.c (lang_decode_option): Added support for
`-Wunsupported-jdk11' and `-Wredundant-modifiers'.
flag_static_local_jdk11 and flag_redundant set accordingly.
* lex.c (java_lex): Call BUILD_OPERATOR on CCB_TK.
* parse.h (EXPR_WFL_ADD_COL): New macro.
(DECL_END_SOURCE_LINE): Likewise.
(DECL_INHERITED_SOURCE_LINE): Likewise.
* parse.y (static_ref_err): New function, prototyped.
(CCB_TK): Now tagged <operator>.
(class_body:): Remember the location of the closing '}' of a class
definition when doing xrefs.
(block:): Likewise.
(block_end:): Likewise.
(create_class): Remember the location of the inherited class
identifier when doing xrefs.
(register_fields): Added test on first operand of `init' before
testing it TREE_CODE.
(method_header): Store the location of the class identifier in the
class decl when doing xrefs.
(finish_method_declaration): Don't combine first/last method line
when doing xref.
(java_check_regular_methods): Warning check on not overriding
methods with default access on other packages move before check on
static methods. Initialization of `aflags' also moved up.
(resolve_expression_name): Call static_ref_err to report the error.
(static_ref_err): New function, implemented.
(resolve_field_access): Returned simplified static field access
when doing xrefs.
(resolve_qualified_expression_name): Check for illegal use of
static fields in a non static context. Call static_ref_err to
report error in various places.
(java_complete_tree): To not fold initialized static fields when
doing xrefs.
(java_complete_lhs): Likewise.
From-SVN: r26758
* search.c (lookup_field_r): Set the TREE_TYPE of an ambiguous
lookup to error_mark_node here.
(lookup_member): Revise documentation. Add comments. Don't set
the TREE_TYPE to error_mark_node here, and don't build up an extra
TREE_LIST for ambiguous lookups.
(setup_class_bindings): Adjust accordingly.
(push_class_decls): Revise out-of-date comments.
From-SVN: r26754
* mn10200.md (btst insns): btst does not leave cc0 in a useable
state for redundant tst eliminatino.
* mn10300.md (btst insns): Likewise.
From-SVN: r26752
* libjava.mauve/mauve.exp (test_mauve): Pass `link' to
libjava_arguments when linking.
(test_mauve_sim): Likewise.
* lib/libjava.exp (libjava_arguments): Run `libtool' to link.
Don't use `-static'. Added `mode' argument. Use -nodefaultlibs
when linking.
(test_libjava_from_source): Mention why target_compile failed.
Pass `link' to libjava_arguments when linking. Only do `xfails'
for tests we would actually have run.
(test_libjava_from_javac): Likewise.
(libjava_find_lib): Return name of `.la' file.
From-SVN: r26748
* tree.h (struct tree_decl): Add comdat_flag.
(DECL_COMDAT): Define it.
* toplev.c (wrapup_global_declarations): Don't output a
DECL_COMDAT function just because it's public.
From-SVN: r26733
Joseph S. Myers <jsm28@cam.ac.uk>
* pdp11.h (TARGET_SWITCHES): Fix error in previous change.
(ASSEMBLER_DIALECT): Define.
(CONDITIONAL_REGISTER_USAGE): Rename floating point registers if
required for the UNIX assembler.
(ASM_OUTPUT_INT): Remove. The compiler will synthesise it.
(ASM_OUTPUT_ADDR_VEC_PROLOGUE): Remove.
(ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Change to "[" and "]".
(TRAMPOLINE_TEMPLATE): Use ASM_OUTPUT_SHORT.
* pdp11.c (output_addr_const_pdp11): Copy of output_addr_const
adapted to output constants in octal.
* pdp11.c, pdp11.h, pdp11.md: Use output_addr_const_pdp11 instead
of output_addr_const. Output constants in octal. Use assembler
dialect alternatives where DEC and UNIX assemblers use different
instruction names.
From-SVN: r26732
* class.c (build_vtable): Use build_lang_decl when building
vtables, not just build_decl.
(prepare_fresh_vtable): Likewise.
* decl.c (wrapup_globals_for_namespace): Mark vtables as
DECL_EXTERNAL when calling wrapup_global_declarations.
* decl2.c (priority_info_s): Add initializations_p and
destructions_p members.
(finish_vtable_vardecl): Use TREE_SYMBOL_REFERENCED, not TREE_USED,
when deciding what vtables to write out.
(ssdf_decls): New variable.
(ssdf_decls_used): Likewise.
(start_static_storage_duration_function): Deal with being called
multiple times. Avoid inlining this function.
(generate_inits_for_priority): Deal with reuse of priority map.
(get_priority_info): Clear initializations_p and destructions_p.
(do_static_initialization): Tweak comment.
(do_static_destruction): Likewise. Fix condition on sentries for
destruction.
(generate_ctor_or_dtor_function): Call all of the static storage
duration functions.
(generate_ctor_or_dtor_function_for_priority): Check
initializations_p and destructions_p to see what priorities need
initialization functions.
(finish_file): Rework to generate multiple static storage duration
functions, rather than just one.
From-SVN: r26713
* va-ppc.h (__va_start_common): Let __builtin_saveregs do the work.
* rs6000.c (expand_builtin_saveregs): For V4, initialize a private
va_list struct, and return a pointer to it.
(setup_incoming_varargs): V4 save area based off virtual_stack_vars
instead of frame_pointer.
From-SVN: r26710