📄 changelog
字号:
* cp-lex.c (lastiddecl, ridpointers): Define here. (NORID): Don't define here. * cp-lex.h (NORID): Define here instead. (ridpointers, lastiddecl, token_buffer, looking_for_typename): Ditto. (make_pointer_declarator, make_reference_declarator, reinit_parse_for_function, reinit_parse_for_method, yylex): Likewise. * cp-parse.y: Don't define any of them in here. * cp-typeck.c (commonparms): Call tree_cons with NULL_TREEs, not 0s. (convert_arguments): Likewise. Throughout the file, say `ANSI C++ forbids', not `ANSI C forbids'. * cp-lex.c, cp-type2.c: Likewise. Remove wrapper functionality from the compiler. * cp-call.c (build_method_call): Delete wrap and wrap_type. Delete code that used them. Don't set err_name to "wrapper", since wrapper_name doesn't exist anymore. * cp-class.c (finish_base_struct): Don't worry about TYPE_WRAP_TYPE. * cp-decl.c (grokfndecl): Delete code for WRAPPER_EXPR and ANTI_WRAPPER_EXPR. (grokdeclarator): Likewise. Don't set TREE_HAS_WRAPPER_PRED. * cp-decl2.c (grokclassfn): Likewise. (check_classfn): Likewise. * cp-init.c (get_member_function): Don't check TYPE_NEEDS_WRAPPER. * cp-lex.c (real_yylex): Don't check WRAPPER_OR_ANTI_WRAPPER_NAME_P. * cp-method.c (wrapper_name, wrapper_pred_name, anti_wrapper_name): Deleted variables. (init_method): Don't do any setup for *WRAPPER_*. (hack_wrapper): Deleted function. * cp-parse.y (wrapper): Deleted rule. (identifier_or_opname): Deleted all wrapper predicates. (notype_declarator): Deleted predicates LEFT_RIGHT for wrappers. * cp-ptree.c (print_lang_type): Deleted message for printing "wrapper". * cp-search.c (get_wrapper): Deleted fn. * cp-tree.h (struct lang_type): Deleted has_wrapper_pred and wrap_type members. (build_wrapper, hack_wrapper, get_wrapper): Deleted decls. (wrapper_name, wrapper_pred_name, anti_wrapper_name): Deleted decls. (TYPE_WRAP_TYPE, TYPE_HAS_WRAPPER, TYPE_NEEDS_WRAPPER, TYPE_HAS_WRAPPER_PRED, WRAPPER_DECL_FORMAT, WRAPPER_PRED_DECL_FORMAT, ANTI_WRAPPER_DECL_FORMAT, WRAPPER_NAME_FORMAT, WRAPPER_PRED_NAME_FORMAT, ANTI_WRAPPER_NAME_FORMAT, WRAPPER_NAME_P, WRAPPER_PRED_NAME_P, ANTI_WRAPPER_NAME_P, WRAPPER_OR_ANTI_WRAPPER_NAME_P): Deleted. (enum overload_flags): Deleted WRAPPER_FLAG, WRAPPER_PRED_FLAG, and ANTI_WRAPPER_FLAG tags. * cp-typeck.c (build_function_call_real): Delete wrapper code. (unary_complex_lvalue): Don't check TYPE_NEEDS_WRAPPER. * stmt.c (warn_if_unused_value): Don't check *WRAPPER_EXPR. * tree.def (WRAPPER_EXPR, ANTI_WRAPPER_EXPR): Deleted. Wed Oct 28 15:38:44 1992 Brendan Kehoe (brendan@lisa.cygnus.com) * cp-cvt.c (convert_to_reference): New arguments FNDECL, PARMNUM, and ERRTYPE. Use them to give warnings about const and volatile references being used incorrectly. Call itself with dummy arguments where appropriate. (convert): Call convert_to_reference with dummy args. (convert_force): Likewise. * cp-typeck.c (warn_for_assignment): Remove static declaration, cp-cvt.c needs to see it now. (convert_for_initialization): Call convert_to_reference with fndecl, parmnum, and errtype. Tue Oct 27 17:38:18 1992 Mike Stump (mrs@cygnus.com) * cp-decl.c (grokdeclarator): Fix problem introduce by me on Oct 22 17:41:13. Only output error or warning message about extra qualifiers when we are inside a class declaration. Tue Oct 27 16:21:41 1992 Mike Stump (mrs@cygnus.com) * cp-tree.h (THIS_NAME_P): Fix to reflect September 1 change in THIS_NAME. Tue Oct 27 12:35:59 1992 Brendan Kehoe (brendan@lisa.cygnus.com) * cp-parse.y (operator_name): Remove check for top-level operator <typename> decl. * cp-decl.c (grokdeclarator): Complain here about type conversion operators that aren't declared as members of classes. * cp-decl.c (grokdeclarator): Only call do_friend on a friend if decl's non-zero. Tue Oct 27 09:31:08 1992 Mike Stump (mrs@cygnus.com) * cp-lex.c (do_identifier): Add missing fourth argument to lookup_field. Mon Oct 26 15:15:39 1992 Mike Stump (mrs@cygnus.com) * cp-cvt.c (convert_to_reference): Check for ambiguities between constructor and conversion operators a bit harder. Sat Oct 24 19:34:39 1992 Brendan Kehoe (brendan@cygnus.com) Mon Sep 14 14:36:53 1992 Chip Salzenberg (chip@tct.com) cp-decl.c (poplevel): If apparently nested inline function has DECL_ABSTRACT_ORIGIN, don't output it; propagate TREE_ADDRESSABLE. (pushdecl): When copying inline details into an extern decl, copy DECL_RESULT, TREE_ASM_WRITTEN. Set DECL_ABSTRACT_ORIGIN. Fri Oct 23 18:52:19 1992 Brendan Kehoe (brendan@lisa.cygnus.com) * cp-decl.c (poplevel): Use error_with_decl on an unused label, so its line number comes out correct. Thu Oct 22 18:31:50 1992 Brendan Kehoe (brendan@lisa.cygnus.com) * cp-parse.y (operator_name): If a type conversion operator is defined at the top level, don't crash, complain. Thu Oct 22 17:41:13 1992 Mike Stump (mrs@cygnus.com) * cp-decl.c (grokdeclarator): Return void_type_node instead of NULL_TREE on errors, to forestall another error message. Check for redundant or illegal qualification on class members. Thu Oct 22 13:15:57 1992 Mike Stump (mrs@cygnus.com) * cp-tree.h (ANON_AGGRNAME_P): Check the second charater as well, as it could be $vtbl_ptr_type, and not an ANON_AGGRNAME. Wed Oct 21 19:31:36 1992 Brendan Kehoe (brendan@lisa.cygnus.com) * cp-call.c (build_method_call): Initialize b_or_d to 0. * cp-typeck.c (compparms): Delete dead code for returning if either TREE_PURPOSE is true when t1 and t2 are both 0. * cp-parse.y (object): Only pass one argument into build_x_arrow. * cp-parse.y (unary_expr): Add code to parse `&&label'. (stmt): Expand computed gotos. * cp-method.c (fndecl_as_string): Say it's static before giving its type, it looks better (and matches how you'd declare it). Wed Oct 21 16:22:43 1992 Mike Stump (mrs@cygnus.com) * cp-decl.c (start_decl): return NULL_TREE, not error_mark_node to signify error. * cp-decl2.c (cplus_decl_attributes): New function. Don't call decl_attributes if the first argument is NULL_TREE. * cp-tree.h (cplus_decl_attributes): Declare new function. * cp-parse.y: Changed all calls to decl_attributes into calls to cplus_decl_attributes, as all calls may pass NULL_TREE in the first argument. Wed Oct 21 11:40:35 1992 Mike Stump (mrs@cygnus.com) * cp-call.c (build_method_call): Avoid an abort on parse errors by changing an assert into a conditional my_friendly_abort. Tue Oct 20 16:52:32 1992 Mike Stump (mrs@cygnus.com) * cp-tree.h (TYPE_ASSEMBLER_NAME_STRING, TYPE_ASSEMBLER_NAME_LENGTH): New macros. * cp-search.c (build_type_pathname): Use new macros. * cp-decl.c (pushtag): Set DECL_ASSEMBLER_NAME for TYPE_DECLs with build_overload_name so that assembler names for template type things are like __vt$t1X1Zi$1T.4 and not __vt$X<int>$T.4. * cp-decl.c (pushdecl): Since the rest of the compiler wants to use DECL_NAME for TYPE_DECLs, use that instead of DECL_ASSEMBLER_NAME. Tue Oct 20 11:29:50 1992 Mike Stump (mrs@cygnus.com) Wed Oct 7 16:01:55 1992 Chip Salzenberg (chip@tct.com) [ changes propagated from 921005 snapshot ] * cp-lex.c (readescape): No warning if digits in \x are all 0's. Fri Oct 9 15:18:19 1992 Brendan Kehoe (brendan@cygnus.com) * cp-decl.c (duplicate_decls): Only find out if olddecl is a friend after we know it's not a TREE_LIST. Wed Oct 7 16:04:34 1992 Mike Stump (mrs@cygnus.com) Wed Oct 7 12:26:07 PDT 1992 Ron Guilmette (rfg at netcom.com) * cp-lex.c (readescape): Permit \? as an escape sequence. Tue Oct 6 17:54:09 1992 Mike Stump (mrs@cygnus.com) Major MI revamp. * cp-search.c (get_binfo, find_base_distance): Fix comments. Disable incorrect code that would incorrectly find ambiguities where none existed. Add some code to find all ambiguities. * cp-search.c (get_binfo2_recursive, get_binfo2): Added to find ambiguities. * cp-search.c (convert_pointer_to_single_level): Added so that one can convert pointer unambiguously to an immediate base class pointer. * cp-search.c (dfs_walk): Added comments. Fixed to keep track of how it walks the inheritance hierarchy so that when we get down to the bottom, we have a pointer to what we want. * cp-search.c (dfs_find_vbases): Changed to use new intermediate pointer instead of incorrectly trying to convert at the bottom. * cp-search.c (init_vbase_pointers): Changed to set up new intermediate pointer. * cp-*.c: Rename child -> base_binfo, child_child -> base_base_binfo, child_binfos -> base_binfos, .*_child -> .*_base_binfo. Rename DERIVED_FROM_P to UNIQUELY_DERIVED_FROM_P. Tue Oct 6 14:51:13 1992 Brendan Kehoe (brendan@rtl.cygnus.com) * cp-spew.c (yylex_ctr): Make unsigned. * cp-decl2.c (spew_debug): Add extern reference. (lang_decode_option): New option `-spew-debug', so masochists can use it when they need to. Mon Oct 5 15:47:35 1992 Brendan Kehoe (brendan@rtl.cygnus.com) Implement protected baseclasses. * cp-class.c (finish_base_struct): Set TREE_VIA_PROTECTED. (finish_struct_methods): Check for either public or protected members to kick out of the "all members are private" test. * cp-decl.c (xref_tag): Set TREE_VIA_PROTECTED appropriately. * cp-parse.y (base_class_visibility_list): Remove code about `protected' visibility not being implemented. * cp-pt.c (tsubst): Set via_protected and call hash_tree_cons with it as necessary. * cp-search.c (compute_visibility): Set visibility if protected. Return the appropriate visibility when resolving a field. (lookup_field): Set TREE_VIA_PROTECTED for btypes from its child. When complaining about a member being protected, differentiate when it's from a protected base class (could be a public member in the base). (lookup_fnfields): Set TREE_VIA_PROTECTED. (get_baselinks): Pass TREE_VIA_PROTECTED into hash_tree_cons. Also pass a 0 when necessary. * cp-tree.c (propagate_binfo_offsets): Set TREE_VIA_PROTECTED. (layout_vbasetypes): Ditto. (layout_basetypes): Ditto. (list_hash_lookup): Check TREE_VIA_PROTECTED when looking at an incomplete basetype. (hash_tree_cons): New argument `via_protected'. Set TREE_VIA_PROTECTED when necessary. (list_hash_lookup_or_cons): Check TREE_VIA_PROTECTED when making sure a hash list is sane. (make_binfo): Set TREE_VIA_PROTECTED for the new child. Mon Oct 5 13:27:44 1992 Mike Stump (mrs@cygnus.com) * cp-init.c (maybe_adjust_addr_for_delete): Make sure we don't evaluate the addr twice if it has side effects. Mon Oct 5 13:05:37 1992 Mike Stump (mrs@cygnus.com) * cp-init.c (build_vec_delete): Make sure we don't evaluate the base expression twice if it has side effects. Mon Oct 5 12:38:35 1992 Brendan Kehoe (brendan@rtl.cygnus.com) * cp-decl.c (grokdeclarator): Issue a warning or error if we're being ANSI-careful when they do `extern inline'. (flag_ansi): Add extern decl. Mon Oct 5 12:34:32 1992 Mike Stump (mrs@cygnus.com) * cp-class.c (finish_struct): Don't give an error if an enumeration type is stuck in a bit-field, as it is legal c++. Mon Oct 5 11:43:09 1992 Mike Stump (mrs@cygnus.com) Mon Sep 14 16:39:10 1992 Chip Salzenberg (chip@tct.com) * cp-cvt.c (convert_to_integer): Don't pass truncation thru lshift if shift count >= width of narrower type. Instead, just use 0. Fri Oct 2 13:21:40 1992 Ken Raeburn (raeburn@kyriath.cygnus.com) * cp-decl.c (start_function): Reinstate error check for missing semicolon erroneously removed.Thu Nov 12 17:37:23 1992 Michael Meissner (meissner@osf.org) * mips.md (movdf_internal): Split movdf insn into two -- one for normal use, and one for -msoft-float, and don't prefer FPU registers in the -msoft-float case. (movsf_internal): Ditto for movsf.Thu Nov 12 07:30:17 1992 James Van Artsdalen (james at bigtex.cactus.org) * i386.h (HARD_REGNO_MODE_OK): Restrict MODE_INT from FP regs only. * i386.md (floatMN2 recognizers): Don't omit mode on a match_operand that might be reloaded. Split into separate patterns for each mode. (zero_extract test): Disable for now. * i386.c (float_op): Delete - no longer used.Wed Nov 11 11:55:22 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) * combine.c (simplify_comparison, case ASHIFTRT): mode_for_size returns BLKmode on error, not VOIDmode. * romp.md (reload_outdi): Write as proper PARALLEL.Wed Nov 11 01:06:33 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) * toplev.c (lang_options): Change +e... to -+e... * xm-tower.h: Include xm-svr3.h. (bcopy, bzero, bcmp, USG): Macros deleted.Tue Nov 10 12:26:23 1992 Steve Chamberlain (sac@cygnus.com) * sdbout.c (plain_type_1): Handle LONG_TYPE_SIZE like INT_TYPE_SIZE.Tue Nov 10 14:20:27 1992 Michael Meissner (meissner@osf.org) * mips.md (ffssi2): Add =& constraints to the two match_scratch clobbered registers. Fix from John F Carr. * mips-tdump.c (toplevel): Move #undef index and rindex before including sym.h.Tue Nov 10 10:37:50 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in (install-common): Delete deps $(srcdir)/g++ $(srcdir)/c++ * expr.c (init_expr_once): Try indexing mem by fp as well as sp.Tue Nov 10 10:28:59 1992 Chris Smith (csmith@convex.com) * genattrtab.c (main): Unlimit stack size.Tue Nov 10 10:17:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) * print-rtl.c (print_rtx): Use sizeof spaces - 1 to get the length of the spaces string.Tue Nov 10 09:56:32 1992 Jeffrey A. Law (law@schirf.cs.utah.edu) * pa-hpux.h (LINK_SPEC): Disable linking against shared libraries. * pa-ghpux.h (LINK_SPEC): Likewise. Tue Nov 10 08:39:01 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) * elxsi.h (GO_IF_LEGITIMATE_ADDRESS): Verify that register is valid for use as base register (un-allocated pseudos aren't when strict).Mon Nov 9 22:17:23 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xm-3b1.h (index, rindex): Define as macros.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -