1. 23 Jun, 2000 4 commits
    • parse.y (template_arg): Convert TEMPLATE_DECL that is a template template paramter to... · 1899c3a4
              * parse.y (template_arg): Convert TEMPLATE_DECL
              that is a template template paramter to
              TEMPLATE_TEMPLATE_PARM here.
      
              * cp-tree.def (TEMPLATE_TEMPLATE_PARM): Adjust comment.
              * cp-tree.h (TEMPLATE_TEMPLATE_PARM_TEMPLATE_DECL): New macro.
              (copy_template_template_parm): Adjust prototype.
              * decl.c (grokdeclarator): Remove dead code.
              * pt.c (process_template_parm): Tidy.
              (lookup_template_class): Construct nodes in
              copy_template_template_parm.
              (tsubst): Pass TEMPLATE_DECL rather than IDENTIFIER_NODE to
              lookup_template_class.  Use TYPE_TI_TEMPLATE.
              * tree.c (copy_template_template_parm): Add NEWARGS
              parameter.
              (mapcar): Adjust call to copy_template_template_parm.
              * typeck.c (comptypes): Use TEMPLATE_TEMPLATE_PARM_TEMPLATE_DECL.
              * method.c (build_template_template_parm_names): Change error
              code to avoid compilation warning.
      
              * gxxint.texi: Document template template parameter
              name mangling.
      
      From-SVN: r34659
      Kriang Lerdsuwanakij committed
    • new · 69112571
      From-SVN: r34658
      Jason Merrill committed
    • in include/ChangeLog: · 051664b0
      	* dyn-string.h (dyn_string_init, dyn_string_new,
      	dyn_string_delete, dyn_string_release, dyn_string_resize,
      	dyn_string_clear, dyn_string_copy, dyn_string_copy_cstr,
      	dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert,
      	dyn_string_insert_cstr, dyn_string_append, dyn_string_append_cstr,
      	dyn_string_append_char, dyn_string_substring_dyn_string_eq):
      	Define as same name with __cxa_ prepended, if IN_LIBGCC2.
      	(dyn_string_init, dyn_string_copy, dyn_string_copy_cstr,
      	dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert,
      	dyn_string_insert_cstr, dyn_string_append, dyn_string_append_cstr,
      	dyn_string_append_char, dyn_string_substring): Change return type
      	to int.
      
      in libiberty/ChangeLog:
      
      	* cp-demangle.c: Don't include ctype.h.
      	(IS_DIGIT): New macro.
      	(IS_ALPHA): Likewise.  Use IS_DIGIT and IS_ALPHA throughout
      	instead of isdigit and isalpanum.
      	(demangling_def): Make name and next const pointers.
      	(STATUS_ALLOCATION_FAILED): New status code.
      	(dyn_string_append_space): Handle failure in
      	dyn_string_append_char.
      	(int_to_dyn_string): Likewise.  Change return value to status_t.
      	(string_list_new): Handle failure of dyn_string_init.
      	(result_close_template_list): Change return type to status_t.
      	Handle failure in dyn_string_append.
      	(result_push): Change return value to status_t.  Handle failure in
      	string_list_new.  Handle failure of result_push throughout.
      	(substitution_add): Change return value to status_t.  Handle
      	dyn_string failures.  Handle failure of substitution_add
      	throughout.
      	(template_arg_list_new): Return NULL on allocation failure.
      	(result_append_string): Return STATUS_ALLOCATION_FAILED on error.
      	Handle error result throughout.
      	(result_append): Likewise.
      	(result_append_char): Likewise.
      	(result_append_space): Likewise.
      	(demangling_new): Make argument a const pointer.  Handle
      	allocation failures.
      	(demangle_template_args): Handle failure in template_arg_list_new
      	and result_close_template_list.
      	(demangle_discriminator): Return if int_to_dyn_string fails.
      	(cp_demangle): Likewise.
      	(cp_demangle_type): New function.
      	(cplus_demangle_new_abi): Don't call dyn_string_delete.  Abort on
      	memory allocation failure.
      	(main): Likewise.
      	* dyn-string.c (RETURN_ON_ALLOCATION_FAILURE): Define if
      	IN_LIBGCC2.
      	(dyn_string_init): Change return value to int.  Handle
      	RETURN_ON_ALLOCATION_FAILURE case.
      	(dyn_string_new): Handle RETURN_ON_ALLOCATION_FAILURE case.
      	(dyn_string_release): Delete the dyn_string.
      	(dyn_string_resize): Handle RETURN_ON_ALLOCATION_FAILURE case.
      	(dyn_string_copy): Change return type to int.
      	(dyn_string_copy_cstr): Likewise.
      	(dyn_string_prepend): Likewise.
      	(dyn_string_prepend_cstr): Likewise.
      	(dyn_string_insert): Likewise.
      	(dyn_string_insert_cstr): Likewise.
      	(dyn_string_append): Likewise.
      	(dyn_string_append_cstr): Likewise.
      	(dyn_string_append_char): Likewise.
      	(dyn_string_substring): Likewise.
      
      in gcc/cp/ChangeLog:
      
      	* Make-lang.in (CXX_LIB2FUNCS): Add cp-demangle.o and dyn-string.o.
      	(CXX_LIB2SRCS): Add cp-demangle.c and dyn-string.c.
      	(cp-demangle.o): New rule.
      	(dyn-string.o): Likewise.
      	* inc/cxxabi.h (__cxa_demangle): New declaration.
      
      From-SVN: r34657
      Alex Samuel committed
    • cp-tree.h (BV_USE_VCALL_INDEX_P): New macro. · 31f8e4f3
      	* cp-tree.h (BV_USE_VCALL_INDEX_P): New macro.
      	(BV_GENERATE_THUNK_WITH_VTABLE_P): Likewise.
      	(lang_decl_flags): Add generate_with_vtable_p.  Make vcall_offset
      	a tree, not an int.
      	(THUNK_GENERATE_WITH_VTABLE_P): New macro.
      	(make_thunk): Change prototype.
      	(emit_thunk): Rename to use_thunk.
      	(mangle_thunk): Change prototype.
      	* class.c (get_derived_offset): Simplify.
      	(copy_virtuals): Clear BV_USE_VCALL_INDEX_P and
      	BV_GENERATE_THUNK_WITH_VTABLE_P.
      	(build_primary_vtable): Simplify.
      	(add_virtual_function): Use BV_FN, rather than TREE_VALUE.
      	(dfs_find_base): Remove.
      	(update_vtable_entry_for_fn): Correct bug in finding the base
      	where a virtual function was first declared.  Figure out whether
      	or not to emit a vcall-thunk with the vtables in which it appears.
      	Correct logic for deciding whether to use an ordinary thunk, or a
      	vcall thunk.
      	(finish_struct_1): Remove unnecssary code.
      	(build_vtbl_initializer): Use ssize_int for the running counter of
      	negative indices.
      	(build_vtbl_initializer): Only use vcall thunks where necessary.
      	Mark thunks as needing to be emitted with their vtables, or not.
      	(build_vbase_offset_vtbl_entries): Adjust for use of ssize_int in
      	indices.  Use size_binop.
      	(dfs_build_vcall_offset_vtbl_entries): Don't rely on
      	BINFO_PRIMARY_MARKED_P here.  Use BV_FN consistently.  Use
      	size_binop.
      	(build_rtti_vtbl_entries): Adjust call to build_vtable_entry.
      	(build_vtable_entry): Mark thunks as needing to be emitted with
      	their vtables, or not.
      	* decl.c (lang_mark_tree): Mark the vcall_offset in a thunk.
      	* decl2.c (mark_vtable_entries): Use use_thunk instead of
      	emit_thunk.
      	* dump.c (dequeue_and_dump): Remove dead code.  Dump new thunk
      	information.
      	* error.c (dump_expr): Use BV_FN.
      	* mangle.c (mangle_thunk): Adjust now that vcall_offset is a tree,
      	not an int.
      	* method.c (make_thunk): Likewise.
      	(emit_thunk): Rename to use_thunk.  Allow callers to decide
      	whether or not to actually emit the thunk.  Adjust for changes in
      	representation of vcall offsets.
      	* search.c (dfs_get_pure_virtuals): Use BV_FN.
      	* semantics.c (emit_associated_thunks): New function.
      	(expand_body): Use it.
      	* ir.texi: Adjust decriptions of thunks.
      
      From-SVN: r34656
      Mark Mitchell committed
  2. 22 Jun, 2000 14 commits
    • [multiple changes] · 11fc1858
      2000-06-22 Steven King <sxking@uswest.net>
      
              * acinclude.m4: Check for sinl, _sinl using 1 parameter.
      
      2000-06-22  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
      
      	* acinclude.m4 (GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT): Redo. Use the
      	same approach as GLIBCPP_CHECK_MATH_SUPPORT, only don't try to
      	link against libm and don't use -fno-builtins...
      	* math/mathconf.h: Change up builtin macros to new schema.
      	* bits/std_cmath.h: And here. Wheee!
      	* shadow/bits/std_cmath.h: And here.
      	* acconfig.h: Change up builtin macros here.
      	* math/cosf.c:  Remove.
      	* math/fabsf.c:  Likewise.
      	* math/sinf.c:  Likewise.
      	* math/sqrtf.c:  Likewise.
      	* math/Makefile.am (EXTRA_DIST):  Remove those four files.
      	* math/Makefile.in:  Regenerate.
      
      From-SVN: r34655
      Benjamin Kosnik committed
    • acconfig.h: Change up builtin macros here. · 28398c70
      2000-06-22  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
      
      	* acconfig.h: Change up builtin macros here.
      	* acinclude.m4 (GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT): Redo. Use the
      	same approach as GLIBCPP_CHECK_MATH_SUPPORT, only don't try to
      	link against libm and don't use -fno-builtins...
      
      	* math/cosf.c:  Remove.
      	* math/fabsf.c:  Likewise.
      	* math/sinf.c:  Likewise.
      	* math/sqrtf.c:  Likewise.
      	* math/Makefile.am (EXTRA_DIST):  Remove those four files.
      	* math/Makefile.in:  Regenerate.
      
      From-SVN: r34654
      Benjamin Kosnik committed
    • toplev.c (compile_file): Always call timevar_print. · 0d565768
              * toplev.c (compile_file): Always call timevar_print.
              * Makefile.in (calls.o): Depend on TIMEVAR_H.
      
      From-SVN: r34653
      Jason Merrill committed
    • pt.c (tsubst_decl, [...]): Clear DECL_SAVED_TREE. · 655dc6ee
              * pt.c (tsubst_decl, case FUNCTION_DECL): Clear DECL_SAVED_TREE.
              (tsubst_friend_function): Copy it here.
      
              * decl.c (grok_op_properties): Fix typo.
      
              * decl2.c (delete_sanity): Clarify warning, avoid failure on
              deleting void*.
      
              * pt.c (check_explicit_specialization): Clarify error.
      
              * decl.c (pushdecl): Also pull out one of the FUNCTION_DECLs from
              an old OVERLOAD when we're declaring a non-function.
              (pushdecl, destroy_local_var): Check for error_mark_node.
              (warn_extern_redeclared_static): Also bail early if
              we're a CONST_DECL.
              (push_overloaded_decl): Ignore an old error_mark_node.
      
      From-SVN: r34652
      Jason Merrill committed
    • new · be05b708
      From-SVN: r34651
      Jason Merrill committed
    • * gcc.c-torture/execute/20000622-1.c: New test. · 1d663f67
      From-SVN: r34650
      Jakub Jelinek committed
    • [multiple changes] · 5f349042
      2000-06-22  Anthony Williams  <anthony@anthonyw.cjb.net>
      
      	* testsuite/21_strings/find.cc: Patch.
      
      2000-06-22  Benjamin Kosnik  <bkoz@soma.redhat.com>
      
      	* acinclude.m4 (GLIBCPP_CHEC_LINKER_FEATURES): Use gcc + -x c++ as
      	an easy way to get at g++ without having to link in libstdc++.
      
      From-SVN: r34649
      Benjamin Kosnik committed
    • * g++.old-deja/g++.other/init15.C: New test. · 56803752
      From-SVN: r34648
      Nathan Sidwell committed
    • varasm.c (constant_descriptor): Make contents unsigned char. · 990e8954
      	* varasm.c (constant_descriptor): Make contents unsigned char.
      	(mark_const_hash_entry): Adjust.
      	(const_hash): Just hash the code of unknown nodes.
      	(compare_constant_1): Adjust for unsigned char.
      	Use language specific expander on unknown nodes.
      	(record_constant_1): Likewise.
      
      From-SVN: r34647
      Nathan Sidwell committed
    • vaarg2.C: New test. · dc2a68d7
      	* g++.old-deja/g++.pt/vaarg2.C: New test.
      	* g++.old-deja/g++.pt/vaarg3.C: New test.
      
      From-SVN: r34646
      Nathan Sidwell committed
    • call.c (build_x_va_arg): Check if in a template decl. · ea333e1c
      	* call.c (build_x_va_arg): Check if in a template decl.
      	* pt.c (tsubst_copy, case VA_ARG_EXPR): Use build_x_va_arg.
      
      From-SVN: r34645
      Nathan Sidwell committed
    • Daily bump. · 98d4b1a6
      From-SVN: r34644
      Jeff Law committed
    • Fix alpha, powerpc build failures. · 38bd7296
      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.
      
      From-SVN: r34643
      Benjamin Kosnik committed
    • [multiple changes] · 9a7ab4b3
      2000-06-21  Alexandre Petit-Bianco  <apbianco@cygnus.com>
      
      	* except.c (prepare_eh_table_type): Use `CATCH_ALL_TYPE'.
      
      2000-06-20  Alexandre Petit-Bianco  <apbianco@cygnus.com>
      
      	* 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.
      
      2000-06-06  Alexandre Petit-Bianco  <apbianco@cygnus.com>
      
      	* 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)
      
      From-SVN: r34642
      Alexandre Petit-Bianco committed
  3. 21 Jun, 2000 16 commits
  4. 20 Jun, 2000 6 commits