summaryrefslogtreecommitdiff
path: root/gcc/cp/Make-lang.in
Commit message (Collapse)AuthorAgeFilesLines
* * Make-lang.in (c++.all.build): Don't depend on $(DEMANGLER_PROG),law1998-04-171-1/+1
| | | | | | | which requires a working target compiler to build. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19260 138bc75d-0d04-0410-961f-82ee72b054a4
* * call.c: Include system.h. Remove includes, declarations andlaw1998-03-311-1/+2
| | | | | | | | | | | | | | | defines provided by system.h. * class.c, cvt.c, decl.c, decl2.c, errfn.c error.c: Likewise. * except.c, expr.c friend.c, g++spec.c, init.c, input.c: Likewise. * lex.c, parse.y, pt.c, ptree.c repo.c rtti.c, search.c: Likewise. * semantics.c, sig.c, spew.c, tree.c, typeck.c: Likewise. * typeck2.c, xref.c: Likewise. * Makefile.in: Dependencies updated as appropriate. * Make-lang.in: Likewise. system.h cutover from the cp subdir git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18917 138bc75d-0d04-0410-961f-82ee72b054a4
* * cplus-dem.c (optable): Add sizeof.mmitchel1998-03-241-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (demangle_template_value_parm): New function containing code previously found in demangle_template. (demangle_integral_value): New function which handles complicated integral expressions. (demangle_template): Use them. * error.c (dump_expr): Remove unused variable `l'. * pt.c (for_each_template_parm): New function, created by converting uses_template_parms. (tree_fn_t): New typedef. (uses_template_parms): Use it. (mark_template_parm): New function. (push_template_decl): Check that the argument list of a partial specialization uses all the template parameters. * Make-lang.in (c++filt): Don't delete cxxmain.c after we're done with it; we might want it for debugging. * cp-tree.h (type_unification): Change interface. * class.c (finish_struct_1): Skip nested template types, just like ordinary nested types. (instantiate_type): Use new interface to type_unification. * lex.c (init_lex): Add __sz as opname for sizeof. * method.c (build_overload_scope_ref): New function. (build_overload_int): Handle complex expressions. Set numeric_output_need_bar if necessary. (build_overload_value): Handle non-PARM_DECL nodes; this routine is now used by build_overload_int. Remove some assignments to numeric_output_need_bar. Use build_overload_scope_ref. (build_qualified_name): Note that some template mangled names end with digits, and set numeric_output_need_bar appropriately. Use build_underscore_int. * pt.c (unify): Change interface. (type_unification_real): Likewise. (determine_specialization): Use new interfaces. (tsubst): Deal gracefully with situations in which the argument vector is not fully filled. (fn_type_unification): Use new interfaces. (type_unification): Likewise. Remove NOP_EXPR hack. (type_unification_real): Likewise. (unify): Likewise. Deal with unification of complex expresions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18795 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in: Various fixes for building cygwin32 native toolchains.law1998-03-211-15/+15
| | | | | | | * Make-lang.in: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18745 138bc75d-0d04-0410-961f-82ee72b054a4
* * semantics.c: New file, containing routines to perform themmitchel1998-03-181-1/+1
| | | | | | | | | | | | | | semantic phase of parsing. * parse.y: Use it. * pt.c (tsubst_expr): Likewise. * cp-tree.h: Declare the various functions in semantics.c. Provide macros to access _STMT tree nodes. * cp-tree.def: Add ASM_STMT tree node. * Makefile.in, Make-lang.in: Add dependencies on and for semantics.c. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18658 138bc75d-0d04-0410-961f-82ee72b054a4
* Support for friend templates.jason1998-02-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * typeck.c (build_x_function_call): Handle static member function templates like non-templates. Handle friend templates like normal function templates. * pt.c (tsubst, *_PARM): Don't use orig_level. (get_bindings): Don't call add_to_template_args. (instantiate_template): Likewise. (tsubst, FUNCTION_DECL): Call add_to_template_args as appropriate. * ptree.c (print_lang_type): Print index/level for template parms. * Make-lang.in (cc1plus): Note that cc1plus depends on cp/cp-tree.h and cp/cp-tree.def. * cp-tree.def (TEMPLATE_CONST_PARM): Remove. (TEMPLATE_PARM_INDEX): New tree code, used to indicate a position in a template parameter list. * cp-tree.h (template_parm_index): New structure, used as the tree structure for a TEMPLATE_PARM_INDEX. (TEMPLATE_PARM_IDX): New macro. (TEMPLATE_PARM_LEVEL): Likewise. (TEMPLATE_PARM_DESCENDANTS): Likewise. (TEMPLATE_PARM_ORIG_LEVEL): Likewise. (TEMPLATE_PARM_DECL): Likewise. (TEMPLATE_TYPE_PARM_INDEX): Likewise. (TEMPLATE_TYPE_ORIG_LEVEL): Likewise. (TEMPLATE_TYPE_DECL): Likewise. (TEMPLATE_CONST_IDX): Remove. (TEMPLATE_CONST_LEVEL): Likewise. (TEMPLATE_CONST_SET_INFO): Likewise. (TEMPLATE_TYPE_SET_INFO): Likewise. (TEMPLATE_TYPE_IDX): Redefine in terms of TEMPLATE_PARM_INDEX node. (TEMPLATE_TYPE_LEVEL): Likewise. * decl.c (decls_match): Call comp_template_parms, rather than expanding it inline. (duplicate_decls): If two template declarations are being merged, then their TEMPLATE_INFOs should be merged as well. (grokfndecl): Save template-id information when declaring a friend with explicit template arguments. Pass arguments to check_explicit_specialization via correct convention; at some point check_explicit_specialization changed, but these call-sites did not. (grokdeclarator): Tidy up slightly. * decl2.c (check_classfn): Tidy up slightly. Don't assume that two template functions with the same DECL_ASSEMBLER_NAME the same, since the names are not yet mangled. * error.c (dump_decl): Use TEMPLATE_PARM_INDEX instead of TEMPLATE_CONST_PARM. (dump_expr): Likewise. Use the TEMPLATE_PARM_DECL to get at the decl for a non-type parameter, rather than printing `<tparm ...>'. * friend.c (is_friend): Handle TEMPLATE_DECL friends. (do_friend): Deal with template friends. * lex.c (do_pending_inlines): Call maybe_begin_member_template_processing, rather than conditionally calling begin_member_template_processing. (process_next_inline): Likewise. Call maybe_end_member_template_processing, rather than conditionally calling end_member_template_processing. (do_pending_defargs): Likewise. (do_identifier): Use TEMPLATE_PARM_INDEX instead of TEMPLATE_CONST_PARM. * method.c (build_mangled_template_parm_index): New function. (build_overload_value): Use it. (build_overload_name): Likewise. * pt.c (finish_member_template_decl): Allow friend declarations. (template_class_depth): New function. (is_member_template): Rename, and modify, to become... (is_member_or_friend_template): New function. (end_member_template_processing): Rename, and modify, to become... (maybe_end_member_template_processing). (build_template_parm_index): New function. (reduce_template_parm_level): New function. (process_template_parm): Modify to use build_template_parm_index. (current_template_args): Change name to current_template_parms. (push_template_decl): Deal with friend templates. (uses_template_parms): Use TEMPLATE_PARM_INDEX instead of TEMPLATE_CONST_PARM. (tsubst_friend_function): New function. (instantiate_class_template): Generate the DECL_FRIENDLIST for a new instantiation by using tsubst_friend_function rather than just tsubst. (tsubst): Don't tsubst into a type which is a TEMPLATE_DECL. Use TEMPLATE_PARM_INDEX instead of TEMPLATE_CONST_PARM, and the appropriate new macros. Use reduce_template_parm_level to generate lower-level template parameters. Handle tsubst'ing into TEMPLATE_DECLS that declare TEMPLATE_TEMPLATE_PARMS. Don't forget to tsubst the DECL_CONTEXT and DECL_CLASS_CONTEXT of newly created templates. Similarly for the template parameters for a new template. (tsubst_copy): Tidy up slightly. Use TEMPLATE_PARM_INDEX instead of TEMPLATE_CONST_PARM. Handle TYPE_DECLs by tsubsting into them. (unify): Use TEMPLATE_PARM_INDEX instead of TEMPLATE_CONST_PARM. (get_bindings): Call add_to_template_args if necessary. (instantiate_decl): Handle instantiations of friend templates. * search.c (lookup_field_1): Don't treat the TYPE_FIELDS of a TEMPLATE_TYPE_PARM as a list of fields; it's not! * spew.c (yylex): Do a little manual constant propogation to clarify the code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18198 138bc75d-0d04-0410-961f-82ee72b054a4
* * Make-lang.in (DEMANGLER_INSTALL_NAME, DEMANGLER_CROSS_NAME): Newjason1998-02-141-2/+15
| | | | | | | | | | macros. (c++.install-common): Install c++filt properly as native or as cross variant. (c++.uninstall): Add c++filt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18000 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-tree.h: Add access_protected_virtual_node.jason1998-02-131-1/+3
| | | | | | | | | | | * class.c (init_class_processing): Initialize it. * decl.c (xref_basetypes): Use it. * parse.y (base_class_access_list): Likewise. * Make-lang.in (DEMANGLER_PROG): Add $(exeext). (c++.install-common): Install c++filt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17894 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge from gcc-2.8law1997-12-071-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16987 138bc75d-0d04-0410-961f-82ee72b054a4
* ./:jason1997-11-201-5/+24
| | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (LIB2FUNCS): Remove C++ memory management support. * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler, __builtin_delete, and __builtin_vec_delete. * except.c (output_exception_table): Don't bother with __EXCEPTION_END__. cp/: * Make-lang.in (CXX_LIB2FUNCS): Add new op new and op delete objs. (various.o): Likewise. * inc/new: Add placement deletes. Add throw specs for default new. * new.cc (set_new_handler): Move here from libgcc2. * new1.cc (new (nothrow)): Catch a bad_alloc thrown from the handler. (new): Move from libgcc2. Throw bad_alloc. * new2.cc: Move the rest of the op news and op deletes from libgcc2. * decl.c (init_decl_processing): Update exception specs on new and delete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16617 138bc75d-0d04-0410-961f-82ee72b054a4
* * stmt.c (expand_decl_cleanup_no_eh): New fn.jason1997-11-101-1/+7
| | | | | | | | | | | | | | | | | | | | | | * except.c (expand_leftover_cleanups): do_pending_stack_adjust. Complete nested exception support. * except.c (do_pop_exception): Split out... (push_eh_cleanup): From here. Handle the EH region by hand. (expand_start_catch_block): Add a new level for the catch parm. Move the rethrow region outside the two cleanup regions. Protect the initializer for the catch parm with terminate. (expand_end_catch_block): Likewise. End the region for the eh_cleanup. * exception.cc (__cp_pop_exception): Now takes two parms. Handle popping off the middle of the stack. * tree.c (lvalue_p, real_lvalue_p): Handle TRY_CATCH_EXPR, WITH_CLEANUP_EXPR, and UNSAVE_EXPR. (build_cplus_new): Only wrap CALL_EXPRs. * init.c (expand_default_init): Handle a TRY_CATCH_EXPR around the constructor call. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16419 138bc75d-0d04-0410-961f-82ee72b054a4
* Update mainline egcs to gcc2 snapshot 971021.law1997-11-021-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16278 138bc75d-0d04-0410-961f-82ee72b054a4
* Add Fred Fish's LN/LN_S patch.wilson1997-09-111-10/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15415 138bc75d-0d04-0410-961f-82ee72b054a4
* mergejason1997-08-191-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14852 138bc75d-0d04-0410-961f-82ee72b054a4
* 92th Cygnus<->FSF quick mergemrs1997-08-011-10/+12
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14576 138bc75d-0d04-0410-961f-82ee72b054a4
* (cplib2.ready): Also depend on $(LANGUAGES).meyering1997-07-071-1/+1
| | | | | | | From H.J. Lu. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14394 138bc75d-0d04-0410-961f-82ee72b054a4
* 91th Cygnus<->FSF quick mergemrs1997-06-181-7/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14253 138bc75d-0d04-0410-961f-82ee72b054a4
* 91th Cygnus<->FSF mergemrs1997-04-231-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13971 138bc75d-0d04-0410-961f-82ee72b054a4
* 90th Cygnus<->FSF quick mergemrs1997-04-021-2/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13831 138bc75d-0d04-0410-961f-82ee72b054a4
* 90th Cygnus<->FSF quick mergemrs1997-02-041-6/+13
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13604 138bc75d-0d04-0410-961f-82ee72b054a4
* 90th Cygnus<->FSF quick mergemrs1996-12-271-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13343 138bc75d-0d04-0410-961f-82ee72b054a4
* 90th Cygnus<->FSF quick mergemrs1996-12-181-5/+23
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13321 138bc75d-0d04-0410-961f-82ee72b054a4
* 90th Cygnus<->FSF quick mergemrs1996-12-181-8/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13319 138bc75d-0d04-0410-961f-82ee72b054a4
* 89th Cygnus<->FSF quick mergemrs1996-10-181-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12978 138bc75d-0d04-0410-961f-82ee72b054a4
* 89th Cygnus<->FSF quick mergemrs1996-09-301-0/+50
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12883 138bc75d-0d04-0410-961f-82ee72b054a4
* 80th Cygnus<->FSF mergemrs1996-02-011-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11150 138bc75d-0d04-0410-961f-82ee72b054a4
* (cc1plus) : Removed unnecessary $(exeext).kenner1995-09-121-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10328 138bc75d-0d04-0410-961f-82ee72b054a4
* (DEMANGLER_PROG): Add LIBS.kenner1995-06-161-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9997 138bc75d-0d04-0410-961f-82ee72b054a4
* Change FSF address.kenner1995-06-151-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9988 138bc75d-0d04-0410-961f-82ee72b054a4
* (c++.mostlyclean): Remove $(DEMANGLER_PROG).kenner1995-05-291-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9837 138bc75d-0d04-0410-961f-82ee72b054a4
* (cxxmain.o): Replace single quotes with backslashes.kenner1995-05-241-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9798 138bc75d-0d04-0410-961f-82ee72b054a4
* (g++, g++-cross, cc1plus, DEMANGLER_PROG):kenner1995-05-221-11/+12
| | | | | | | | | | Use $@ instead of output name so works even if have .exe. (cxxmain.o): Use cp if ln -s fails. (c++.install-man): Use $(exeext) in executable names. (c++.mostlyclean, stage[1-4]): Use $(objext) in object file names. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9767 138bc75d-0d04-0410-961f-82ee72b054a4
* 69th Cygnus<->FSF mergemrs1995-05-101-3/+16
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9606 138bc75d-0d04-0410-961f-82ee72b054a4
* Change "realclean" to "maintainer-clean".kenner1995-04-251-3/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9450 138bc75d-0d04-0410-961f-82ee72b054a4
* 62nd Cygnus<->FSF mergemrs1995-04-031-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9298 138bc75d-0d04-0410-961f-82ee72b054a4
* Modify "ln" commands to try a "cp" if "ln" fails.kenner1995-02-211-18/+22
| | | | | | | ($exeext, $objext, $oldobjext): New macros. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9006 138bc75d-0d04-0410-961f-82ee72b054a4
* 51st Cygnus<->FSF mergemrs1994-12-201-0/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8676 138bc75d-0d04-0410-961f-82ee72b054a4
* 50th Cygnus<->FSF mergemrs1994-12-161-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8657 138bc75d-0d04-0410-961f-82ee72b054a4
* 49th Cygnus<->FSF mergemrs1994-11-291-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8570 138bc75d-0d04-0410-961f-82ee72b054a4
* (c++.install-man): Use program_transform_name on g++.1.dje1994-11-181-3/+11
| | | | | | | (c++.uninstall): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8502 138bc75d-0d04-0410-961f-82ee72b054a4
* (CXX_INSTALL_NAME) Use program_transform_name.dje1994-11-181-4/+4
| | | | | | | | | (GXX_INSTALL_NAME) Likewise. (CXX_CROSS_NAME) Use program_transform_cross_name. (GXX_CROSS_NAME) Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8501 138bc75d-0d04-0410-961f-82ee72b054a4
* 39th Cygnus<->FSF mergemrs1994-06-031-12/+23
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7439 138bc75d-0d04-0410-961f-82ee72b054a4
* (cc1plus): Don't depend on OBJS or BC_OBJS, since stamp-objlist does.dje1994-05-031-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7196 138bc75d-0d04-0410-961f-82ee72b054a4
* (cc1plus): Depend on stamp-objlist.dje1994-04-291-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7180 138bc75d-0d04-0410-961f-82ee72b054a4
* (c++.distdir): mkdir tmp/cp first.dje1994-04-291-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7177 138bc75d-0d04-0410-961f-82ee72b054a4
* (c++.install-common): Check for g++-cross.dje1994-04-251-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7149 138bc75d-0d04-0410-961f-82ee72b054a4
* Initial revisiondje1994-04-221-0/+155
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7135 138bc75d-0d04-0410-961f-82ee72b054a4