OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [FSFChangeLog] - Blame information for rev 867

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 julius
Sat Jan  9 08:19:14 1999  Richard Kenner  
2
 
3
        * toplev.c (rest_of_compilation): Set cse_not_expected earlier.
4
 
5
        * optabs.c (emit_conditional_move): Undo canonicalization previously
6
        done by get_condition.
7
 
8
        * jump.c (jump_optimize): Move simple optimizations in front
9
        of complex ones.
10
        Reset NEXT whenever deleting an insn in case NEXT was deleted.
11
        Disable some conditional move optimizations if have
12
        conditional arithmetic or if CSE not run yet.
13
        Add new optimization to conditionalize code if have conditional
14
        arithmetic.
15
        (can_reverse_comparison_p): Check REVERSIBLE_CC_MODE.
16
        (condjump{,_in_parallel}_p): Simplify.
17
 
18
Thu Jan  7 09:25:51 1999  Richard Kenner  
19
 
20
        * jump.c (delete_computation): Don't trust location of REG_DEAD
21
        note within a basic block.
22
 
23
Sat Dec 26 06:31:43 1998  Richard Kenner  
24
 
25
        * cse.c (cse_insn): Always make SET a nop if dest is hard regster and
26
        src is equivalent.
27
 
28
        * flow.c (print_rtl_with_bb): Write insns in epilogue delay list.
29
 
30
        * combine.c (simplify_set): Update SET_SRC after force_to_mode call.
31
        If HAVE_conditional_arithmetic, make conditional if comparison
32
        operator is arg of arithmetic.
33
 
34
        * genconfig.c (have_cond_arith_flag): New variable.
35
        (walk_insn_part, case IF_THEN_ELSE): Set it.
36
        (main): Define HAVE_conditional_arithmetic if have_cond_arith_flag.
37
 
38
        * reorg.c (optimize_skip): Count insns in delay slots for epilogue
39
        as being after a conditional return.
40
 
41
Wed Dec 23 07:30:22 1998  Richard Kenner  
42
 
43
        * mips.md (movdf [mips4]): Remove '=' in constraint when not output.
44
 
45
        * toplev.c (fatal_function): New static variable.
46
        (set_fatal_function): New function.
47
        (vfatal): If fatal_function nonzero, call it.
48
 
49
Thu Dec 10 07:21:44 1998  Richard Kenner  
50
 
51
        * expr.c (move_by_pieces_1): Give inner arg types of function passed
52
        as first operand.
53
 
54
        * aclocal.m4 (GCC_HEADER_INTTYPES, GCC_CHECK_STRINGIFY): New macros.
55
        * configure.in: Use them instead of inline text.
56
        (malloc.h): Check for presence.
57
        (free, malloc, calloc, realloc): Include malloc.h to see if need decl.
58
        * system.h (malloc.h): Conditionally include.
59
        (free, malloc, calloc, realloc): Conditionally declare.
60
        * xm-mn10200.h (free, malloc, realloc, calloc): Remove redundant decls.
61
        * xm-mn10300.h, rs6000/xm-sysv4.h, xm-v850.h: Likewise.
62
        * xm-alpha.h: Likewise.
63
        (string.h): Remove reundant #include.
64
        * rtl.h (free): Remove declaration.
65
        * tree.h (free): Likewise.
66
 
67
        * gcov.c (fatal): New function.
68
 
69
Wed Dec  9 06:25:12 1998  Richard Kenner  
70
 
71
        * protoize.c: Remove extraneous #endif.
72
        Remove redundant declarations and includes.
73
        (fatal): New function, from gen*.c.
74
 
75
Wed Dec  9 06:16:26 1998  Craig Burley  (burley@gnu.ai.mit.edu)
76
 
77
        * fold-const.c (multiple_of_p): New function.
