Print the names of the hardcoded virtural registers
[official-gcc.git] / gcc / ChangeLog
blobffc896a14bfaaa4643acf37784d6bff0744a94ed
1 1999-07-21  Michael Meissner  <meissner@cygnus.com>
3         * print-rtl.c (print_rtx): Print the names of the virtual
4         registers.
6 Wed Jul 21 16:00:32 1999  Nick Clifton  <nickc@cygnus.com>
8         * config/arm/arm.h (INITIAL_ELIMINATION_OFFSET): Fix typo
9         introduced in previous delta.
11 Wed Jul 21 14:30:51 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
13         * c-lang.c (finish_file): Rename void_list_node to void_list_node_1
14         to avoid name clash.
16 Wed Jul 21 08:39:22 1999  Gavin Romig-Koch  <gavin@cygnus.com>
18         * c-lex.c (yylex) : Correct the test for overflow when lexing
19         integer literals.
21 Tue Jul 20 18:02:42 1999  Richard Henderson  <rth@cygnus.com>
23         * haifa-sched.c (insn_cost): FREE implies cost 0 and vice versa.
24         (adjust_priority): Always call ADJUST_PRIORITY.
25         (schedule_insn): Only put insns into the ready at cost 0.
26         (schedule_block): Remove redundant initial sort.  Give clock_var
27         and can_issue_more to MD_SCHED_REORDER.  Requeue if hazard cost
28         is not 0.
29         * tm.texi (MD_SCHED_REORDER): Update docs.
31         * sparc.h (MD_SCHED_REORDER): Update.  Set CAN_ISSUE_MORE.
32         * sparc.c (ultra_reorder_called_this_block): Delete.
33         (ultrasparc_sched_init): Don't set it.
34         (ultrasparc_sched_reorder): Don't check it.
35         
36 Tue Jul 20 17:07:54 1999  Richard Henderson  <rth@cygnus.com>
38         * rs6000.h (struct rs6000_args): Add sysv_gregno.
39         * rs6000.c (init_cumulative_args): Init sysv_gregno.
40         (function_arg_boundary): Align DFmode.
41         (function_arg_advance): Restructure for ABI_V4; use sysv_gregno
42         to get fp reg and stack overflow correct.
43         (function_arg): Likewise.
44         (function_arg_pass_by_reference): True for TFmode for ABI_V4.
45         (setup_incoming_varargs): Restructure for ABI_V4; use 
46         function_arg_advance to skip final named argument.
47         (expand_builtin_saveregs): Properly unskip the last integer arg
48         when doing varargs.  Adjust overflow location calculation.
50         * ginclude/va-ppc.h (struct __va_list_tag): Make gpr and fpr 
51         explicitly unsigned.
52         (__VA_FP_REGSAVE): Use new OFS argument instead of AP->fpr directly.
53         (__VA_GP_REGSAVE): Similarly.
54         (__va_longlong_p): Delete.
55         (__va_arg_type_violation): New declaration.
56         (va_arg): Restructure.  Flag promotion errors.  Align double. 
57         TFmode passed by reference.
59         * rs6000.md (movdi_32+1): Use GEN_INT after arithmetic
60         in the HOST_BITS_PER_WIDE_INT > 32 case.
62 Tue Jul 20 12:37:30 1999  Hans-Peter Nilsson  <hp@bitrange.com>
64         * dwarf2out.c (output_abbrev_section): Terminate with a zero.
66 Tue Jul 20 12:12:27 1999  Jason Merrill  <jason@yorick.cygnus.com>
68         * gcc.c (default_compilers, cpp-output): Pass -fpreprocessed.
69         * toplev.c (documented_lang_options): Add -fpreprocessed.
70         * cpplib.h (struct cpp_buffer): Add preprocessed.
71         * cppinit.c (cpp_handle_option): Handle -fpreprocessed.
72         (cpp_start_read): Don't expand macros or emit an initial #line
73         directive if -fpreprocessed.
75 Tue Jul 20 12:12:09 1999  Michael Tiemann  <tiemann@holodeck.cygnus.com>
77         * cpplib.h (struct cpp_buffer): Added manual_pop for
78         better C++ tokenization.
79         * cpplib.c (cpp_get_token): Return CPP_EOF if manual_pop.
80         Also, support C++ tokenization for ->*, .*, <?, and >? operators.
81         * c-common.c (cpp_token): Make non-static.
83 Tue Jul 20 11:24:19 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
85         * c-common.h: New file.
86         * c-common.c (permanent_obstack): Delete unused declaration.
87         (c_global_trees): New array.
88         (c_common_nodes_and_builtins): New function; split off common code
89         from init_decl_processing in both c-decl.c and cp/decl.c.
90         * c-tree.h: Delete lots of declarations of tree nodes; replaced by
91         c_global_trees and accessor macros defined in c-common.h.
92         Include c-common.h.
93         * c-decl.c: Delete definitions for tree nodes that were replaced by
94         c_global_trees.
95         (init_decl_processing): Build void_list_node.
96         Call c_common_nodes_and_builtins; delete code to generate the common
97         builtins here.
98         * objc/objc-act.c (build_module_descriptor): Rename variable
99         void_list_node to avoid clash with c-common.h.
101         * Makefile.in: Update dependencies.
102         * objc/Make-lang.in: Likewise.
104 Mon Jul 19 14:22:18 1999  Mark P. Mitchell  <mark@codesourcery.com>
106         * config/mips/iris6gld.h (MAKE_DECL_ONE_ONLY): Define.
107         (UNIQUE_SECTION_P): Likewise.
108         (UNIQUE_SECTION): Likewise.
110 1999-07-19  Linas Vepstas  <linas@linas.org>
112         * config/i370/README: New file.
113         * config/i370/linux.h: New file.
114         * config/i370/mvs.h: New file.
115         * config/i370/oe.h: New file.
116         * config/i370/t-linux: New file.
117         * config/i370/t-mvs: New file.
118         * config/i370/t-oe: New file.
119         * config/i370/x-oe: New file.
120         * config/i370/xm-linux.h: New file.
121         * config/i370/xm-mvs.h: New file.
122         * config/i370/xm-oe.h: New file.
124         * i370.c (label_node_t): Add first_ref_page, label_addr, 
125         label_first_ref, label_last_ref members.
126         (mvs_need_base_reload): Renamed from mvs_label_emitted.
127         (MAX_MVS_LABEL_SIZE): Define.
128         (MAX_LONG_LABEL_SIZE): Define.
129         (alias_node_t, alias_anchor, alias_number): New.
130         (mvs_function_table): Reorder for EBCDIC.
131         (ascebc, ebcasc): Unconditionally define.
132         (i370_branch_dest, i370_branch_length): New functions.
133         (i370_short_branch, i370_label_scan): New functions.
134         (mvs_get_label): Renamed from mvs_add_label.  Search for
135         an existing label before creating a new one.
136         (mvs_add_label): New function.
137         (mvs_get_label_page): New function.
138         (mvs_free_label_list): Renamed from mvs_free_label.  Iterate
139         over the entire list.
140         (mvs_check_page) [TARGET_HLASM]: Use BASR not BALR.
141         (mvs_check_page) [TARGET_ELF_ABI]: New function.
142         (mvs_add_alias, mvs_need_alias): New functions.
143         (mvs_get_alias, mvs_check_alias): New functions.
144         (handle_pragma): New function.
145         (mvs_function_check): New function.
146         (unsigned_jump_follows_p): Search harder.
147         (i370_function_prolog) [TARGET_HLASM]: Handle LE370.  Scan labels.
148         (i370_function_prolog) [TARGET_ELF_ABI]: New function.
149         * i370.h (TARGET_VERSION): Delete.
150         (CPP_SPEC, CPP_PREDEFINES): Delete.
151         (mvs_label_emitted): Delete.
152         (TARGET_EBCDIC): Delete.
153         (MAP_CHARACTER): Define only if TARGET_EBCDIC.
154         (HANDLE_PRAGMA): Define.
155         (HARD_REGNO_NREGS): Handle complex modes.
156         (HARD_REGNO_MODE_OK): Likewise.
157         (CLASS_MAX_NREGS): Likewise.
158         (RET_REG): Likewise.
159         (EXTRA_CONSTRAINT): Define.
160         (RETURN_IN_MEMORY): True for DImode.
161         (TRAMPOLINE_TEMPLATE): Use gen_rtx instead of GEN_INT.
162         (FUNCTION_PROFILER): Delete.
163         (COUNT_REGS): Fail if REG_P but not REG_OK_FOR_BASE_P.
164         (NOTICE_UPDATE_CC): Correct handling of MULT, DIV, logicals and shifts.
165         (TARGET_ESC, TARGET_BELL): Conditionally define for TARGET_EBCDIC.
166         (TARGET_BS, TARGET_TAB, TARGET_NEWLINE): Likewise.
167         (TARGET_VT, TARGET_FF, TARGET_CR): Likewise.
168         (ASM_FILE_START): Add "RMODE ANY".
169         (ASM_OUTPUT_EXTERNAL): Check for aliases.
170         (ASM_GLOBALIZE_LABEL): Likewise.
171         (ASM_OUTPUT_LABELREF): Likewise.
172         (ASM_OUTPUT_COMMON): Likewise.
173         (PRINT_OPERAND): Handle 'K', 'W', default.
174         (PRINT_OPERAND_ADDRESS): New.
175         (Lots of defines): Add support for TARGET_ELF_ABI.
176         * i370.md (attr length): New.  Define for all patterns.
177         (*): Lots of tweeks to assembly output and constraints.
179 Mon Jul 19 15:09:29 1999  David Edelsohn  <edelsohn@gnu.org>
181         * rs6000.md (arithmetic, logical, and shift Rc combiner patterns):
182         Disable patterns performing SImode comparisons with SImode values
183         if TARGET_POWERPC64 and instruction does not sign-extend or does
184         not mask to narrower than SImode, i.e. where bit 31 and bit 63 may
185         differ for signed quantities.
186         (indirect_jump): Add expander to choose RTL based on TARGET_64BIT.
187         (tablejump): Patterns contingent on TARGET_64BIT not TARGET_POWERPC64.
188         (decrement_and_branch_on_count): Add 64-bit variant.
190 Mon Jul 19 09:36:27 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
192         * final.c (output_asm_insn): When searching for the matching string
193         for a given dialect, don't run past the end of the list of
194         alternatives if there are fewer alternatives in the template than
195         dialects.
197 1999-07-17  Alexandre Oliva  <oliva@dcc.unicamp.br>
198         
199         * gcc.texi: Update e-mail addresses and URLs to gcc.gnu.org.
200         Removed paragraph about compression of files and size limitation,
201         duplicated in the FAQ.  Use gcc-patches for posting patches.
202         * gcc.c (main): Updated URL with bug reporting instructions to
203         gcc.gnu.org.  Removed e-mail address.
204         * system.h (abort): Likewise.
206 1999-07-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
208         * Makefile.in (stmp-multilib-sub): Make the files extracted
209         from $(LIBGCC1) writable.
211 Sat Jul 17 14:25:46 1999  Nick Clifton  <nickc@cygnus.com>
213         * config/arm/aout.h: Reformat for improved readability.
214         
215         * config/arm/arm.h: Reformat for improved readability.
216         Replace uses of fprintf with asm_fprintf where appropriate.
217         (ARM_DECLARE_FUNCTION_NAME): New macro:  Perform any generic ARM
218         function declaration assembler actions.
219         (NUM_INTS): New macro: Convert from bytes to words.
220         (NUM_REGS): New macro: Compute number of registers required to
221         hold a quanitity of tyep MODE.
222         (NUM_REGS2): New macro: Like NUM_REGS but also copes with BLKmode
223         types.
224         (NUM_ARG_REGS): New macro: The number of argument registers
225         available.
226         (ARG_REGISTER): New macro: Compute the register number of the Nth
227         argument register.
228         (LAST_ARG_REGNUM): New macro: The number of the last argument
229         register.
230         (SP_REGNUM): New macro: Register number of the stack pointer.
231         (FP_REGNUM): New macro: Register number of the frame pointer.
232         (FUNCTION_ARG, FUNCTION_ARG_PARTIAL_NREGS, INIT_CUMULATIVE_AGS,
233         FUNCTION_ARG_ADVANCE, SETUP_INCOMING_VARARGS): Change
234         CUMULATIVE_ARGS so that it counts registers not bytes.
235         
236         * config/arm/arm.c: Rename TARGET_THUMB_INTERWORK to
237         TARGET_INTERWORK.
238         Replace uses of fprintf with asm_fprintf where appropriate.
239         (output_ascii_pseudo_op): Replace with version from thumb.c
241         * config/arm/coff.h (ASM_FILE_START): Emit ASM_APP_OFF.
243         * config/arm/elf.h (CPP_PREDEFINES): Replace with
244         SUBTARGET_CPP_SPEC.
245         (ASM_DECLARE_FUNCTION_NAME): Use ARM_DECLARE_FUNCTION_NAME.
246         (ASM_FILE_START): Emit ASM_APP_OFF.
247         
248 Fri Jul 16 13:48:09 1999  Jeffrey A Law  (law@cygnus.com)
250         * pa.c (compute_frame_size): Round frame according to 
251         STACK_BOUNDARY rather than a hardwired value.
253         * pa.h (POINTER_SIZE, PARM_BOUNDARY): Define in terms of BITS_PER_WORD.
254         
255         * configure.in (hppa*-*-hpux11*): Use symbolic MASK_PA_11 instead
256         of "1".
257         * configure: Rebuilt.
259         * configure.in (hppa*-*-linux*): New configuration.
260         * configure: Rebuilt.
261         * pa.h (MAX_OFILE_ALIGNMENT): Delete.
262         * pa/som.h (MAX_OFILE_ALIGNMENT): Define.
263         * pa/pa-linux.h: New file.
264         * pa/t-linux: New file.
265         * pa/xm-linux.h: New file.
267         * pa.c (hppa_legitimize_address): Change references from SImode to
268         either Pmode or word_mode as appropriate.
269         (emit_move_sequence, store_reg, load_reg): Likewise.
270         (set_reg_plus_d, hppa_expand_prologue): Likewise.
271         (output_mul_insn): Likewise.
272         * pa.h (PROMOTE_MODE): Likewise.
273         (INITIALZE_TRAMPOLINE): Likewise.
274         (Pmode): Define to word_mode.
276         * pa.c (compute_frame_size): Use UNITS_PER_WORD instead of hardwired
277         value of 4.  Allocate 8 bytes for each FP register save.
278         (hppa_expand_epilogue): Use UNITS_PER_WORD instead of harwarewired
279         value of 4.
280         (hppa_expand_prologue): Likewise.
281         * pa.h (PROMOTE_MODE): Likewise.
282         (HARD_REGNO_MODE_OK, FUNCTION_ARG_SIZE): Likewise.
283         (FUNCTION_ARG_BOUNDARY): Likewise.
285         * invoke.texi (HPPA Options): Remove -mspace/-mno-space.
287         * pa.c (out_of_line_prologue_epilogue): Delete.
288         (override_options): Remove -mspace related code.
289         (hppa_expand_prologue, hppa_expand_epilogue): Likewise.
290         (compute_frame_size): Only allocate space for register that
291         actually need to be saved.
292         * pa.h (MASK_SPACE, TARGET_SPACE): Delete.
293         (TARGET_SWITCHES): Remove -mspace, -mno-space
294         * pa/t-pa (LIB2FUNCS_EXTRA): Remove ee.asm and ee_fp.asm
295         * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.  Remove -mspace multilib.
296         * pa/ee.asm, pa/ee_fp.asm: Delete.
298         * pa/elf.h (ASM_OUTPUT_DOUBLE_INT): Define.
300         * config/svr4.h (CONST_SECTION_ASM_OP): Do not emit assembler
301         directive in column zero.
303 Fri Jul 16 01:39:57 1999  Jeffrey A Law  (law@cygnus.com)
305         * m68k.c (output_function_prologue): Fix computation of save mask
306         when generating PIC code.
308 Thu Jul 15 15:40:09 1999  Jim Wilson  <wilson@cygnus.com>
310         * tree.c (build_type_attribute_variant): Move current_obstack restore
311         after build_qualified_type call.
313 1999-07-15  Mark Mitchell  <mark@codesourcery.com>
315         * configure.in: Use t-iris6, even with GNU LD.
316         * config/mips/iris6gld.h: Fix typo in linker spec.
317         * config/mips/t-iris6gld: Remove.
319 Thu Jul 15 15:15:43 1999  David Edelsohn  <edelsohn@gnu.org>
321         * rs6000.md (insv, extzv): Remove SImode dependence in named
322         patterns.  Explicitly generate DImode RTL if PowerPC64 and
323         operand is DImode.
324         (insvdi): Reverse start and size in instruction template.
326 1999-07-12  Joseph S. Myers  <jsm28@cam.ac.uk>
328         * invoke.texi: Typo fixes.
330 Wed Jul 14 23:28:06 1999  Jeffrey A Law  (law@cygnus.com)
332         * emit-rtl.c (gen_realpart): Issue an error for cases GCC can not
333         handle at this time instead of silently generating incorrect code.
334         (gen_imagpart): Likewise.
336         * reload.c (find_reloads): Emit a USE for a pseudo register without
337         a hard register if we could not create an optional reload for the
338         pseudo.
340 Wed Jul 14 23:45:48 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
342         * c-typeck.c (output_init_element, process_init_element):
343         When advancing constructor_unfilled_fields for a RECORD_TYPE,
344         check for nameless bit fields.
346 Wed Jul 14 01:57:39 1999  Richard Henderson  <rth@cygnus.com>
348         * regclass.c (scan_one_insn): Notice subregs that change the
349         size of their operand.
350         (record_reg_classes): Use that to obey CLASS_CANNOT_CHANGE_SIZE.
352 Wed Jul 14 01:41:42 1999  Jeffrey A Law  (law@cygnus.com)
354         * configure.in (alpha*-*-*): Include alpha/t-ieee.
355         * configure: Rebuilt.
356         * alpha/t-ieee: New file.
358 Tue Jul 13 10:45:58 1999  Jeffrey A Law  (law@cygnus.com)
360         * rs6000.c (find_addr_reg): Do not select r0 as an address
361         register.
363 Tue Jul 13 00:46:18 1999  Philippe De Muyter  <phdm@macqel.be>
365         * m68k/x-mot3300 (XCFLAGS): List of big files now includes `cse.o'.
367 Mon Jul 12 14:29:15 1999  Jeffrey A Law  (law@cygnus.com)
369         * rs6000.md (movsf): Do not force easy FP constants into memory.
371         * expr.c (expand_expr, case PLUS_EXPR): Pass constants through
372         immed_double_const to ensure they are properly truncated then
373         sign extended.
375 Mon Jul 12 10:40:01 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
377         * config/arm/thumb.c (thumb_reorg): Call replace_symbols_in_block
378         always unless NO_DEBUG is used.  Compile this code
379         unconditionally.
380         (replace_symbols_in_block): Compile it unconditionally.
381         
382 Sun Jul 11 12:32:32 1999  Jeffrey A Law  (law@cygnus.com)
384         * configure.in (i?86-*-elf*): New target.
385         * configure: Rebuilt.
386         * i386/i386elf.h, i386/t-i386elf: New files.
388 Fri Jul  9 22:39:44 1999  Jason Merrill  <jason@yorick.cygnus.com>
390         * toplev.c (main): Don't complain about saying -gdwarf.
391         (rest_of_compilation): Remove redundant code.
393 Fri Jul  9 19:08:55 1999  Jim Wilson  <wilson@cygnus.com>
395         * unroll.c (unroll_loops): Don't delete named CODE_LABELs.
397 Fri Jul  9 18:54:18 1999  Felix Lee  <flee@cygnus.com>
399         * config/i960/i960.c (ret_label): Change asm label from "LR:" to
400         "Li960R:", to avoid name clash.
402 Fri Jul  9 10:48:28 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
404         * loop.c (check_dbra_loop): When reversing a loop, delete all
405         REG_EQUAL notes referencing the reversed biv except those which are
406         for a giv based on it.
408 Fri Jul  9 03:51:52 1999  Jeffrey A Law  (law@cygnus.com)
410         * version.c: Drop "gcc-" prefix from version #.
412 Thu Jul  8 18:06:30 1999  Jason Merrill  <jason@yorick.cygnus.com>
414         * dwarf2out.c (dwarf2out_line): Emit a line number comment after
415         the label if we're being verbose.
417 Thu Jul  8 14:18:46 1999  Richard Henderson  <rth@cygnus.com>
419         * m68k.c (output_function_prologue): Add pic register to mask
420         if live and flag_pic.
421         (output_function_epilogue): Likewise.
423 Thu Jul  8 12:55:12 1999  Jeffrey A Law  (law@cygnus.com)
425         * dbxelf.h (ASM_OUTPUT_SOURCE_LINE): Do not put assembler
426         directives in column zero.
428         * pa/elf.h (ASM_FILE_START): Define.
429         * pa/som.h (ASM_FILE_START): Include .level directives.
430         * pa/hpux10.h (ASM_FILE_START): Delete.
431         * pa/hpux11.h (ASM_FILE_START): Delete.
433         * pa/elf.h (BSS_SECTION_ASM_OP): Use .section .bss.
435 Thu Jul  8 18:03:19 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
437         * reload1.c (choose_reload_regs): Never call remove_adress_replacements
438         when reload_out equals reload_in.
440 Thu Jul  8 16:50:14 1999  Nick Clifton  <nickc@cygnus.com>
442         * invoke.texi (Spec Files): New node: Describe the contents of
443         spec files.
445 Thu Jul  8 10:28:25 1999  Craig Burley  <craig@jcb-sc.com>
447         * invoke.texi (DEC Alpha Options): Put @end table at
448         beginning of line, to avoid confusing texi2html.
450 Thu Jul  8 09:22:06 1999  Nick Clifton  <nickc@cygnus.com>
452         * config/arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Fixed typo
453         introduced in previous delta.
455 Wed Jul  7 02:00:04 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
457         * reload1.c (gen_reload): When synthesizing a 3 operand add
458         sequence, improve test for when to reload OP1 into the reload
459         register instead of OP0.
461 Wed Jul  7 01:38:03 1999  Jim Wilson  <wilson@cygnus.com>
463         * unroll.c (unroll_loop): Don't delete NOTE_INSN_DELETED_LABEL notes.
465 1999-07-07  Manfred Hollstein  <mhollstein@cygnus.com>
467         * m88k/dguxbcs.h (CPP_SPEC): Add missing \ in multi-line
468         string literal.
470 Wed Jul  7 01:16:43 1999  Richard Henderson  <rth@cygnus.com>
472         * ginclude/varargs.h (__builtin_va_alist_t): New typedef.
473         (va_dcl): Use __builtin_va_alist_t.
475 Wed Jul  7 01:14:42 1999  Jason Merrill  <jason@yorick.cygnus.com>
477         * dwarf2out.c (gen_struct_or_union_type_die): Only remember types
478         on the permanent_obstack.
479         * dwarfout.c (output_type): Likewise.
481 Tue Jul  6 15:25:32 1999  Gavin Romig-Koch  <gavin@cygnus.com>
483         * c-common.c (unsigned_type,signed_type,signed_or_unsigned_type) :
484         Merged from c-typeck.c and cp/typeck.c.
485         * c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
486         Merged into c-common.
488 Tue Jul  6 13:06:01 1999  Dave Brolley  <brolley@cygnus.com>
490         * c-lex.c (errorcount): Declare it.
491         (finish_parse): Update errorcount when using CPPLIB.
493 1999-07-06  Bruce Korb  <ddsinc09@ix.netcom.com>
495         * fixinc/inclhack.def(end_else_label): Double the backslash so
496         sed gets a chance to see it.
497         * fixinc/inclhack.sh: regen
498         * fixinc/fixincl.x: regen
500 Fri Jul  2 18:49:51 1999  Nick Clifton  <nickc@cygnus.com>
502         Add framework to support armv5 architecture when it becomes
503         available: 
504         
505         * config/arm/arm.c (FL_ARCH5): New processor capability flag.
506         (arm_arch5): New variable.
507         (all_architectures): Add armv5 line.
508         * config/arm/arm.h (CPP_CPU_ARCH_SPEC): Define __ARM_ARCH_5__ if
509         -march=armv5 is specified on the command line.
510         (arm_arch5): Export this variable.
511         * invoke.texi: Document new string accepted by -march= switch for
512         ARM ports.
514         * config/arm/arm.h: Replace use of constant 12 as a register
515         number with IP_REGNUM.  Similarly 14 and LR_REGNUM.
516         * config/arm/arm.c: Replace use of constant 12 as a register
517         number with IP_REGNUM.  Similarly 14 and LR_REGNUM.
519         * config/arm/elf.h: Tidy up.
520         * config/arm/coff.h: Tidy up.
521         
522 Thu Jul  1 19:08:13 1999  Mark P. Mitchell  <mark@codesourcery.com>
524         * gcc/configure.in (mips-sgi-irix6*): Handle --with-gnu-ld.
525         * gcc/config/mips/t-iris6gld: New file.
526         * gcc/config/mips/iris6gld.h: Likewise.
528 Fri Jul  2 13:23:39 1999  Gavin Romig-Koch  <gavin@cygnus.com>
530         * c-decl.c (widest_integer_literal_type_node,
531         widest_unsigned_literal_type) : New.
532         (init_decl_processing): Handle/use the two new types.
533         * c-common.c (type_for_size,type_for_mode) : Same.
534         * c-lex.c (yylex) : Same.
535         * c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
536         Same.
537         * c-tree.h (widest_integer_literal_type_node,
538         widest_unsigned_literal_type) : New.
540 Fri Jul  2 03:05:44 1999  Jeffrey A Law  (law@cygnus.com)
542         * dwarfout.c (field_byte_offset): Correctly compute the object's
543         byte offset for the first bit of a field which crosses an alignment
544         boundary on a !BYTES_BIG_ENDIAN target.
546 Fri Jul  2 01:36:36 1999  Robert Lipe  <robertlipe@usa.net>
548         * fixinc.svr4: Fix <arpa/inet.h> by deleting protos for htons and
549         ntohs.
551 Fri Jul  2 00:46:47 1999  Richard Henderson  <rth@cygnus.com>
552                           Jeff Law <law@cygnus.com>
554         * ginclude/varargs.h (va_dcl): Use word_mode for type of
555         __builtin_va_list.
557         * except.c: Include intl.h.
558         (expand_eh_return): Set current_function_cannot_inline.
559         (save_eh_status, restore_eh_status): Twiddle eh_return_stub_label.
560         * function.h (struct function): Add eh_return_stub_label.
561         * flow.c (delete_unreachable_blocks): Don't merge across EH edges.
562         * Makefile.in (except.o): Depend on intl.h.
564 Fri Jul  2 00:04:23 1999  David Edelsohn  <edelsohn@gnu.org>
566         * rs6000.md (movdf_hardfloat32): Handle PRE_INC and PRE_DEC the
567         same as offsettable in cases 1 and 2.
569 Thu Jul  1 20:54:10 1999  Richard Henderson  <rth@cygnus.com>
571         * alpha.md (extqh): Define as 64-((R&7)*8) instead of 56-(((R-1)&7)*8).
572         (extlh, extwh): Likewise.
574 Thu Jul  1 11:05:25 1999  Gavin Romig-Koch  <gavin@cygnus.com>
576         * c-lex.c (yylex): Improve 'integer constant out of range' messages.
578 Wed Jun 30 16:51:41 1999  Nick Clifton  <nickc@cygnus.com>
580         * configure.in: Add arm-pe and thumb-pe targets.
581         * configure: Regenerate.
583         * thumb.c (arm_naked_function_p): New function: Determines if
584         a function is naked (has no gcc generated prologue/epilogue).
585         (is_called_in_ARM_mode): Return true if the func has the
586         interfacearm attribute.
587         (output_return): Do not generate a return for naked functions.
588         (thumb_function_prologue): Do not generate a prologue for
589         naked functions.
590         (thumb_expand_prologue): Do not generate a prologue for naked
591         functions. 
592         (thumb_expand_epilogue): Do not generate an epilogue for naked
593         functions.
594         (arm_valid_machine_decl_attribute): New function, copied from
595         arm.c:  Permit naked and interfacearm attributes.
596         
597         * config/arm/pe.c: New file: Support code for arm-pe target.
598         * config/arm/pe.h: New file: Header file for arm-pe target.
599         * config/arm/tpe.h: New file: Header file for thumb-pe target.
600         * config/arm/t-thumb-pe: New file: Makefile fragment for
601         thumb-pe target.
602         
603 1999-07-01  Mark Kettenis  <kettenis@gnu.org>
605         * config/i386/gnu.h (CPP_SPEC): Define __PIC__ and __pic__ if
606         -fPIC or -fpic is specified.
608 Wed Jun 30 03:31:54 1999  Jeffrey A Law  (law@cygnus.com)
610         * expr.c (emit_block_move): Use copy_to_mode_reg for
611         !TARGET_MEM_FUNCTIONS case too.
613         * configure.in (hppa*-*-*): Add som.h or elf.h to tm_file as
614         appropriate.
615         * configure: Rebuilt.
616         (hppa1.1-*-pro*, hppa1.1-*-rtems*): Define target_cpu_default.
617         * pa.h: Include dbxelf.h.  Delete various dbx/stabs related
618         definitions made redundant by dbxelf.h inclusion.  Delete
619         lots of definitions related to assembly output that are
620         specific to the SOM object format.
621         * pa.c (output_function_prologue): Do not emit the function's
622         name for OBJ_ELF.
623         * pa-pro-end.h (STARTFILE_SPEC): Undefine before redefining.
624         * pa-pro.h: Deleted.
625         * som.h: New file with SOM specific definitions.
626         * elf.h: New file with ELF specific definitions.
628         * elfos.h (const_section): Output a tab before assembler directives.
629         (ctors_section, dtors_section): Likewise.
630         (ASM_OUTPUT_SECTION_NAME): Likewise.
632         * pa/pa1.h: Delete unused file.
634 Tue Jun 29 01:37:53 1999  Jeffrey A Law  (law@cygnus.com)
636         * configure.in (hppa*-hp-hpux11*): New configuration.
637         * configure: Rebuilt.
638         * pa/pa-hpux11.h: New file.
639         * pa.h (CPP_SPEC): Conditionally add -D__STDC_EXT__ to the cpp
640         command line.
642         * mips.md (leasi, leadi): New patterns.
644         * expr.c (emit_block_move): Properly handle case where one of the
645         block move arguments has a queued increment or decrement.
646         (clear_storage): Similarly.  Fix formatting goof.
648 1999-06-28  "David O'Brien"  <obrien@NUXI.com>
650         * fixinc/inclhack.def(stdio_va_list): This patch Removes a
651         semicolon from the BSD VA_LIST replacement expression.
653         * fixinc/inclhack.sh: regen
654         * fixinc/fixincl.x: regen
656         * fixinc/mkfixinc.sh: Have `i[34567]86-*-freebsd*' machines
657         now use the fixincl program.
659 Mon Jun 28 05:28:12 1999  Jeffrey A Law  (law@cygnus.com)
661         * m68k.h (CONDITIONAL_REGISTER_USAGE): Define for !SUN_FPA
662         case.  Also make the PIC register call_used.
664         * m68k.h (FINALIZE_PIC): Delete.
665         * m68k.c (finalize_pic): Delete.
666         
667 Mon Jun 28 05:16:35 1999  Richard Henderson  <rth@cygnus.com>
669         * m68k.h (PREFERRED_RELOAD_CLASS): Don't force any FP const_doubles
670         to memory.
672 Mon Jun 28 04:07:27 1999  David Edelsohn  <edelsohn@gnu.org>
674         * expmed.c (expand_divmod): Ensure unsigned value fits in reg_note.
676 Sun Jun 27 02:39:08 1999  Richard Henderson  <rth@cygnus.com>
678         * jump.c (jump_optimize_1): Validate the cmov copy to a temporary.
680 Sat Jun 26 17:18:18 1999  David Edelsohn  <edelsohn@gnu.org>
682         * rs6000.c (print_operand, case 'L'): Use plus_constant_for_output.
684 Fri Jun 25 11:33:24 1999  Richard Henderson  <rth@cygnus.com>
686         * alpha.c (override_options): Add -mcpu=ev45 as an alias for ev4.
688 Fri Jun 25 13:41:25 1999  David Edelsohn  <edelsohn@gnu.org>
690         * rs6000.c (output_toc): Always use hex values for floating-point
691         constants.  Store single-precision values in upper-half of TOC
692         entry in 64-bit mode.
693         * rs6000.md (floatsidf2, floatunssidf2): Add !TARGET_POWERPC64
694         to final constraints.
695         (fix_truncdfsi2 splitter): Change pattern matching fctiwz.
696         (fctiwz): Improve accuracy of RTL for pattern.
698 Fri Jun 25 11:26:38 1999  Gavin Romig-Koch  <gavin@cygnus.com>
700         * expr.c (expand_expr): Allow RTL_EXPR's through the 
701         MAX_INTEGER_COMPUTATION_MODE checks.
703 Fri Jun 25 06:06:37 1999  Richard Henderson  <rth@cygnus.com>
705         * alpha.h (MASK_SUPPORT_ARCH, MASK_CPU_EV5, MASK_CPU_EV6): Define
706         such that MASK_SUPPORT_ARCH is not negative.
708 Fri Jun 25 05:35:44 1999  Jeffrey A Law  (law@cygnus.com)
710         * loop.c (verify_dominator): Properly handle ADDR_VEC and
711         ADDR_DIFF_VEC insns that appear inside loops.
713 Thu Jun 24 22:54:05 1999  David Edelsohn  <edelsohn@gnu.org>
714                           Jeff Law <law@cygnus.com>
716         * rs6000.md (movdf_hardfloat32): Revert previous patch.
717         Handle LO_SUM the same as offsettable in cases 1 and 2.
718         * rs6000.c (find_addr_reg): Revert previous patch.
720 Thu Jun 24 22:43:12 1999  Philippe De Muyter  <phdm@macqel.be>
722         * system.h (strstr): New external function declaration.
723         * acconfig.h (NEED_DECLARATION_STRSTR): New define slot.
724         * configure.in (GCC_NEED_DECLARATIONS): Check for strstr.
725         * config.in, configure: Rebuilt.
727 1999-06-24  Tom Tromey  <tromey@cygnus.com>
729         * gcc.c (main): Read user-specified specs files after computing
730         additional startfile_prefixes.
732 Thu Jun 24 15:00:47 1999  Mark Mitchell  <mark@codesourcery.com>
734         Revert these two patches:
736         Thu Jun 17 21:34:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
737         * loop.c (strength_reduce): When doing biv->giv conversion, update
738         reg note of NEXT->insn.
740         Thu Jun 17 17:22:07 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
741         * loop.c (strength_reduce): When doing biv->giv conversion, fix up
742         reg_biv_class.
743         (recombine_givs): Set ix field after sorting.
745 Wed Jun 23 21:26:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
747         * rtlanal.c (reg_referenced_p): Use reg_overlap_mentioned_p
748         for the parts of an UNSPEC / UNSPEC_VOLATILE.
750 1999-06-23  Bruce Korb  <ddsinc09@ix.netcom.com>
752         *fixinc/inclhack.def:  Add fix development commentary
753         (read_ret_type): reactivate and add selection clause
754         (zzz_*): tweak output file name to match what is used in hackshell.tpl
755         *fixinc/{fixincl.x|inclhack.sh}: regen
757 Wed Jun 23 00:48:21 1999  Jason Merrill  <jason@yorick.cygnus.com>
759         * expr.c (expand_expr): STRIP_NOPS before checking against
760         MAX_INTEGER_COMPUTATION_MODE
761         (check_max_integer_computation_mode): Likewise.
763 Tue Jun 22 20:23:43 1999  Jim Wilson  <wilson@cygnus.com>
765         * md.texi (smul@var{m}3_highpart): Add missing 's' prefix.
767 1999-06-22  Jim Wilson  <wilson@cygnus.com>
769         * expr.c (store_expr): When target is a promoted subreg, return a
770         promoted subreg as a result.
772 Tue Jun 22 17:14:58 1999  Michael Meissner  <meissner@cygnus.com>
774         * dwarf2out.c (dwarf2out_frame_debug_expr): Reformat to match GNU
775         coding standards.
776         (dwarf2out_define): Mark unused parameters appropriately.
777         (gen_unspecified_parameters_die): Ditto.
778         (gen_subprogram_die): Fix signed/unsigned warnings.
779         (gen_variable_die): Ditto.
780         
781 1999-06-22  Bruce Korb <ddsinc09@ix.netcom.com>
783         * fixinc/inclhack.def(end_else_label): combined else_label
784         and endif_label and fixed the sed expression.
785         *fixinc/{fixincl.x|inclhack.sh}: regen
787 Tue Jun 22 01:58:18 1999  Jeffrey A Law  (law@cygnus.com)
789         * rs6000.md (movdf_hardfloat32): Use %X instead of always emitting
790         'x' when handling non-offsettable addresses
792 Tue Jun 22 00:20:05 1999  Richard Earnshaw (rearnsha@arm.com)
794         * final.c (shorten_branches): Don't try to split an insn that has
795         been deleted.
797 Mon Jun 21 12:47:39 1999  Mark Mitchell  <mark@codesourcery.com>
799         * config/mips/mips.c (symbolic_expression_p): New function.
800         (mips_select_rtx_section): Put symbolic expressions in the
801         data section, not the read-only data section.
803 Mon Jun 21 22:13:06 1999  Jeffrey A Law  (law@cygnus.com)
805         * rs6000.md (find_addr_reg): Handle LO_SUM addresses.
807 Mon Jun 21 20:10:42 1999  Richard Henderson  <rth@cygnus.com>
809         * collect2.c (main): Log frame table count.
810         (GCC_OK_SYMBOL) [ECOFF]: Accept stGlobal.
811         (scan_prog_file) [COFF]: Handle frame tables.
813         * alpha/alpha.h (UNALIGNED_SHORT_ASM_OP): Define.
814         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Define.
815         * alpha/elf.h: Undef them again.
816         * alpha/vms.h: Remove their definitions.
818 Tue Jun 22 03:17:53 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
820         * sh.c (machine_dependent_reorg): When fixing up fp pcloads,
821         remove the clobber of r0 and change the REG_UNUSED note to
822         REG_INC.
824 1999-06-21  Jakub Jelinek  <jj@ultra.linux.cz>
826         * real.c (ereal_from_double): Fix for 64-bit big endian hosts.
827         * emit-rtl.c (gen_lowpart_common): Add case for hosts where double
828         fits in HOST_WIDE_INT and one uses union to access a long constant
829         as double.
831 Mon Jun 21 17:18:25 1999  Richard Henderson  <rth@cygnus.com>
833         * sparc.c (sparc_override_options): Don't allow profiling for
834         code models other than medlow.
835         (sparc_function_profiler): New function from old FUNCTION_PROFILER
836         macro.  Use ASM_GENERATE_INTERNAL_LABEL and MCOUNT_FUNCTION.
837         (sparc_function_block_profiler): Likewise.  Use user_label_prefix.
838         (sparc_block_profiler): Likewise.
839         (sparc_function_block_profiler_exit): Likewise.
840         * sparc.h (FUNCTION_PROFILER): Call new sparc.c function.
841         (FUNCTION_BLOCK_PROFILER): Likewise.
842         (BLOCK_PROFILER): Likewise.
843         (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
844         (MCOUNT_FUNCTION): New.
845         * sparc/pbd.h (FUNCTION_PROFILER): Delete.
846         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Delete.
847         * sparc/sun4o3.h (FUNCTION_PROFILER): Delete.
848         (MCOUNT_FUNCTION): New.
849         * sparc/sysv4.h (FUNCTION_BLOCK_PROFILER): Delete.
850         (BLOCK_PROFILER): Delete.
851         (MCOUNT_FUNCTION): New.
853 Mon Jun 21 14:11:29 1999  David Edelsohn  <edelsohn@gnu.org>
855         * rs6000.md (movdf_hardfloat32): Fix typo in case 2.
857 Mon Jun 21 12:27:17 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
859         * config/mips/elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
860         Add the macros.
862         * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
863         Ditto.
865         * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
866         Ditto.
868         * config/arm/telf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
869         Ditto.
871 Mon Jun 21 14:58:42 1999  Nick Clifton  <nickc@cygnus.com>
873         * config/arm/arm.h: Add cpp support for ARM920 and ARM920T cpu
874         types. 
876 Mon Jun 21 06:22:21 1999  Mark Elbrecht <snowball3@bigfoot.com>
878         * i386/djgpp.h (LIB_SPEC): New.
879         (STARTFILE_SPEC): New.
881         * i386/xm-djgpp.h (NO_SYS_SIGLIST): Deleted. Now obsolete.
883 Mon Jun 21 06:19:33 1999  Philippe De Muyter  <phdm@macqel.be>
885         * fixinc/Makefile.in (gnu-regex.o): Do not define STDC_HEADERS in
886         compiler flags.
888         * system.h (WSTOPSIG): New macro.
890 Mon Jun 21 05:33:15 1999  Mumit Khan  <khan@xraylith.wisc.edu>
892         * c-pragma.c (push_alignment): Don't ignore alignments greater than
893         4 bytes.
894         (insert_pack_attributes): Take into account member natural 
895         alignment.
897         * i386/winnt.c (exports_head): New static variable.
898         (i386_pe_record_exported_symbol): New function.
899         (i386_pe_asm_file_end): Use.
900         * i386/cygwin.h (ASM_OUTPUT_COMMON): Record the exported
901         symbols to be emitted at end of assembly.
902         (ASM_DECLARE_OBJECT_NAME): Likewise.
903         (ASM_DECLARE_FUNCTION_NAME): Likewise.
905         * i386/uwin.h (CPP_SPEC): Use -idirafter instead -iprefix and
906         -iwithprefix.
908 Mon Jun 21 04:44:31 1999  Jeffrey A Law  (law@cygnus.com)
910         * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Fix paren error introduced
911         in last change.
913 Sun Jun 20 17:27:20 1999  Richard Henderson  <rth@cygnus.com>
915         * haifa-sched.c (sched_analyze_1): Use free_list instead of 
916         zapping reg_last_uses directly.
917         (sched_analyze_2, sched_analyze_insn): Likewise.
918         (sched_analyze): Likewise.  Don't clear reg_last_uses on calls.
920 Sun Jun 20 16:57:29 1999  David Edelsohn  <edelsohn@gnu.org>
922         * rs6000.md (movdf_hardfloat32): Use worst case insn length
923         attributes for cases 1 and 2.
925 Sat Jun 19 22:52:55 1999  Richard Henderson  <rth@cygnus.com>
927         * haifa-sched.c (sched_analyze): Mark call-user regs as clobbered
928         instead of set.
930 Sat Jun 19 05:40:07 1999  Philip Blundell <pb@nexus.co.uk>
932         * arm.c (arm_reload_in_hi): Invert sense of test on BYTES_BIG_ENDIAN.
934 Sat Jun 19 05:25:05 1999  Richard Earnshaw (rearnsha@arm.com)
936         * arm.h (CONDITIONAL_REGISTER_USAGE): If flag_pic, never use
937         PIC_OFFSET_TABLE_REGNUM for general alloaction.
938         (INITIAL_ELIMINATION_OFFSET): Count the fact that the PIC register
939         must be stacked if it is used for PIC accesses.
940         * arm.c (use_return_insn): Handle PIC register specially.
941         (output_return_instruction): Likewise.
942         (output_func_{prologue,epilogue}): Likewise.
943         (output_expand_prologue): Likewise.
945         * arm.md (*adddf_esfdf_df): Renamed from *adddf_df_esfdf.
946         (*strsi_predec): Renamed from *strqi_predec.
947         (*loadsi_shiftpreinc): Renamed from *loadqi_shiftpreinc.
948         (*loadsi_shiftpredec): Renamed from *loadqi_shiftpredec.
950         * arm.c (arm_override_options): Remove warning about PIC code
951         not being supported.
953 Fri Jun 18 23:47:06 1999  David Edelsohn  <edelsohn@gnu.org>
955         * rs6000.c (find_addr_reg): New function.
956         * rs6000.h (find_addr_reg): Declare.
957         (offsettable_addr_operand): Delete.
958         * rs6000.md (movdf_hardfloat32): Handle non-offsettable loads
959         from and stores to GPRs.
961 Fri Jun 18 15:44:18 1999  Richard Henderson  <rth@cygnus.com>
963         * alpha.c (alpha_expand_block_move): Use get_insns rather than
964         gen_sequence as argument to emit_no_conflict_block.
966 Fri Jun 18 07:02 1999  Bruce Korb <ddsinc09@ix.netcom.com>
968         * fixinc/mkfixinc.sh: enable the fixincl program for DG/UX
969         * fixinc/inclhack.def(dgux_int_varargs): script must end with \n
970         *fixinc/fixincl.x: regen
971         *fixinc/inclhack.sh: regen
973 Thu Jun 17 15:06:10 PDT 1999 Don Lindsay  <dlindsay@cygnus.com>
975         * added support for -mpcrel (PC relative addressing for m68k) 
976         based on code done by Michael Tiemann  <tiemann@axon.cygnus.com>.
977         * invoke.texi (m68000 options): Add documentation for -mpcrel flag.
978         * m68k.c (print_operand_address): Handle 32-bit PIC case.
979         (comments for general_src_operand): Add some explanation
980         about EXTRA_CONSTRAINTS.
981         (OVERRIDE_OPTIONS): Enable -fPIC in combination with -mpcrel.
982         * m68kelf.h (OVERRIDE_OPTIONS): Ditto.
983         (LEGITIMATE_PIC_OPERAND_P): Fix typo.
984         (LEGITIMATE_PIC_OPERAND_P): Re-derive from m68k.h case.
985         * m68k.h (LEGITIMATE_PIC_OPERAND_P): Fix delete-o.
986         (INDIRECTABLE_1_ADDRESS): Delete spurious '/' at end of macro.
987         (OVERRIDE_OPTIONS): Change behavior so that -mpcrel implies -fpic
988         if not already set.
989         (OVERRIDE_OPTIONS): Merge in changes from m68k.h.
990         * m68k.h (TARGET_PCREL): New target flag.
991         (TARGET_SWITCHES): Add "pcrel" as a recognized switch.
992         (OVERRIDE_OPTIONS): Add checks for -mpcrel.
993         (LEGITIMATE_PIC_OPERAND_P): Don't normally accept anything that
994         contains a SYMBOL_REF.  Relax this constraint during reload, since
995         we want to use the predicates, not reload's built-in concept of a
996         valid memory address, to control what insns need reloading.
997         (EXTRA_CONSTRAINT): Define constraints to accept pc-relative
998         operands (essentially 'g', 'm', and 's' under normal circumstances).
999         * m68k.c (print_operand): Cause printing of pc-relative addresses
1000         to include pc register.
1001         (print_operand_address): Ditto.
1002         (general_src_operand): Accept operands that are not only
1003         general_operands, but are also valid when used as a pc-relative
1004         source.
1005         (nonimmediate_src_operand): Similar, for nonimmediate_operands.
1006         (memory_src_operand): Similar, for memory_operands.
1007         (pcrel_address): New predicate to accept the special case of a
1008         pc-relative address.
1009         * m68k.md (many patterns): Rewrite common SImode, HImode, and
1010         QImode insns to accept *_src_operand instead of *_operand where
1011         pc-relative operands can fit.  For example, a pc-relative operand
1012         can be used as a memory source operand for addsi3, but not as a
1013         memory destination.
1014         * hp320.h linux.h m68kv4.h (LEGITIMATE_PIC_OPERAND_P) as in m68k.h.
1016 Fri Jun 18 09:11:07 1999  Nick Clifton  <nickc@cygnus.com>
1018         * config/arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS): New Marco: USe
1019         .thumb_set pseudo op to mark aliases of thumb functions.
1021 Wed Jun 16 18:19:13 1999  Nick Clifton  <nickc@cygnus.com>
1023         * varasm.c (assemble_alias): Use ASM_OUTPUT_DEF_FROM_DECLS in
1024         preference to ASM_OUTPUT_DEF, if it is defined.
1026         * tm.texi: Document new, optional target macro
1027         ASM_OUTPUT_DEF_FROM_DECLS.
1029 Thu Jun 17 15:07 1999  Bruce Korb <ddsinc09@ix.netcom.com>
1031         * fixincludes: ISCNTL patch
1032         * fixinc/inclhack.def (ioctl_fix_ctrl): Fix the definition of [_]*ISCTRL().
1033         (dgux_int_varargs): new for DG/UX
1034         * fixinc/{fixincl.x,inclhack.sh}: Regenerated.
1036 Thu Jun 17 21:34:24 1999  Jeff Law <law@cygnus.com>
1038         * invoke.texi (ia32 options): Fix typo.
1040 Thu Jun 17 21:34:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1042         * loop.c (strength_reduce): When doing biv->giv conversion, update
1043         reg note of NEXT->insn.
1045 Thu Jun 17 14:25:08 1999  Jeffrey A Law  (law@cygnus.com)
1047         * loop.c (move_movables): Note issues with replacing REGs with
1048         SUBREGs.
1049         * mips.h (GO_IF_LEGITIMATE_ADDRESS): Handle SUBREGs properly.
1051 Thu Jun 17 13:28:30 1999  David O'Brien <obrien@FreeBSD.org>
1053         * i386/freebsd-elf.h (LINK_SPEC): Fix typo.
1055         * i386/freebsd-elf.h (FUNCTION_PROFILER): labels are not needed and
1056         the reference to `mcount' was not correct for the ELF on FreeBSD.
1058 Thu Jun 17 17:22:07 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1060         * loop.c (strength_reduce): When doing biv->giv conversion, fix up
1061         reg_biv_class.
1063         (recombine_givs): Set ix field after sorting.
1065 Thu Jun 17 02:54:30 1999  Jeffrey A Law  (law@cygnus.com)
1067         * emit-rtl.c (operand_subword): Tighten checks for when it is safe
1068         to safe to extract a subword out of a REG.
1070 Thu Jun 17 01:45:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1072         * sh.md (mulsi3): Don't add a no-op move at the end.
1074 Wed Jun 16 20:29:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1076         * cse.c (cse_insn): Don't put hard register source into tables for
1077         the last insn of a libcall.
1079 Wed Jun 16 19:44:33 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1081         * loop.c (strength_reduce): Insert sets of derived givs at every
1082         biv increment, even if it's the only one.
1084 Wed Jun 16 10:33:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
1086         * dwarfout.c (add_incomplete_type): New fn.
1087         (output_type): Call it.
1088         (retry_incomplete_types): New fn.
1089         (dwarfout_finish): Call it.
1091         From Eric Raskin <ehr@listworks.com>:
1092         (output_type): Output types for bases.
1094 Tue Jun 15 12:51:23 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
1096         * mips.c (mips_output_conditional_branch): Add `break' 
1097         between `default' label and `close braces'.
1099 Tue Jun 15 01:55:20 1999  David O'Brien <obrien@FreeBSD.org>
1101         * i386/freebsd-elf.h (LINK_SPEC): clean up the linking library 
1102         specifications and make it realistic.  
1103         (LIB_SPEC): Likewise.
1105 Mon Jun 14 15:38:43 1999  Jim Wilson  <wilson@cygnus.com>
1107         * config/mips/mips.c (mips_secondary_reload_class): Check for
1108         (PLUS (SP) (REG)) and return appropriate register class.
1109         * config/mips/mips.md (reload_insi): Delete predicate for operand 1.
1110         Handle (PLUS (SP) (REG)).
1111         (tablejump): In mips16 code, use emit_insn instead of emit_jump_insn.
1112         (tablejump_mips161, tablejump_mips162): Use emit_jump_insn instead
1113         of emit_insn for tablejump.
1114         
1115 Mon Jun 14 17:26:40 1999  David Edelsohn  <edelsohn@gnu.org>
1117         * rs6000.c (output_prolog): RS6000_CALL_GLUE must be
1118         asm_fprintf format string by itself.
1119         (output_function_profiler): Likewise.
1121 Mon Jun 14 12:57:38 1999  David Mosberger  <davidm@hpl.hp.com>
1123         * combine.c (simplify_logical, case AND): Only call
1124         simplify_and_const_int if the mode is no wider than HOST_WIDE_INT
1125         or the constant is positive.
1127 Mon Jun 14 11:43:41 1999  Nick Clifton  <nickc@cygnus.com>
1129         * configure.in: Fix typo in rs6000-ibm-aix4 case.
1130         * configure: Regenerate.
1132 Mon Jun 14 03:55:40 1999  Jeffrey A Law  (law@cygnus.com)
1134         * configure.in (rs6000-ibm-aix4.3*, powerpc-ibm-aix4.3*): Do not
1135         require a sub-version #.
1136         * configure: Rebuilt.
1138 1999-06-14  Robert Lipe  (robertlipe@usa.net)
1140         * svr4.h (DWARF2_DEBUGGING_INFO): Check for redefinition.
1142 Mon Jun 14 10:30:52 BST 1999  Nathan Sidwell  <nathan@acm.org>
1144         * c-typeck.c (process_init_element): Detect excess elements in
1145         char array initializer.
1147 1999-06-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
1149         * gcc.texi: Mention gcc 2.96 instead of egcs 1.00.
1151 Sat Jun 12 22:29:48 EDT 1999  Jerry Quinn <jquinn@nortelnetworks.com>
1153         * invoke.texi (Option Summary): Add -fpermissive flag.
1155 Sat Jun 12 03:40:42 1999  Jeffrey A Law  (law@cygnus.com)
1157         * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing with operands
1158         that require PIC code sequences.
1160 Wed Jun  9 16:29:01 1999  Nick Clifton  <nickc@cygnus.com>
1162         * configure.in: Add new target: thumb-elf.
1163         * configure: Regenerate.
1164         * config/arm/t-thumb-elf: New file: Makefile fragment for
1165         thumb-elf build.
1166         * config/arm/telf.h: New file: Header file for thumb-elf
1167         build. 
1169 Fri Jun 11 03:17:51 1999  Jeffrey A Law  (law@cygnus.com)
1171         * Makefile.in (libgcc2): Pass MAYBE_USE_COLLECT2 as an argument.
1172         * libgcc2.c (__CTOR_LIST, __DTOR_LIST); Do not provide
1173         initializers is some circumstances.
1175         * fixinc/inclhack.def (endif_label): Add additional selector for
1176         more bogus stuff after #endif statements.
1177         * fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
1179 Thu Jun 10 20:44:36 1999  Mumit Khan  <khan@xraylith.wisc.edu>
1181         * i386/cygwin.h (SET_ASM_OP): Define.
1183 Thu Jun 10 20:37:57 1999  Mumit Khan  <khan@xraylith.wisc.edu>
1185         * reg-stack.c (stack_reg_life_analysis): Find all the RETURN insns.
1187 Thu Jun 10 19:23:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1189         * sh.h (TARGET_HARWARD, TARGET_HARVARD): Changed the former to the
1190         latter.
1192         * sh.md (ic_invalidate_line_i): Remove second alternative.
1194 Thu Jun 10 06:55 1999  Bruce Korb <ddsinc09@ix.netcom.com>
1196         *fixinc/inclhack.def(sun_auth_proto): We do not know how to
1197         test for the presence of valid prototypes.  Delete bypass expr.
1198         (ioctl_fix_ctrl): Correct the selection expression.
1199         (no_double_slash): Correct quoting rules
1200         *fixinc/fixincl.x: regen
1201         *fixinc/inclhack.sh: regen
1203 Thu Jun 10 15:08:15 1999  Nick Clifton  <nickc@cygnus.com>
1205         * config/arm/arm.c (struct all_cores): Add ARM920 and ARM920t.
1207 Wed Jun  9 15:57:57 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1209         * rs6000.md (movsi_got_internal_mem): Delete.
1210         * rs6000.h (CONDITIONAL_REGISTER_USAGE): Mark PIC_OFFSET_TABLE_REGNUM.
1211         (GOT_TOC_REGNUM): Delete.
1212         (PIC_OFFSET_TABLE_REGNUM): Define.
1213         (FINALIZE_PIC): Disable.
1214         * rs6000.c (rs6000_got_register): New code for fixed pic register.
1215         (rs6000_replace_regno): Delete.
1216         (rs6000_finalize_pic): Likewise.
1217         (output_prolog): Handle PIC_OFFSET_TABLE_REGNUM.
1219 Wed Jun  9 19:44:26 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1221         * loop.c (loop_insn_first_p): Don't compare LUIDs when P
1222         is a note; use <= for the compare; advance P while it is
1223         a NOTE.
1225 Wed Jun  9 13:12:24 1999  Jeffrey A Law  (law@cygnus.com)
1227         * fixinc/inclhack.def (no_double_slash): Fix quoting for test.
1228         * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh; Rebuilt.
1230         * varasm.c (remove_from_pending_weak_list): Verify t->name
1231         is non-NULL before passing it to strcmp.
1233 Wed Jun  9 06:50 1999  Bruce Korb <ddsinc09@ix.netcom.com>
1235         *fixinc/inclhack.def(sun_auth_proto): bypass the patch if
1236         the typed arguments are not part of a comment
1237         (ioctl_fix_ctrl): Added a purpose comment
1238         *fixinc/fixincl.x: regenerate
1239         *fixinc/inclhack.sh: regenerate
1241 Wed Jun  9 22:57:02 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1243         * invoke.texi: Add C4x invocation docs.
1245 Wed Jun  9 22:34:38 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1247         * config/c4x/c4x.h (TARGET_EXPOSE_LDP, LEGITIMIZE_RELOAD_ADDRESS):
1248         Define new macros. 
1249         * config/c4x/c4x.c (c4x_emit_move_sequence, src_operand): Use
1250         TARGET_EXPOSE_LDP.
1251         (c4x_legitimize_reload_address): New function.
1252         * config/c4x/c4x.md: Update docs.
1254 Wed Jun  9 04:14:48 1999  Jeffrey A Law  (law@cygnus.com)
1256         * fixincludes: Avoid removing '.'.
1257         * fixinc/fixinc.svr4: Likewise.
1258         * fixinc/fixinc.winnt: Likewise.
1259         * fixinc/inclhack.tpl: Likewise.
1260         * fixinc/fixincl.sh, fixinc/inclhack.sh: Rebuilt.
1262 1999-06-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1264         * fixinc/inclhack.def (sun_catmacro): Escape parens in the select
1265         pattern.
1266         * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
1268 Wed Jun  9 03:10:34 1999  Mumit Khan  <khan@xraylith.wisc.edu>
1270         * c-pragma.c (handle_pragma_token): Handle `#pragma pack()'
1271         correctly.
1273 Tue Jun  8 13:06:15 1999  Jim Wilson  <wilson@cygnus.com>
1275         * configure.in (rs6000-ibm-aix4.[12]*): Change rx6000 to rs6000.
1276         * configure: Regenerate.
1277         
1278 Tue Jun  8 05:47:48 1999  Richard Earnshaw (rearnsha@arm.com)
1280         * optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute
1281         values.
1283 Mon Jun  7 22:30:37 1999  Jeffrey A Law  (law@cygnus.com)
1285         * fixinc/inclhack.def (avoid_bool): Also catch
1286         "typedef [unsigned] int bool".
1287         * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
1289         * m68k/x-hp3bsd44: Delete obsolete and incorrect file.
1290         * configure.in (m68k-hp-bsd4.4): No longer use x-hp3bsd44.
1291         * configure: Rebuilt.
1293 Mon Jun  7 22:05:03 1999  Mark Kettenis  <kettenis@gnu.org>
1295         * config/i386/gnu.h: Include <gnu.h> right after <i386/linux.h>,
1296         such that we can override its definitions if necessary.
1297         (CPP_SPEC): New define.  Support processor specific predefines via
1298         %(cpp_cpu).
1299         (CC1_SPEC): New define.  Support processor specific compiler
1300         options via %(cc1_cpu).
1301         (STARTFILE_SPEC): New define.  Use crt0.o instead of crt1.o for
1302         -static.
1304 1999-06-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1306         * fixinc/inclhack.def (math_gcc_ifndefs): Insert whitespace
1307         between sed's -e flag, and the open-quote following it.
1308         * fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
1310 Mon Jun  7 20:34:20 1999  Robert Lipe <robertlipe@usa.net>
1311                           Jeffrey A Law  (law@cygnus.com)
1313         * varasm.c (assemble_start_function): Remove the function
1314         from the pending weak decls list when we define a function.
1315         (assemble_variable): Similarly for variables.
1316         (weak_finish): Ignore items on the list with a NULL name.
1317         (remove_from_ending_weak_list); New function to "remove" an item
1318         from the pending weak declarations list.
1320 Mon Jun  7 19:27:07 1999  Jerry Quinn <jquinn@nortelnetworks.com>
1322         * pa.md (fmpyfadd, fmpynfadd, fnegabs): New patterns.
1324 Mon Jun  7 14:07:39 1999  Dave Brolley  <brolley@cygnus.com>
1326         * c-lex.c (GETC): Redefine to call getch.
1327         (UNGETC): Redefine to call put_back.
1328         (putback_buffer): New structure type.
1329         (putback): New static structure.
1330         (getch): New function.
1331         (put_back): New function.
1332         (yylex): Replace unused bytes from bad multibyte character.
1334 Mon Jun  7 13:33:39 1999  Dave Brolley  <brolley@cygnus.com>
1336         * cpplib.c (do_define): Cast `alloca' return value.
1337         (do_include, do_undef, do_pragma): Likewise.
1338         * cpphash.c (dump_definition): Cast `xstrdup' and `alloca' return
1339         values.
1340         * cppfiles.c (initialize_input_buffer): Cast `xmalloc' return values.
1341         * gcc/cppspec.c (lang_specific_driver): Cast xmalloc return value.
1343 Sun Jun  6 11:58:34 1999  Jakub Jelinek  <jj@ultra.linux.cz>
1345         * sparc.md (abstf2): This should be an expand.
1346         (split after abstf2_notv9): Fix mode.
1347         (abstf2_hq_v9): New pattern.
1348         (abstf2_v9): Only use when no hard quad.
1349         (absdf2_v9): Fix if target is not the same as source.
1350         (ashrsi3_extend, ashrsi3_extend2, lshrsi3_extend, lshrsi3_extend2):
1351         Add correct output constraints.
1353 Sat Jun  5 17:04:16 1999  Craig Burley  <craig@jcb-sc.com>
1355         From Dave Love to egcs-patches on 20 May 1999 17:38:38 +0100:
1356         * invoke.texi: Clarify text vis-a-vis Intel CPUs.
1358 Sat Jun  5 12:11:24 1999  Mark Mitchell  <mark@codesourcery.com>
1360         * mips.h (mips_output_conditional_branch): New function.
1361         (mips_adjust_insn_length): Likewise.
1362         (ASSEMBLER_SCRATCH_REGNUM): New macro.
1363         (ADJUST_INSN_LENGTH): Likewise.
1364         * mips.c (print_operand): Add `F' and `W' for floating-point
1365         comparison opcodes.
1366         (machine_dependent_reorg): Adjust MIPS16 code; instruction-lengths
1367         are now in bytes.
1368         (mips_adjust_insn_length): New function.
1369         (mips_output_conditional_branch): New function.
1370         * mips.md (length): Adjust attribute definition to handle
1371         conditional branches.   Change lengths to bytes, rather than
1372         instructions throughout.  Remove length attribute from
1373         instructions whose length is four bytes, and rely on the default
1374         instead.
1375         (dslot): Fix typo in comment.
1376         Reword conditional branch patterns to use
1377         mips_output_conditional_branch.
1379 Fri Jun  4 13:30:27 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1381         * alpha/osf.h (CPP_SUBTARGET_SPEC): Handle -threads.
1382         (LIB_SPEC): Likewise.
1383         Link with -lprof1_r for -g/-pg.
1385 1999-06-04  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
1387         * loop.c (check_dbra_loop): Fix change of Jan 19.
1389 Fri Jun  4 00:12:40 1999  Marc Espie <espie@cvs.openbsd.org>
1391         * freebsd-elf.h (SWITCH_TAKES_ARG):  Redefine, not define.
1392         (STARTFILE_SPEC):  Define, override the svr4.h version.
1393         (ENDFILE_SPEC):  Likewise.
1395 Thu Jun  3 23:58:55 1999  Jeffrey A Law  (law@cygnus.com)
1397         * fixinc/inclhack.def (limits_ifndefs): Also apply to sys/limits.h
1398         * fixinc/fixincl.x: Regenerated.
1399         * fixinc/inclhack.sh: Regenerated.
1401 Fri Jun  4 05:42:23 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1403         * sh.c (barrier_align): Don't return early for normal branch/barrier
1404         when optimizing for SH2.
1406 Thu Jun  3 22:27:50 1999  Robert Lipe  <robertlipe@usa.net>
1408         * i386/udk.h (LINK_SPEC): Correct linker search path for 
1409         system libraries.
1411 Fri Jun  4 03:20:40 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1413         * sh.c (fixup_addr_diff_vecs): Emit braf reference label.
1414         (braf_label_ref_operand): Delete.
1415         * sh.h (PREDICATE_CODES): Remove braf_label_ref_operand.
1416         * sh.md (casesi_jump_2): Operand1 is now the inside of a
1417         label_ref, and has no predicate.
1418         The patten has a predicate to guard against invalid substitutions.
1419         (dummy_jump): Delete.
1420         (casesi): Update use of casesi_jump_2.
1422 Thu Jun 3 07:48 1999  Bruce Korb <ddsinc09@ix.netcom.com>
1424         *fixinc/inclhack.def(Io_Def_Quotes): corrected sed expression
1425         *fixinc/fixincl.x: regenerate
1426         *fixinc/inclhack.sh: regenerate
1428 Thu Jun  3 02:15:07 1999  Jason Merrill  <jason@yorick.cygnus.com>
1430         * dwarf2out.c (add_incomplete_type): New fn.
1431         (gen_struct_or_union_type_die): Call it.
1432         (retry_incomplete_types): New fn.
1433         (dwarf2out_finish): Call it.
1435 Thu Jun  3 01:19:03 1999  Jeffrey A Law  (law@cygnus.com)
1437         * gcse.c (insert_insn_end_bb): Correct placement of insns when the
1438         current block starts with a CODE_LABEL and ends with a CALL and
1439         we can not find all the argument setup instructions for the CALL.
1441 Wed Jun  2 15:44:15 1999  Mark Mitchell <mark@codesourcery.com>
1443         Revert this change:
1444         * fold-const.c (fold): STRIP_NOPS when deciding whether or not
1445         something is a candidate for optimize_bit_field_compare.
1447 Wed Jun  2 21:53:05 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1449         * sh.h (CONST_OK_FOR_I, CONST_OK_FOR_L): Cast VALUE to HOST_WIDE_INT.
1451 Wed Jun  2 12:25:55 1999  Richard Henderson  <rth@cygnus.com>
1453         * alpha.c (override_options): Thinko in last patch.
1455         * alpha/osf.h (CPP_SUBTARGET_SPEC): Define.
1456         (LIB_SPEC): Recognize -pthread.
1458 Wed Jun  2 08:42:55 1999  Nick Clifton  <nickc@cygnus.com>
1460         * config/arm/tcoff.h (USER_LABEL_PREFIX): Synchronise with
1461         definition in config/arm/coff.h
1462         * config/arm/coff.h: Add comment about USER_LABEL_PREFIX.
1464 Wed Jun  2 07:07 1999 Bruce Korb <ddsinc09@ix.netcom.com>
1466         * fixinc/fixincl.c(global def): Add FD_SHELL_SCRIPT to mark
1467         fixes that need "file=xxx\n" prepended before invocation
1468         (start_fixer - new): starting the fixer process is complex enough
1469         to warrent its own routine.  It prepends the "file=xxx\n" stuff.
1470         (process): uses the new routine; omit usage of putenv()
1471         * fixinc/fixincl.tpl: mark shell scripts with FD_SHELL_SCRIPT
1472         * fixinc/fixincl.x: regenerate
1474 Wed Jun  2 02:29:07 1999  Jeffrey A Law  (law@cygnus.com)
1476         * README, configure.in, gcc.1, gcc.texi: Update name (egcs -> gcc)
1477         and version #s (1.1 -> 2.96) as needed.
1478         * README.g77: Kill way out of date file in the toplevel directory.
1480 Wed Jun  2 00:52:34 1999  David O'Brien <obrien@FreeBSD.org>
1482         * configure.in (i[34567]86-*-freebsdelf): Don't include linux.h,
1483         i386/freebsd-elf.h no longer requires it.  Instead include svr4.h.
1484         * configure: Rebuilt.
1485         * i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Define.
1486         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, SET_ASM_OP): Likewise.
1487         (PREFERRED_DEBUGGING_TYPE, WCHAR_UNSIGNED): Likewise.
1488         (SWITCH_TAKES_ARG): Likewise.
1489         * i386/freebsd.h: Remove FREEBSD_NATIVE support.
1490         * config/t-freebsd: Moved from config/i386/ so it can used for all
1491         FreeBSD targets.
1493 Mon May 31 02:22:55 1999  Philippe De Muyter  <phdm@macqel.be>
1495         * m68k/x-mot3300 (XCFLAGS): Fixed to match stb.o, not f/stb.o.
1497 Wed Jun  2 00:08:34 1999  Robert Lipe  <robertlipe@usa.net>
1499         * configure.in (i[34567]86-*-udk*): Install headers with cpio.
1500         * configure: Rebuilt.
1502 Tue Jun  1 19:06:22 1999  David Edelsohn  <edelsohn@gnu.org>
1504         * rs6000/aix41.h (RS6000_CALL_GLUE): Define.
1505         * rs6000/aix43.h (RS6000_CALL_GLUE): Likewise.
1506         * rs6000/rs6000.c (rs6000_file_start): Use putc.
1507         (rs6000_output_load_toc_table): Same.
1508         (output_prolog, output_mi_thunk): Same.
1509         * rs6000/rs6000.h (SELECT_SECTION): Formatting.
1510         (ASM_GLOBALIZE_LABEL): Use putc.
1512 Mon May 31 15:23:23 1999  Richard Henderson  <rth@cygnus.com>
1514         * alpha.md (reload_*_help): New patterns and splitters.
1515         (reload_*): Use them.
1516         (mov[qh]i): Likewise.
1518 Mon May 31 11:48:07 1999  Mark Mitchell  <mark@codesourcery.com>
1520         * cccp.c (handle_directive): Handle backslash-newlines in quoted
1521         strings correctly.
1523 Mon May 31 09:36:11 1999  Cort Dougan  <cort@cs.nmt.edu>
1525         * rs6000/linux.h (LINK_SPEC): Use emulation elf32ppclinux.
1527 Mon May 31 11:40:20 EDT 1999  John Wehle  (john@feith.com)
1529         * flow.c (mark_regs_live_at_end, insn_dead_p,
1530         mark_set_1, mark_used_regs): Only give FRAME_POINTER_REGNUM
1531         and HARD_FRAME_POINTER_REGNUM special treatment if reload
1532         hasn't run or the frame pointer is needed.
1533         * haifa-sched.c (attach_deaths): Likewise.
1534         * sched.c (attach_deaths): Likewise.
1536 Mon May 31 00:46:17 1999  Jeffrey A Law  (law@cygnus.com)
1538         * jump.c (jump_optimize_1): Only set CAN_REACH_END if 
1539         calculate_can_reach_end returns nonzero.
1541         * configure.in (native gas tests): Search for an assembler in the
1542         same manner that the installed compiler will.
1543         * configure: Rebuilt.
1544         * tm.texi (MD_EXEC_PREFIX): Note need to update configure.in too.
1546         * alias.c (find_base_term): Improve handling of addresses
1547         constructed from binary operations.
1549 Sun May 30 14:29:17 1999  Eric Raskin (ehr@listworks.com)
1551         * dgux.h (STARTFILE_SPEC): Fix incorrectly matched curly-braces.
1553 Sun May 30 14:19:13 1999  Jeffrey A Law  (law@cygnus.com)
1555         * function.h (cleanup_label, frame_offset): Declare.
1556         (tail_recursion_label, tail_recursion_reentry): Likewise.
1557         (arg_pointer_save_area, rtl_expr_chain): Likewise.
1558         * stmt.c (cleanup_label, frame_offset): Delete extern declarations.
1559         (tail_recursion_label, tail_recursion_reentry): Likewise.
1560         (arg_pointer_save_area, rtl_expr_chain): Likewise.
1562 Sat May 29 19:08:10 1999  Philip Blundell  <philb@gnu.org>
1564         * config/arm/aout.h (ASM_OUTPUT_ALIGN): Only define if not already 
1565         defined.
1566         * config/arm/elf.h (ASM_OUTPUT_ALIGN): Define.
1567         (MAX_OFILE_ALIGNMENT): Define.
1569 Fri May 28 21:40 1999  Robert Lipe <robertlipe@usa.net>
1571         * fixincl.c: Replace local include scheme with #includes of
1572         gansidecl.h and system.h.
1573         * procopen.c:  Likewise.
1574         * server.c:  Likewise.
1576 Fri May 28 03:47:03 1999  Eric Raskin (ehr@listworks.com)
1578         * i386/t-dgux (EXTRA_PARTS): Add crti.o
1579         (crti.o): Add build rule and dependencies.
1580         * fixinc/fixinc.dgux:  Use modified _int_varargs.h
1582 Fri May 28 03:41:02 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1584         * rs6000/sysv4.h (CC1_SPEC): Add support for -profile
1585         (LIB_LINUX_SPEC): Likewise.
1586         (LIB_LINUX_SPEC): Add support for -pthread
1587         (CPP_OS_LINUX_SPEC): Likewise.
1588         (CPP_SYSV_SPEC): Avoid redefinitions if both -fpic and -fPIC are
1589         specified.
1591 Thu May 27 13:04:52 1999  H.J. Lu  (hjl@gnu.org)
1593         * i386.c (output_fp_cc0_set): Don't check the JUMP_INSN code for
1594         conditional move.
1595         (notice_update_cc, output_float_compare): Enable TARGET_CMOVE support.
1596         (output_float_compare, output_fp_cc0_set): Fix the FLOAT comparison
1597         for IEEE math and CC_FCOMI.
1598         (put_jump_code): No IEEE if CC_FCOMI is set.
1600 1999-05-27  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
1602         * fold-const.c (fold_truthop): Make the field reference unsigned
1603         when converting a single bit compare.
1605 Thu May 27 02:40:48 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1607         * loop.c (strength_reduce): Don't do biv->giv conversion on constants.
1609 Thu May 27 02:09:27 1999  Jeffrey A Law  (law@cygnus.com)
1611         * varasm.c (STRIP_NAME_ENCODING): Remove default definition.
1612         * output.h (STRIP_NAME_ENCODING): Strip '*' like the old varasm
1613         version did.
1615         * reload.c (push_reload): Do not call remove_address_replacements
1616         when presented with identical optional reloads.
1618 Wed May 26 14:18:05 1999  Richard Henderson  <rth@cygnus.com>
1620         * alpha.h (MASK_FIX, TARGET_FIX): New.
1621         (MASK_*): Reorganize constants.
1622         (CPP_AM_FIX_SPEC): New.
1623         (TARGET_SWITCHES): Add FIX.
1624         (EXTRA_SPECS): Likewise.
1625         (CPP_CPU_EV6_SPEC): Use FIX, not CIX.
1626         (SECONDARY_MEMORY_NEEDED): Likewise.
1627         (REGISTER_MOVE_COST): Likewise.
1628         * alpha.c (override_options): Add FIX support.  Always use 
1629         ALPHA_TP_PROG for ev6.
1630         * alpha.md (sqrt and mov[sd]i patterns): Use FIX, not CIX.
1631         * alpha/elf.h (ASM_FILE_START): Look at FIX too.
1632         * configure.in (target_cpu_default2) [ev6]: Use FIX, not CIX.
1634 Wed May 26 09:53:05 1999  Mark Mitchell  <mark@codesourcery.com>
1636         * fold-const.c (fold): STRIP_NOPS when deciding whether or not
1637         something is a candidate for optimize_bit_field_compare.
1639 Wed May 26 09:40:02 1999  Mark Mitchell  <mark@codesourcery.com>
1641         * gcc.texi (Passes): Document branch-shortening.
1642         * invoke.texi (Debugging Options): Document the fact that `-dp'
1643         outputs length information for instructions.
1645 Wed May 26 08:49:31 1999  Nick Clifton  <nickc@cygnus.com>
1647         * flow.c: Revert previous delta.
1649 Wed May 26 06:05:10 1999  Nick Clifton  <nickc@cygnus.com>
1651         * flow.c (insn_dead_p): Check against frame_pointer_rtx not
1652         FRAME_POINTER_REGNUM. 
1653         (mark_set_1): Ditto.
1654         (mark_used_regs): Ditto.
1656 Wed May 26 02:19:31 1999  Philip Blundell  <pb@nexus.co.uk>
1658         * arm.h (NEED_PLT_GOT): Fix mistake in last change.
1659         (GOT_PCREL): New macro.  Define to 1 if not already defined.
1660         * arm/elf.h (GOT_PCREL): Define to 0.
1661         * arm.c (arm_finalize_pic): Take into account the setting of
1662         GOT_PCREL.
1664 Tue May 25 14:06:06 1999  Jeffrey A Law  (law@cygnus.com)
1666         * output.h (STRIP_NAME_ENCODING): Provide default definition.
1667         * dwarf2out.c (ASM_NAME_TO_STRING): Use STRIP_NAME_ENCODING.
1669         * flow.c (mark_set_1): Do not record BLKmode stores as dead
1670         store elimination candidates.
1672 Tue May 25 08:55:57 1999  Gavin Romig-Koch  <gavin@cygnus.com>
1674         * config/mips/mips.h (ASM_OUTPUT_DOUBLE_INT) : Use 'dword' if 
1675         TARGET_GAS.
1677 Mon May 24 20:30:08 1999  Jim Wilson  <wilson@cygnus.com>
1679         * configure.in (rs6000-ibm-aix4.[12]*): Delete use of aix41-gld.h.
1680         Add use of x-aix41-gld.
1681         
1682 Mon May 24 16:44:09 1999  Jakub Jelinek  <jj@ultra.linux.cz>
1684         * sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Define.
1685         (ASM_OUTPUT_DESTRUCTOR): Define.
1687 Mon May 24 14:35:24 1999  Jeffrey A Law  (law@cygnus.com)
1689         * loop.c (strength_reduce): Do not clear NOT_EVERY_ITERATION at the
1690         last CODE_LABEL in a loop if we have previously passed a jump
1691         to the top of the loop.
1693 Mon May 24 07:56:29 1999  Nick Clifton  <nickc@cygnus.com>
1695         * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): Fix blunder made when
1696         applying Philip's patch.
1698 Mon May 24 01:02:12 1999  Mark Mitchell  <mark@codesourcery.com>
1700         * stmt.c (expand_end_bindings): Ignore any elements of VARS that
1701         are not VAR_DECLs.
1703 Sun May 23 20:31:16 1999  Jeffrey A Law  (law@cygnus.com)
1705         * loop.c (strength_reduce): Grow reg_single_usage as needed.
1707 Sun May 23 10:13:20 1999  David O'Brien <obrien@FreeBSD.org>
1709         * i386/freebsd-elf.h (LINK_SPEC): Change -static to -Bstatic.
1710         Also remove a useless comment.
1712 Sun May 23 10:05:23 1999  Jerry Quinn <jquinn@nortelnetworks.com>
1714         * pa.md (negdf2,negsf2):  Use fneg instead of fsub on pa 2.0.
1716 Sat May 22 21:02:06 1999  David Edelsohn  <edelsohn@gnu.org>
1718         * collect2.c (main): Only generate import or export file and add
1719         to link arguments if non-empty.  Use xmalloc not alloca.
1720         (write_{export,import}_file): Delete.
1721         (write_aix_file): New function.
1722         (locatelib): Use xmalloc not malloc.
1723         (GCC_OK_SYMBOL): Do not check type if aix64.
1725 Sat May 22 09:35:51 1999  Philip Blundell  <pb@nexus.co.uk>
1727         Based on patch by Scott Bambrough and Pat Beirne:
1728         * config/arm/arm.c (making_const_table): New variable.
1729         * config/arm/arm.h (making_const_table): Declare.
1730         (OUTPUT_INT_ADDR_CONST): Mark symbols as position independent if
1731         appropriate.
1732         * config/arm/arm.md (consttable_4, consttable_8, consttable_end):
1733         Keep track of when we are building the constant table.  
1735 Sat May 22 09:34:22 1999  Philip Blundell  <pb@nexus.co.uk>
1737         * config/arm/arm.c (arm_override_options): Fix erroneous warning
1738         message.
1739         
1740 Sat May 22 09:06:33 1999  Nick Clifton  <nickc@cygnus.com>
1742         * config/arm/arm.h (NEED_PLT_GOT): Only define if not already
1743         defined. 
1745 Sat May 22 07:17:05 1999  Nick Clifton  <nickc@cygnus.com>
1747         * tm.texi (FUNCTION_ARG): Correct description of a stack element
1748         in a PARALLEL.
1750 Sat May 22 01:27:49 1999  Mark Mitchell  <mark@codesourcery.com>
1752         * expr.h (lang_expand_constant): Guard with #ifdef TREE_CODE.
1754 Fri May 21 21:19:02 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1756         * rs6000.c (output_mi_thunk): Enable full support again.
1758 Fri May 21 20:09:52 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1760         * sh.h (BRANCH_COST): Define.
1762 Thu May 20 10:00:42 1999   Stephen L Moshier  <moshier@world.std.com>
1764         * Makefile.in (GCC_FOR_TARGET): Add -I$(build_tooldir)/include.
1766 Thu May 20 09:58:57 1999  Jan Hubicka <hubicka@freesoft.cz>
1768         * function.c (assign_stack_local): Align stack slot propertly.
1769         (assign_outer_stack_local): Likewise.
1771 Thu May 20 10:38:43 1999  Mark Mitchell  <mark@codesourcery.com>
1773         * expr.h (lang_expand_constant): Declare.
1774         * toplev.c (lang_expand_constant): Define it.
1775         * varasm.c (output_constant): Use it.
1777 Thu May 20 11:28:53 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1779         * optabs.c (expand_cmplxdiv_straight, expand_cmplxdiv_wide):
1780         Change function definitions to K&R style.
1782 Thu May 20 08:16:39 1999  Bruce Korb <ddsinc09@ix.netcom.com>
1784         * fixinc/fixincl.c: We must not ignore SIGCLD now.
1786 Thu May 20 07:06:39 1999  Alexandre Oliva  <aoliva@acm.org>
1788         * fixinc/Makefile.in(gnu-regex.o): add $(INCLUDES) to compile options
1789         * fixinc/fixincl.c(wait_for_pid): K&R-ify arguments
1790         (several places): omit static initialization
1791         (process): use single fd, since only the read fd is used
1792         * fixinc/gnu-regex.c: define 'const' away, if not supported
1793         * fixinc/procopen.c(several places): omit static initialization
1794         * fixinc/server.c: define 'volitile' away, if not supported
1796 1999-05-20  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
1798         * config/dbxcoff.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use
1799         asm_fprintf and %L to generate the label name.
1800         * config/dbxelf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise.
1801         (ASM_OUTPUT_SOURCE_LINE): Correct generation of internal labels.
1803 Thu May 20 01:40:55 1999  Jeffrey A Law  (law@cygnus.com)
1805         * jump.c (can_reverse_comparison_p): Do not abort if the comparison
1806         insn for a conditional jump can not be found.
1808 Wed May 19 23:58:58 1999  Jeffrey A Law  (law@cygnus.com)
1810         * mips.h (ENCODE_SECTION_INFO): Do not perform GP optimizations
1811         on variables in specific sections other than .sbss and .sdata.
1813 Wed May 19 03:56:56 1999  Mark Mitchell  <mark@codesourcery.com>
1815         * stmt.c (expand_return): Call start_cleanup_deferral and
1816         end_cleanup_deferral around conditional code.
1818 Wed May 19 08:40:08 1999  Bruce Korb <ddsinc09@ix.netcom.com>
1820         * fixinc/fixincl.tpl: Avoid depending on ANSI C features for
1821         filename lists.  Utilizes new "krstr" AutoGen function.
1822         * fixinc/fixincl.x: Rebuilt.
1824 Wed May 19 02:47:11 1999  Jan Hubicka  (hubicka@freesoft.cz)
1826         * i386.c (output_float_compare): Avoid GNU-C extensions.
1828 Wed May 19 00:34:40 1999  Jeffrey A Law  (law@cygnus.com)
1830         * version.c: Bump to distinguish mainline tree from the
1831         gcc-2.95 branch.
1833 See ChangeLog.1 for earlier changes.
1835 Local Variables:
1836 add-log-time-format: current-time-string
1837 End: