⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ochangelog

📁 这是完整的gcc源代码
💻
📖 第 1 页 / 共 5 页
字号:
	* cccp.c (include_default): Add /usr/local/include.	* Makefile (install): Install the makefile.	* varasm.c (assemble_external): New fn to declare an external.	(assemble_variable): Output nothing for externals.	* c-parse.y (primary => identifier): Call assemble_variable on 1st use.	* toplev.c (main): Print version info on stderr, not stdout.	* tm-*.h (TARGET_VERSION): Likewise.	* tm-isi68.h, tm-news800.h: Rename __HAVE_FPU__ to __HAVE_68881__.	* sparc.md (seq, etc): Entire page rewritten by Tiemann	to avoid incorrect use of PARALLEL.	* output-sparc.c (gen_scc_insn): Corresponding changes.Sat Dec  3 00:03:19 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* gcc.c (do_spec_1): %P is an ANSIfied form of %p:	put __ at beg and end of each predefined macro name.	* tm-sun3.h (CPP_SPEC): Don't define -Dmc68010, etc., if -ansi.	* tm-sun2.h (CPP_SPEC): Likewise.	* c-decl.c (shadow_tag): Don't complain if declare a new tag	at top level, or if redeclare a tag.	* c-decl.c (grokparms): Warn if parm points to incomplete type.	(We already err if its own type is incomplete.)	* stmt.c (fixup_var_refs_insns): Fix any (SUBREG (MEM)) in REG_NOTES.	(walk_fixup_memory_subreg): New subroutine used for this.	* integrate.c (copy_rtx_and_substitute): Handle MEM refs to the middle	of a stack-parm--at least in the case of reading the parm.	* rtl.c (rtx_equal_p): REG_FUNCTION_VALUE_P is significant	only until end of reload pass.	* toplev.c (rest_of_compilation):	Control that by setting new var rtx_equal_function_value_matters.	* c-decl.c (init_decl_processing): Don't declare the builtins	that aren't really implemented.	* output-sparc.c (output_move_double): "in structure" implies	8-byte alignment only for DFmode, not for DImode.	* final.c (output_operand_lossage): Cleaner text for error msg.	No longer need to write text into .s file, now that linenum is correct.	* c-decl.c (pushdecl): -traditional stops warning	about "declared extern, later static".	* c-typeck.c (build_indirect_ref): Don't handle flag_volatile here.	* expr.c (expand_expr): Handle it here, in INDIRECT_REF case.	This prevents -fvolatile from causing additional warnings.	* output-sparc.c (output_load_address): Allow REG+REG for operands[3].	* m68k.md (movsi): If we output the label LIn,	set the RTL_INTEGRATED flag in the switch table's pattern.	* tm-3b1.h (ASM_OUTPUT_CASE_END): Define LD%n only if LI%n was output.	* i386.md (push-and-add pattern): Comment it out.	It's said to result in slower code.	* i386.md (tstqi, tsthi, tstsi): Output real `test' insn if op is reg.	* i386.md (push for DI): Allow `oiF' for 2nd operand.Fri Dec  2 13:57:35 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* i386.md (movdi): Allow F constraint for 2nd operand.	* i386.md (push for QI): define pattern to push a QImode	which really uses pushw and therefore really pushes a halfword.	* tm-i386.h (PUSH_ROUNDING): Round up to multiple of 2.	* gcc.c (do_spec_1): Handle %e, which means report an error.	Use it to prohibit -pg with -fomit-frame-pointer.	* tree.h (DECL_RESULT_TYPE): New field in FUNCTION_DECL holds the type	of the widened returned value (not nec. the declared return type).	* c-decl.c (start_function): Set DECL_RESULT_TYPE.	* integrate.c (expan_inline_function): Use that, not DECL_RESULT.Thu Dec  1 16:44:10 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* cse.c (fold_rtx): When reordering constant args, insist on	manifest constants; regs with known contents won't do.	* i386.md (mulsi3): Don't use rtx_equal_p to compare regs.	* expr.c (move_by_pieces_1): Don't call change_address	if address is autoinc, since that may not be memory_address_p.	Subroutine-macro add_offset deleted.	* optabs.c (bcc_gen_fctn, setcc_gen_fctn): Moved to this file.	(init_optabs): Init those tables here.	* expr.c (init_conditions): Not here.	* stmt.c (assign_stack_local): Make a list of all stack slots.	* emit-rtl.c (unshare_all_rtl): Unshare all the stack slots.	* final.c (final): Handle BARRIER with ASM_OUTPUT_ALIGN_CODE.	* tm-ns32k.h (ASM_OUTPUT_ALIGN_CODE): Align to 4-byte bdry.??	* tm-sequent.h (ASM_OUTPUT_ALIGN_CODE): Override: just 2-byte bdry.	* tm-m68k.h (PRINT_OPERAND): use new macros to print floats.	(ASM_OUTPUT_FLOAT_OPERAND): New macro.	(ASM_OUTPUT_DOUBLE_OPERAND): New macro.	* tm-sun3.h: Override those macros, to check for infinities.Wed Nov 30 06:35:47 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* tm-ns32k.h (FUNCTION_{PRO,EPI}LOGUE): if no frame pointer,	do explicit push or pop insns.	* tm-genix.h (PRINT_OPERAND): Fix typo `file'.	Extedn decl for paren_base_reg_printed.	(MAIN_FUNCTION_PROLOGUE): Deleted.	(ASM_OUTPUT_EXTERNAL): Defined.	* c-parse.y (yyerror): Better error msg for unprintable char in token.	(primary => identifier): Set TREE_USED if implicit decl made.	* Makefile (cleanlinks): New target.	(INSTALL): New variable, has program used for installing files in sys.	* output-ns32k.c (print_operand_address): If addr is sum of 2 consts,	output ADDR first, then OFFSET.	* ns32k.md (addsi3): Allow adding const+reg with result in another reg.	* tm-seq386.h (FUNCTION_PROFILER): Provide overriding definition.	* tm-hp9k320.h: Alternate ASM_SPEC if using GAS.	Define STANDARD_STARTFILE_PREFIX if using GAS.	(FUNCTION_PROLOGUE): on 68020 for big stack frame use link.l.	* gcc.c (STANDARD_STARTFILE_PREFIX): New cust. macro replaces `/lib/'.	* va-sparc.h, va-spur.h: Prefix non-interface identifiers with `__'.	* optabs.c (init_optabs): Don't set up libcalls for ftrunc_optab	because (1) they aren't supported and (2) they are never used.	* gnulib.c (__builtin_saveregs): If not sparc, define the symbol anyway	to avoid a warning in ranlib.Mon Nov 28 01:46:12 1988  Michael Tiemann  (mdt at choctaw)	* c-parse.y (yylex): Typo, `=' for `==' making wide strings.	* sparc.md (various places): make sure that all patterns which store	can store using const0_rtx (i.e., make all operands to `st' %rx).	* output-sparc.c (various places): changed dispatches on SYMBOL_REF	to dispatches on CONSTANT_ADDRESS_P since we now recognize any CONST	(and not just SYMBOL_REFs).  Don't recognize special case CONST for	output_block_move.  Compiler doesn't have enough information to use	it.	* stmt.c (expand_fixup): If the control stack is nested within the	nesting stack, then no fixup is needed.  Otherwise, compiler must	check for possible fixups between the current nesting stack and the	nesting stack that immediately contains the control stack.	* stmt.c (expand_function_start): functions which are nested use	DECL_CONTEXT.  For these functions, test that their DECL_CONTEXT is	a LET_STMT node.	* tree.h: declare `build_offset_type'.Sun Nov 27 10:34:53 1988  Richard Stallman  (mdt at yahi)	* output-sparc.c (output_move_double):	Don't try to use ldd/std if OP1 is a constant.	* sparc.md (movdi): Allow immediate args moved into general regs.	* c-decl.c (grokparms): Reject incomplete parm types even if just	declarating, not defining.  Change types to error_mark_node	in both the PARM_DECL and the list of types.	* dbxout.c (dbxout_type): It's not a bug if a RECORD_TYPE	has a typedef as its TYPE_NAME.  That happens in C++.	* Make each `asm' with operands record its source file/line	with reg-notes.  It doesn't work to emit a special note before the insn	because the insn can be moved by loop_optimize.	* stmt.c (expand_asm_operands): New args FILENAME, LINE.	Record them in the insn, in reg notes.	* c-typeck.c (c_expand_asm_operands): New args, passed along.	* c-parse.y: Pass those args.	(maybe_type_qual): Line #s for asm stmts emitted like all others.	* rtl.h (REG_ASM_FILE, REG_ASM_LINE): New kinds of reg notes.	* toplev.c (error_for_asm): Get the info from those notes.	* reload.c (find_reloads): Don't clear BADOP for a reg letter	if the alternative ultimately doesn't allow any regs.	* reload.c (find_reloads): If an `asm' insn gets an error,	change it to a USE to avoid duplicate error msgs or later trouble.	* reload.c (find_reloads_address): Reloading a constant address,	specify Pmode as the mode for push_reloads, in case of CONST_INT.	* expr.c (emit_push_insn): Fix calc. of space needed when PARTIAL > 0.	Both scalar case and BLKmode case needed fixing.	* sparc.md (load/store constant address):	Moving DF from mem to cpu regs, don't go via %f0.	Don't use std/ltd if alignment is wrong or uncertain.Sun Nov 27 10:34:53 1988  Michael Tiemann  (mdt at yahi)	* reload.c (push_reload): Allow VOIDmode for INMODE, OUTMODE;	default the mode from the operand values.	* sparc.md: remove patterns which generate annulled branch insns.	They are correct, but those insns confuse GDB.	* tm-sparc.h (GO_IF_LEGITIMATE_ADDRESS):	Treat any constant address like a SYMBOL_REF.	* sparc.md: Check for CONSTANT_ADDRESS_P rather than SYMBOL_REF.	* sparc.md: Peepholes now accept SYMBOL_REF addresses.	The output routine can now split them properly even as delay insns.	* print-tree.c (dump): added entry for METHOD_TYPE and	METHOD_CALL_EXPR.  Also added entry for WITH_CLEANUP_EXPR.  Suggest	that we make first_rtl of WITH_CLEANUP_EXPR 2 instead of 1.Sun Nov 27 00:15:33 1988  Michael Tiemann  (mdt at yahi)	* print-tree.c (dump): added entry for OP_IDENTIFIER.	* tree.c (build_op_identifier): new function.  Needed because	`build_nt' expects an "e" node, but OP_IDENTIFIER is an "x" node.	* store_layout.c (layout_record): use DECL_FIELD_CONTEXT instead of	DECL_CONTEXT.	* tree.h (DECL_FIELD_CONTEXT): new macro.  Points to the type that a	FIELD_DECL is a member of.  For C, this is just DECL_CONTEXT.	* tree.c (build_method_type): typo used "==" to assign basetype to	TYPE_METHOD_BASETYPE with predictably poor results.Sat Nov 26 22:55:32 1988  Michael Tiemann  (mdt at yahi)	* output-sparc.c (output_sized_memop): new function to output a load	or store insn based on the size of the operand loaded or stored.	(make_f0_contain_0): use info from condition codes to decide whether	the register %f0 needs to have 0 loaded from memory or not in order	to contain zero.	(gen_scc_insn): new function used by define_expands for	set-on-condition-code insns.	(output_delay_insn): now knows how to handle load and store	scheduling when the load or store operation takes two insns instead	of one.  The rewrite is now understands is this:	  sethi %hi(address),%g1	-> sethi %hi(address),%g1	  ld/st [%g1+%lo(address)],%reg	-> b target	  b	target			-> ld/st [%g1+%lo(address)],%reg	  nop				-> ;; gone	* jump.c (reverse_condition): make this function publicly visible,	now needed in expr.c.	* output-sparc.c (reg_or_0_operand): new function, returns nonzero	if operand is const0_rtx or a register of specified mode.	(hardreg): deleted.	* expr.c, stmt.c: fixed random syntax errors.	* tree.c (build_method_type): now corresponds to defn in tree.def	  expr.c (expand_call): removed code to get FUNCTION_TYPE from	  METHOD_TYPE.  This should probably be looked at harder.	* tree.def (METHOD_TYPE): Changed definition so that TREE_TYPE (m)	(where m is a METHOD_TYPE) is the type of the return value of the	method, not the FUNCTION_TYPE from which the METHOD_TYPE is derived.		* Makefile: Changed target of BINDIR from /usr/local to	/usr/local/bin.Sat Nov 26 16:29:22 1988  Michael Tiemann  (mdt at chickasaw)	* tm-sparc.h (GO_IF_LEGITIMATE_ADDRESS): Allow any SYMBOL_REF.	(NOTICE_UPDATE_CC): Remember high half of %g1 as a "condition code"	to avoid reloading it if it does not change.	(NOTICE_UPDATE_CC): Test SET_SRC, not SET_DEST, for a CALL rtx.	(PRINT_OPERAND): New code-letter `m' says output operand as an address.	* toplev.c (flag_syntax_only): New flag variable.	* flags.h: Likewise.	* toplev.c (error_with_decl): Extra arg, passed to fprintf.	(warning_with_decl): Likewise.	* tree.c (build_offset_type): New function.	* tree.h (TYPE_METHOD_BASETYPE): New name for TYPE_METHOD_CLASS.	Uses in tree.c and... renamed.	* combine.c (SUBST_INT): New macro, for replacing an int.	(subst): Collapse nested SUBREGs even if SUBREG_WORDs are not 0.	* expr.c (bcc_gen_fctn, setcc_gen_fctn): new tables,	initialized in init_comparisons.	Used in expand_expr, do_jump, do_store_flag	instead of explicit construction of a jump.	* expr.c (save_noncopied_parts): New function.	* expr.c (expand_expr):	  ARRAY_REF: Special case for array of constants.	  WITH_CLEANUP_EXPR: Handle it.	  INIT_EXPR: Case deleted.	  MODIFY_EXPR: Use save_noncopied_parts.	* expr.c (expand_call): blkmode_parms_forced can be >0	even when no stack arg space otherwise needed.	Don't use a hard reg as a target if there are cleanups.	* stmt.c (struct block): New elt. outer_cleanups.	(struct case): New elt. num_ranges.	(struct fixup): Changed meaning of cleanup_list_list.	Changes in expand_fixup, fixup_gotos.	(expand_fixup): Detect some internal forward-jumps	that need no fixups--for speed.	(fixup_gotos): New arg THISBLOCK.	(expand_expr_stmt): Handle flag_syntax_only.	(use_variable): No longer static.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -