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

📄 ochangelog

📁 这是完整的gcc源代码
💻
📖 第 1 页 / 共 5 页
字号:
Wed Dec 21 02:46:34 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* Version 1.32 released.	* toplev.c (main): Vax pcc enforces goto-less programming	with fatal error.	* stmt.c (fixup_memory_subreg): New arg INSN says where to emit insns.	(walk_fixup_memory_subreg): Likewise.  All callers changed.Tue Dec 20 01:26:56 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* c-decl.c (start_function): Don't clear TREE_PERMANENT in fn decl.	Make the result decl a permanent node.	(finish_function): Don't clear DECL_RESULT in an inline function.	(duplicate_decls): Don't lose DECL_RESULT or DECL_SAVED_INSNS	or old decl, when defn is followed by redeclaration.	Likewise DECL_ARGUMENTS and DECL_RESULT_TYPE.	* stmt.c (expand_function_end): End any sequences left unterminated.	* cse.c (predecide_loop_entry): If "loop" has no label, do nothing.	* recog.c (asm_noperands): Now return -1 if not that kind of insn.	All callers changed.	* combine.c (check_asm_operands): Calling changes not quite trivial.	* final.c (final): Likewise.	* reload.c (find_reloads): Likewise.	* recog.c (asm_noperands): Other changes:	Loop computing # of SETs in a PARALLEL was off by 1.	Validate all elts of any PARALLEL, to block invalid combinations.	* ns32k.md (andsi3, andhi3): Make new CONST_INTs; don't clobber old.	* integrate.c (copy_rtx_and_substitute): When looking in `parm_map',	if our mode mismatches parm's mode, use change_address to extract part.	On BYTES_BIG_ENDIAN machines, adjust the offset.Mon Dec 19 23:50:14 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* cexp.y ('/' and '%' ops): If divide by 0, print error, don't die.Sun Dec 18 14:03:02 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* toplev.c (main): Avoid shadowing I in inner block.	* flow.c (propagate_block): The insn at the end of a libcall	may be dead, but the libcall might still be needed if the	hard return reg is used later.  Detect this case.	(libcall_dead_p): New fn used to check that the libcall is dead.	* output-m68k.c, tm-m68k.h (standard_sun_fpa_constant_p): Fn renamed.Sat Dec 17 13:23:51 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* stmt.c (expand_end_bindings): error_with_file_and_line => ..._decl.	* combine.o (try_combine): Accept combination making a valid	asm with operands.	(check_asm_operands): Recognize asm with operands that are valid.	* loop.c (strength_reduce): Don't accept a reg as a giv	if the reg was made by loop-optimize.	* stmt.c (balance_case_nodes): A list of 3 always splits in middle.Fri Dec 16 17:22:07 1988  Tiemann  (rms at sugar-bombs.ai.mit.edu)	* sparc.md (fetch from constant address): Split into two patterns,	one fixed point and one floating.	(store at constant address): Handle remembered hi-half differently.	Other bug fixes.	(fix_truncsfsi2): Use f1, not f0, as temp.	(fix_truncdfsi2): Don't clear CC_F1_IS_0.	* output-sparc.c (singlemove_string): Changed handling of case	where op1 is not memory and op0 has varying address.	(output_fp_move_double): Avoid reloading high half address	in the ldd and std cases with constant address.	(make_f0_contain_0): Handle f0 and f1 individually.	* tm-sparc.h (GO_IF_LEGITIMATE_ADDRESS): CONST is now illegitimate.	* rtl.c (note_stores): Pass entire SET rtx, not flag, as 2nd arg to FN.	* local-alloc.c (reg_is_set): New type for 2nd arg.	* Makefile: Comment out cc1plus, since not ready for release.Thu Dec 15 16:39:47 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* local-alloc.c (reg_is_set): If a hard reg is clobbered, make it free	before and after the insn.	* stupid.c (stupid_mark_refs): Likewise.	* global-alloc.c (global_conflicts): Likewise.	Use note_stores to call mark_reg_{store,clobber}.	(mark_reg_store): Changed calling conventions	All work done on set/clobbered regs is now done here.	Ignore CLOBBERs.	(mark_reg_clobber): Similar fn, but ignore SETs and handle CLOBBERs.	(regs_set, n_regs_set): New static vars for comm. among the above.	* stmt.c (expand_asm_operands): call protect_from_queue on operands.	This requires preexpanding the outputs into a vector of rtx's.	* Makefile (install): cd to $(libdir) before ranlib.	* c-typeck.c (c_expand_asm_operands): emit_queue at the end.	* reload.c (find_reloads): Count # alternatives properly for	an asm insn, and check that all operands correspond.	* loop.c (verify_loop): Reject loops containg setjmps.	* cse.c (cse_main): Don't cse across a call to setjmp.	* expr.c (expand_expr): Permit any non0 DECL_RTL for a VAR_DECL.	* stmt.c (balance_case_nodes): Count ranges double when balancing.Wed Dec 14 13:50:45 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* final.c (output_addr_const): Output just `-', not `+-'.	* make-cc1.com: Update filenames changed to `c-'.	* make-cccp.com: Pass needed -D options when compiling cccp.c.	Use /nomap when linking.	* loop.c (strength_reduce): Paraphrase setting NEW_REG, for Iris cc.	* output-m68k.c (output_move_const_single): %'s must be doubled twice.	* loop.c (record_giv): A giv can be replaceable if its uses are	all in the same basic block as its sole setting.	(last_use_this_basic_block): Subroutine to test that.Tue Dec 13 13:41:57 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* expr.c (do_store_flag): Allow for COMPARISON to be a const_int.	* c-decl.c (pushdecl): Warn if type mismatch with another external decl	in a global scope.	* fixincludes: Fix typo in msg of deleting unchanged file.	* Makefile (insn-*): Use two-step rules with a separate time-stamp file	to avoid rerunning gen* unless md has changed again.Mon Dec 12 13:32:05 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* i386.md (tstsf, tstdf, cmpsf, cmpdf): Use fnstsw, not fstsw.  Faster.	* tm-vax.h (ASM_OUTPUT_REG_POP): Use correct asm syntax for pop insn.	* combine.c (subst): Handle (subreg (mem)) by making a changed mem.	This avoids producing any (subreg (mem))s except in the special	case they are supposed to be made here.	Also set undo_storage in a couple of cases that forgot to.	* reload.c (push_reload): When handling (SUBREG (MEM)) for IN,	if there is an OUT, make that a separate reload.	Return its number in `output_reloadnum'	(find_reloads): When pushing matching-reloads, note that the	two operands can have different reload-numbers.	* tm-3b1.h (ASM_OUTPUT_CASE_END): Test flag on TABLE, not its pattern.	(ASM_OUTPUT_CASE_LABEL): If /i flag set, don't output the dummy entry	since the fetcher-insn will not be off by 2 in this case.	* m68k.md (casesi_2 recognizer): For 3b1 syntax, compensate for that.Sun Dec 11 12:51:49 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* genrecog.c (try_merge_2): No longer put all explicit decompositions	before all predicates.  Patterns are now tested in the order written.	* vax.md: Move the push-or-move-address patterns to the end.	* m68k.md: Move load-address pattern to end.	Rearrange the special-case movsi patterns.	* ns32k.md: Move special load-reg-17 pattern before movsi.	* i386.md: Move the QI and DI push patterns to logical places.	This should not actually change anything.	* stmt.c: Add Andy Hitchins's binary-tree case statement code.	(struct case_stmt): case_list field is now a case_node chain.	Replace has_default field with default_label field.	(pushcase, pushcase_range): Build case_list in its new type,	and keep it sorted.	(expand_end_case): Use case_list in its new type.	Count a range of > 1 as two cases, when choosing strategy.	(group_case_nodes, balance_case_nodes): New fns, rearrange case_list.	(node_has_{low,high}_bound, node_is_bounded): New fns test	relationships of values of various case_list tree nodes.	(emit_jump_if_reachable): New fn.	(emit_case_nodes): Emit compares and jumps based on tree of case_list.	* cccp.c (finclude): Handle nonordinary files (stat doesn't give size).	* tm-3b1.h (PRINT_OPERAND_ADDRESS): Handle case of breg and no ireg.Sat Dec 10 16:30:32 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* sparc.md (movstrsi): Separate define_expand and define_insn;	clobber some pseudos to get temp regs to use in the output.	* output-sparc.c (output_block_move): Use those temp regs,	guaranteed to be free.	* sparc.md (andcc patterns for bitfields from memory):	Test immed. arg for being in range.	(load DFmode constant): Use %m for output in one case.	* output-sparc.c (singlemove_string, output_move_double): Likewise.	* output-sparc.c (singlemove_string): New case for mem-to-mem move.Fri Dec  9 11:42:15 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* stupid.c (stupid_mark_refs): for CLOBBER of a pseudo,	it is born just before this insn and dies just after.	* tm-vax.h (NOTICE_UPDATE_CC): For aob, sob insns, forget the cc's.	* basic-block.h (REG_BLOCK_UNKNOWN, REG_BLOCK_GLOBAL): Move defn here.	* local-alloc.c: Use them.	* c-decl.c (store_parm_decls): Additional explanatory message	for some prototype mismatches.	* gnulib.c (SItype): New macro used instead of `int'	for SImode operands and values.  Definition is `long int'.Thu Dec  8 18:45:48 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* reload.c (operands_match_p): Move the label `slow' so that	it doesn't cause a REG and a SUBREG to be compared wrong.	* toplev.c (compile_file): Output a label `gcc_compiled.' for GDB.	If new macro ASM_IDENTIFY_GCC is defined, run that instead.	* tm-3b1.h (ASM_IDENTIFY_GCC): Define this as no-op.Wed Dec  7 12:20:42 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* i386.md (adddf3): Typo: paren was in a constraint.	* c-decl.c (grokparms): Avoid duplicate msgs for incomplete type ptrs.	* gnulib.c: Rename all fns to start with `__'.	* optabs.c, expr.c: Rename all references.	* gnulib.c (__cmpdi2, __ucmpdi2): New fns.	* optabs.c (emit_cmp_insn): Use them.	* Makefile (stage*): Ignore errors on the main `mv' (for cc1plus).	Run ranlib if we have to copy gnulib.	* expmed.c (expand_divmod): Split `label' into several local vars.	* jump.c (jump_back_p): Do nothing unless cc's were set from integers.Tue Dec  6 12:00:21 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* c-parse.y (extend_token_buffer): Use xrealloc, not realloc.	* integrate.c (output_inline_function): fix args of expand_function_end	(expand_inline_function): Add missing arg to expand_end_bindings.	* cse.c (cse_insn): Add missing MODE arg to canon_hash.	* reload1.c (reload_as_needed): Del. extra arg of choose_reload_targets	(reload): Add missing MODE arg to immediate_operand.	* expmed.c (expand_mult): Delete extra arg to expand_unop.	* c-typeck.c (default_conversion):	Add missing NOCONVERT arg to build_unary_op.	* c-decl.c (duplicate_decls, finish_struct): Add missing arg	KNOWN_ALIGMENT to layout_decl.	* stor-layout.c (layout_record): Likewise.	* varasm.c (assemble_variable): Likewise.	* dbxout.c (dbxout_init): Add missing LOCAL arg to dbxout_symbol.	* expr.c (clear_storage): Remove excess arg to emit_move_insn.	* loop.c (consec_sets_invariant_p): Add parens in hairy if-condition.	* fold-const.c (fold): Typo, missing `case'.	* cccp.c (main): Typo handling `-I-' option.	* tm-i386.h (NO_FUNCTION_CSE): Define this; cse is said to slow	things down with less than 7 calls.	* stmt.c (fixup_var_refs_insn): When scanning the reg-notes,	don't touch other insns they point at.	* expr.c (do_jump): Use invert_exp, not reverse_condition,	to invert sense of a jump.	* jump.c reverse_condition now static, invert_exp now global.Mon Dec  5 10:51:39 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* tm-sun386.h (ASM_FILE_START): In the .file arg, exclude directories.	* stmt.c (expand_expr_stmt): If -W, warn if stmt has no side effect.	* cccp.c (monthnames): Capitalize each name.	* rtl.def: New code MATCH_OPERATOR.	* genconfig.c (walk_insn_part): Handle it.	* genextract.c (walk_rtx): Handle it.	* genpeep.c (match_rtx): Handle it.	* genrecog.c (add_to_sequence): Handle it.	* genemit.c (max_operand_1, gen_exp, gen_expand): Handle it.	* genoutput.c (scan_operands): Handle it.	(insn_n_alternatives): New array in the output.	(struct data): New slots n_alternatives and op_n_alternatives.	(scan_operands, gen_insn, gen_peephole):	Record op_n_alternatives for each operand.	(output_epilogue): Verify that all operands have same # of alternatives	Also output insn_n_alternatives.	* reload.c (find_reloads): use insn_n_alternatives to control	the loop over all alternatives.	An empty constraint or empty alternative in a constraint	is always satisfied.	* recog.c (constrain_operands): Likewise.	* c-decl.c (lang_decode_option): For each -f option, recognize a form	with `no-' and a form without, as contraries.	* toplev.c (main): Decode -f options using a table	so that each option automatically has a `no-' variant.	* combine.c (try_combine): Give up if I1 or I2 follows a compare insn.Sun Dec  4 12:00:36 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* varasm.c (data_section): If flag_shared, use SHARED_SECTION_ASM_OP	if that is defined.

⌨️ 快捷键说明

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