78
        (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
79
 
80
Wed Dec  9 04:42:23 1998  H.J. Lu  (hjl@gnu.ai.mit.edu)
81
 
82
        * expr.h, real.h: Add more prototypes.
83
 
84
Tue Dec  8 06:04:19 1998  Richard Kenner  
85
 
86
        * c-typeck.c (c_expand_asm_operands): Fix text of error message
87
        and handle conversion as lvalue.
88
 
89
Mon Dec  7 21:35:31 1998  Paul Eggert  
90
 
91
        * dwarf2out.c (dyn-string.h): Fix patching error.
92
        * toplev.c (): Include if HAVE_SYS_TIMES_H is defined.
93
 
94
Sun Dec  6 01:14:46 1998  Paul Eggert  
95
 
96
        * collect2.c (mktemp): Remove unused decl.
97
 
98
Sat Dec  5 21:02:13 1998  Paul Eggert  
99
 
100
        * cccp.c (fwrite): New VMS macro.
101
        (VMS_fwrite): New VMS function.
102
        (strerror): Declare only if NEED_DECLARATION_STRERROR.
103
        (warn_white_space): New var.
104
        (do_warning): Remove.
105
        (directive_table): Use do_error to print warnings.
106
        (eprint_string): Remove.  All callers now use fwrite instead.
107
        (check_white_space): New function.
108
        (fatal): Now extern.
109
        (main): Add new option --White-space, implied by -Wall.
110
        If DEPENDENCIES_OUTPUT has the form `FILE TARGET', have TARGET depend
111
        on source file as well as files it includes.
112
        (newline_fix, name_newline_fix): Assume that *BP == '\\',
113
        but don't assume that BP[1] == '\n'; all callers changed.
114
        (rescan): Warn about white space at end of line in string.
115
        Fix bug with counting newlines in strings as result of macro-expanding.
116
        (expand_to_temp_buffer): Do not stomp on the output buffer length;
117
        all callers changed.
118
        (handle_directive): No need to check bp < limit if *bp == '\n'.
119
        Allocate a larger directive buffer; expand newline to
120
        backslash-'n' in string literals.
121
        (timestamp): Don't assume that localtime succeeds.
122
        (finclude): Add call to check_white_space in included file.
123
        (collect_expansion): No need to check for p < limit at backslash.
124
        (do_line): Allow nulls in file name.
125
        (do_error): Also do warnings.
126
        (do_pragma): Handle escapes in strings correctly.
127
        (skip_quoted_string): Don't say ``Unterminated string or character''
128
        if it's known to be a character.
129
        Warn about white space at end of line in string.
130
        (struct argdata): New member expand_size.
131
        Rename member stringified_length to stringified_length_bound.
132
        All uses changed.
133
        (macroexpand): Record expand_size separately from expand_length.
134
        Generate nothing for backslash-newline in a string.
135
        Escape newlines in strings.
136
        (macarg): Have macarg1 count newlines.  Escape newlines in strings.
137
        (macarg1): Skip backslash-newline in strings.
138
        (change_newlines): Now takes struct argdata * (not U_CHAR * and int)
139
        returns void, not int.  Modify the arg in-place.
140
        (change_newlines, make_definition): In strings, replace
141
        backslash-newline with nothing, and non-backslashed newline
142
        with backslash-'n'.
143
 
144
        * cexp.y (fatal): New decl (exported by cccp.c).
145
        (yylex): Allow multiple-char constants like 'abcde' that are longer
146
        than long; draft C9x requires this.  Don't treat (char)-1 like EOF.
147
        (parse_escape): Return -2 if backslash-newline is seen.
148
        Parse backslash-newline in numeric escapes.
149
        Parse \x using unsigned, not signed, for proper overflow detection.
150
 
151
Fri Dec  4 16:24:36 1998  Richard Kenner  
152
 
153
        * Defer some __builtin_constant_p elaborations until after cse;
154
        original idea from rth@cygnus.com
155
        * rtl.def (CONSTANT_P_RTX): New RTL code.
156
        * expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to
157
        consider constant CONSTRUCTOR constant and to defer some cases to cse.
158
        * cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX.
159
        * regclass.c (reg_scan_mark_refs, case CONST): Likewise.
160
 
161
Tue Dec  1 09:35:45 1998  Richard Kenner  
162
 
163
        * Makefile.in (C_AND_OBJC_OBJS): Add mbchar.o.
164
        (c-lex.o, cexp.o, cccp.o): Depend on mbchar.h.
165
        (mbchar.o): New rule.
166
        (CCCP_OBJS, CPPMAIN_OBJS): Include mbchar.o.
167
        * po/POTFILES.in (mbchar.[ch]): Add.
168
 
169
Tue Dec  1 09:32:27 1998  Dave Brolley  
170
 
171
        * mbchar.[ch]: New files for multibyte character handling.
172
        * configure.in (enable_c_mbchar): New configure option.
173
        * cexp.y (mbchar.h): #include it.
174
        (yylex): Handle Multibyte characters in character literals.
175
        * cccp.c (mbchar.h): #include it.
176
        (main): Set character set based on LANG environment variable.
177
        (rescan): Handle multibyte characters in comments.
178
        (skip_if_group, validate_else, skip_to_end_of_comment): Likewise.
179
        (macarg1, discard_comments): Likewise.
180
        (rescan): Handle multibyte characters in string and character literals.
181
        (collect_expansion, skip_quoted_string, macroexpand): Likewise.
182
        (macarg1, discard_comments, change_newlines): Likewise.
183
        * c-lex.c (mbchar.h): #include it.
184
        (GET_ENVIRONMENT): New macro.
185
        (init_lex): Set character set based on LANG environment variable.
186
        (yylex): Handle multibyte characters in character and string literals.
187
 
188
Mon Nov 30 08:25:35 1998  Mark Mitchell  
189
 
190
        * dyn-string.h: New file.
191
        * dyn-string.c: Likewise.
192
        * Makefile.in (OBJS): Add dyn-string.o.
193
        (dwarf2out.o): Add dyn-string.h dependency.
194
        (dyn-string.o): New rule.
195
        * dwarf2out.c (dyn-string.h): Include.
196
        (ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy.
197
        (addr_const_to_string): Take a dyn_string_t, not a char * as a
198
        prototype.  Use dyn_string_append rather than strcat, throughout.
199
        (addr_to_string): Use dyn_string_t.
200
 
201
Mon Nov 30 06:57:49 1998  Richard Kenner  
202
 
203
        * po/POTFILES.in (dyn-string.[ch]): New files.
204
 
205
        * sched.c (swap_sort): Fix typo in last change.
206
 
207
Sun Nov 29 21:02:34 1998  Paul Eggert  
208
 
209
        * po/POTFILES.in: Add gengenrtl.c, system.h.
210
 
211
Sun Nov 29 16:36:59 1998  Richard Kenner  
212
 
213
        * expmed.c (emit_store_flag): Don't try to negate STORE_FLAG_VALUE.
214
 
215
        * configure.in: Remove inadvertently added duplicate tests.
216
 
217
        * reload1.c (emit_reload_insns): Fix typos in preserve death note code.
218
 
219
        * Makefile.in (c-lex.o): Depends on $(RTL_H).
220
 
221
        * genattr.c (fatal): No longer static.
222
        * genattrtab.c, gencodes.c, genconfig.c, genemit.c: Likewise.
223
        * genextract.c, genflags.c, gengenrtl.c, genopinit.c: Likewise.
224
        * genoutput.c, genpeep.c, genrecog.c: Likewise.
225
 
226
        * 1750a.c: Use gen_rtx_FOO and GEN_INT, not gen_rtx; include system.h.
227
        * a29k.c, alpha.c, arc.c, arm.c, clipper.c, convex.c: Likewise.
228
        * dsp16xx.c, fx80.c, gmicro.c, h8300.c, i386.c, i860.c: Likewise.
229
        * i960.c, m32r.c, m68k.c, m88k.c, mips.c, mn10200.c: Likewise.
230
        * mn10300.c, ns32k.c, pa.c, pdp11.c, pyr.c, romp.c: Likewise.
231
        * rs6000.c, sh.c, sparc.c, spur.c, tahoe.c, v850.c: Likewise.
232
        * vax.c, we32k.c: Likewise.
233
        * elxsi.c, i370.c: Include system.h
234
        * gofast.h: Use gen_rtx_FOO and GEN_INT instead of gen_rtx.
235
        * 1750a.{md,h}, a29k{md,h}, alpha.{md,h}, alpha/vms.h: Likewise.
236
        * arc.{md,h}, arm.{md,h}, clipper.{md,h}, convex.{md,h}: Likewise.
237
        * dsp16xx.{md,h}, elxsi.h, fx80.{md,h}, gmicro.{md,h}: Likewise.
238
        * h8300.h, i370.{md,h}, i386.{md,h}, i386/cygwin32.h: Likewise.
239
        * i386/osfrose.h, i386/win-nt.h, i860.{md,h}, i960.{md,h}: Likewise.
240
        * m32r.{md,h}, m68k.{md,h}, m68k/a-ux.h, m68k/crds.h: Likewise.
241
        * m68k/isi.h, m68k/linux.h, m68k/lynx.h, m68k/m68kemb.h: Likewise.
242
        * m68k/m68kv4.h, m68k/mot3300.h, m68k/news.h, m68k/sun3.h: Likewise.
243
        * m88k.{md,h}, mips.{md,h}, mips/abi64.h, mn10200.{md,h}: Likewise.
244
        * mn10300.{md,h}, ns32k.{md,h}, pa.{md,h}, pyr.{md,h}: Likewise.
245
        * romp.{md,h}, rs6000.{md,h}, sh.{md,h}, sparc.{md.h}: Likewise.
246
        * spur{md,h}, tahoe.{md,h}, v850.{md,h}, vax.{md,h}: Likewise.
247
        * we32k.{md,h}: Likewise.
248
 
249
Sat Nov 28 19:32:33 1998  Jeffrey A Law  (law@cygnus.com)
250
 
251
        * rtl.def (INLINE_HEADER): Fix type error found by gen_rtx_FOO changes.
252
 
253
        * configure.in: If host != build, run autoconf to generate auto
254
        build.h for the build machine and include it in build_xm_files.
255
 
256
Sat Nov 28 19:20:06 1998  Richard Kenner  
257
 
258
        * bc-emit.c, caller-save.c, calls.c, combine.c: Call gen_rtx_FOO.
259
        * cse.c, dwarf2out.c, emit-rtl.c, except.c, explow.c: Likewise.
260
        * expmed.c expr.c, final.c, function.c, genpeep.c, halfpic.c: Likewise.
261
        * integrate.c, jump.c, local-alloc.c, loop.c, optabs.c: Likewise.
262
        * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
263
        * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
264
        * unroll.c, varasm.c: Likewise.
265
 
266
        * Makefile.in (*.o): Depend on system.h.
267
        * system.h (ANSI_PROTOTYPES): Add definition.
268
        * *.c, c-parse.in, cexp.y: Include system.h and delete any
269
        non-redundant includes, macro definitions, or declarations.
270
        * gen*.c, bc-emit.c, calls.c, cccp.c, combine.c, emit-rtl.c:
271
        Use ANSI_PROTOTYPES, not __STDC__ to select varargs vs. stdargs.
272
        * gcc.c, mips-tfile.c, prefix.c, toplev.c, tree.c: Likewise.
273
        * gen*.c (fatal): Fix error in varargs case.
274
        * genattrtab.c (fatal): Make same as other gen programs.
275
        * genattrtab.c: Write #include for system.h in output.
276
        * genemit.c, genextract.c, genoutput.c, genpeep.c: Likewise.
277
        * genrecog.c: Likewise.
278
 
279
Sat Nov 28 06:01:525 1998  John F. Carr  
280
 
281
        * emit-rtl.c (const_int_rtx): Now array of rtx_def, not rtx.
282
 
283
Sat Nov 28 05:53:45 1998  Richard Kenner  
284
 
285
        * rtl.h (obstack_alloc_rtx): New declaration.
286
        * rtl.c (rtx_alloc): Try to clear as integer or HOST_WIDE_INT indirect.
287
        (obstack_alloc_rtx): New function.
288
 
289
Sat Nov 28 05:46:41 1998  Richard Henderson  
290
 
291
        * gengenrtl.c: New file.
292
        * Makefile.in (OBJS): Add genrtl.c.
293
        (GEN): Add gengenrtl.
294
        (STAGESTUFF): Add s-genrtl and gengenrtl$(exeext);
295
        (RTL_BASE_H): New, from RTL_H.
296
        (RTL_H): Contains RTL_BASE_H and genrtl.h
297
        (genrtl.o, genrtl.c, s-genrtl, gengenrtl): New rules.
298
        * emit-rtl.c (gen_rtx_{CONST_INT,REG,MEM}): New functions.
299
        (gen_rtx): Call them.
300
        * genemit.c (gen_exp, gen_insn): Call gen_rtx_FOO for constant FOO.
301
        * rtl.h (genrtl.h): Include ifndef NO_GENRTL_H.
302
        (gen_rtx_{CONST_INT,REG,MEM}): New declarations.
303
        (GEN_INT): Call gen_rtx_CONST_INT.
304
 
305
Fri Nov 27 20:16:12 1998  Michael Meissner  
306
 
307
        * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
308
 
309
Fri Nov 27 20:13:36 1998  Kaveh R. Ghazi  
310
 
311
        * system.h: New file.
312
 
313
        * configure.in (AC_CHECK_FUNCS): Remove check for vprintf.
314
        Add check for isascii and strsignal.
315
        Collapse multiple calls.
316
        (GCC_NEED_DECLARATIONS): Likewise, from GCC_NEED_DECLARATION.
317
        Check for bcopy, bcmp, bzero, strerror, atof, getcwd,
318
        strsignal and getwd.
319
        Add checks for getrlimit and setrlimit; search in sys/resource.h.
320
        (GCC_FUNC_PRINTF_PTR, GCC_C_VOLATILE, GCC_FUNC_VFPRINTF_DOPRNT): Call.
321
        (GCC_HEADER_STRING, AC_FUNC_VFORK, AC_HEADER_SYS_WAIT): Likewise.
322
 
323
        * acconfig.h (NEED_DECLARATION_{STRERROR,GETCWD,GETWD,BZERO}: Add.
324
        (NEED_DECLARATION_{{G,S}ETRLIMIT,STRSIGNAL,BCOPY,BCMP}): Likewise.
325
        (STRING_WITH_STRINGS, HAVE_VOLATILE, HOST_PTR_PRINTF): Likewise.
326
 
327
        * aclocal.m4 (GCC_NEED_DECLARATION): Accept optional second arg.
328
        Test STRING_WITH_STRINGS when deciding which headers to search for
329
        function declarations.
330
        (GCC_NEED_DECLARATIONS, GCC_HEADER_STRING): New autoconf test.
331
        (GCC_FUNC_{VFPRINTF_DOPRNT,PRINTF_PTR}, GCC_C_VOLATILE): Likewise.
332
 
333
Fri Nov 27 20:10:42 1998  Richard Henderson  
334
 
335
        * configure.in: Add cpp stringify test.
336
        (AC_CHECK_FUNCS): Check for sbrk.
337
        * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
338
 
339
Fri Nov 27 20:09:27 1998  Manfred Hollstein  
340
 
341
        * configure.in (AC_CHECK_FUNCS): Check for getrlimit and setrlimit.
342
 
343
Fri Nov 27 19:48:27 1998  Jeffrey A Law  
344
 
345
        * configure.in (AC_CHECK_FUNCS): Add gettimeofday, atoq, atoll,
346
        strerror, stroul, abort and bsearch.
347
        * acconfig.h (NEED_DECLARATION_{ATOL,ABORT}): New tags.
348
 
349
Fri Nov 27 19:46:09 1998  Jim Wilson  
350
 
351
        * acconfig.h (HAVE_INTTYPES_H): New tag.
352
        * configure.in (inttypes.h): Check for conflicts between sys/types.h
353
        and inttypes.h and verify that intmax_t is defined.
354
 
355
Fri Nov 27 08:07:53 1998  Richard Kenner  
356
 
357
        * alpha.c (sext_add_operand): Use reg_not_elim_operand.
358
        (reg_not_elim_or_8bit_operand): New function.
359
        * alpha.h (PREDICATE_CODE): Add new entry and alphabetize.
360
        * alpha.md (mult patterns): Ensure eliminable reg not any input.
361
 
362
        * Makefile.in (STAGESTUFF): Remove s-ver.
363
        (s-ver): Remove rule and revert back to version.c as target.
364
 
365
Fri Nov 27 02:39:36 1998  Paul Eggert  
366
 
367
        * cccp.c (main): Make `-I -' equivalent to `-I-'.
368
 
369
Fri Nov 27 02:39:36 1998  Sam Kendall  
370
 
371
        * cccp.c (main): Avoid `++i' and `i' in same expression.
372
 
373
Thu Nov 26 19:42:02 1998  Stephen L Moshier  
374
 
375
        * real.c (ereal_atof): New function for hexadecimal floating constants.
376
        * real.h (REAL_VALUE_HTOF): New macro for hex float conversion.
377
        * c-lex.c (yylex): Use it and check syntax of hex floats.
378
        * fold-const.c (real_hex_to_f): New function reads hex float
379
        if no REAL_ARITHMETIC.
380
 
381
Thu Nov 26 18:51:51 1998  Richard Henderson 
382
 
383
        * alpha.c (reg_not_elim_operand): New function.
384
        * alpha.h (PREDICATE_CODES): Add it.
385
        * alpha.md: Remove reload-only patterns for (plus (plus (mult ...))).
386
        (s[48]{add,sub}q): Use new function as predicate for multiplicand.
387
 
388
Thu Nov 26 09:13:35 1998  Hans Cappelle  
389
 
390
        * reorg.c (fill_simple_delay_slots): Fix typo in sets_cc0_p call.
391
 
392
Thu Nov 26 06:15:46 1998  Paul Edwards  
393
 
394
        * genattr.c (fatal): Use vprintf if available.
395
        * genattrtab.c, gencodes.c, genconfig.c, genemit.c: Likewise.
396
        * genextract.c, genflags.c, genopinit.c, genoutput.c: Likewise.
397
        * genpeep.c: Likewise.
398
 
399
Wed Nov 25 08:02:23 1998  Ken Raeburn  
400
 
401
        * Makefile.in (version.c): Truncate tmp-version.c when writing to
402
        it, instead of appending.  Use timestamp file s-ver to prevent
403
        repeated rebuilding of file with unchanged contents.
404
        (STAGESTUFF): Add s-ver.
405
 
406
Wed Nov 25 07:53:24 1998  Richard Kenner  
407
 
408
        * reload.h (form_sum): Add new parm, DIFF_P.
409
        * reload.c (form_sum): Likewise.
410
        (subst_indexed_address): Call it with new parm.
411
        * reload1.c (eliminate_regs, case MINUS): Make common with PLUS.
412
        (eliminate_regs_in_insn): Re-recognize if was MINUS.
413
        * alpha.md: Add patterns for (plus (minus (mult ..) ...) ...).
414
 
415
        * libgcc2.c (__bb_init_prg): Avoid use of bzero.
416
 
417
        * combine.c (make_extraction): Make extraction even if may
418
        span if INNER is not MEM.
419
 
420
Wed Nov 25 07:30:28 1998  David Addison 
421
 
422
        * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Respect TARGET_FLAT.
423
 
424
Mon Nov 23 07:00:57 1998  Richard Kenner  
425
 
426
        * function.c (purge_addressof_1): If validate_change fails, try
427
        validate_replace_rtx.
428
 
429
        * expr.c (expand_expr, case ADDR_EXPR): Non-constant can be ADDRESSOF.
430
 
431
        * expr.c (store_constructor_{,field}): New parameter ALIGN and
432
        use it when making recursive calls and clearing memory.
433
        (expand_expr, case CONSTRUCTOR): Call with new parameter.
434
 
435
        * mips/abi64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove ABI_EABI test.
436
        * mips.c (function_arg_pass_by_reference): Return 1 if would
437
        otherwise pass both in registers and on stack.
438
 
439
Fri Nov 13 06:56:24 1998  Richard Kenner  
440
 
441
        * alpha/vms.h (struct avms_arg_info): Use int for num_args.
442
 
443
Mon Nov  2 07:35:26 1998  Richard Kenner  
444
 
445
        * sched.c ({true,anti,output}_dependence): Volatile conflicts with
446
        anything where MEM_IN_STRUCT_P doesn't match.
447
 
448
Fri Oct 30 14:05:32 1998  Richard Kenner  
449
 
450
        * expr.c (struct move_by_pieces): New fields {to,from}_readonly.
451
        (move_by_pieces): Initialize them.
452
        (move_by_pieces_1): Use them.
453
 
454
 
455
Sun Oct 25 06:12:33 1998  Richard Kenner  
456
 
457
        * optabs.c (emit_no_conflict_block): Allow insn of just USE or SET.
458
 
459
        * explow.c (allocate_dynamic_stack_space): If operand 1 has VOIDmode,
460
        use Pmode.
461
 
462
        * configure.in (AC_CHECK_HEADERS): Fix typo with sys/stat.h.
463
 
464
        * Makefile.in (config.status): Use $(srcdir) for configure.
465
 
466
        * sparc.md (*sethi_di_medium_pic): Add CLOBBER of register 1.
467
 
468
        * x-alpha (CLIB): Add -lexc.
469
 
470
        * i386/mingw32.h (OUTPUT_QUOTED_STRING): Don't use Cygwin format
471
        for drive letter.
472
 
473
        * cccp.c (handle_directive): Complete support for #undef when -dM.
474
 
475
        * configure.in (alpha*-*-vxworks*): Set MASK_SUPPORT_ARCH from host.
476
 
477
        * m68k.md (adddi3, subdi3, anddi3, iordi3, xordi3): Use split_double.
478
 
479
Sat Oct 24 13:41:06 1998  Richard Kenner  
480
 
481
        * local-alloc.c (alloc_qty_for_scratch, requires_inout): Allow
482
        matching up to operand number 9.
483
        * recog.c (constrain_operands): Likewise.
484
        * reg-stack.c (constrain_asm_operands): Likewise.
485
        * regclass.c (record_reg_classes): Likewise.
486
        * regmove.c (find_matches): Likewise.
487
        * reload.c (find_reloads): Likewise.
488
        * reload1.c (reload_cse_simplify_operands): Likewise.
489
 
490
Sat Oct 24 09:27:30 1998  David Edelsohn  
491
 
492
        * regclass.c (record_reg_classes): Skip modifiers when looking
493
        for constraint that just matches a previous operand.
494
        Initialize classes[i] before handling matching operand.
495
 
496
Fri Oct 23 07:05:52 1998  Richard Kenner  
497
 
498
        * fold-const.c (fold_range_test, fold): Use global_bindings_p,
499
        not checking current_function_decl, to see if in function.
500
 
501
Mon Oct 12 06:21:08 1998  Richard Kenner  
502
 
503
        * function.c (gen_mem_addressof): Copy REG_USERVAR_P to new reg.
504
 
505
Sun Oct 11 14:40:24 1998  Ken Raeburn  
506
 
507
        * calls.c (store_one_arg): Use ARGS_SIZE_RTX to get size of argument
508
        when emitting chkr_set_right_libfunc call.
509
 
510
Mon Oct  5 18:28:33 1998  Hans-Peter Nilsson  
511
 
512
        * Makefile.in (version.c): Apply basename when using VERSION_DEP.
513
 
514
Mon Oct  5 18:08:31 1998  Ken Raeburn  
515
 
516
        * rs6000.c (rs6000_stack_info): Remove extra paren.
517
        (print_operand): Cast -1 to HOST_WIDE_INT before shifting it.
518
        * optabs.c (init_optabs): Create Checker symbols in Pmode.
519
 
520
Mon Oct  5 06:23:27 1998  Richard Kenner  
521
 
522
        * function.c (purge_addressof_1): Add new parm IN_DEST.
523
        If have different modes and IN_DEST, try making STRICT_LOW_PART.
524
 
525
        * regmove.c (regmove_profitable_p): Put obfree at right place.
526
 
527
Sun Oct  4 08:37:36 1998  Paul Edwards  
528
 
529
        * configure.in (AC_CHECK_HEADERS): Add sys/types.h and sys/stat.h.
530
        * gcc.c (sys/types.h, sys/stat.h): Only include if exist.
531
        * cccp.c, toplev.c: Likewise.
532
 
533
Sun Oct  4 07:11:34 1998  Richard Kenner  
534
 
535
        * calls.c (expand_call): Don't call emit_group_store if target
536
        is the same as VALREG.
537
 
538
        * loop.c (strength_reduce): Track maybe_multiple on giv scan.
539
        (find_mem_givs, record_giv): New argument maybe_multiple.
540
 
541
        * reorg.c (fill_{simple,eager}_delay_slots): If insn no longer needs
542
        delay slots, just skip instead of aborting.
543
 
544
Sat Oct  3 08:04:28 1998  Ken Raeburn  
545
 
546
        * tree.h (DECL_NO_CHECK_MEMORY_USAGE): New macro.
547
        (struct tree_decl): New field no_check_memory_usage.
548
        * c-common.c (enum attrs): Add A_NO_CHECK_MEMORY_USAGE.
549
        (init_attributes): Register it as a new attribute.
550
        (decl_attributes): Set flags on functions given that attribute.
551
        * c-decl.c (duplicate_decls): Merge new attribute.
552
        * expr.h (current_function_check_memory_usage): Declare.
553
        * calls.c, expr.c, function.c, stmt.c: Replace uses of
554
        flag_check_memory_usage with current_function_check_memory_usage.
555
        * alpha.c, clipper.c, m88k.c, pa.c, sparc.c: Likewise.
556
        * function.h (struct function): New field check_memory_usage.
557
        * function.c (current_function_check_memory_usage): Define it.
558
        (push_function_context_to, pop_function_context_from): Save and
559
        restore it.
560
        (expand_function_start): Set it, based on global flag and function
561
        attribute.
562
 
563
        * expr.c (expand_expr, case VAR_DECL): In memory-checking code, do
564
        check non-automatic variables.
565
 
566
Sat Oct  3 07:20:28 1998  Stephen L Moshier  
567
 
568
        * emit-rtl.c (gen_lowpart_common): Disable optimization of
569
        initialized float-int union if the value is a NaN.
570
 
571
Sat Oct  3 06:58:53 1998  David Edelsohn  
572
 
573
        * rs6000.h (ASM_OUTPUT_ADDR_DIFF_ELT): Remove extraneous parameter.
574
 
575
Sat Oct  3 06:53:43 1998  Richard Kenner  
576
 
577
        * regmove.c (regmove_profitable_p): Free allocated mem if we return 1.
578
 
579
        * rs6000.h (CPP_PREDEFINES): Add -D_LONG_LONG.
580
 
581
Fri Oct  2 11:02:41 1998  Klaus Espenlaub 
582
 
583
        * Makefile.in (stmp-fixinc, stmp-fixproto, install-multilib):
584
        Fix directory permissions.
585
        * objc/Makefile.in (copy-headers): Likewise.
586
 
587
Fri Oct  2 10:39:08 1998  Hans-Peter Nilsson  
588
 
589
        * expr.c (expand_expr, case CONSTRUCTOR): Change ">" to ">="
590
        making MOVE_RATIO use consistent.
591
 
592
Fri Oct  2 08:22:01 1998  Richard Kenner  
593
 
594
        * h8300.c (get_shift_alg): Fix typo in asm string; "n" should be "\n".
595
 
596
Wed Sep 30 15:53:17 1998  Klaus Espenlaub  
597
 
598
        * rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete.
599
 
600
Wed Sep 30 14:27:49 1998  Andreas Schwab  
601
 
602
        * function.c (assign_parms): Undo change of June 9.
603
 
604
Wed Sep 30 14:21:39 1998  Richard Kenner  
605
 
606
        * c-typeck.c (c_expand_asm_operands): Give error if non-lvalue for
607
        output operand.
608
 
609
        * libgcc2.c (__bb_init_prg): Properly zero bb_hashbuckets.
610
 
611
Wed Sep 30 11:31:23 1998  Walter Gadeyne  
612
 
613
        * combine.c (num_sign_bit_copies, case UDIV): Return 1.
614
 
615
Wed Sep 30 10:44:15 1998  Tristan Gingold  
616
 
617
        * c-decl.c (finish_decl): Set the assembler name to the current
618
        decl if it was specified.
619
        (finish_function): Use assembler name for constructor and
620
        destructor name.
621
        (duplicate_decls): Copy the assembler name.
622
 
623
Wed Sep 30 10:42:49 1998  Jim Wilson  
624
 
625
        * regmove.c (struct match): Change char to int.
626
 
627
Tue Sep 29 09:57:26 1998  Richard Kenner  
628
 
629
        * regmove.c (regmove_profitable_p): For shift, use 1 as third arg.
630
 
631
        * function.c (find_fixup_replacement): Consider equivalent if
632
        rtx_equal_p, not just same rtx.
633
 
634
        * reload.h (last_output_reload_regno): New declaration.
635
        * reload.c (find_reloads): No longer make it static and get last value.
636
        * reload1.c (last_output_reload_regno): New definition.
637
        (reload): Initialize it before each scan.
638
        (reload_as_needed): Likewise, and also when insn has no reloads.
639
 
640
        * combine.c (simplify_comparison, case AND): Properly check for
641
        SUBREG of a low part and exclude paradoxcal SUBREG, not low part,
642
        for non-WORD_REGISTER_OPERATIONS machines.
643
 
644
        * expr.c (get_inner_reference): Fix typo in last change.
645
 
646
Mon Sep 27 21:34:00 1998  Paul Eggert  
647
 
648
        * po/en_UK.po (Project-Id-Version): Set to cc 2.8.1.19980813 for now.
649
        (PO-Revision-Date): Set to the current date.
650
 
651
Sun Sep 27 07:33:18 1998  Richard Kenner  
652
 
653
        * m68k/vxm68k.h (LINK_SPEC): Always use -r.
654
        (WIDEST_HARDWARE_FP_SIZE): Define.
655
 
656
        * reload.c (push_reload): If in STRICT_LOW_PART, always reload
657
        inside even if SUBREG_WORD is not zero.
658
 
659
        * flow.c (print_rtl_with_bb): Don't say not in basic block if we
660
        aren't making basic blocks.8
661
 
662
Sat Sep 26 10:57:09 1998  Richard Kenner  
663
 
664
        * function.c (optimize_bit_field): Don't remove SUBREG from dest
665
        if SUBREG_REG is multi-word.
666
 
667
Wed Sep 23 05:43:23 1998  Richard Kenner  
668
 
669
        * reload.c (find_reloads_address): Deal with address which is
670
        an AND; clean up return values some more.
671
 
672
Fri Sep 11 13:02:26 1998  Richard Kenner  
673
 
674
        * function.c (purge_addressof_1): Properly copy flags when making MEM.
675
 
676
Mon Sep  7 18:33:06 1998  Richard Kenner  
677
 
678
        * expr.c (get_inner_reference): If not COMPONENT_REF or BITFIELD_REF
679
        and mode is BLKmode, set size_tree.
680
 
681
        * expr.c (expand_builtin, case BUILT_IN_LONGJMP): Fix typo in
682
        last change.
683
 
684
Wed Sep  2 15:38:01 1998  Paul Eggert  
685
 
686
        * libgcc2.c (__floatdisf): Use signed comparison to test
687
        whether u is close to zero; unsigned comparison is not what's
688
        wanted here.
689
 
690
Mon Aug 17 02:19:30 1998  David Edelsohn  
691
 
692
        * xcoffout.c (UNKNOWN_STAB): Fix typo in previous change; missing
693
        backslash before newline.
694
 
695
Mon Aug 17 00:12:42 1998  Paul Eggert  
696
 
697
        * reorg.c (check_annul_list_true_false): Fix typo in Jul 17 change.
698
 
699
Sun Aug  2 01:10:15 1998  Paul Eggert  
700
 
701
        Add Native Language Support.
702
        * intl/*, mkinstalldirs, po/*, exgettext, intl.c, intl.h: New files.
703
        * Makefile.in (AWK, datadir, localedir, top_builddir): New variables.
704
        (USE_NLS, INTLLIBS, POSUB, INTL_SUBDIRS, HOST_INTLLIBS): Likewise.
705
        (PREPEND_DOTDOT_TO_RELATIVE_PATHS, SUBDIR_FLAGS_TO_PASS): Likewise.
706
        (GCC_OBJS, COLLECT2_OBJS, CCCP_OBJS, CPPMAIN_OBJS): Likewise.
707
        (PROTO_OBJS, GCOV_OBJS, INTL_DISTCLEAN, GEN_PROTOS_OBJS): Likewise.
708
        (LIBDEPS, LIBS): Add $(INTLLIBS).
709
        (HOST_LIBDEPS, HOST_LIBS): Add $(HOST_INTLLIBS).
710
        (LIBS): Add @LIBS@.
711
        (ORDINARY_FLAGS_TO_PASS): New var, containing all the old values
712
        from FLAGS_TO_PASS, except for CC.
713
        (FLAGS_TO_PASS): Pass datadir, distdir, localedir.
714
        (OBJS): Add intl.o.
715
        (GEN): Add gencheck.
716
        (STAGESTUFF): Add tree-check.h, gencheck$(exeext).
717
        (native): Depend on intl.all.
718
        (xgcc, collect2, cccp, cppmain, {,un}protoize, gcov): Link intl.o.
719
        (c-typeck.o, c-lex.o, collect2.o, gcc.o, toplev.o): Depend on intl.h.
720
        (integrate.o, final.o, cccp.o, cppmain.o, cpplib.o): Likewise.
721
        (cpperror.o, s-proto, gcov.o): Likewise.
722
        (gencheck): Depend on $(HOST_LIBDEPS) instead of tree.h and tree.def.
723
        (gencheck.o, intl.o, $(top_builddir)/intl/libintl.a): New rules.
724
        ($(srcdir)/cp/parse.c, intl.all, intl.install): Likewise.
725
        (intl.uninstall, intl.distdir, intl.mostlyclean, intl.clean): Likewise.
726
        (intl.distclean, intl.maintainer-clean, intl.distdir-fixup): Likewise.
727
        (distdir-check): Likewise.
728
        (gen-protos): Link cpperror.o, cppexp.o, cpphash.o, cpplib.o,
729
        prefix.o, version.o; needed for `cpp_notice'.
730
        (mostlyclean): Depend on intl.mostlyclean.
731
        (clean): Depend on intl.clean.
732
        (distclean): Depend on intl.disclean, unless the invoker defines
733
        INTL_DISTCLEAN to be empty.  Remove intl/libintl.h and libintl.h.
734
        (maintainer-clean): Make intl.maintainer-clean, but define
735
        INTL_DISTCLEAN to be empty.
736
        (install-normal): Depend on intl.install.
737
        (uninstall): Depend on intl.uninstall.
738
        (distdir-start): Make sure invoker configured with --enable-nls.
739
        Use $(AWK), not awk.  Make tmp/intl and tmp/po directories.
740
        (distdir-finish): Make distdir-check at the end.
741
        (distdir): Depend on intl.distdir, intl.distdir-fixup.
742
        (compare, compare3, gnucompare, gnucompare3): Handle intl subdirectory.
743
        (stage1-start, stage2-start, stage3-start, stage4-start): Likewise.
744
 
745
        * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT): New macros.
746
        (HAVE_LC_MESSAGES, HAVE_STPCPY, PACKAGE, VERSION): Likewise.
747
        * aclocal.m4 (AC_ISC_POSIX, AM_WITH_NLS): New functions.
748
        (AM_GNU_GETTEXT, AM_LC_MESSAGES, AM_PATH_PROG_WITH_TEST): Likewise.
749
 
750
        * bi-arity.c, bi-opcode.c, bi-opname.c: Include config file first.
751
        * c-common.c: Don't include .
752
        (tfaff): Now a function, not a string.  All users changed.
753
        (check_format_info): Use is_C_digit, not isdigit.
754
        Reword messages to ease localization.
755
        * c-decl.c (redeclaration_error_message): Now returns int, not message.
756
        (poplevel, duplicate_decls, pushdecl): Revamp to pass explicit
757
        strings to diagnostic generators.
758
        (duplicate_decls, parmlist_tags_warning, finish_struct): Reword
759
        messages to ease localization.
760
        * c-iterate.c (prdecl): Reword messages so that they do not require
761
        localization.
762
        * c-lex.c: Include limits.h if available.
763
        Include intl.h.
764
        Include ctype.h only if MAP_CHARACTER is defined.
765
        (UCHAR_MAX): Define if limits.h doesn't.
766
        (C_alnum_array): New var.
767
        (init_lex): Initialize it.
768
        (yyerror): Localize msgid arg.
769
        (yylex): Use is_C_alnum and is_C_digit, not isalnum and isdigit.
770
        * c-lex.h (C_alnum_array): New decl.
771
        (is_C_alnum, is_C_digit): New macros.
772
        * c-typeck.c: Include intl.h.
773
        (warning_init): Now takes just one arg.
774
        (incomplete_type_error): Reword messages to ease localization.
775
        (build_unary_op, lvalue_or_else, readonly_warning): Likewise.
776
        (build_modify_expr): Likewise.
777
        (build_unary_op, readonly_warning): Revamp to pass explicit
778
        strings to diagnostic generators.
779
        (build_modify_expr, warn_for_assignment, c_expand_return):
780
        Translate strings passed to functions expecting translated
781
        strings.
782
        (get_spelling): Remove; it was a no-op.  All callers changed.
783
        (error_init, pedwarn_init): Now takes one arg.  All callers changed.
784
        * c-tree.h (error_init, pedwarn_init): Likewise.
785
        * cccp.c: Include intl.h.
786
        (char_name): Remove.
787
        (check_macro_name): 2nd arg now int, not char *.  All callers changed.
788
        (macarg): Now returns int, not char *.  All callers changed.
789
        (notice, vnotice, pedwarn_strange_white_space): New functions.
790
        (verror): Now extern; used by cexp.y.
791
        (main): Set message locale, and defer memory allocation until after.
792
        (main, do_include, print_containing_files): Invoke `notice' to
793
        localize notices.
794
        (handle_directive): Invoke pedwarn_strange_white_space instead of
795
        using char_name.
796
        (do_include, check_macro_name): Reword messages to ease localization.
797
        (my_strerror): Likewise.
798
        (verror, vwarning): Invoke vnotice to localize msgid.
799
        (verror_with_line, vwarning_with_line): Likewise.
800
        (pedwarn_with_file_and_line, fatal): Likewise.
801
        (initialize_char_syntax): No need to initialize char_name.
802
        * cexp.y (yyerror): Now takes msgid format and args, not just string.
803
        (verror): New decl.
804
        (parse_number, yylex): Reword messages to ease localization.
805
        (verror): New test function.
806
        (pedwarn, warning): Translate msgid arg.
807
        * collect2.c: Include intl.h.
808
        (my_strerror): Reword messages so they do not require localization.
809
        (main, collect_execute, scan_prog_file, scan_libraries): Likewise.
810
        (read_file, end_file): Likewise.
811
        (notice): New function.
812
        (fatal, error, main): Use it to translate msgid strings.
813
        (collect_execute, maybe_unlink, write_c_file_stat): Likewise.
814
        (locatelib, scan_libraries, scan_prog_file, add_func_table): Likewise.
815
        (main): Set message locale, and defer memory allocation until after.
816
        (collect_wait): Reword messages to ease localization.
817
        (bad_header): Revamp to pass explicit strings to diagnostic generators.
818
        * combine.c (dump_combine_stats, dump_combine_total_stats):
819
        Use fnotice to translate diagnostic messages.
820
        * cppalloc.c (memory_full): Use `cpp_notice' to print diagnostic.
821
        * cpperror.c: Include intl.h.
822
        (cpp_print_containing_files): Use cpp_notice to translate messages.
823
        (cpp_message): is_error is -1 for notices.  Translate "warning:".
824
        (cpp_fatal): Translate msgid arg.
825
        * cppexp.c (cpp_lex): Pass explicit strings to diagnostic generators.
826
        (cpp_parse_expr): Use cpp_error, not fprintf, to report
827
        unimplemented operators.
828
        * cpplib.c: Include intl.h.
829
        (check_macro_name): 2nd arg now int, not char *.  All callers changed.
830
        (check_macro_name, do_define): Reword messages to ease localization.
831
        (do_define): Pass explicit strings to diagnostic generators.
832
        (do_define, cpp_start_read, cpp_handle_options): Use cpp_notice to
833
        translate messages.
834
        (cpp_error, cpp_warning, cpp_warning_with_line): Translate msgid arg.
835
        (cpp_pedwarn_with_file_and_line): Likewise.
836
        (cpp_notice): New function.
837
        (my_strerror): Reword message so it does not require localization.
838
        * cpplib.h (cpp_notice): New decl.
839
        * cppmain.c: Include intl.h.
840
        (main): Set message locale.
841
        * cse.c (cse_main): Use fnotice to print diagnostic.
842
        * final.c: Include intl.h; do not include ctype.h.
843
        (output_operand_lossage): Translate msgid arg.
844
        * fold-const.c (optimize_bit_field_compare, fold_truthop): Reword
845
        messages to ease localization.
846
        * gcc.c: Include intl.h.
847
        (my_strerror, snapshot_warning): Reword messages so they do not
848
        require localization.
849
        (init_spec, set_spec): Invoke `notice' to localize notices.
850
        (read_specs, execute, do_spec_1, main, snapshot_warning): Likewise.
851
        (struct switchstr): Don't use `valid' as identifier.
852
        (do_spec_1): Treat %e string as msgid format, which needs
853
        translation.
854
        (main): Set message locale.
855
        (pfatal_with_name): Invoke perror_with_name, not fatal.
856
        (perror_with_name): Invoke printf, not error.
857
        (pfatal_pexecute): Invoke pfatal_with_name, not fatal.
858
        (fatal, error): Translate msgid arg.
859
        (notice): New function.
860
        * gcov.c: Include intl.h; include stdarg.h if __STDC__ is defined.
861
        (main): Set message locale.
862
        (fnotice): New function.
863
        (xmalloc, fancy_abort, print_usage): Use it to to print diagnostics.
864
        (open_files, read_files, function_summary, output_data): Likewise.
865
        * integrate.c: Include intl.h.
866
        (function_cannot_inline_p): Mark msgids with N_.
867
        * pexecute.c: Include libintl.h if ENABLE_NLS, otherwise define
868
        gettext to be a noop.
869
        (_, N_): New macros.
870
        (install_error_msg): Wrap inside N_.
871
        (pexecute): Translate diagnostics.
872
        * protoize.c: Include intl.h.
873
        (__attribute__): New macro.
874
        (notice): New function.
875
        (my_strerror): Reword message so it does not require localization.
876
        (xmalloc, xrealloc, fancy_abort): Use `notice' to print diagnostic.
877
        (safe_write, usage, file_normally_convertible, abspath): Likewise.
878
        (find_file, aux_info_corrupted, save_def_or_dec): Likewise.
879
        (gen_aux_info_file, process_aux_info_file, rename_c_file): Likewise.
880
        (find_extern_def, find_static_definition): Likewise.
881
        (declare_source_confusing, edit_fn_declaration): Likewise.
882
        (edit_formals_lists, add_local_decl, add_global_decls): Likewise.
883
        (edit_fn_definition, scan_for_missed_items, edit_file, main): Likewise.
884
        (main): Set message locale.
885
        * real.c (NMSGS, ermsg): Remove.
886
        (mtherr): Pass explicit strings to diagnostic generators.
887
        Abort on invalid operations.
888
        * regclass.c (fix_register): Reword messages to ease localization.
889
        * toplev.c: Include intl.h; do not include ctype.h.
890
        (v_really_sorry, really_sorry): Remove unused functions.
891
        (count_error, fatal_io_error): Translate strings.
892
        (default_print_error_function): Reword messages to ease localization.
893
        Use `notice' to translate diagnostics.
894
        (report_error_function, main, print_version): Likewise.
895
        (vnotice, notice, fnotice): New functions.
896
        (vmessage): Remove.
897
        (v_message_with_file_and_line, vsorry): Translate msgid with vnotice.
898
        (v_message_with_file_and_line, v_message_with_decl): Use
899
        report_file_and_line.  Now takes int warning flag, not prefix;
900
        this is easier to localize.  All callers changed.
901
        (v_message_with_decl): Abort if first format spec is neither %%
902
        nor %s.  Translate "((anonymous))".
903
        (main): Set message locale.
904
        (set_target_switch): Don't use `valid' as an identifier.
905
        (__VERSION__): Reword message so it does not require localization.
906
        (print_switch_values): Translate "options passed" and "enabled".
907
        * tree.c (valid_machine_attribute): Don't use `valid' as identifier.
908
        * xcoffout.c (xcoff_output_standard_types): Use `error' to
909
        output diagnostic, so that it gets translated.
910
        * 1750a.c (memop_valid): Don't use `valid' as an identifier.
911
        * arc/initfini.c (__do_global_dtors): Put backslash before
912
        newline in strings, to pacify xgettext.
913
        * dsp16xx.c (dsp16xx_invalid_register_for_compare): New function.
914
        * dsp16xx.h: Declare it.
915
        * dsp16xx.md: Use it to report invalid registers.
916
        * i370.h: Include .
917
        * i386.c: Include config.h first.
918
        * m32r/initfini.c  (__do_global_dtors): Put backslash before
919
        newline in strings, to pacify xgettext.
920
        * m88k/dguxbcs.h (CPP_SPEC): Likewise.
921
        * rs6000.c: Include config.h first.
922
        (rs6000_fatal_bad_address): New function.
923
        * rs6000.h: Declare it.
924
        * rs6000.md: Use it to report bad addresses.
925
        * v850.c: Include config.h first.
926
 
927
        * configure.in: When generating config.h and mentioning file from
928
        the config directory, surround it with #ifdef IN_GCC.
929
        (AC_ARG_ENABLE): Add --enable-nls.
930
        (AM_GNU_GETTEXT): Add.  Override XGETTEXT so that we use exgettext
931
        instead of xgettext to extract strings.
932
        (all_outputs): Add intl/Makefile, po/Makefile.in.
933
        Do not use the shell variable 'l'.
934
        If libintl.h is created, echo '#include "intl/libintl.h"' >libintl.h.
935
        * cp/Make-lang.in (g++.o): Depend on gansidecl.h, intl.h, Makefile;
936
        do not depend on config.status.
937
        (GXX_OBJS): New var.
938
        (g++$(exeext)): Link intl.o.
939
        * cp/Makefile.in (top_builddir, INTLLIBS): New vars.
940
        (LIBS): Add $(INTLLIBS).
941
 
942
        * patch-apollo-includes: Remove; this is part of README.APOLLO.
943
 
944
Mon Jul 27 18:28:58 1998  Richard Kenner  
945
 
946
        * reload.c (find_reloads): If no_input_reloads, abort if
947
        reloads were made for addresses.
948
        * m68k.md (sxx): Operand 0 cannot be memory.
949
 
950
Fri Jul 17 07:31:04 1998  Andreas Schwab  
951
 
952
        * m68k.c (output_move_simode_const): Use subl to move 0 into addr reg.
953
        (output_move_[hq]imode): Likewise.
954
 
955
        * m68k.md (extend[sd]fxf2): Accept constants and general reg as
956
        source operand if the destination is a floating point register.
957
 
958
Fri Jul 17 07:23:49 1998  Herman ten Brugge 
959
 
960
        * reorg.c (check_annul_list_true_false): New function.
961
        (steal_delay_list_from_{target,fallthrough}): Call it and also
962
        refine tests for when we may annul if already filled a slot.
963
        (fill_slots_from_thread): Likewise.
964
        (delete_from_delay_slot): Return newly-created thread.
965
        (try_merge_delay_isns): Use its new return value.
966
 
967
Sat Jul  4 11:07:33 1998  Eberhard Mattes  
968
 
969
        * function.c (assign_parms): Handle PARALLEL which include stack.
970
 
971
Sat Jul  4 09:44:29 1998  Paul Edwards  
972
 
973
        * tree.c, print-tree.c, c-lang.c: Include stdio.h before tree.h.
974
        * expr.c (bc_expand_component_address): Correct args to
975
        bc_push_offset_and_size.
976
        * reload1.c (reload_cse_simplify_operands): Add missing return value.
977
 
978
Fri Jul  3 07:17:19 1998  Richard Kenner  
979
 
980
        * alpha.c (normal_memory_operand): Handle case when REG will be
981
        eliminated by reload.
982
 
983
Thu Jul  2 18:43:53 1998  James Carlson  
984
 
985
        * floatlib.c (HIDDEND_LL, MANTD_LL, PACKD_LL): New macros.
986
        (__addsf3): Fixed cases returning wrong type and causing unintended
987
        conversions and data corruption.
988
        (__mulsf3): Fixed rounding flaws caused wrong scaling.
989
        (__float{didf,sisf,disf},__fix{,uns}dfdi): New functions.
990
        (__{gt,ge,lt,le,eq,ne}df2): Likewise.
991
        (__truncdfsf2): Fixed normalization problems
992
        (__fixunsdfsi): Fixed compiler warning
993
        (__{add,sub,mul}df3): Rewrite to do real DP math.
994
        (__divdf3): Removed previous version by Barrett Richardson.
995
 
996
Thu Jul  2 17:57:20 1998  Douglas B. Rupp  
997
 
998
        * cpperror.c: Include errno.h.
999
 
1000
Thu Jul  2 16:46:36 1998  Andreas Schwab  
1001
 
1002
        * c-decl.c (grokdeclarator): Don't warn about implicit int in
1003
        `typedef foo = bar'.
1004
 
1005
Tue Jun 30 18:32:49 1998  Geert Bosch  
1006
 
1007
        * alpha/vxworks.h (LINK_SPEC): Add -taso -T 0.
1008
 
1009
Tue Jun 30 09:39:32 1998  David Edelsohn  
1010
 
1011
        * expr.c (expand_builtin_{set,long}jmp): If STACK_SAVEAREA_MODE
1012
        defined, override sa_mode using its value.
1013
        * explow.c (emit_stack_save): Likewise.
1014
 
1015
        * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
1016
        (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
1017
        * rs6000.c (processor_target_table, 620): Don't affect MASK_POWERPC64.
1018
        (rs6000_override_options): Ignore flag_pic for AIX.
1019
        (rs6000_immed_double_const): Delete.
1020
        ({reg_or_u_short,u_short_cint}_operand): Don't assume 32-bit CONST_INT.
1021
        ({non_logical_cint,logical}_operand): Likewise.
1022
        (num_insns_constant): mask64_operand is 2 insns.
1023
        (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
1024
        (mask_constant): HOST_WIDE_INT parameter.
1025
        (non_and_cint_operand): Delete.
1026
        ({mask,and}64_operand): New functions.
1027
        (function_arg{,_advance}): DImode arguments don't need special
1028
        alignment when 64-bit.
1029
        (setup_incoming_varargs): Reverse reg_size assignment.
1030
        (print_operand): HOST_WIDE_INT second parameter.
1031
        (print_operand, case 'B', 'S'): New cases.
1032
        (print_operand, case 'M'): Fix typo in lossage string.
1033
        (rs6000_stack_info): Reverse reg_size assignment.  Use total_raw_size
1034
        to compute AIX push_p.  Use reg_size to compute {cr,lr}_save_offset.
1035
        (rs6000_output_load_toc_table): Reverse init_ptr assignment.  Use
1036
        TARGET_64BIT not TARGET_POWERPC64.  Convert fprintf to fputs.
1037
        Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
1038
        (rs6000_allocate_stack_space): Use {cal|la}.
1039
        (output_epilog): Use {cal|la}
1040
        (output_function_profiler): Add call glue to mcount call.
1041
        Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
1042
        Use asm_fprintf and convert fprintf to fputs.
1043
 
1044
        * rs6000.h (TARGET_SWITCHES): Add powerpc64.
1045
        (STACK_BOUNDARY): Depend on TARGET_32BIT.
1046
        (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
1047
        (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
1048
        (EXTRA_CONSTRAINTS): Remove 'S' and 'T'.  Replace 'S' with
1049
        64-bit mask operand.
1050
        (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
1051
        (STACK_SAVEAREA_MODE): New macro.
1052
        (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
1053
        (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
1054
        (ASM_FILE_START): Emit 64-bit ABI directive.
1055
        (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
1056
        (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
1057
        (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
1058
        Delete "non_and_cint_operand".  "input_operand" includes CONST_DOUBLE.
1059
 
1060
        * rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
1061
        Restore define_split.
1062
        (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
1063
        (floatsidf2_internal, floatunssidf2_internal2): Likewise.
1064
        Do not specify base register operand mode.
1065
        (floatsidf2_loadaddr): Don't specify base register operand mode.
1066
        (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
1067
        register; do not specify mode.  Remove !TARGET_POWERPC64 final
1068
        constraint.
1069
        (floatsidf2_load): Don't specify base register operand mode.
1070
        Remove !TARGET_POWERPC64 final constraint.
1071
        (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Don't specify
1072
        base register operand mode.
1073
        (mulsidi3): Add !TARGET_POWERPC64 constraint.
1074
        (adddi3): Split large constants early.
1075
        (absdi3): Shift by 63, not 31.
1076
        (rotldi3): Add masking combiner patterns.
1077
        (anddi3): Add rldic{r,l} masking.  Remove split of large constants.
1078
        (iordi3, xordi3): Split large constants early.
1079
        (movsi matcher): Remove S and T constraints.
1080
        (movsf const_double): create SImode constant from TARGET_DOUBLE.
1081
        (movdf_hardfloat32): Add default abort case.
1082
        (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
1083
        (movdi): Remove 64-bit constant generator.  Try to convert
1084
        CONST_DOUBLE to CONST_INT.  Handle TOC memory constants.
1085
        (movdi_32): Add default abort case.
1086
        (movdi_64): Add numerous ways to split 64-bit constants.
1087
        Make catch-all define_split more optimal and never FAIL.
1088
        (movti_ppc64): Add default abort case.
1089
        (allocate_stack): Remove operand modes; use Pmode.
1090
        (restore_stack_block): Remove operand modes.  Generate Pmode
1091
        temporary.  Generate MEM and specify mode.
1092
        (save_stack_nonlocal, restore_stack_nonlocal):  Generate Pmode
1093
        temporary.  Save area is double Pmode.
1094
        (call_indirect_aix64, call_value_indirect_aix64): New patterns.
1095
        (call, call_value): Do not specify address operand mode.  Choose
1096
        appropriate AIX ABI.
1097
        (*call_local64, *ret_call_local64): New patterns.
1098
        (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
1099
        (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
1100
        (compare): Materialize DImode truthvalues.
1101
 
1102
Tue Jun 30 06:31:40 1998  Richard Henderson 
1103
 
1104
        * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
1105
        * alpha.c (print_operand): Handle it.
1106
        * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
1107
        related define_splits.
1108
 
1109
Tue Jun 30 06:02:07 1998  Richard Kenner  
1110
 
1111
        * calls.c (emit_library_call{,_value}): Pass null
1112
        to REG_PARM_STACK_SPACE.
1113
 
1114
        * alpha.c (normal_memory_operand): New function.
1115
        * alpha.h (EXTRA_CONSTRAINT, case 'Q'): Call it.
1116
 
1117
        * fold-const.c (count_cond): New function.
1118
        (fold): Don't try to build COND_EXPR from binary op when both sides
1119
        are COND_EXPR unless not nested too deeply.
1120
 
1121
Thu Jun 25 09:54:55 1998  Nick Clifton  
1122
 
1123
        * arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM, noticed by
1124
        grahams@rcp.co.uk.
1125
 
1126
Mon Jun 15 17:41:33 1998  Richard Kenner  
1127
 
1128
        * reload1.c (reload): Issue guidance message on stack frame too large
1129
        for reliable stack check.
1130
 
1131
        * fold-const.c (fold_range_test): Prevent falling through with no ret.
1132
 
1133
Sat Jun 13 15:49:53 1998  Carol LePage  
1134
 
1135
        * configure.in (sparc-hal-solaris2*): New target.
1136
        * sparc/hal.h, sparc/t-halos: New files.
1137
 
1138
Sat Jun 13 14:30:25 1998  David W. Schuler  
1139
 
1140
        * i386/aix386ng.h (CPP_SPEC): Remove bogus quote.
1141
 
1142
Sat Jun 13 14:16:34 1998  Andreas Schwab  
1143
 
1144
        * regmove.c (try_auto_increment): Fix typo.
1145
 
1146
        * c-common.c (truthvalue_conversion): Protect side effects in the
1147
        expression when splitting a complex value.
1148
        * fold-const.c (fold): Likewise.
1149
 
1150
        * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
1151
        prevent operands from being evaluated twice.
1152
 
1153
Sat Jun 13 12:53:22 1998  Richard Earnshaw (rearnsha@arm.com)
1154
 
1155
        * unroll.c (verify_addresses): Use validate_replace_rtx to undo
1156
        changes; abort if undo fails.
1157
 
1158
Sat Jun 13 11:46:38 1998  Anders Blomdell 
1159
 
1160
        * flags.h (flag_volatile_static): Declare.
1161
        * toplev.c (flag_volatile_static): Define.
1162
        (f_options): Include -fvolatile-static.
1163
        * varasm.c (make_decl_rtl): Support -fvolatile-static.
1164
 
1165
Sat Jun 13 08:26:21 1998  Richard Kenner  
1166
 
1167
        * reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't
1168
        consider a MEM in FP mode as equal.
1169
 
1170
        * varasm.c (assemble_variable): Never put decl with specified section
1171
        name into bss.
1172
 
1173
        * output.h (current_function_addresses_labels): Declare.
1174
        * function.h (struct function): New field `addresses_labels'.
1175
        * function.c (current_function_addresses_labels): Define.
1176
        ({push,pop}_function_context): Save/restore it.
1177
        (init_function_start): Initialize it.
1178
        * rtl.h (FUNCTION_FLAGS_ADDRESSES_LABELS): New flag.
1179
        * expr.c (expand_expr, case LABEL_DECL): Show addresses labels.
1180
        * integrate.c (function_cannot_inline_p): Can't if addresses labels.
1181
        (initialize_for_inline): Save current_function_addresses_labels.
1182
        (output_inline_function): Restore it.
1183
 
1184
        * reload.c (find_reloads, case 'o'): All reloaded addresses
1185
        are offsettable.
1186
        (find_reloads_address): If replacing address, don't return 1.
1187
 
1188
        * profile.c (output_func_start_profiler): Add missing steps in
1189
        defining function.
1190
 
1191
Fri Jun 12 17:10:16 1998  Richard Kenner  
1192
 
1193
        * m68k.md (extendqidi2): Operand 1 must be in data register.
1194
 
1195
Tue Jun  9 07:24:01 1998  Richard Kenner  
1196
 
1197
        * cccp.c (handle_directive): If -dM, also include #undef.
1198
        * cpplib.c (handle_directive): Likewise.
1199
 
1200
        * calls.c (expand_call): Allow function pointer to be a REFERENCE_TYPE.
1201
 
1202
        * function.c (assign_parms): Use proper mode for location of arg
1203
        on stack when promotions are occurring.
1204
 
1205
        * regmove.c ({next,prev}_insn_for_regmove): Properly handle end of
1206
        function.
1207
 
1208
Mon Jun  8 15:26:49 1998  Juha Sarlin 
1209
 
1210
        * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
1211
 
1212
Mon Jun  8 14:40:02 1998  John Wehle  (john@feith.com)
1213
 
1214
        * i386.md (movsf_push, movsf_mem): Remove.
1215
        (movsf_push): Rename from movsf_push_nomove and move in front of
1216
        movsf; allow memory operands during and after reload.
1217
        (movsf_push_memory): New pattern.
1218
        (movsf): Don't bother checking for push_operand.  If TARGET_MOVE and
1219
        both operands refer to memory then force operand[1] into a register.
1220
        (movsf_normal): Change to unnamed pattern.
1221
        Likewise for movdf, movxf, and friends.
1222
 
1223
Mon Jun  8 13:18:04 1998  Martin v. Loewis  
1224
 
1225
        * Makefile.in (TREE_H): Add tree-check.h.
1226
        (tree-check.h, s-check, gencheck): New targets.
1227
        (STAGESTUFF): Add s-check.
1228
        * gencheck.c: New file.
1229
        * tree.c (tree_check, tree_class_check, expr_check): New functions.
1230
        * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
1231
        (TYPE_CHECK, DECL_CHECK): Define.
1232
        Modify all access macros to use generated checking macros.
1233
        * acconfig.h (ENABLE_CHECKING): Undefine.
1234
        * configure.in (--enable-checking): New option.
1235
 
1236
Mon Jun  8 12:13:25 1998  Richard Kenner  
1237
 
1238
        * regmove.c: Remove include for varargs or stdarg.
1239
 
1240
Mon Jun  8 07:49:41 1998  Andris Pavenis   
1241
 
1242
        * gcc.c (link_command_spec): Support LINK_COMMAND_SPEC.
1243
 
1244
Sun Jun  7 18:00:28 1998  Andreas Schwab  
1245
 
1246
        * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
1247
        or VAR-- == CONST construct a proper mask if VAR is a bitfield.
1248
        Cope with CONST being out of range for the bitfield.
1249
 
1250
Sun Jun  7 17:19:35 1998  Tom Quiggle  
1251
 
1252
        * mips/iris6.h (DWARF2_FRAME_INFO): Define.
1253
        * dwarf2out.c (dwarf2out_do_frame): Do something if DWARF2_FRAME_INFO.
1254
 
1255
Sun Jun  7 15:29:04 1998  Andreas Schwab  
1256
 
1257
        * regmove.c: New file.
1258
        * Makefile.in (OBJS): Add regmove.o.
1259
        (regmove.o): New rules.
1260
        (mostlyclean): Remove regmove dumps.
1261
        * toplev.c (regmove_{dump,dump_file,time}, flag_regmove): New vars.
1262
        (f_options): Add -foptimize-register-move.
1263
        (compile_file): Run regmove pass after combine pass and do its dump.
1264
        (main): Enable regmove dump when -dN or -da.
1265
        (fatal_insn): Flush regmove dump file.
1266
        * flags.h (flag_regmove): Declare.
1267
        * flow.c (find_use_as_address): Export.
1268
        * rtl.h (find_use_as_address): Declare.
1269
        * local-alloc.c (optimize_reg_copy_{1,2}): Removed, all calls deleted.
1270
        * reload1.c (count_occurrences): Export.
1271
        * reload.h (count_occurrences): Declare.
1272
 
1273
Sun Jun  7 09:30:31 1998  Richard Kenner  
1274
 
1275
        * Makefile.in (uninstall): Uninstall gcov.
1276
 
1277
        * alpha.h (ASM_COMMENT_START): Define.
1278
 
1279
        * alpha.h (EXTRA_CONSTRAINT, case 'S'): New case.
1280
        * alpha.md ({ashl,ashr,lshr}di3): Use 'S' for constraint.
1281
 
1282
        * i386.md (cmpxf): Add missing extend pattern from SFmode and fix
1283
        operand numbers in one extend pattern from DFmode.
1284
 
1285
        * pa.md ({pre,post}_{ld,st}wm and similar): When operand is being
1286
        incremented, use '+', not '=', for constraint.
1287
 
1288
        * reload.c (find_reloads): Give preference to pseudo that was the
1289
        reloaded output of previous insn.
1290
 
1291
        * emit-rtl.c (init_emit_once): Provide default for DOUBLE_TYPE_SIZE.
1292
 
1293
        * expr.c (init_expr_once): Free all RTL we generate here.
1294
        * expmed.c (init_expmed): Allocate all RTX in memory we'll free.
1295
 
1296
        * genemit.c (main): Generate #include "reload.h".
1297
 
1298
        * expr.c (expand_expr, case INDIRECT_EXPR): A dereference of
1299
        a REFERENCE_TYPE is always considered in a structure.  Likewise for
1300
        a dereference of a NOP_EXPR whose input is a pointer to aggregate.
1301
 
1302
Sat Jun  6 17:25:14 1998  Richard Kenner  
1303
 
1304
        * mips.md (reload_{in,out}di): Allow other operand to be invalid
1305
        MEM and get any reload replacement before using address.
1306
 
1307
Tue May 26 18:52:23 1998  Richard Kenner  
1308
 
1309
        * reload1.c (reload): Get MEM_IN_STRUCT_P and RTX_UNCHANGING_P
1310
        from reg_equiv_memory_loc; set the latter when changing REG to MEM.
1311
        (alter_reg): Don't set RTX_UNCHANGING_P for shared slots.
1312
 
1313
Mon May 25 12:07:12 1998  Hans-Peter Nilsson  
1314
 
1315
        * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
1316
 
1317
Sun May 24 21:50:12 1998  Alan Modra 
1318
 
1319
        * i386/linux{,-aout,oldld}.h (ASM_COMMENT_START): Define.
1320
 
1321
Sun May 24 11:58:37 1998  Andreas Schwab  
1322
 
1323
        * m68k.md (adddi3, subdi3): Properly negate the DImode constant.
1324
 
1325
Sun May 24 11:30:08 1998  Torbjorn Granlund  
1326
 
1327
        * m68k/lb1sf68.asm (__addsf3): Fix typo in exg on coldfire.
1328
 
1329
Sun May 24 09:38:17 1998  John Wehle  (john@feith.com)
1330
 
1331
        * i386.md (movsi): Remove redundant integer push patterns.
1332
        Don't check for TARGET_PUSH_MEMORY when pushing constants or registers.
1333
 
1334
Sun May 24 08:59:27 1998  Richard Kenner  
1335
 
1336
        * fold-const.c (fold, case EQ_EXPR): Split COMPLEX_TYPE operands
1337
        if either is COMPLEX_CST in addition to COMPLEX_EXPR.
1338
 
1339
        * expr.c (do_jump, case EQ_EXPR, case NE_EXPR): Check for COMPLEX
1340
        before testing for operand 1 being zero.
1341
 
1342
        * genattrtab.c (optimize): Define.
1343
 
1344
        * configure.lang: Fix substitution of target_alias.
1345
 
1346
Sat May 23 22:31:17 1998  Michael P. Hayes  
1347
 
1348
        * emit_rtl.c (double_mode): New variable.
1349
        (init_emit_once): Set and use it.
1350
        * real.c (ereal_atof, real_value_truncate): Handle double_mode not
1351
        being DFmode for C4x.
1352
 
1353
Sat May 23 22:19:55 1998  Mike Stump  
1354
 
1355
        * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
1356
        * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
1357
        * i960.md (ret, flush_register_windows): Define.
1358
        (nonlocal_goto): Likewise.  Nested function nonlocal gotos don't
1359
        work yet.
1360
 
1361
Sat May 23 18:45:59 1998  Andreas Schwab  
1362
 
1363
        * m68k/t-linux: Remove stuff already included in config/t-linux.
1364
 
1365
Sat May 23 18:35:07 1998  Richard Kenner  
1366
 
1367
        * final.c: Select  and "gstab.h" with NO_STAB_H.
1368
 
1369
        * gcc.c (default_compilers): Remove ".ada" extension.
1370
 
1371
        * combine.c (rtx_equal_for_field_assignment): Remove code that
1372
        checks get_last_value.
1373
 
1374
        * Makefile.in (uninstall): Delete info files.
1375
 
1376
Sat May 23 18:28:27 1998  Herman A.J. ten Brugge 
1377
 
1378
        * c-decl.c (start_decl): Use new macro SET_DEFAULT_DECL_ATTRIBUTES.
1379
        * c-lex.c (check_newline): Put last read character back on input
1380
        stream.
1381
 
1382
Sat May 23 18:13:53 1998  David Edelsohn  
1383
 
1384
        * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
1385
        negative in a stackless frame.
1386
        * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
1387
        in stackless frame size.  Support 64-bit stackless frame size.
1388
        Combine fpmem offset calculations and don't add total_size to
1389
        offset if not pushing a stack frame.
1390
 
1391
        * tree.c (get_inner_array_type): New function.
1392
        * tree.h (get_inner_array_type): Likewise.
1393
 
1394
Wed May 20 15:42:22 1998  Richard Kenner  
1395
 
1396
        * expmed.c (expand_divmod): Save last divison constant and
1397
        if rem is same as div, don't adjust rem cost.
1398
 
1399
Thu May 14 14:11:37 1998  Richard Kenner  
1400
 
1401
        * alpha/vxworks.h: New file.
1402
        * configure.in (alpha*-*-vxworks*): New target.
1403
 
1404
        * alpha.c (tree.h): Include earlier.
1405
        (alpha_initialize_trampoline): New function.
1406
        * alpha.h (INITIALIZE_TRAMPOLINE): Call it.
1407
        * alpha/linux.h (INITIALIZE_TRAMPOLINE): Don't redefine.
1408
 
1409
Thu May 14 13:35:53 1998  Cyrille Comar  
1410
 
1411
        * Makefile.in (STAGESTUFF): Add s-under.
1412
 
1413
Wed May 13 17:38:35 1998  Richard Kenner  
1414
 
1415
        * combine.c (simplify_comparison, case AND): Don't commute AND
1416
        with SUBREG if constant is whole mode and don't do if lowpart
1417
        and not WORD_REGISTER_OPERATIONS.
1418
 
1419
        * expmed.c (expand_mult): Use 0 as add_target if should preserve
1420
        subexpressions.
1421
 
1422
Mon May 11 17:26:06 1998  Paul Eggert  
1423
 
1424
        * dwarf2out.c: Undo most recent change.
1425
 
1426
Sun May 10 17:09:20 1998  Richard Kenner  
1427
 
1428
        * fold-const.c (fold_range_test, fold): If need to make SAVE_EXPR
1429
        to do optimization, suppress if contains_placeholder_p.
1430
 
1431
Thu May  7 18:14:31  Paul Eggert  
1432
 
1433
        * dwarf2out.c: Don't assume `.section ".text"' causes assembler to
1434
        treat .text as label for start of section; instead, output
1435
        `.section ".text"; .LLtext0:' and use .LLtext0 in label contexts.
1436
        (ABBREV_LABEL, DEBUG_INFO_LABEL, DEBUG_LINE_LABEL, TEXT_LABEL): New.
1437
        (abbrev_label, debug_info_label, debug_line_label, text_label): New.
1438
        (dwarf2out_init): Initialize the vars.  Output defn for text_label.
1439
        (dwarf2out_finish): Output defns for the other 3 vars.
1440
        (dw_val_node): Rename val_section to val_section_label, as it's
1441
        now a label, not a section.
1442
        (add_AT_section_offset): Arg is now a label, not a section.
1443
        (print_die): In label contexts, output section label, not section.
1444
        (output_die, output_compilation_unit_header): Likewise.
1445
        (output_{pubnames,aranges,line_info}, dwarf2out_finish): Likewise.
1446
 
1447
        * fixinc.wrap: Renamed from fixinc.math.  Put wrapper around
1448
        curses.h if it contains `typedef char bool;'.
1449
 
1450
        * configure.in (arm-*-netbsd*): Rename fixinc.math to fixinc.wrap.
1451
        (i[34567]86-*-freebsdelf*, i[34567]86-*-freebsd*): Likewise.
1452
        (i[34567]86-*-netbsd*, i[34567]86-*-solaris2*): Likewise.
1453
        (m68k-*-netbsd*, mips-dec-netbsd*, ns32k-pc532-netbsd*): Likewise.
1454
        (powerpcle-*-solaris2*, sparc-*-netbsd*, sparc-*-solaris2*): Likewise.
1455
        (vax-*-netbsd*): Likewie.
1456
 
1457
Wed May  6 06:44:28 1998  Richard Kenner  
1458
 
1459
        * combine.c (simplify_rtx, case TRUNCATE): Reflect that it sign-extends
1460
        instead of zero-extending.
1461
 
1462
Sat May  2 20:39:22 1998  Richard Kenner  
1463
 
1464
        * fold-const.c (fold): When commutting COND_EXPR and binary operation,
1465
        avoid quadratic behavior if have nested COND_EXPRs.
1466
 
1467
Tue Apr 28 17:30:05 1998  Richard Kenner  
1468
 
1469
        * mips.h (HOST_WIDE_INT): Define if not already.
1470
        (compute_frame_size, mips_debugger_offset): Return HOST_WIDE_INT.
1471
        (DEBUGGER_{AUTO,ARG}_OFFSET): Cast second arg to HOST_WIDE_INT.
1472
        * mips.c (mips_debugger_offset): Now returns HOST_WIDE_INT.
1473
        Likewise for internal variable frame_size.
1474
 
1475
        * final.c (alter_subreg): Make new SUBREG if reload replacement
1476
        scheduled inside it.
1477
 
1478
        * dwarf2out.c (add_bound_info, case SAVE_EXPR): Pass
1479
        SAVE_EXPR_RTL address through fix_lexical_addr.
1480
 
1481
Mon Apr 27 18:57:18 1998  Jim Wilson  
1482
 
1483
        * mips/sni-svr4.h (CPP_PREDEFINES): Add -Dsinix and -DSNI.
1484
 
1485
Mon Apr 20 14:48:29 1998  Michael Meissner  
1486
 
1487
        * rs6000.md (mov{sf,df} define_splits): When splitting move of
1488
        constant to int reg, don't split  insns that do simple AND and OR
1489
        operations; just split each word and let normal movsi define split
1490
        handle it further.
1491
 
1492
Sun Apr 19 20:21:19 1998  Michael P. Hayes  
1493
 
1494
        * real.h (C4X_FLOAT_FORMAT): New macro.
1495
        * real.c (c4xtoe, etoc4x, toc4x): New functions.
1496
 
1497
Sun Apr 19 20:17:32 1998  Niklas Hallqvist  
1498
 
1499
        * m68k.c (notice_update_cc): Use modified_in_p to check for update.
1500
 
1501
Sun Apr 19 18:48:07 1998  K. Richard Pixley  
1502
 
1503
        * fixincludes: Discard empty C++ comments.
1504
        Special case more files with C++ comments nested in C comments.
1505
 
1506
Sun Apr 19 18:30:11 1998  Andreas Schwab  
1507
 
1508
        * m68k.md ({add,sub}di3): Optimize for constant operand.
1509
 
1510
Sun Apr 19 18:27:11 1998  Alan Modra 
1511
 
1512
        * i386.c (output_387_binary_op): Swap operands when popping if result
1513
        is st(0).
1514
 
1515
Sun Apr 19 17:58:01 1998  Peter Jeremy  
1516
 
1517
        * expr.c (do_jump_by_parts_equality_rtx): Now public.
1518
        * expmed.c (do_cmp_and_jump): New function.
1519
        (expand_divmod): Use do_cmp_and_jmp instead of emit_cmp_insn and
1520
        emit_jump_insn.
1521
 
1522
Sun Apr 19 07:48:37 1998  Richard Kenner  
1523
 
1524
        * c-typeck.c (build_c_cast): Check underlying type when seeing
1525
        if discarding const or volatile.
1526
 
1527
        * c-decl.c (pushdecl): Avoid duplicate warning about implicit redecl.
1528
 
1529
        * configure.in (stab.h): Check for it.
1530
        (i386-*-vsta): Include xm-i386.h too.
1531
        * dbxout.c (stab.h): Include based on autoconf results.
1532
        * vax/xm-vms.h (NO_STAB_H): Deleted.
1533
        * alpha/xm-vms.h, xm-mips.h, i386/xm-mingw32.h, i386/go32.h: Likewise.
1534
        * i386/xm-cygwin32.h: Likewise.
1535
        * i386/xm-vsta.h (NO_STAB_H): Likewise.
1536
        (i386/xm-i386.h): No longer include.
1537
 
1538
        * mips.c: Cleanups and reformatting throughout.
1539
        ({expand,output}_block_move): Use HOST_WIDE_INT for sizes.
1540
        (mips_debugger_offset, compute_frame_size): Likewise.
1541
        (save_restore_insns, mips_expand_{pro,epi}logue): Likewise.
1542
        (siginfo): Deleted.
1543
        (override_options): Don't set up to call it; don't call setvbuf.
1544
 
1545
Mon Apr 13 06:40:17 1998  Richard Kenner  
1546
 
1547
        * configure.in (sparc-*-vxsim*): Include xm-siglist.h and
1548
        define USG and POSIX.
1549
 
1550
Sun Apr 12 21:59:27 1998  Jeffrey A. Law  
1551
 
1552
        * calls.c (expand_call): Fix typo in STRICT_ARGUMENT_NAMING.
1553
 
1554
Sun Apr 12 21:42:23 1998  D. Karthikeyan  
1555
 
1556
        * m68k.h (TARGET_SWITCHES): Add missing comma.
1557
 
1558
Sun Apr 12 21:33:33 1998  Eric Valette  
1559
 
1560
        * configure.in (i[34567]86-*-rtemself*): New configuration.
1561
        * i386/rtemself.h: New file.
1562
 
1563
Sun Apr 12 21:08:28 1998  Jim Wilson  
1564
 
1565
        * loop.c (loop_optimize): Reset max_uid_for_loop after
1566
        find_and_verify_loops call.
1567
        (strength_reduce): In auto_inc_opt code, verify v->insn has valid
1568
        INSN_LUID.
1569
 
1570
Sun Apr 12 20:54:59 1998  Richard Earnshaw (rearnsha@arm.com)
1571
 
1572
        * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
1573
        Add USG and POSIX to xm_defines.
1574
 
1575
Sun Apr 12 20:47:37 1998  Pat Rankin  
1576
 
1577
        * cccp.c (eprint_string): New function.
1578
        (do_elif, do_else, verror): Use it instead of fwrite(,,,stderr).
1579
        (error_from_errno, vwarning): Likewise.
1580
        ({verror,vwarning,pedwarn}_with_line): Likewise.
1581
        (pedwarn_with_file_and_line, print_containing_files): Likewise.
1582
 
1583
Sun Apr 12 20:40:44 1998  Richard Henderson  
1584
 
1585
        * configure.in (alpha*-*-linux-gnu*): Add alpha/t-crtbe.
1586
        Add crt{begin,end}.o in extra_parts and delete crt{begin,end}S.o.o
1587
        * alpha/t-crtbe, alpha/crt{begin,end}.asm: New files.
1588
 
1589
        * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
1590
        * alpha.c (print_operand): Handle it.
1591
        * alpha.md (fix_trunc[ds]fdi2): Use it.  Add earlyclobber pattern
1592
        for ALPHA_TP_INSN.
1593
 
1594
Sun Apr 12 13:09:46 1998  Scott Christley  
1595
 
1596
        * objc/encoding.c (objc_sizeof_type, _C_VOID): New case.
1597
 
1598
Sun Apr 12 13:04:55 1998  Nikolay Yatsenko  (nikolay@osf.org)
1599
 
1600
        * configure.in (i[34567]86-*-osf1*): New entry.
1601
        * i386/osf1-c[in].asm: New files for OSF/1.
1602
        * i386/osf1elf{,gdb}.h, i386/[xt]-osf1elf, i386/xm-osf1elf.h: Likewise.
1603
 
1604
Sun Apr 12 10:03:51 1998  Noel Cragg  
1605
 
1606
        * fixincludes: Remove specification of parameters when renaming
1607
        functions in Alpha DEC Unix include files.
1608
 
1609
Sun Apr 12 07:33:46 1998  Richard Kenner  
1610
 
1611
        * mips.c (large_int): Use HOST_WIDE_INT, not int.
1612
        (print_operand): Use HOST_WIDE_INT_PRINT_* macros.
1613
 
1614
        * toplev.c (main): Sort order of handling of -d letters.
1615
        Use `F' instead of `D' for addressof_dump.
1616
 
1617
        * libgcc2.c (_eh_compat): Deleted.
1618
        * Makefile.in (LIB2FUNCS): Delete _eh_compat.
1619
 
1620
        * configure.in (alpha*-*-linux-gnu*): Don't include alpha/xm-linux.h.
1621
 
1622
        * c-common.c (check_format_info): Properly test for nested pointers.
1623
 
1624
        * pa.md (casesi0): Add missing mode for operand 0.
1625
 
1626
        * function.c (purge_addressof_1, case MEM): If BLKmode, put ADDRESSOF
1627
        into stack.
1628
 
1629
        * c-parse.in (label): Give warning if pedantic and label not integral.
1630
 
1631
        * c-decl.c (grokdeclarator): Don't warn about return type if in
1632
        system header.
1633
 
1634
        * reload.c (reload_nongroup): New variable.
1635
        (push{_secondary,}_reload): Initialize it.
1636
        (find_reloads): Compute it.
1637
        (debug_reload): Print it.
1638
        * reload.h (reload_nongroup): Declare.
1639
        * reload1.c (reload): Use reload_nongroup instead of local computation.
1640
        Check caller_save_spill_class against any nongroup reloads.
1641
        (reloads_conflict): No longer static.
1642
 
1643
Sun Apr 12 05:52:18 1998  John David Anglin  
1644
 
1645
        * vax.md (call patterns): Operand 1 is always a CONST_INT.
1646
 
1647
Sat Apr 11 16:01:11 1998  Richard Kenner  
1648
 
1649
        * convert.c (convert_to_{pointer,integer,real,complex}): Use switch.
1650
        Add missing integer-like types.
1651
        Simplify return of zero in error case.
1652
        (convert_to_pointer): Remove dubious abort.
1653
        (convert_to_integer, case POINTER_TYPE): Make recursive call.
1654
        (convert_to_integer, case COND_EXPR): Always convert arms.
1655
        * tree.c (type_precision): Deleted.
1656
 
1657
        * cccp.c (do_warning): Give pedantic warning if -pedantic and not
1658
        in system file.
1659
        * cpplib.c (do_warning): Likewise.
1660
 
1661
        * function.c (target_temp_slot_level): Define here.
1662
        (push_temp_slots_for_target, {get,set}_target_temp_slot_level): New.
1663
        * stmt.c (target_temp_slot_level): Don't define here.
1664
        * expr.h (temp_slot_level): New declaration.
1665
 
1666
Fri Apr 10 16:35:48 1998  Paul Eggert  
1667
 
1668
        * c-common.c (decl_attributes): Support strftime format checking.
1669
        (record_function_format, {check,init_function}_format_info): Likewise.
1670
        (enum format_type): New type.
1671
        (record_function_format): Now static; takes value of type
1672
        enum format_type instead of int.
1673
        (time_char_table): New constant.
1674
        (struct function_format_info): format_type member renamed from is_scan.
1675
        (check_format_info): Use `warning' rather than sprintf followed by
1676
        `warning', to avoid mishandling `%' in warnings.
1677
        Change a `pedwarn' to `warning'.
1678
        * c-tree.h (record_function_format): Remove decl.
1679
 
1680
Thu Apr  2 17:34:27 1998  Manfred Hollstein  
1681
 
1682
        * regclass.c (memory_move_secondary_cost): Protect uses of
1683
        SECONDARY_{INPUT,OUTPUT}_RELOAD_CLASS with #ifdef tests.
1684
 
1685
Thu Apr  2 07:06:57 1998  Andreas Schwab  
1686
 
1687
        * m68k.c (standard_68881_constant_p): Don't use fmovecr on 68060.
1688
 
1689
Thu Apr  2 06:19:25 1998  Ken Raeburn  
1690
 
1691
        * Makefile.in (version.c): Put "cvs log" output in build directory.
1692
 
1693
        * reload.h (MEMORY_MOVE_COST): Define here if not already defined.
1694
        (memory_move_secondary_cost): Declare.
1695
        * regclass.c (MEMORY_MOVE_COST): Don't define default here.
1696
        (memory_move_secondary_cost) [HAVE_SECONDARY_RELOADS]: New function.
1697
        (regclass, record_reg_classes, copy_cost, record_address_regs):
1698
        Pass register class and direction of move to MEMORY_MOVE_COST.
1699
        (top_of_stack) [HAVE_SECONDARY_RELOADS]: New static array.
1700
        (init_regs) [HAVE_SECONDARY_RELOADS]: Initialize it.
1701
        * reload1.c (MEMORY_MOVE_COST): Don't define default here.
1702
        (emit_reload_insns, reload_cse_simplify_set): Pass register class
1703
        and direction of move to MEMORY_MOVE_COST.
1704
        * 1750a.h (MEMORY_MOVE_COST): Add extra ignored arguments.
1705
        * a29k.h, alpha.h, arc.h, arm.h, dsp16xx.h, i386.h, m32r.h: Likewise.
1706
        * m88k.h, rs6000.h: Likewise.
1707
        * mips.h (MEMORY_MOVE_COST): Likewise.
1708
        Add memory_move_secondary_cost result to cpu-specific cost.
1709
 
1710
Mon Mar 30 13:56:30 1998  Jim Wilson  
1711
 
1712
        * mips/ultrix.h (SUBTARGET_CPP_SPEC): Define.
1713
 
1714
Wed Mar 25 16:09:01 1998  Michael Meissner  
1715
 
1716
        * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum direction.
1717
        (function_arg_padding): Declare.
1718
 
1719
        * rs6000.c: Include stdlib.h if we have it.
1720
        (function_arg_padding): Change return type to int, cast enum's to int.
1721
 
1722
        (From Kaveh R. Ghazi  )
1723
        * rs6000.c (rs6000_override_options): Change type of `i', `j' and
1724
        `ptt_size' from int to size_t.
1725
        (rs6000_file_start): Likewise for `i'.
1726
        (rs6000_replace_regno): Add default case in enumeration switch.
1727
        (output_epilog): Remove unused variable `i'.
1728
        (rs6000_longcall_ref): Remove unused variables `len', `p', `reg[12]'.
1729
 
1730
        * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
1731
        initializer.
1732
        (get_issue_rate, non_logical_cint_operand): Add prototype.
1733
        (rs6000_output_load_toc_table): Likewise.
1734
 
1735
        * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
1736
        `else'.
1737
 
1738
Wed Mar 25 02:39:01 1998  Paul Eggert  
1739
 
1740
        * configure.in (i[34567]86-*-solaris2*, powerpcle-*-solaris2*,
1741
        sparc-*-solaris2*): Use fixinc.svr4 if Solaris 2.0 through 2.4.
1742
 
1743
Mon Mar 23 07:27:19 1998  Philippe De Muyter  
1744
 
1745
        * m68k.md (ashldi_const): Allow shift count in range ]32,63].
1746
        (ashldi3): Allow constant shift count in range ]32,63].
1747
        (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
1748
 
1749
        * m68k.md (zero_extend[qh]idi2, iordi_zext): New patterns.
1750
        (zero_extendsidi2): Avoid useless copy.
1751
        (iorsi_zexthi_ashl16): Avoid "0" constraint for operand 2.
1752
        (iorsi_zext): New name for old unnamed pattern; indentation fixes.
1753
 
1754
Mon Mar 23 07:12:05 1998  Richard Kenner  
1755
 
1756
        * final.c (only_leaf_regs_used): If pic_offset_table_rtx used,
1757
        make sure it is a permitted register.
1758
 
1759
Sun Mar 22 06:57:04 1998  Richard Kenner  
1760
 
1761
        * expmed.c (extract_bit_field): Don't confuse SUBREG_WORD with
1762
        endian adjustment in SUBREG case.
1763
        Don't abort if can't make SUBREG needed for extv/extzv.
1764
 
1765
Sat Mar 21 08:02:17 1998  Richard Gorton  
1766
 
1767
        * alpha.md (zero_extendqi[hsd]i2): Use "and", not "zapnot".
1768
 
1769
Sat Mar 21 07:47:04 1998  Richard Kenner  
1770
 
1771
        * unroll.c (verify_addresses): Use validate_replace_rtx.
1772
        (find_splittable_givs): If invalid address, show nothing same_insn.
1773
 
1774
Fri Mar 20 10:24:12 1998  Philippe De Muyter  
1775
 
1776
        * fold-const.c (fold, case CONVERT_EXPR): Replace sign-extension of
1777
        a zero-extended value by a single zero-extension.
1778
 
1779
Thu Mar 19 14:59:32 1998  Andrew Pochinsky  
1780
 
1781
        * sparc.h (ASM_OUTPUT_LOOP_ALIGN): Fix error in last change.
1782
 
1783
Thu Mar 19 14:48:35 1998  Michael Meissner  
1784
 
1785
        * gcc.c (default_arg): Don't wander off the end of allocated memory.
1786
 
1787
        * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
1788
        and EABI.
1789
 
1790
Thu Mar 19 06:17:59 1998  Richard Kenner  
1791
 
1792
        * Makefile.in (toplev.o): Depend on Makefile.
1793
 
1794
Wed Mar 18 17:40:09 1998  Michael P. Hayes  
1795
 
1796
        * expr.c (convert_move): Add [QH]Imode/P[QH]Imode conversions.
1797
        * machmode.def (PQImode, PHImode): New modes.
1798
 
1799
Wed Mar 18 17:11:18 1998  Andreas Schwab  
1800
 
1801
        * m68k.md (movsf+1): Optimize moving a CONST_DOUBLE zero.
1802
 
1803
Wed Mar 18 17:07:54 1998  Ken Raeburn  
1804
 
1805
        * regclass.c (init_reg_sets): Delete init of reg-move cost tables.
1806
        (init_reg_sets_1): Put it here.
1807
 
1808
Wed Mar 18 16:43:11 1998  Jim Wilson  
1809
 
1810
        * i960.md (tablejump): Handle flag_pic.
1811
 
1812
        * profile.c (branch_prob): If see computed goto, call fatal.
1813
 
1814
        * calls.c (expand_call): Fix typos in n_named_args computation.
1815
 
1816
Wed Mar 18 05:54:25 1998  Richard Kenner  
1817
 
1818
        * fold-const.c (operand_equal_for_comparison_p): See if equal
1819
        when nop conversions are removed.
1820
 
1821
        * expr.c (expand_expr, case COND_EXPR): If have conditional move,
1822
        don't use ORIGINAL_TARGET unless REG.
1823
 
1824
        * function.c (fixup_var_refs_insns): Also delete insn storing pseudo
1825
        back into arg list.
1826
 
1827
        * combine.c (gen_binary): Don't make AND that does nothing.
1828
        (simplify_comparison, case AND): Commute AND and SUBREG.
1829
        * i386.h (CONST_CONSTS, case CONST_INT): One-byte integers are cost 0.
1830
 
1831
Mon Mar 16 15:57:17 1998  Geoffrey Keating  
1832
 
1833
        * rs6000.c (small_data_operand): Ensure any address referenced
1834
        relative to small data area is inside SDA.
1835
 
1836
Sun Mar 15 16:01:19 1998  Andrew Pochinsky  
1837
 
1838
        * sparc.h (ASM_OUTPUT_LOOP_ALIGN): Write nop's.
1839
 
1840
Sun Mar 15 15:53:39 1998  Philippe De Muyter  
1841
 
1842
        * libgcc2.c (exit): Don't call __bb_exit_func if HAVE_ATEXIT.
1843
 
1844
Sun Mar 15 15:44:41 1998  Paul Eggert  
1845
 
1846
        * cccp.c: Fix bugs relating to NUL in input file name,
1847
        e.g. with `#line 2 "x\0y"'.
1848
        (PRINTF_PROTO_4): New macro.
1849
        (struct {file_buf,definition,if_stack}): New member nominal_fname_len.
1850
        (main, expand_to_temp_buffer): Store length of input file names.
1851
        (finclude, create_definition, do_line, conditional_skip): Likewise.
1852
        (skip_if_group, macroexpand): Likewise.
1853
        (make_{definition,undef,assertion}): Likewise.
1854
        (special_symbol, do_include): Use stored length of input file names.
1855
        (do_define, do_elif, do_else, output_line_directive, verror): Likewise.
1856
        (error_from_errno, vwarning, verror_with_line): Likewise.
1857
        (vwarning_with_line, pedwarn_with_file_and_line): Likewise.
1858
        (print_containing_files): Likewise.
1859
        (do_line): Fix off-by-1 problem: 1 too many bytes were being allocated.
1860
        (quote_string, pedwarn_with_file_and_line): New arg specifies length.
1861
        All callers changed.
1862
 
1863
Sun Mar 15 15:38:16 1998  Andreas Schwab  
1864
 
1865
        * c-typeck.c: Collect pending initializers in AVL tree instead of list.
1866
        (add_pending_init, pending_init_member): New functions.
1867
        (output_init_element): Use them.
1868
        (output_pending_init_elements): Rewritten to exploit AVL order.
1869
 
1870
Sun Mar 15 05:10:49 1998  Richard Kenner  
1871
 
1872
        * gnu.h (GNU_CPP_PREDEFINES): Deleted; not valid in traditional C.
1873
        * {i386,mips}/gnu.h (CPP_PREDEFINES): Don't call GNU_CPP_PREDEFINES.
1874
 
1875
        * flow.c (insn_dead_p): A CLOBBER of a dead pseudo is dead.
1876
 
1877
        * alpha.h (REG_ALLOC_ORDER): Put $f1 after other nonsaved.
1878
 
1879
        * sparc.c (sparc_type_code): Fix error in previous change.
1880
 
1881
Sat Mar 14 05:45:21 1998  Richard Kenner  
1882
 
1883
        * i386/xm-aix.h, i386/xm-osf.h (i386/xm-i386.h): Don't include.
1884
        (USG): Don't define.
1885
        * i386/xm-isc.h (i386/xm-sysv3.h): Don't include.
1886
        * i386/xm-sco.h (i386/xm-sysv3.h): Likewise.
1887
        (BROKEN_LDEXP, SMALL_ARG_MAX, NO_SYS_SIGLIST): Don't define.
1888
        * m68k/xm-3b1.h (m68k/xm-m68k.h): Don't include.
1889
        (USG): Don't define.
1890
        * m68k/xm-atari.h (m68k/xm-m68kv.h): Don't include.
1891
        (HAVE_VPRINTF, FULL_PROTOTYPES): Don't define.
1892
        * m68k/xm-crds.h (m68k/xm-m68k.h): Don't include.
1893
        (USE_C_ALLOCA, unos, USG): Don't define.
1894
        * m68k/xm-mot3300.h (m68k/xm-m68k.h): Don't include.
1895
        (USE_C_ALLOCA, NO_SYS_SIGLIST): Don't define.
1896
        * m68k/xm-plexus.h (m68k/xm-m68k.h): Don't include.
1897
        (USE_C_ALLOCA, USG): Don't define.
1898
        * m88k/xm-sysv3.h (m88k/xm-m88k.h): Don't include.
1899
        * m68k/xm-next.h (m68k/xm-m68k.h): Don't include.
1900
        * ns32k/xm-pc532-min.h (ns32k/xm-ns32k.h): Don't include.
1901
        (USG): Don't define.
1902
        * rs6000/xm-mach.h: Don't include xm-rs6000.h.
1903
        * rs6000/xm-cygwin32.h (rs6000/xm-rs6000.h): Don't include.
1904
        (NO_STAB_H): Don't define.
1905
        * sparc/xm-linux.h (xm-linux.h): Don't include.
1906
        * sparc/xm-sol2.h (sparc/xm-sysv4.h): Don't include.
1907
        * a29k/xm-unix.h, alpha/xm-linux.h, arm/xm-linux.h: Deleted.
1908
        * arm/xm-netbsd.h, i386/xm-bsd386.h, i386/xm-gnu.h: Deleted.
1909
        * i386/xm-linux.h, i386/xm-sun.h, i386/xm-sysv3.h: Deleted.
1910
        * i386/xm-winnt.h,  m68k/xm-altos3068.h, m68k/xm-amix.h: Deleted.
1911
        * m68k/xm-amix.h, m68k/xm-hp320.h, m68k/xm-linux.h: Deleted.
1912
        * m68k/xm-m68kv.h, mips/xm-iris5.h, ns32k/xm-genix.h: Deleted.
1913
        * sparc/xm-pbd.h, vax/xm-vaxv.h, xm-svr3.h, xm-linux.h: Deleted.
1914
        * configure.in: Reflect above changes.
1915
 
1916
        * xm-siglist.h, xm-alloca.h: New files.
1917
        * i386/xm-sysv4.h (i386/xm-i386.h, xm-svr4.h): Don't include.
1918
        (USE_C_ALLOCA, SMALL_ARG_MAX): Don't define.
1919
        * i386/xm-sco5.h (i386/xm-sysv3.h): Don't include.
1920
        (SYS_SIGLIST_DECLARED, USE_C_ALLOCA): Don't define.
1921
        * rs6000/xm-sysv4.h, sparc/xm-sysv4.h: Don't include xm-svr4.h.
1922
        * xm-svr4.h, i386/xm-dgux.h, mips/xm-news.h, mips/xm-sysv4.h: Deleted.
1923
        * configure.in: Reflect above changes.
1924
 
1925
        * configure.in ({,host_,build_}xm_defines): New variables.
1926
        Set to USG instead of including xm-usg.h.
1927
        Write #define lines in config.h files from xm_defines vars.
1928
        * xm-usg.h: Deleted.
1929
 
1930
Fri Mar 13 07:10:59 1998  Richard Kenner  
1931
 
1932
        * calls.c (expand_call): Fix typo in previous change.
1933
 
1934
        * sparc.c (sparc_type_code): Avoid infinite loop when have
1935
        pointer to array of same pointer.
1936
        (sparc_type_code, case REAL_TYPE): Process subtypes here too.
1937
 
1938
        * mips/bsd-4.h, mips/iris3.h, mips/news{4,5}.h: Don't include mips.h.
1939
        * mips/news5.h, mips/osfrose.h, mips/svr{3,4}-4.h: Likewise.
1940
        * mips/ultrix.h: Likewise.
1941
        * mips/cross64.h: Don't include iris6.h.
1942
        * mips/ecoff.h: Don't include mips.h or gofast.h.
1943
        * mips/elforion.h: Don't include elf64.h.
1944
        * mips/iris4.h: Don't include iris3.h.
1945
        * mips/iris4loser.h: Don't include iris4.h.
1946
        * mips/iris5gas.h: Don't include iris5.h.
1947
        * mips/elflorion.h, mips/nws3250v4.h, mips/xm-iris{3,4}.h: Deleted.
1948
        * mips/xm-nws3250v4.h, mips/xm-sysv.h: Deleted.
1949
        * mips/rtems64.h: Don't include elflorion.h.
1950
        * mips/sni-gas.h: Don't include sni-svr4.h.
1951
        * mips/svr4-t.h: Don't include svr4-5.h.
1952
        * mips/dec-osf1.h: Also include mips.h.
1953
        * mips/ecoffl.h, mips/elf.h: Also include mips.h and gofast.h.
1954
        * mips/iris5.h: Also include iris3.h and mips.h.
1955
        * xm-usg.h: New file.
1956
        * mips/xm-iris5.h: Don't include xm-mips.h; don't define USG.
1957
        * mips/xm-news.h, mips/xm-sysv4.h: Don't include xm-sysv.h.
1958
        * configure.in: Reflect above changes.
1959
 
1960
Thu Mar 12 07:18:48 1998  Richard Kenner  
1961
 
1962
        * expr.h (STRICT_ARGUMENT_NAMING): Provide default value of 0.
1963
        * calls.c (expand_call): Use value of STRICT_ARGUMENT_NAMING.
1964
        * function.c (assign_parm): Likewise.
1965
        * mips/abi64.h (STRICT_ARGUMENT_NAMING): Return 0 for ABI_32.
1966
        * sparc.h (STRICT_ARGUMENT_NAMING): Only nonzero for V9.
1967
 
1968
        * calls.c (expand_call, expand_library_call{,_value}, store_one_arg):
1969
        Rework handling of REG_PARM_STACK_SPACE to treat return value of
1970
        zero as if macro not defined; add new arg to emit_push_insn.
1971
        * expr.c (emit_push_insn): New arg, REG_PARM_STACK_SPACE.
1972
        * expr.h (emit_push_insn): Likewise.
1973
        * mips/abi64.h (REG_PARM_STACK_SPACE): Define.
1974
 
1975
Wed Mar 11 06:58:13 1998  Andreas Schwab  
1976
 
1977
        * m68k.h (CONST_OK_FOR_LETTER_P, case 'M'): Correct range check.
1978
 
1979
Wed Mar 11 06:15:52 1998  Richard Kenner  
1980
 
1981
        * expr.c (emit_push_insn): Use loop to find movstr patterns
1982
        instead of explicit tests.
1983
 
1984
        * Makefile.in (extraclean): Don't delete install1.texi.
1985
 
1986
Tue Mar 10 14:27:51 1998  Richard Kenner  
1987
 
1988
        * combine.c (make_field_assignment): Don't get confused if OTHER
1989
        has VOIDmode and don't do anything if DEST is wider than a host word.
1990
 
1991
        * vax.c (check_float_value): Cast bcopy args to char *.
1992
 
1993
Tue Mar 10 13:56:12 1998  Jim Wilson  
1994
 
1995
        * mips/abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and
1996
        TARGET_DEFAULT and define __LONG_MAX__ appropriately.
1997
        Add support for -mabi=X, -mlong64, and -mgp{32,64} options.
1998
        * mips.c (mips_abi): Change type to int.
1999
        * mips.h (enum mips_abi_type): Delete.
2000
        (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
2001
        (mips_abi): Change type to int.
2002
 
2003
Mon Mar  2 08:06:58 1998  Richard Kenner  
2004
 
2005
        * Version 2.8.1 released.
2006
 
2007
        * Makefile.in (mostlyclean): Remove duplicate deletion of temp
2008
        files.  Delete more stamp files and [df]p-bit.c
2009
        (clean): Don't delete stamp files here.
2010
        (VERSION_DEP): New variable.
2011
        (distdir-finish): Pass a value of null for it.
2012
        (version.c): Use it.
2013
        Avoid broken pipe with cvs log.
2014
 
2015
        * objc/Make-lang.in (objc/runtime-info.h): Rename emptyfile to
2016
        tmp-runtime and delete at end.
2017
 
2018
Sun Mar  1 05:50:25 1998  Richard Kenner  
2019
 
2020
        * tree.c (build_reference_type): Handle obstacks like
2021
        build_pointer_type.
2022
 
2023
        * Makefile.in (tmp-gcc.xtar): Renamed from gcc.xtar.
2024
        (gcc.xtar.gz): Deleted; merged with `dist'.
2025
        (diff): Create gcc-$(oldversion)-$(version).diff.
2026
        (distdir): Depend on distdir-cvs.
2027
        (distdir-cvs): New rule.
2028
        (distdir-start): Depend on version.c and TAGS.
2029
        (TAGS): Use tmp-tags instead of temp.
2030
        (dist): Create gcc-$(version).tar.gz.
2031
 
2032
        * varasm.c (compare_constant_1): Fix typo in previous change.
2033
 
2034
        * objc/Make-lang.in (objc-distdir): Properly rebuild objc-parse.c.
2035
 
2036
Sat Feb 28 16:58:08 1998  Tristan Gingold  
2037
 
2038
        * stmt.c (expand_decl): If -fcheck-memory-usage, put vars in memory.
2039
        * expr.c (get_memory_usage_from_modifier): Convert
2040
        EXPAND_{CONST_ADDRESS, INITIALIZER} to MEMORY_USE_DONT.
2041
 
2042
Sat Feb 28 08:13:43 1998  Richard Kenner  
2043
 
2044
        * i860/fx2800.h (DATA_ALIGNMENT): Use POINTER_TYPE_P.
2045
        * m68k/a-ux.h (FUNCTION_VALUE): Likewise.
2046
        * expr.c (get_pointer_alignment, compare, do_store_flag): Likewise.
2047
        (expand_builtin): Likewise.
2048
        * fold-const.c (force_fit_type, fold_convert, fold): Likewise.
2049
        * function.c (assign_parms): Likewise.
2050
        * integrate.c (expand_inline_function): Likewise.
2051
        * sdbout.c (sdbout_field_types): Likewise.
2052
        * tree.c (integer_pow2p, tree_log2, valid_machine_attribute): Likewise.
2053
        * stmt.c (expand_decl): Likewise.
2054
        ({,bc_}expand_decl_init): Also test for REFERENCE_TYPE.
2055
 
2056
        * configure.in (version_dep): New variable; if srcdir is CVS working
2057
        directory, set to ChangeLog.
2058
        (version): Supply default if no version.c.
2059
        * Makefile.in (version.c): New rule.
2060
 
2061
        * gcc.c (snapshot_warning): New function.
2062
        (main): Call it for snapshots.
2063
 
2064
        * dwarf2out.c (expand_builtin_dwarf_reg_size): If reg_raw_mode
2065
        not valid for reg, use last size.  Also refine range assertion.
2066
 
2067
Sat Feb 28 05:04:47 1998  Michael P. Hayes  
2068
 
2069
        * enquire.c (cprop): Don't perform exhaustive search for char_min
2070
        and char_max when bits_per_byte > 16.
2071
 
2072
Thu Feb 26 15:12:03 1998  Christopher Taylor 
2073
 
2074
        * fixincludes: Avoid using '0-~' in egrep.
2075
 
2076
Thu Feb 26 08:04:05 1998  Tristan Gingold  
2077
 
2078
        * function.c (assign_parms): Call 'chkr_set_right' when DECL_RTL
2079
        is stack_parm.
2080
        * expr.c (get_memory_usage_from_modifier): Convert
2081
        EXPAND_{SUM, CONST_ADDRESS, INITIALIZER} to MEMORY_USE_RO.
2082
 
2083
Thu Feb 26 07:33:53 1998  Paul Eggert  
2084
 
2085
        * c-lex.c (yylex): Don't munge errno before using it.
2086
        * cccp.c (error_from_errno, perror_with_name): Likewise.
2087
        * cpplib.c (cpp_error_from_errno): Likewise.
2088
        * gcc.c (pfatal_pexecute): Likewise.
2089
        * protoize.c (safe_write, find_file, process_aux_info_file): Likewise.
2090
        (rename_c_file, edit_file): Likewise.
2091
 
2092
        * c-lex.c (yylex): Remove unused variable exceeds_double.
2093
 
2094
Thu Feb 26 07:05:14 1998  Michael P. Hayes  
2095
 
2096
        * reorg.c (fill_slots_from_thread): Don't steal delay list from target
2097
        if condition code of jump conflicts with opposite_needed.
2098
 
2099
Thu Feb 26 06:45:23 1998  Richard Kenner  
2100
 
2101
        * Makefile.in (distdir-start): Don't copy CVS subdirectory of config.
2102
 
2103
        * varasm.c ({compare,record}_constant_1, case CONSTRUCTOR):
2104
        Handle the case when we have TREE_PURPOSE values.
2105
 
2106
Thu Feb 26 05:59:01 1998  Philippe De Muyter  
2107
 
2108
        * fixincludes (sys/limits.h): Fix a nested comment problem with
2109
        HUGE_VAL definition on sysV68 R3V7.1.
2110
 
2111
Wed Feb 25 21:09:38 1998  Philippe De Muyter  
2112
 
2113
        * toplev.c (TICKS_PER_SECOND): Renamed from CLOCKS_PER_SECOND.
2114
 
2115
Wed Feb 25 20:50:08 1998  Michael P. Hayes  
2116
 
2117
        * reorg.c (fill_slots_from_thread): Mark resources referenced in
2118
        opposite_needed thread.  Return delay_list even when cannot get
2119
        any more delay insns from end of subroutine.
2120
 
2121
Wed Feb 25 19:50:01 1998  Mikael Pettersson 
2122
 
2123
        * gcc.c (lookup_compiler): Remove redundant test.
2124
 
2125
Wed Feb 25 07:24:22 1998  Richard Kenner  
2126
 
2127
        * vax.md (call insns): Second operand to CALL rtl is SImode.
2128
 
2129
        * configure.in (i[34567]86-*-mingw32): Support msv and crt suffix.
2130
        * i386/crtdll.h: New file.
2131
 
2132
        * sparc.c (pic_setup_code): If -O0, write USE of pic_offset_table_rtx.
2133
 
2134
        * expr.c (safe_from_p): Add new arg, TOP_P; all callers changed.
2135
 
2136
Sat Feb 21 07:02:39 1998  Jim Wilson  
2137
 
2138
        * mips/iris5.h (DWARF2_UNWIND_INFO): Define to 0.
2139
        * mips/iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
2140
 
2141
Fri Feb 20 08:27:46 1998  Paul Eggert  
2142
 
2143
        * sparc/sol2-sld.h: New file.
2144
        * configure.in (sparc-*-solaris2*): Use it when using system linker.
2145
        * toplev.c (main): Don't default to DWARF2_DEBUG with -ggdb
2146
        if LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
2147
 
2148
Fri Feb 20 08:21:49 1998  H.J. Lu  (hjl@gnu.org)
2149
 
2150
        * alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Support shared library.
2151
        (LIB_SPEC, DEFAULT_VTABLE_THUNKS): Defined #ifndef USE_GNULIBC_1.
2152
        * sparc/linux.h (DEFAULT_VTABLE_THUNKS): Likewise.
2153
        (LIB_SPEC): Add -lc for -shared #ifndef USE_GNULIBC_1.
2154
        * linux.h (LIB_SPEC): Likewise.
2155
        * sparc/linux64.h (LIB_SPEC): Likewise; also updated for glibc 2.
2156
        (LIBGCC_SPEC): Removed.
2157
        (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
2158
 
2159
Fri Feb 20 05:22:12 1998  Richard Kenner  
2160
 
2161
        * Makefile.in (distdir-start): Add dependence on bi-parser.[ch].
2162
 
2163
Thu Feb 19 18:07:11 1998  Jim Wilson  
2164
 
2165
        * m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
2166
        For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
2167
 
2168
Wed Feb 18 09:37:29 1998  Paul Eggert  
2169
 
2170
        * fixincludes (stdlib.h): Do not double-wrap the size_t typedef.
2171
 
2172
Wed Feb 18 07:32:11 1998  Jim Wilson  
2173
 
2174
        * i960.c (emit_move_sequence): Handle unaligned stores to pseudos.
2175
        * i960.md (store_unaligned_[dt]i_reg): Handle register dest.
2176
        (store_unaligned_ti_reg): Likewise.
2177
 
2178
        * m68k.h (MACHINE_STATE_{SAVE,RESTORE} [MOTOROLA]): Add %# and %/;
2179
        add : to make them into extended asms.
2180
 
2181
Wed Feb 18 07:08:05 1998  Richard Kenner  
2182
 
2183
        * reg-stack.c (compare_for_stack_reg): Only handle FP conditional
2184
        move as next insn specially.
2185
 
2186
        * reload.c (find_reloads): Always convert address reload for
2187
        non-reloaded operand to RELOAD_FOR_OPERAND_ADDRESS.
2188
 
2189
        * emit-rtl.c (hard-reg-set.h): Include.
2190
        (get_lowpart_common): Don't make new REG for hard reg in a
2191
        class that cannot change size.
2192
        * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
2193
 
2194
Sat Feb 14 09:59:00 1998  Richard Earnshaw (rearnsha@arm.com)
2195
 
2196
        * arm.md (movsfcc): Also validate operands[3] for hard float.
2197
        (movdfcc): Only accept fpu_add_operand for operands[3].8
2198
 
2199
Sat Feb 14 09:32:34 1998  Jim Wilson  
2200
 
2201
        * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
2202
        Convert CCmode to word_mode before calling GET_MODE_SIZE.
2203
 
2204
Sat Feb 14 09:27:42 1998  David Edelsohn  
2205
 
2206
        * rs6000.h (MY_ISCOFF): Check for U803XTOCMAGIC.
2207
 
2208
Sat Feb 14 08:29:43 1998  Arvind Sankar  
2209
 
2210
        * t-svr4 (TARGET_LIBGCC_CFLAGS): New definition.
2211
 
2212
Sat Feb 14 07:45:16 1998  Ken Rose (rose@acm.org)
2213
 
2214
        * reorg.c (fill_slots_from_thread): New parameter, delay_list.
2215
        All callers changed.
2216
 
2217
Sat Feb 14 07:14:02 1998  Richard Kenner  
2218
 
2219
        * reload.c (debug_reload): Properly output insn codes.
2220
 
2221
        * pa.c (emit_move_sequence): If in reload, call find_replacement.
2222
 
2223
        * gansidecl.h (bcopy, bzero, {,r}index): Don't define if IN_LIBGCC2.
2224
 
2225
        * combine.c (distribute_notes, case REG_DEAD): When seeing if place
2226
        to put new note sets register, use reg_bitfield_target_p, as in
2227
        original code.
2228
 
2229
        * gcc.c (process_command): If file is for linker, set lang to "*".
2230
        (lookup_compiler): Return 0 for language of "*".
2231
 
2232
        * sched.c (attach_deaths, case SUBREG): Fix error in last change.
2233
 
2234
        * i386.md (mov[sdx]fcc): Disable for now.
2235
        (mov[sd]fcc_1): Add earlyclobber for output on last alternative.
2236
 
2237
Sat Feb 14 06:42:50 1998  Jason Merrill  
2238
 
2239
        * except.c (get_dynamic_handler_chain): Only make call once per func.
2240
        (expand_fixup_region_{start,end}): New functions.
2241
        (expand_eh_region_start_tree): Store cleanup into finalization here.
2242
        * stmt.c (expand_cleanups): Use new functions to protect fixups.
2243
 
2244
        * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
2245
        * optabs.c (init_optabs): Don't init get_dynamic_handler_chain_libfunc.
2246
        * expr.h (get_dynamic_handler_chain_libfunc): Deleted.
2247
 
2248
Sat Feb 14 06:34:41 1998  Peter Lawrence  
2249
 
2250
        * optabs.c (emit_conditional_move): Don't reverse condition for FP.
2251
 
2252
Fri Feb 13 07:22:04 1998  Richard Kenner  
2253
 
2254
        * Makefile.in (mostlyclean): Only use s-* convention for stamp
2255
        files in main dir.
2256
 
2257
        * configure.in: Add support for i786 (Pentium II); same as i686.
2258
 
2259
Thu Feb 12 20:16:35 1998  Michael Meissner  
2260
 
2261
        * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
2262
 
2263
Thu Feb 12 10:08:14 1998  John Hassey  
2264
 
2265
        * configure.in (i[3456]86-dg-dgux*): Don't need fixincludes.
2266
 
2267
Thu Feb 12 07:27:39 1998  Mumit Khan 
2268
 
2269
        * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Define.
2270
        about system headers.
2271
        (LIB_SPEC): Add -ladvapi32 -lshell32.
2272
 
2273
Thu Feb 12 07:19:31 1998  Richard Kenner  
2274
 
2275
        * expr.c (expand_assignment): Fix typo in checking OFFSET.
2276
 
2277
        * gbl-ctors.h (atexit): Don't define unless needed.
2278
 
2279
        * combine.c (distribute_notes): Completely check for note operand being
2280
        only partially set on potential note target; adjust what notes
2281
        we make in that case.
2282
 
2283
        * i386/xm-go32.h (HAVE_{BCOPY,BZERO,INDEX,RINDEX}): Deleted.
2284
 
2285
Wed Feb 11 08:53:27 1998  Richard Kenner  
2286
 
2287
        * calls.c (emit_call_1): Size args now HOST_WIDE_INT.
2288
        (expand_call): struct_value_size now HOST_WIDE_INT.
2289
 
2290
Tue Feb 10 09:04:39 1998  Richard Kenner  
2291
 
2292
        * integrate.c (initialize_for_inline): Ensure DECL_INCOMING_RTL
2293
        is always copied.
2294
 
2295
Tue Feb 10 06:10:49 1998  Paul Eggert  
2296
 
2297
        * cccp.c (rescan): Fix bug with macro name appearing
2298
        immediately after L'x'.
2299
 
2300
Mon Feb  9 20:45:32 1998  Andreas Schwab  
2301
 
2302
        * c-common.c (format_char_info): Add new field zlen.
2303
        (print_char_table): Remove entry for 'Z' as a format character.
2304
        Initialize zlen field as appropriate.
2305
        (scan_char_table): Set zlen field to NULL in each entry.
2306
        (check_format_info): Recognize 'Z' as a length modifier, with a
2307
        warning in pedantic mode.
2308
        Avoid infinite loop when a repeated flag character is detected.
2309
 
2310
Mon Feb  9 09:24:04 1998  Paul Eggert  
2311
 
2312
        * c-parse.in (primary): Minor wording fix in diagnostic.
2313
 
2314
Mon Feb  9 07:50:19 1998  Richard Kenner  
2315
 
2316
        * c-decl.c (grokdeclarator): Remove warning on inline of varargs.
2317
 
2318
        * reload.c (find_reloads): Check for const_to_mem case before
2319
        checking for invalid reload; use force_const_mem if no_input_reloads.
2320
 
2321
        * function.c (push_function_context_to): Call init_emit last.
2322
 
2323
        * protoize.c (my_link): Define as -1 in mingw32.
2324
        (link): Remove declaration.
2325
 
2326
        * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
2327
 
2328
        * integrate.c (expand_inline_function): Clear label_map with bzero.
2329
 
2330
        * unroll.c (copy_loop_body, case JUMP_INSN): Correct error in last
2331
        change: call single_set on COPY, not INSN.
2332
 
2333
Sun Feb  8 08:07:37 1998  Richard Kenner  
2334
 
2335
        * msdos/top.sed, winnt/config-nt.sed: Change version number to 2.8.1.
2336
 
2337
        * configure.in (i[3456]86-*-sco3.2v5*): Use cpio for headers.
2338
 
2339
Sat Feb  7 07:32:46 1998  Richard Kenner  
2340
 
2341
        * i386/mingw32.h (LIBGCC_SPEC, STARTFILE_SPEC, MATH_LIBRARY):
2342
        Use msvcrt, not crtdll.
2343
 
2344
Fri Feb  6 20:32:06 1998  Geert Bosch  
2345
 
2346
        * i386/xm-os2.h (EMX, USG, BSTRING, HAVE_{PUTENV,VPRINTF,STRERROR}):
2347
        Define ifdef __EMX__.
2348
        (strcasecmp): Define to be stricmp if __EMX__.
2349
        (spawnv{,p}): Don't define if EMX.
2350
        (OBJECT_SUFFIX): Don't define if EMX.
2351
        (MKTEMP_EACH_FILE): Define.
2352
 
2353
Fri Feb  6 16:37:29 1998  Kaveh R. Ghazi  
2354
 
2355
        * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
2356
        (objc.stage2, objc.stage3, objc.stage4): Likewise for the
2357
        respective stageN-start targets.
2358
        (objc/sendmsg.o): Depend on objc/runtime-info.h.
2359
 
2360
Fri Feb  6 16:27:09 1998  Bernd Schmidt  
2361
 
2362
        * stmt.c (expand_asm_operands): Properly treat asm statement
2363
        statements with no operands as volatile.
2364
 
2365
Fri Feb  6 16:03:25 1998  Greg McGary  
2366
 
2367
        * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
2368
 
2369
Fri Feb  6 15:57:36 1998  Mumit Khan 
2370
 
2371
        * i386/cygwin32.h (STRIP_NAME_ENCODING): New macro.
2372
 
2373
Fri Feb  6 15:50:42 1998  Paul Eggert  
2374
 
2375
        * libgcc2.c (__floatdi[xtds]f): Round properly even when rounding
2376
        large negative integer to plus or minus infinity.
2377
 
2378
Fri Feb  6 15:45:16 1998  Philippe De Muyter  
2379
 
2380
        * sdbout.c (plain_type_1): Return T_DOUBLE, not T_VOID, for
2381
        long double #ifndef EXTENDED_SDB_BASIC_TYPES.
2382
 
2383
Fri Feb  6 15:23:49 1998  John David Anglin  
2384
 
2385
        * vax/ultrix.h (HAVE_ATEXIT): Define.
2386
        * x-vax: File deleted.
2387
 
2388
Fri Feb  6 14:34:19 1998  Douglas Rupp 
2389
 
2390
        * gcc.c (process_command, case "-dumpversion"): Print spec_version.
2391
 
2392
Fri Feb  6 11:01:13 1998  Josh Littlefield  
2393
 
2394
        * i386/gmon-sol2.c (internal_mcount): Do set-up when program starts
2395
        and install hook to do clean-up when it exits.
2396
        * i386/sol2-c1.asm (_mcount): Make a weak instead of global symbol.
2397
        * i386/sol2dbg.h (ASM_SPEC): Support Solaris bundled assembler's -V
2398
        argument; pass -s argument to assembler.
2399
 
2400
Fri Feb  6 09:13:21 1998  Jim Wilson  (wilson@cygnus.com)
2401
 
2402
        * function.c (assign_parms): New variable named_arg, with value
2403
        depending on STRICT_ARGUMENT_NAMING.  Use instead of ! last_named.
2404
 
2405
        * crtstuff.c (__frame_dummy): New function for irix6.
2406
        (__do_global_ctors): Call __frame_dummy for irix6.
2407
        * mips/iris6.h (LINK_SPEC): Hide __frame_dummy too.
2408
 
2409
Fri Feb  6 09:08:21 1998  Mike Stump  
2410
 
2411
        * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after reload.
2412
        * genattrtab.c (reload_completed): Define.
2413
 
2414
        * configure.in (i960-wrs-vxworks): Same as i960-wrs-vxworks5*.
2415
 
2416
Fri Feb  6 08:47:38 1998  Richard Kenner  
2417
 
2418
        * Makefile.in (diff): Add INSTALL, configure, and config.in;
2419
        remove objc-*.
2420
        * objc/config-lang.in (diff_excludes): Add objc-parse.[cy].
2421
 
2422
        * i386/xm-mingw32.h (link): Delete macro.
2423
 
2424
        * alpha.c (output_prolog): Write out frame sizes as longs and
2425
        print too large sizes as zero.
2426
 
2427
        * function.c (combine_temp_slots): No need to allocate and free rtx.
2428
        Don't do anything if too many slots in the list.
2429
        (put_var_into_stack): Don't use ADDRESSOF if not optimizing.
2430
 
2431
        * function.c (purge_addressof_1): Force into mem if VOLATILE reference.
2432
 
2433
        * calls.c (expand_call): Show VAR_DECL made for structure return
2434
        address is used; remove bogus set of MEM_IN_STRUCT_P.
2435
        * expr.c (expand_expr, case SAVE_EXPR, case TARGET_EXPR): Show used.
2436
        (expand_builtin, case BUILT_IN_LONGJMP): Show __dummy used.
2437
        * function.c (put_reg_into_stack): New arg USED_P; all callers changed.
2438
 
2439
        * expr.c (expand_expr, case SAVE_EXPR): assign_temp with KEEP of 3.
2440
        * function.c (var_temp_slot_level): New variable.
2441
        (push_function_context_to, pop_function_context_from): Save/restore
2442
        it and target_temp_slot_level.
2443
        (assign_stack_temp): Implement KEEP of 3.
2444
        (push_temp_slots_for_block): New function.
2445
        (init_temp_slots): Initialize var_temp_slot_level.
2446
        * function.h (struct function, fields {var,target}_temp_slot_level):
2447
        New fields.
2448
        * stmt.c (expand_start_bindings): Call push_temp_slots_for_block.
2449
 
2450
        * function.c (struct temp_slot): SIZE, BASE_OFF_SET, and FULL_SIZE
2451
        now HOST_WIDE_INT.
2452
        (assign_{,outer_}stack_local, assign_{,stack_}temp): Size arg is
2453
        now HOST_WIDE_INT.
2454
        (assign_stack_temp): Do size computations in HOST_WIDE_INT.
2455
        (fixup_var_refs_1, optimize_bit_field, instantiate_decls): Likewise.
2456
        (instantiate_virtual_regs_1, fix_lexical_address): Likewise.
2457
        * rtl.h (assign_stack_{local,temp}): Size arg is HOST_WIDE_INT.
2458
        (assign_temp): Likewise.
2459
        * expr.h (struct args_size): Field CONSTANT is now HOST_WIDE_INT.
2460
 
2461
        * sched.c (attach_deaths, case REG): Don't check for REG_UNUSED.
2462
        (attach_deaths, case SUBREG, STRICT_LOW_PART, {ZERO,SIGN}_EXTRACT):
2463
        Don't pass set_p of 1 if partial assignment.
2464
 
2465
        * tree.h (size_in_bytes): Returns HOST_WIDE_INT.
2466
        * tree.c (size_in_bytes): Likewise.
2467
        Tighen up logic some to avoid returning a bogus value instead of -1.
2468
 
2469
        * expr.c (get_inner_reference, case ARRAY_EXPR): Make WITH_RECORD_EXPR
2470
        just for index.
2471
        (expand_expr, case PLACEHOLDER_EXPR): Refine search again; look
2472
        at each expression and look for pointer to type.
2473
 
2474
        * expr.c (safe_from_p, case ADDR_EXPR): If TREE_STATIC, no trampoline.
2475
        (expand_expr, case ADDR_EXPR): Likewise.
2476
 
2477
        * expr.c (emit_block_move): Use conservative range for movstr mode.
2478
 
2479
        * configure.in: See if "cp -p" works if "ln -s" doesn't; else "cp".
2480
 
2481
        * combine.c (try_combine.c): Pass elim_i2 and elim_i1 to
2482
        distribute_notes for i3dest_killed REG_DEAD note.
2483
 
2484
        * configure.in (mips-dec-netbsd*): Remove bogus setting of prefix.
2485
 
2486
        * c-decl.c (duplicate_decls): Set DECL_IGNORED_P in newdecl if
2487
        different bindings levels.
2488
 
2489
        * configure.in: Test ln -s by symlinking gcc.c.
2490
 
2491
        * configure.in (i[3456]86-dg-dgux): Add wildcard for version.
2492
 
2493
        * crtstuff.c (__do_global_ctors_aux): Switch back to text section
2494
        in proper place.
2495
 
2496
        * rtlanal.c (rtx_varies_p, case REG): pic_offset_table_rtx is fixed.
2497
        * genattrtab.c (pic_offset_table_rtx): Define (dummy).
2498
        * cse.c (set_nonvarying_address_components): Understand PIC refs.
2499
 
2500
        * loop.c (strength_reduce): When placing increment for auto-inc
2501
        case, do comparison in loop order.
2502
 
2503
        * i860.c (output_delayed_branch): Add missing arg to recog.
2504
        (output_delay_insn): Add missing arg to constrain_operands.
2505
 
2506
        * configure.in: Truncate target after finished comparing it with host.
2507
 
2508
        * i386.h (MAX_FIXED_MODE_SIZE): Delete.
2509
 
2510
        * c-parse.in (expr_no_comma): Clarify undefined error.
2511
 
2512
        * prefix.c (get_key_value): Don't default to PREFIX here.
2513
        (translate_name): Remove bogus addition of "$" if getenv fails;
2514
        clean up application of default value of PREFIX.
2515
 
2516
        * fold-const.c (fold_convert): Call force_fit_type even if input
2517
        already overflows.
2518
 
2519
Fri Feb  6 07:45:01 1998  Robert Hoehne 
2520
 
2521
        * i386/xm-go32.h (HAVE_{BCOPY,BZERO,BCMP,RINDEX,INDEX}): Define.
2522
 
2523
        * gcc.c (main): Treat paths starting with '$' or DOS drives
2524
        as absolute in standard_startfile_prefix.
2525
 
2526
Thu Feb  5 21:07:12 1998  John David Anglin  
2527
 
2528
        * cpplib.c (IS_INCLUDE_DIRECTIVE_TYPE): Add casts from enum to int.
2529
        * cccp.c (IS_INCLUDE_DIRECTIVE_TYPE, handle_directive): Likewise.
2530
 
2531
Thu Feb  5 19:00:44 1998  Richard Kenner  
2532
 
2533
        * expr.c (expand_expr, case CONSTRUCTOR): Correct shift count
2534
        when making signed bit field; use EXPAND_NORMAL, not 0.
2535
 
2536
Thu Feb  5 17:42:43 1998  Manfred Hollstein  
2537
 
2538
        * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
2539
        stuff only if MCT_TEXT is #define'd.
2540
 
2541
Thu Feb  5 17:32:01 1998  Robert Hoehne  
2542
 
2543
        * Makefile.in: Changed most stamp-* to s-*.
2544
 
2545
Tue Feb  3 19:45:50 1998  James Hawtin 
2546
 
2547
        * i386/sol2.h (STARTFILE_SPEC, LIB_SPEC): Update -pg files.
2548
        * configure.in (i[3456]86-*-solaris2*): Add gcrt1.o and gmon.o
2549
        to extra_parts.
2550
 
2551
Tue Feb  3 17:28:48 1998  Christopher C Chimelis 
2552
 
2553
        * configure.in (alpha*-*-linux-gnu*): Add extra_parts for crtstuff.
2554
 
2555
Tue Feb  3 17:18:19 1998  Richard Earnshaw  
2556
 
2557
        * arm.c (find_barrier): Fix one-too-many bug if fail to find barrier.
2558
 
2559
        * arm.c (arm_reload_in_hi): Handle cases where the MEM is too
2560
        complex for a simple offset.
2561
 
2562
Tue Feb  3 16:14:21 1998  Robert Hoehne  
2563
 
2564
        * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
2565
 
2566
        * configure.in (i[3456]86-pc-msdosdjgpp*): New entry.
2567
 
2568
Tue Feb  3 07:33:58 1998  Richard Kenner  
2569
 
2570
        * explow.c (probe_stack_range): Properly check for small
2571
        number of probes.
2572
 
2573
        * gcc.c (process_command, case 'V'): Validate arg.
2574
 
2575
        * configure.in (sbrk): Add check for needed declaration.
2576
        * acconfig.h (NEED_DECLARATION_SBRK): New entry.
2577
        * toplev.c (sbrk): Update declaration conditional.
2578
        * mips-tfile.c (sbrk, free): Likewise.
2579
 
2580
        * sparc/sysv4.h (DBX_REGISTER_NUMBER): Remove abort.
2581
 
2582
        * mips.c (mips_expand_prologue): Pass reg 25 to gen_loadgp.
2583
        * mips.md (loadgp): Add second operand for register number to add.
2584
        (builtin_setjmp_receiver): Pass new label and reg 31 to loadgp.
2585
 
2586
        * toplev.c: Include insn-codes.h, insn-config.h, and recog.h.
2587
        (compile_file): Try to emit nop to separate gcc_compiled symbol.
2588
        * Makefile.in (toplev.o): Depends on insn-{codes,config}.h, recog.h.
2589
 
2590
Tue Feb  3 06:58:46 1998  Mark Mitchell  
2591
 
2592
        * integrate.c (get_label_from_map): New function.
2593
        (expand_inline_function): Use it.
2594
        Initialize label_map to NULL_RTX instead of gen_label_rtx.
2595
        (copy_rtx_and_substitute): Use get_label_from_map.
2596
        * integrate.h (get_label_from_map): New function.
2597
        (set_label_from_map): New macro.
2598
        * unroll.c (unroll_loop, copy_loop_body): Use them.
2599
 
2600
Mon Feb  2 16:33:01 1998  Richard Kenner  
2601
 
2602
        * i386.md (mov{si,hi,sf,df,xf}cc{,_1}): Remove cases with branches.
2603
 
2604
        * rs6000/x-aix31 (INSTALL): Deleted.
2605
        * mips/x-dec-osf1, mips/x-osfrose, i386/x-osfrose: Likewise.
2606
        * arm/x-riscix: Likewise.
2607
 
2608
        * c-typeck.c (signed_or_unsigned_type): Properly handle pointer types.
2609
 
2610
Mon Feb  2 15:33:58 1998  Michael P. Hayes  
2611
 
2612
        * unroll.c (copy_loop_body):  Use single_set instead of
2613
        PATTERN to detect increment of an iv inside a PARALLEL.
2614
 
2615
Fri Jan 16 20:29:50 1998  Paul Eggert  
2616
 
2617
        * toplev.c (): New include.
2618
        (get_run_time): Prefer CLK_TCK (if available) to HZ, and
2619
        prefer sysconf (_SC_CLK_TCK) (if available) to CLK_TCK.
2620
        * configure.in (sysconf): Call AC_CHECK_FUNCS.
2621
 
2622
Wed Jan 14 20:10:51 1998  Paul Eggert  
2623
 
2624
        * cccp.c: (rescan): Don't report line 0 as the possible real start
2625
        of an unterminated string constant.
2626
        Don't mishandle backslash-newlines that in are the output of
2627
        a macro expansion.  Properly skip // style comments between a function
2628
        macro name and '(', as well as backslash-newlines in comments there.
2629
        (handle_directive): Handle / \ newline * between # and directive name.
2630
        In #include directives, \ does not escape ".
2631
        (do_include): For `#include "file', do not bother expanding into temp
2632
        buffer.  When error encountered when expanding, do not try result.
2633
        (skip_if_group): When skipping an include directive, use include
2634
        tokenization, not normal tokenization.  Backslash-newline is still
2635
        special when skipping.  Handle * \ newline / correctly in comments
2636
        when skipping.
2637
        (skip_quoted_string): After \ newline, set *backslash_newlines_p
2638
        even if count_newlines is 0.
2639
        (macroexpand): Newline space is not a special marker inside a string.
2640
        (macroexpand, macarg): Do not generate \ddd for control characters
2641
        when stringifying; the C Standard does not allow this.
2642
        (macarg1): New arg MACRO.  All callers changed.
2643
        Do not treat /*, //, or backslash-newline specially when processing
2644
        the output of a macro.
2645
        (discard_comments): Don't go past limit if looking for end of comment.
2646
        Discard backslash-newline properly when discarding comments.
2647
        (change_newlines): \" does not end a string.
2648
        (make_definition): Do not treat backslash-newline specially, as it
2649
        has already been removed before we get here.
2650
 
2651
        * profile.c (output_func_start_profiler): Don't fflush output
2652
        if -quiet.
2653
        * toplev.c (rest_of_compilation): Likewise.
2654
 
2655
        * i386/x-sco5 (CC): Remove trailing white space.
2656
        * x-convex (CCLIBFLAGS): Likewise.
2657
        * arm/t-semi (LIBGCC2_CFLAGS): Likewise.
2658
 
2659
Wed Jan  7 18:02:42 1998  Richard Kenner  
2660
 
2661
        * Version 2.8.0 released.
2662
 
2663
Wed Jan  7 17:54:41 1998  J. Kean Johnston  
2664
 
2665
        * i386/sco5.h ({END,START}FILE_SPEC): Link with correct crtbegin.o
2666
        and crtend.o when using -static.
2667
 
2668
Wed Jan  7 17:49:14 1998  Jan Christiaan van Winkel 
2669
 
2670
        * cppexp.c (gansidecl.h): Include.
2671
 
2672
Wed Jan  7 17:45:07 1998  Tristan Gingold  
2673
 
2674
        * expr.c (get_push_address): Use copy_to_reg instead of force_operand.
2675
        (emit_push_insn): Avoid null pointer deference if aggregate has no
2676
        types.
2677
        (expand_expr): Avoid finite but useless recursion.
2678
        (expand_builtin): Fix typo in calling function.
2679
        * function.c (assign_parms): Avoid useless call to chkr_set_right.
2680
 
2681
Wed Jan  7 17:31:13 1998  Christian Iseli  
2682
 
2683
        * combine.c (force_to_mode): Return if operand is a CLOBBER.
2684
 
2685
Wed Jan  7 17:23:24 1998  Richard Kenner  
2686
 
2687
        * x-rs6000 (INSTALL): Remove.
2688
 
2689
        * jump.c (jump_optimize): Don't use a hard reg as an operand
2690
        of a conditional move if small register classes.
2691
 
2692
Wed Jan  7 17:09:28 1998  Jim Wilson  
2693
 
2694
        * cse.c (max_insn_uid): New variable.
2695
        (cse_around_loop): Use it.
2696
        (cse_main): Set it.
2697
 
2698
See ChangeLog.11 for earlier changes.
2699
 
2700
Use a consistent time stamp format in ChangeLog entries.
2701
Not everyone has Emacs 20 yet, so stick with Emacs 19 format for now.
2702
 
2703
Local Variables:
2704
add-log-time-format: current-time-string
2705
End:

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.