- 23 Jun, 2000 4 commits
-
-
* 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 -
From-SVN: r34658
Jason Merrill committed -
* 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. (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
-
- 22 Jun, 2000 14 commits
-
-
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 -
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. * Makefile.in (calls.o): Depend on TIMEVAR_H. From-SVN: r34653
Jason Merrill committed -
* 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 -
From-SVN: r34651
Jason Merrill committed -
From-SVN: r34650
Jakub Jelinek committed -
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 -
From-SVN: r34648
Nathan Sidwell committed -
* 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 -
* 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. * pt.c (tsubst_copy, case VA_ARG_EXPR): Use build_x_va_arg. From-SVN: r34645
Nathan Sidwell committed -
From-SVN: r34644
Jeff Law committed -
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 -
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
-
- 21 Jun, 2000 16 commits
-
-
* 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. From-SVN: r34641
Zack Weinberg committed -
2000-06-21 Branko Cibej <branko.cibej@hermes.si> * mh-sparcpic: Use single instead of double quotes. * mt-sparcpic: Likewise. From-SVN: r34640
Branko Cibej committed -
* libU77/dtime_.c, libU77/etime_.c: Include stdlib.h if HAVE_STDLIB_H is defined. From-SVN: r34639
Zack Weinberg committed -
* Make-lang.in (F77_SRCS): Remove all .j files. * Makefile.in (ASSERT_H, CONFIG_H, CONVERT_H, FLAGS_H, GGC_H, GLIMITS_H, HCONFIG_H, INPUT_H, OUTPUT_H, RTL_H, SYSTEM_H, TOPLEV_H, TREE_H): Remove references to .j files. (TCONFIG_H, TM_H): Remove entirely. (deps-kinda): Delete rule. Correct commentary. * assert.j, config.j, convert.j. flags.j, ggc.j, glimits.j, hconfig.j, input.j, output.j, rtl.j, system.j, toplev.j, tree.j, tconfig.j, tree.j: Delete. * ansify.c, bad.c, bit.c, com.c, com.h, intdoc.c, lex.c, parse.c, proj.c, proj.h, ste.c, target.c, target.h, top.c, where.c, where.h: Include parent-directory headers directly. * lex.c: Don't include tree.h twice. From-SVN: r34638
Zack Weinberg committed -
* Makefile.in (SPLAY_TREE_H): New macro. (cppfiles.o, cppinit.o): Update dependencies. From-SVN: r34637
Zack Weinberg committed -
* 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. * cpphash.h (struct ihash, NEVER_REINCLUDE): Delete. (struct include_file): New. (NEVER_REREAD, DO_NOT_REREAD, CPP_IN_SYSTEM_HEADER): New macros. (CPP_PEDANTIC, CPP_WTRADITIONAL): Update. Update prototypes. * cppinit.c: Include splay-tree.h. (cpp_reader_init, cpp_cleanup): Update. * cpplib.h (struct cpp_buffer): Change ihash field to 'struct include_file *inc'. Remove system_header_p. (struct cpp_reader): Change all_include_files to a struct splay_tree_s *. * cpplex.c: Update all references to cpp_buffer->ihash and/or cpp_buffer->system_header_p. (cpp_pop_buffer): Close file here, only if DO_NOT_REREAD. From-SVN: r34636
Zack Weinberg committed -
2000-06-20 Alexandre Petit-Bianco <apbianco@cygnus.com> * class.c (push_lang_context): TYPE_NAME gets you to the Java types DECLs. * decl.c (check_goto): Computed gotos assumed OK. From-SVN: r34635
Alexandre Petit-Bianco committed -
From-SVN: r34634
Martin Buchholz committed -
pt.c (tsubst_decl, [...]): Fix test for TYPE_DECLs for which we don't need to look for instantiations. * pt.c (tsubst_decl, case TYPE_DECL): Fix test for TYPE_DECLs for which we don't need to look for instantiations. From-SVN: r34633
Jason Merrill committed -
From-SVN: r34632
Jason Merrill committed -
From-SVN: r34631
J. David Anglin committed -
From-SVN: r34630
J. David Anglin committed -
* parse.y (program): Always call finish_translation_unit. * parse.c, parse.h: Rebuilt. From-SVN: r34629
Nathan Sidwell committed -
From-SVN: r34628
Jeff Law committed -
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(). From-SVN: r34627
Bryce McKinlay committed -
* configure.in: Use 'test a = b' not 'test a == b'. * configure: Regen. From-SVN: r34624
Zack Weinberg committed
-
- 20 Jun, 2000 6 commits
-
-
From-SVN: r34623
Zack Weinberg committed -
2000-06-20 Anthony Williams <anthony@anthonyw.cjb.net> * bits/string.tcc: Fix find. * testsuite/21_strings/find.cc: Patch. 2000-06-20 Benjamin Kosnik <bkoz@purist.soma.redhat.com> * docs/install.html: Update where to get automake, where to get binutils. * acinclude.m4: Need -fno-builtins too, so gcc doesn't recognize builtins. From-SVN: r34622
Benjamin Kosnik committed -
* cpplex.c (parse_name): Don't warn about $ in identifiers if skipping. * Makefile.in: Remove all references to HOST_INTLLIBS. * cp/method.c: Don't include hard-reg-set.h. From-SVN: r34621
Zack Weinberg committed -
From-SVN: r34620
Nathan Sidwell committed -
From-SVN: r34619
Nathan Sidwell committed -
2000-06-20 Philipp Thomas <pthomas@suse.de> * config/pa/pa.h (TARGET_SWITCHES): Require binutils 2.10 or later for PA 2.0. From-SVN: r34618
Philipp Thomas committed
-