Benjamin Kosnik [Thu, 22 Jun 2000 06:19:44 +0000 (06:19 +0000)]
Fix alpha, powerpc build failures.
2000-06-21 Benjamin Kosnik <bkoz@soma.redhat.com>
Fix alpha, powerpc build failures.
* acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Substantially
re-write. Need to check for both proper declaration when using a
c++ compiler, and "C" linkage when linking. Do both, and if both
exist, then define the HAVE_* bits in config.h.
(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_n): New, uber-macros. Does all.
(GLIBCPP_CHECK_LINKER_FEATURES): Actually link and run this
program, doh.
* check-init.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for
Java specific checks.
* expr.c (build_instanceof): CLASS_INTERFACE and CLASS_FINAL usage
screened by DECL_P.
* java-tree.def (CASE_EXPR): Marked 'e'.
(DEFAULT_EXPR): Likewise.
* jcf-parse.c (set_source_filename): CLASS_COMPLETE_P usage
screened by DECL_P.
* jcf-write.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for
Java specific checks.
(generate_bytecode_insns): Test try_block for BLOCK before using
BLOCK_EXPR_BODY.
* parse.y (build_wfl_wrap): Added `location' argument. Set
EXPR_WFL_LINECOL accordingly.
(dim_expr:): Wrap constants with WFLs.
(method_declarator): Use TREE_TYPE not TYPE_NAME on GET_CPC.
(resolve_package): Check for `stmt' not being a BLOCK before
building a debuggable statement with it.
(make_qualified_primary): Added extra parameter to build_wfl_wrap
invocation.
(resolve_field_access): Make sure `decl' is a DECL before treating
it as such.
(maybe_build_primttype_type_ref): Make sure `wfl''s node is an
IDENTIFIER_NODE before treating it as such.
(patch_new_array_init): Make sure `elt' is a TREE_LIST before
treating it as such.
(find_applicable_accessible_methods_list): CLASS_INTERFACE macro
to be applied only on non array types.
2000-06-16 Per Bothner <per@bothner.com>
* java-tree.h (LABEL_RETURN_LABELS, LABEL_PENDING_CHAIN): Don't
define in terms of DECL_RESULT, as that fails when --enable-checking.
* parse.h (REGISTER_IMPORT): Use `chainon' to link new entries.
* parse.y (find_in_imports): Returned type changed to void,
leading comment fixed.
(register_package): New function.
(qualify_and_find): Likewise.
(package_declaration:): Use `register_package'.
(single_type_import_declaration:): Removed local variable
`node'. Added missing `;' for consistency.
(type_import_on_demand_declaration:): Use `chainon' to link new
entries.
(lookup_field_wrapper): Lookup local variables defined in outer
contexts first.
(java_complete_class): Don't reverse the list of imported on demand.
(do_resolve_class): Reorganized. Removed local variable
`original_name'. Call `qualify_and_find' with the current package
name, invoke `find_in_imports_on_demand' right after. Call
`qualify_and_find' with the packages we've seen so far. Fixed
operations numbering in comments.
(java_expand_class): Don't reverse `package_list'.
(find_most_specific_methods_list): New local variables `abstract'
and `candidates'. Use them to pick the right method.
(Fixes for the ENABLE_TREE_CHECKING Java run-time build problem:
http://gcc.gnu.org/ml/gcc-patches/2000-06/msg00551.html)
Zack Weinberg [Wed, 21 Jun 2000 23:08:17 +0000 (23:08 +0000)]
cppfiles.c (cpp_make_system_header): New function.
* cppfiles.c (cpp_make_system_header): New function.
* cpplib.h: Prototype it.
* cpplib.c (do_line, do_pragma_system_header): Use it.
* fix-header.c (read_scan_file): Use it.
* fix-header.c (check_macro_names): Cast second arg of
cpp_defined to const unsigned char *.
(read_scan_file): Make getchar_call const unsigned char.
Zack Weinberg [Wed, 21 Jun 2000 18:33:51 +0000 (18:33 +0000)]
cppfiles.c: Include splay-tree.h, not hashtab.h.
* cppfiles.c: Include splay-tree.h, not hashtab.h.
(redundant_include_p, make_IHASH, hash_IHASH, eq_IHASH): Delete.
(destroy_include_file_node): New.
(_cpp_init_include_hash): Rename _cpp_init_include_table.
Create a splay tree, not a hash table.
(open_include_file): Look up the path in the include table,
do the multiple include optimization here, etc.
(cpp_included): Walk the path.
(find_include_file): Just walk the path calling
open_include_file, or call it directly for an absolute path.
(_cpp_fake_ihash): Rename _cpp_fake_include and update for new
scheme.
(read_include_file): Update for new scheme. Don't close the
file unless reading fails.
(_cpp_execute_include, cpp_read_file): Tweak for new scheme.
Bryce McKinlay [Wed, 21 Jun 2000 03:55:35 +0000 (04:55 +0100)]
ThreadGroup.java (add(Thread)): Rename to addThread() to comply with classpath VM spec.
2000-06-21 Bryce McKinlay <bryce@albatross.co.nz>
* java/lang/ThreadGroup.java (add(Thread)): Rename to addThread() to
comply with classpath VM spec.
(add(Group)): Rename to addGroup().
* java/lang/Thread.java (Thread): Use addThread().
* java/lang/natThread.cc (finish_): Use removeThread().
Bryce McKinlay [Tue, 20 Jun 2000 13:30:14 +0000 (13:30 +0000)]
ThreadGroup.java: Merged with classpath.
2000-06-20 Bryce McKinlay <bryce@albatross.co.nz>
* java/lang/ThreadGroup.java: Merged with classpath.
* prims.cc (_Jv_RunMain): Don't use \rain_group'.
* gnu/gcj/runtime/FirstThread.java: Remove ThreadGroup constructor
argument.
* java/lang/Thread.java (Thread): Bootstrap initial thread from
ThreadGroup.root if Thread.currentThread is null. Honour the
ThreadGroup's max priority setting.
Benjamin Kosnik [Mon, 19 Jun 2000 23:43:19 +0000 (23:43 +0000)]
[multiple changes]
2000-06-19 Raja R Harinath <harinath@cs.umn.edu>
* src/Makefile.am: change @WERROR@ to $(WERROR) so that this can
be overridden on the command line for individual files.
2000-06-19 Benjamin Kosnik <bkoz@soma.redhat.com>
* acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Can't use
AC_LANG_CPLUSPLUS as this tries to link in libstdc++, Which we are
building. Use -x c++ instead, which does not attempt to link
libstdc++.
Zack Weinberg [Mon, 19 Jun 2000 22:28:28 +0000 (22:28 +0000)]
c-parse.in (undeclared_variable_notice): Moved to c-typeck.c.
* c-parse.in (undeclared_variable_notice): Moved to c-typeck.c.
(primary: IDENTIFIER): Just call build_external_ref.
* c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c:
Regenerate.
* c-lex.c (lastiddecl): Remove.
(yylex): Replace all instances of lastiddecl with local
variables.
* c-typeck.c (build_external_ref): New function. Treat decls
with C_DECL_ANTICIPATED mostly the same as nonexistent decls.
Look up the decl from the id here. Call lookup_objc_ivar.
* c-lang.c (lookup_objc_ivar): Stub.
* objc/objc-act.c (lookup_objc_ivar): New function.
Benjamin Kosnik [Mon, 19 Jun 2000 22:20:15 +0000 (22:20 +0000)]
contribute.html: Add bits about getting to the LWG issues pages.
2000-06-19 Benjamin Kosnik <bkoz@soma.redhat.com>
* docs/17_intro/contribute.html: Add bits about getting to the LWG
issues pages.
* docs/documentation.html: Rename link to make more accurate and scary.
* docs/gccrebuild.html: Edit for clarity as these are no longer
separate projects.
* docs/install.html: Add bits about binutils for
-ffunction-sections, -fdata-sections, -Wl,--gc-sections
* configure.in: Add call for GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT.
* math/Makefile.am (EXTRA_DIST): Change USE_LONG_DOUBLE to
USE_COMPLEX_LONG_DOUBLE.
* acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Break into
GLIBCPP_CHECK_MATH_SUPPORT and GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT.
Works around irregularies in powerpc "C" compiler, but a good idea
anyway.
* acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_COMPILER_SUPPORT):
New. Merge both old compiler bug checks for complex into this.
* cp/decl.c (initialize_local_var): Changed call to finish_expr_stmt
to call genrtl_expr_stmt when appropriate.
* cp/init.c (begin_init_stmts): Changed calls to begin_stmt_expr and
begin_compound_expr to call genrtl_begin_stmt_expr and
genrtl_begin_compound_expr when appropriate.
(finish_init_stmts): Changed calls to finish_compound_expr and
finish_stmt_expr to call genrtl_finish_compound_expr and
genrtl_finish_stmt_expr when appropriate.
(expand_default_init): Changed call to finish_expr_stmt to call
genrtl_expr_stmt when appropriate.
(build_vec_init): Likewise.
* cp/parse.y (simple_stmt): Removed first argument from call to
finish_for_stmt. Removed first argument from call to
finish_switch_stmt.
* cp/parse.c: Regenerated.
* cp/pt.c (tsubst_expr): Removed first argument from call to
finish_for_stmt. Removed first argument from call to
finish_switch_stmt.
Tom Tromey [Fri, 16 Jun 2000 15:52:24 +0000 (15:52 +0000)]
re GNATS libgcj/261 (Macro-inconsistency)
Fix for PR libgcj/261:
* include/win32-signal.h (MAKE_THROW_FRAME): Added `_exception'
argument.
* include/sparc-signal.h (MAKE_THROW_FRAME): Added `_exception'
argument. (This is a patch from long ago that somehow went
missing.)
Mark Mitchell [Fri, 16 Jun 2000 07:34:51 +0000 (07:34 +0000)]
cp-tree.h (struct language_function): Remove x_base_init_list and x_member_init_list.
* cp-tree.h (struct language_function): Remove x_base_init_list
and x_member_init_list.
(current_base_init_list): Remove.
(current_member_init_list): Likewise.
(setup_vtbl_ptr): Change prototype.
(emit_base_init): Likewise.
(expand_member_init): Likewise.
(reinit_parse_for_function): Remove.
* decl.c (save_function_data): Don't clear x_base_init_list and
x_member_init_list.
(mark_language_function): Don't mark them.
* init.c (perform_member_init): Tweak comment.
(sort_member_init): Take the list of initializers as an argument.
(sort_base_init): Likewise.
(emit_base_init): Likewise.
(expand_member_init): Return the initializer. Don't use global
variables.
* lex.c (reinit_parse_for_function): Remove.
* method.c (build_template_parm_names): Correct substitution.
(do_build_copy_constructor): Don't use current_member_init_list
and current_base_init_list.
(synthesize_method): Likewise.
* parse.y (base_init): Split mem-initializers into
base-initializers and field-initializers.
(member_init_list): Build up the list here.
(member_init): Return the initializer.
(fn.depfn): Don't use reinit_parse_for_function.
* parse.c: Regenerated.
* pt.c (convert_nontype_argument): Don't make an ADDR_EXPR of the
ERROR_MARK.
(tsubst_expr): Don't use current_member_init_list
and current_base_init_list.
(tsubst_expr_values): Rename to ...
(tsubst_initializer_list): ... this. Use convert_from_reference.
* semantics.c (setup_vtbl_ptr): Don't use current_member_init_list
and current_base_init_list.
(begin_function_definition): Don't call reinit_parse_for_function.
* dump.c (dequeue_and_dump): Use TREE_VEC_LENGTH with vectors.
* error.c (dump_expr): Handle ADDR_EXPRs with REFERENCE_TYPE
correctly.
Jeffrey A Law [Fri, 16 Jun 2000 00:59:02 +0000 (00:59 +0000)]
i386.md: Create new [right,left] rotate and right shift patterns to optimize shift by 1...
* i386.md: Create new [right,left] rotate and right shift
patterns to optimize shift by 1 bit for certain ia32 processors.
Update patterns which perform left shifts to optimize shift by
1 bit for certain ia32 processors.
* i386.c (const_int_1_operand): New predicate.
* i386.h (PREDICATE_CODES): Handle const_int_1_operand.
* i386-protos.h (const_int_1_operand): Prototype.
Bryce McKinlay [Thu, 15 Jun 2000 12:04:50 +0000 (12:04 +0000)]
2000-06-15 Bryce McKinlay <bryce@albatross.co.nz>
Fix for PR java.lang/258:
* prims.cc (_Jv_PrimClass): Set state of primitive class to
JV_STATE_DONE, to prevent accidental initialization.
* java/lang/natClass.cc (_Jv_IsAssignableFrom): Call
_Jv_InterfaceAssignableFrom if target is an interface and source is
an interface or an abstract class. Remove redundant initializeClass
calls. Remove duplicate if_idt test.
(_Jv_InterfaceAssignableFrom): New function.
* java/lang/Class.h (_Jv_InterfaceAssignableFrom): Prototype.
Bryce McKinlay [Thu, 15 Jun 2000 11:58:18 +0000 (11:58 +0000)]
2000-06-15 Bryce McKinlay <bryce@albatross.co.nz>
Fix for PR java.lang/258:
* prims.cc (_Jv_PrimClass): Set state of primitive class to
JV_STATE_DONE, to prevent accidental initialization.
* java/lang/natClass.cc (_Jv_IsAssignableFrom): Call
_Jv_InterfaceAssignableFrom if target is an interface and source is
an interface or an abstract class. Remove redundant initializeClass
calls. Remove duplicate if_idt test.
* java/lang/Class.h (_Jv_InterfaceAssignableFrom): New function.
Mark Mitchell [Wed, 14 Jun 2000 16:10:14 +0000 (16:10 +0000)]
cp-tree.h (BINFO_OVERRIDE_ALONG_VIRTUAL_PATH): New macro.
* cp-tree.h (BINFO_OVERRIDE_ALONG_VIRTUAL_PATH): New macro.
* class.c (dfs_find_final_overrider): Set it appropriately.
(dfs_built_vtt_inits): Check BINFO_OVERRIDE_ALONG_VIRTUAL_PATH to
avoid unneeded secondary vptrs.
Jakub Jelinek [Wed, 14 Jun 2000 05:30:09 +0000 (07:30 +0200)]
tree.h (TYPE_USER_ALIGN, [...]): Define.
* tree.h (TYPE_USER_ALIGN, DECL_USER_ALIGN): Define.
(struct tree_type, struct tree_decl): Add user_align member.
* stor-layout.c (layout_decl): Set DECL_USER_ALIGN.
(place_union_field): If BIGGEST_FIELD_ALIGNMENT is defined
and DECL_USER_ALIGN 0, cap alignment to this value.
(place_field): Likewise.
(finalize_type_size): Set TYPE_USER_ALIGN.
(layout_type): Likewise.
(initialize_sizetypes): Likewise.
* c-common.c (decl_attributes): Set TYPE_USER_ALIGN resp.
DECL_USER_ALIGN to 1.
* c-decl.c (duplicate_decls): Set DECL_USER_ALIGN.
(xfer_tag): Set TYPE_USER_ALIGN.
(finish_struct): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
(finish_enum): Likewise.
* stmt.c (expand_decl): Set DECL_USER_ALIGN.
(expand_anon_union_decl): Likewise.
* tree.c (make_node): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
(build_index_type): Set TYPE_USER_ALIGN.
(build_range_type): Likewise.
(build_common_tree_nodes_2): Likewise.
* tm.texi (BIGGEST_FIELD_ALIGNMENT): Document the changed meaning.
ch/:
* decl.c (init_decl_processing): Set TYPE_USER_ALIGN.
(layout_enum): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
* typeck.c (layout_chill_range_type): Set TYPE_USER_ALIGN.
(apply_chill_field_layout): Set DECL_USER_ALIGN.
(layout_chill_struct_type): Set TYPE_USER_ALIGN.
f/:
* com.c (ffecom_transform_common_): Set DECL_USER_ALIGN.
(ffecom_transform_equiv_, ffecom_decl_field): Likewise.
(ffecom_init_0): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
(duplicate_decls): Set DECL_USER_ALIGN.
java/:
* typeck.c (build_java_array_type): Set TYPE_USER_ALIGN.
* parse.y (java_complete_class): Set DECL_USER_ALIGN.
* parse.c: Rebuilt.
Andreas Jaeger [Wed, 14 Jun 2000 03:06:30 +0000 (21:06 -0600)]
configure.in: Use --enable-checking=misc,tree,gc by default if...
* configure.in: Use --enable-checking=misc,tree,gc by default if
no --enable-checking option is given and for
--enable-checking=yes.
* configure: Rebuilt.
Benjamin Kosnik [Wed, 14 Jun 2000 01:16:03 +0000 (01:16 +0000)]
[multiple changes]
2000-06-13 Steven King <sxking@uswest.net>
* acinclude.m4: Fixup some of the builtin math tests and add tests for
__builtin_fmod* and test libm for fmodf, fmodl or _fmodf, _fmodl.
* acconfig.h: Add entries for fmod*.
2000-06-13 Branko Cibej <branko.cibej@hermes.si>
* bits/std_cmath.h: Fix typos in tests (*_FMODFF -> *_FMODF).
Test *_MODFF not *_MODF for modf(float, float*).
(modf(float, float*)): Remove reference to _C_legacy.
Benjamin Kosnik [Wed, 14 Jun 2000 00:12:42 +0000 (00:12 +0000)]
acinclude.m4 (enable_cshadow_headers): Change CSHADOWFLAGS to _GNU_SOURCE instead of _ISOC9X_SOURCE...
2000-06-13 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (enable_cshadow_headers): Change CSHADOWFLAGS to
_GNU_SOURCE instead of _ISOC9X_SOURCE, as _GNU_SOURCE is the
superset, and already defined at top level.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* docs/17_intro/contribute.html: Plead with people to use -cp.
Benjamin Kosnik [Wed, 14 Jun 2000 00:01:08 +0000 (00:01 +0000)]
acinclude.m4 (enable_cshadow_headers): Change CSHADOWFLAGS to _GNU_SOURCE instead of _ISOC9X_SOURCE...
2000-06-13 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (enable_cshadow_headers): Change CSHADOWFLAGS to
_GNU_SOURCE instead of _ISOC9X_SOURCE, as _GNU_SOURCE is the
superset, and already defined at top level.
* aclocal.m4: Regenerate.
* configure: Regenerate.