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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [FSFChangeLog.11] - Blame information for rev 816

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 julius
Wed Dec 31 18:40:26 1997  Richard Kenner  
2
 
3
        * stmt.c (expand_asm_operands): Treat ASM with no outputs as volatile.
4
 
5
Wed Dec 31 08:03:45 1997  Paul Eggert  
6
 
7
        * toplev.c (flag_verbose_asm): Default to 0, not 1.
8
 
9
        * i386/bsd386.h (ASM_COMMENT_START): Define to " #".
10
 
11
Tue Dec 30 17:38:55 1997  Jim Wilson  
12
 
13
        * unroll.c (find_splittable_givs): Handle givs with
14
        dest_reg created by loop.
15
 
16
Tue Dec 30 14:21:33 1997  Ian Lance Taylor  
17
 
18
        * svr4.h (LINK_SPEC): Never specify -h.
19
        * ptx4.h (LINK_SPEC): Likewise.
20
        * rs6000/sysv4.h (LINK_SPEC): Likewise.
21
        * sparc/sol2.h (LINK_SPEC): Likewise.
22
 
23
Tue Dec 30 06:15:23 1997  Philippe De Muyter  
24
 
25
        * libgcc2.c (_eh_compat): Do not include stdlib.h, but provide a
26
        private extern declaration for malloc.
27
 
28
Mon Dec 29 06:56:41 1997  Laurent Guerby 
29
 
30
        * Makefile.in (stmp-int-hdrs): Add "touch".
31
 
32
Sun Dec 28 19:36:05 1997  Stephen L Moshier  
33
 
34
        * mips.h (CACHE_FLUSH_FUNC): New, defaults to _flush_cache.
35
        (INITIALIZE_TRAMPOLINE): Use it.
36
        * mips/ultrix.h (CACHE_FLUSH_FUNC): Define as cacheflush.
37
        * mips/news4.h (CACHE_FLUSH_FUNC): Likewise.
38
 
39
Sun Dec 28 08:19:13 1997  Paul Eggert  
40
 
41
        * arm.c: Don't include assert.h.
42
        * i960.c: Likewise.
43
        (i960_arg_size_and_align): Rewrite to avoid assert.
44
        * m88k.c: Don't include assert.h.
45
        (expand_block_move): Rewrite to avoid assert.
46
        * except.c: Don't include assert.h.
47
        (scan_region): Rewrite to avoid assert.
48
        (save_eh_status, restore_eh_status, scan_region): Don't bother
49
        testing whether pointer is null.
50
        * dwarfout.c, dwarf2out.c: Do not include assert.h.
51
        (assert): New macro, since we can't use system assert.
52
 
53
Sat Dec 27 19:08:17 1997  Stephen L Moshier  
54
 
55
    * mips/ultrix.h (DWARF2_UNWIND_INFO): Define as 0.
56
 
57
Fri Dec 26 05:57:06 1997  Philippe De Muyter  
58
 
59
        * m68k/mot3300.h (FINALIZE_TRAMPOLINE): Macro defined.
60
        * libgcc2.c (__clear_insn_cache): New sysV68-specific helper function
61
        for trampolines.
62
 
63
Thu Dec 25 15:22:43 1997  Richard Kenner  
64
 
65
        * rs6000.c (function_arg_padding): All aggregates pad upward.
66
 
67
Wed Dec 24 18:05:13 1997  Richard Kenner  
68
 
69
        * sparc.c: Add prototypes for static functions.
70
        (check_pic): Check for form of pic_pc_rtx, not it itself.
71
        (pic_setup_code): New function, from finalize_pic.
72
        (finalize_pic): Call pic_setup_code and insert after nonlocal_receiver.
73
        * sparc.md (nonlocal_goto_receiver): New pattern.
74
 
75
Tue Dec 23 05:54:38 1997  Richard Kenner  
76
 
77
        * expr.c (expand_builtin_setjmp): Call builtin_setjmp_receiver.
78
        * mips.md (builtin_setjmp_receiver): New pattern.
79
 
80
        * crtstuff.c (__do_global_ctors_aux): Add missing call to
81
        FORCE_INIT_SECTION_ALIGN and go back to text section.
82
        * i386/sol2.h (FORCE_INIT_SECTION_ALIGN): Remove loop.
83
 
84
        * expr.c (do_store_flag): For shift, get bit count using tree_pow2.
85
 
86
Tue Dec 23 05:21:18 1997  Paul Eggert  
87
 
88
        * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT too.
89
 
90
Mon Dec 22 19:30:59 1997  Michael P. Hayes  
91
 
92
        * sdbout.c (plain_type_1): Add missing checks for named types "char"
93
        and "int" and check for int by size first.
94
 
95
Mon Dec 22 19:13:58 1997  Manfred Hollstein  
96
 
97
        * m68k/xm-mot3300.h (ADD_MISSING_{POSIX,XOPEN}): Define.
98
        * m88k/xm-sysv3.h: Likewise.
99
 
100
        * configure.in (getrlimit, setrlimit): Call AC_CHECK_FUNCS.
101
        * cccp.c (main): Check HAVE_{G,S}ETRLIMIT in addition to RLIMIT_STACK.
102
        * toplev.c (main): Likewise.
103
 
104
        * fixincludes (target_canonical): New variable.
105
        (size_t): Add support for Motorola's stdlib.h which fails to provide
106
        a definition for size_t.
107
        (str{len,spn,cspn} return value): Handle different layout on sysV88.
108
        (fabs/hypot): Provide a fake for hypot which is broken on
109
        m88k-motorola-sysv3; emit a prototype for fabs on m88k-motorola-sysv3.
110
 
111
        * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in  definition.
112
        (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
113
 
114
Mon Dec 22 19:05:49 1997  Richard Henderson  
115
 
116
        * sparc.md (jump): Don't use the annul bit around an empty loop.
117
 
118
Mon Dec 22 18:52:56 1997  Robert Lipe 
119
 
120
        * i386/x-sco5 (CLIB) Deleted.
121
        (ALLOCA) Added.
122
        * i386/xm-sco5.h (USE_C_ALLOCA) Added.
123
 
124
Mon Dec 22 18:42:16 1997  Philippe De Muyter  
125
 
126
        * m68k/mot3300Mcrt0.S (mcount): Function removed.
127
        (__stop_monitor): New function.
128
        * m68k/mot3300-crt0.S (__stop_monitor): New (empty) function.
129
        (mcount, mcount%, monitor): Common symbols removed.
130
        * m68k/mot3300.h (FUNCTION_PROFILER): USE_GAS and !USE_GAS versions
131
        fixed and merged.
132
        (EXIT_BODY): Always call __stop_monitor without tricky tests.
133
 
134
Mon Dec 22 18:35:05 1997  Andreas Schwab  
135
 
136
        * objc/Make-lang.in (runtime-info.h, libobjc_entry.o): Create in
137
        build directory.
138
        (libobjc.a): Update dependency list.
139
        (libobjc.dll): Likewise.  Use libobjc_entry.o from build directory.
140
        (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
141
        (objc.mostlyclean): Remove runtime-info.h.
142
 
143
Mon Dec 22 18:27:47 1997  Paul Eggert  
144
 
145
        * libgcc2.c (_eh_compat): New section.
146
        * Makefile.in (LIB2FUNCS): Add _eh_compat.
147
 
148
Mon Dec 22 17:52:37 1997  Marcus G. Daniels  
149
 
150
        * objc/init.c (_objc_load_callback): Don't initialize.
151
 
152
Sun Dec 21 15:06:00 1997  Paul Eggert  
153
 
154
        * mips/xm-iris5.h (HAVE_INTTYPES_H): Force undefined.
155
 
156
Sun Dec 21 14:51:51 1997  Richard Kenner  
157
 
158
        * dwarf2out.c (add_bound_info, case COMPONENT_REF): New case.
159
 
160
Sun Dec 14 06:49:05 1997  Richard Kenner  
161
 
162
        * expr.c (expand_expr, case PLACEHOLDER_EXPR): Use placeholder_list
163
        expression in preference to any other if correct type.
164
 
165
        * i386.h (INITIAL_ELIMINATION_OFFSET): Correctly test for PIC
166
        register used.
167
 
168
Sat Dec 13 06:11:32 1997  Richard Kenner  
169
 
170
        * frame.h (__register_frame_info_table): Fix typo in declaration.
171
 
172
Fri Dec 12 07:55:18 1997  Richard Kenner  
173
 
174
        * function.c (purge_addressof_1): For (mem (address (mem ...)),
175
        when collapsing, preserve mode of outer MEM.
176
 
177
        * frame.c (__register_frame_info): Renamed from __register_frame.
178
        (__register_frame_info_table, __deregister_frame_info): Similarly.
179
        * frame.h (__{,de}register_frame_info): Likewise.
180
        (__register_frame_info_table): New declaration.
181
        * crtstuff.c (__do_global_dtors{,_aux}): Rename __deregister_frame.
182
        (frame_dummy, __do_global_ctors): Likewise for __register_frame.
183
        * collect2.c (write_c_file_{stat,glob}): Rename __register_frame
184
        to __register_frame_info and similarly for __deregister_frame and
185
        __register_frame_table.
186
 
187
        * sched.c (remove_dependencies): Set RTX_INTEGRATED_P on dependency
188
        we delete.  Properly update prev for multiple consecutive deletions.
189
        (priority): Skip deleted dependence.
190
 
191
        * integrate.c (initialize_for_inline): In DECL_RTL of a PARM_DECL,
192
        look inside a (mem (addressof (mem ...))).
193
 
194
Fri Dec 12 05:49:58 1997  Paul Eggert  
195
 
196
        * collect2.c (write_c_file_glob):
197
        Allocate initial frame object in static storage and pass its address.
198
 
199
Thu Dec 11 18:01:31 1997  Philippe De Muyter  
200
 
201
        * acconfig.h (NEED_DECLARATION_GETENV): Define slot added.
202
 
203
Thu Dec 11 17:54:23 1997  Paul Eggert  
204
 
205
        * crtstuff.c (__do_global_ctors): Fix typo in last change.
206
 
207
Wed Dec 10 18:38:28 1997  Kaveh R. Ghazi  
208
 
209
        * libgcc2.c (__bb_exit_func): Fix test of return value of fopen.
210
 
211
Wed Dec 10 07:07:37 1997  Bernd Schmidt 
212
        * combine.c (simplify_rtx, case ABS): Don't get confused by a
213
        VOIDmode operand.
214
 
215
Tue Dec  9 17:44:14 1997  David Edelsohn  
216
 
217
        * rs6000.h (FUNCTION_ARG_PADDING): Define.
218
        * rs6000.c (function_arg_padding): New function.
219
 
220
Tue Dec  9 08:53:56 1997  Richard Kenner  
221
 
222
        * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
223
 
224
Mon Dec  8 19:23:58 1997  Pat Rankin  
225
 
226
        * toplev.c (get_run_time): [#if VMS] Cast arg in times call.
227
 
228
        * vax/xm-vms.h (HAVE_UNISTD_H): Define for DEC C.
229
        * make-cccp.com [CC]: Add /Prefix=All for DEC C.
230
 
231
Mon Dec  8 08:09:17 1997  Richard Kenner  
232
 
233
        * stmt.c (expand_decl_cleanup_no_eh): Properly return a value.
234
 
235
        * fold-const.c (fold_convert): Don't flag overflow when converting
236
        pointer to integer.
237
 
238
Sun Dec  7 09:42:05 1997  Pat Rankin  
239
 
240
        * make-gcc.com (@make-l2): Pass along any command line arguments.
241
        * make-l2.com: Add latent support to compile cp/inc/* if `cc1plus'
242
        is specified [currently disabled].
243
        * make-cc1.com: When building with GNU C, use -O2.
244
        * make-cccp.com: Likewise.
245
 
246
Sun Dec  7 06:56:48 1997  Richard Kenner  
247
 
248
        * crtstuff.c (__do_global_ctors): Add missing arg to __register_frame.
249
 
250
        * collect2.c (write_c_file_stat): Fix error in last change;
251
        use __SIZE_TYPE__, not size_t.
252
 
253
Sun Dec  7 05:50:43 1997  Paul Eggert  
254
 
255
        * cccp.c (strings.h): Fix misspelling of `include' introduced
256
        in last change to this file.
257
 
258
Sat Dec  6 18:54:11 1997  Richard Kenner  
259
 
260
        * alpha/vms.h (CPP_PREDEFINES): Remove redundant setting
261
        of GCC version and unneeded setting of __VMS_VER.
262
 
263
Fri Dec  5 07:24:36 1997  Richard Stallman  
264
 
265
        * sparc/linux64.h (TARGET_VERSION): Write "GNU/Linux".
266
        * sparc/linux.h, sparc/linux-aout.h, rs6000/linux.h: Likewise.
267
        * m68k/linux.h, arm/linux.h, alpha/{linux,elf}.h: Likewise.
268
        * listing: Change linux to gnu-linux.
269
 
270
Fri Dec  5 06:23:22 1997  Paul Eggert  
271
 
272
        Alter C startup code so that it doesn't invoke malloc on Solaris.
273
        * frame.h (struct object): Decl moved here from frame.c.
274
        * frame.c (struct object): Move decl to frame.h.
275
        ("frame.h"): Include after , so that size_t is defined.
276
        (__register_frame, __register_frame_table, __deregister_frame):
277
        It's now the caller's responsibility to allocate storage for object.
278
        * crtstuff.c (frame_dummy), collect2.c (write_c_file_stat):
279
        Allocate initial frame object in static storage and pass its address.
280
        * crtstuff.c (, "frame.h"): Include.
281
        * Makefile.in ($(T)crtbegin.o, $(T)crtend.o, stamp-crtS):
282
        Depend on defaults.h and frame.h.
283
 
284
        * Makefile.in (RTL_H, TREE_H): Add gansidecl.h.
285
        (DEMANGLE_H): New macro.  All dependencies on demangle.h
286
        changed to $(DEMANGLE_H).
287
        (RECOG_H): Likewise.
288
        (libgcc2.a, stmp-multilib): Add dependencies on frame.h, gansidecl.h.
289
        (collect.o): Add dependency on gansidecl.h.
290
        (gcc.o, choose-temp.o, pexecute.o, prefix.o): Likewise.
291
        (obstack.o, choose-temp.o, pexecute.o): Add dependency on $(CONFIG_H).
292
 
293
Fri Dec  5 06:20:06 1997  Dean Deaver 
294
 
295
        * arm.md (casesi_internal):  Add USE of label.
296
 
297
Fri Dec  5 05:59:44 1997  Richard Kenner  
298
 
299
        * configure.in (sys/times.h): Check for this instead of times.h.
300
        * cpplib.c, toplev.c: Properly test for and include sys/times.h.
301
 
302
Thu Dec  4 12:30:40 1997  J"orn Rennecke 
303
 
304
        * sh.c (final_prescan_insn): Use local label prefix when emitting
305
        .uses pseudo-ops.
306
 
307
Thu Dec  4 07:00:48 1997  Richard Earnshaw 
308
 
309
        * arm.c (arm_finalize_pic): Use an offset of 4 when adjusting the
310
        GOT address.
311
 
312
Thu Dec  4 06:58:32 1997  Dean Deaver  
313
 
314
        * genoutput.c (scan_operands): Treat format of "u" like "e".
315
 
316
Thu Dec  4 06:28:33 1997  Richard Kenner  
317
 
318
        * msdos/top.sed, winnt/config-nt.sed: Change version to 2.8.0.
319
 
320
        * stmt.c (pushcase_range): Clean up handling of "infinite" values.
321
 
322
Wed Dec  3 09:03:35 1997  Bernd Schmidt  
323
 
324
        * i386.c (notice_update_cc): Remove bogus Pentium GCC code.
325
 
326
Wed Dec  3 08:46:32 1997  Paul Eggert  
327
 
328
        * arm.h (CPP_ARCH_DEFAULT_SPEC): Fix misspelling: `TARGET_CPU_DEFUALT'.
329
        (TARGET_SWITCHES): Fix misspelling: `no-apcs-rentrant'.
330
        * pa.c (override_options): Fix misspelling: `compatable'.
331
        * enquire.c (main): Fix misspelling in diagnostic: `mallocatable'.
332
        * gcov.c (function_summary): Fix misspelling in diagnostic: `funcion'.
333
        * objc/thr-decosf1.c (__objc_thread_id): Fix misspelling in code:
334
        `pthread_getuniqe_np'.
335
 
336
        * tahoe.c (extensible_operand): Renamed from extendable_operand.
337
        All callers changed.
338
        * dwarf2.h (enum dwarf_discrim_list): Renamed from dwarf_descrim_list.
339
        * dwarf2out.c: Fix misspellings in forward static function
340
        declarations: `add_AT_setion_offset', `add_sibling_atttributes'.
341
        * dwarfout.c: Fix misspellings in forward static function
342
        declarations: `langauge_attribute', `geneate_new_sfname_entry'.
343
        * stmt.c, tree.h (start_cleanup_deferral):
344
        Renamed from start_cleanup_deferal.
345
        (end_cleanup_deferral): Renamed from end_cleanup_deferal.
346
        * toplev.c (rest_of_compilation): Rename local var from
347
        inlineable to inlinable.
348
 
349
Wed Dec  3 06:17:03 1997  Jason Merrill  
350
 
351
        * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
352
 
353
Wed Dec  3 06:06:38 1997  Jim Wilson  
354
 
355
        * dwarf2out.c (gen_type_die, case POINTER_TYPE): See TREE_ASM_WRITTEN
356
        before the recursive call.
357
 
358
Wed Dec  3 05:57:29 1997  Richard Kenner  
359
 
360
        * configure.in (AC_HEADER_{STDC,TIME}): Add calls.
361
        (AC_CHECK_HEADERS): Add fcntl.h times.h, sys/times.h,
362
        sys/resource.h, and sys/param.h.
363
        (getenv): Check if need declaration.
364
        * cccp.c: Remove obsolete ways of including headers and use autoconf
365
        symbols instead.
366
        Include gansidecl.h; remove things defined there.
367
        See if getenv needs to be declared.
368
        * cpplib.c: Likewise.
369
        * cexp.y: Use autoconf symbols to select what include files are needed.
370
        * genattrtab.c, toplev.c: Likewise.
371
 
372
Tue Dec  2 21:44:25 1997  Richard Kenner  
373
 
374
        * reload1.c (reload): Make copy of MEM before setting
375
        req_equiv_mem if the address is a PLUS.
376
 
377
Tue Dec  2 07:03:47 1997  Pat Rankin  
378
 
379
        * vax/xm-vms.h (STDC_HEADERS, HAVE_STDLIB, HAVE_STRING): Define.
380
        (mesg_implicit_function_declaration): New macro.
381
 
382
        * make-l2.com: Compile libgcc2.c with `-fexceptions' specified.
383
 
384
Mon Dec  1 17:44:59 1997  Jeffrey A Law  (law@cygnus.com)
385
 
386
        * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
387
        output ASCII by default; only use ASM_OUTPUT_DWARF_STRING if
388
        flag_debug_asm is on.
389
        (output_die, output_pubnames, output_line_info): Likewise.
390
 
391
Mon Dec  1 17:15:30 1997  Philip Blundell  
392
 
393
        * arm/linux.h (SUBTARGET_CPU_DEFAULT): Define  instead
394
        of TARGET_CPU_DEFAULT.
395
 
396
Mon Dec  1 16:51:23 1997  J.J. van der Heijden 
397
 
398
        * i386/mingw32.h (MATH_LIBRARY): Set to "-lcrtdll".
399
 
400
Mon Dec  1 16:46:57 1997  Richard Kenner  
401
 
402
        * c-aux-info.c: Add prototypes for static functions.
403
        * c-lex.c, emit-rtl.c, rtl.c, xcoffout.c: Likewise.
404
 
405
        * i386.h (TARGET_SWITCHES): Add entries for "windows" and "dll".
406
 
407
Mon Dec  1 16:42:20 1997  Jim Wilson  
408
 
409
        * mips.md (fix_trunc{dfsi,sfsi,dfsi}2): Add '*' in operand 3.
410
 
411
Sun Nov 30 20:25:59 1997  Richard Kenner  
412
 
413
        * expr.c (get_inner_reference): For ARRAY_REF, if need
414
        WITH_RECORD_EXPR, make it with the ARRAY_REF as exp.
415
 
416
        * expr.c (store_constructor): Use TARGET, not EXP, for
417
        WITH_RECORD_EXPR when offset has a placeholder.
418
 
419
Sun Nov 30 11:19:00 1997  J.J. van der Heijden 
420
 
421
        * objc/Make-lang.in (libobjc.dll): Rename -dll flag to -mdll.
422
 
423
Sun Nov 30 08:42:29 1997  Bruno Haible  
424
 
425
        * stmt.c (expand_end_bindings): Cleanups and incoming gotos are
426
        not incompatible.
427
 
428
Sun Nov 30 05:45:06 1997  Michael P. Hayes  
429
 
430
        * jump.c (jump_optimize): Use find_insert_position in two more places.
431
 
432
Sat Nov 29 13:47:40 1997  Richard Kenner  
433
 
434
        * alpha/vms.h (HAVE_STRERROR, HAVE_{LIMITS,STDDEF,TIME}_H): Define.
435
 
436
Sat Nov 29 08:29:47 1997  J.J.van der Heijden 
437
 
438
        * configure.in: Add check for kill.
439
        * gcc.c: Define kill as raise if not HAVE_KILL.
440
 
441
Sat Nov 29 06:18:08 1997  Michael P. Hayes  
442
 
443
        * jump.c (find_insert_position): New function.
444
        (jump_optimize): Use it when making new copy of insn after test.
445
 
446
Sat Nov 29 05:54:57 1997  Douglas Rupp  
447
 
448
        * alpha/vms.h (BIGGEST_ALIGNMENT, ENCODE_SECTION_INFO): No longer
449
        override.
450
 
451
Sat Nov 29 05:43:37 1997  Richard Kenner  
452
 
453
        * getpwd.c (getpwd, [VMS]): Only add extra arg if VMS.
454
 
455
        * alpha/xm-vms.h (HAVE_VPRINTF, HAVE_PUTENV): Define.
456
 
457
        * cccp.c (index, rindex): Add conditional defs to strchr and strrchr.s
458
        * cpplib.c: Likewise.
459
        * gcov.c: Include gansidecl.h.
460
 
461
Fri Nov 28 21:17:51 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
462
 
463
        * objc/objc-act.c: Include "output.h".
464
 
465
        * objc/Make-lang.in (objc-parse.o, objc-act.o): Also depend on
466
        $(srcdir)/output.h.
467
 
468
        * objc/Object.m (+conformsTo:): Surround assignment with parentheses.
469
 
470
        * objc/archive.c, objc/class.c, objc/encoding.c: Finish prototyping.
471
        * objc/init.c, objc/objc-act.c, objc/objc-api.h: Likewise.
472
        * objc/runtime.h, objc/sendmsg.c: Likewise.
473
 
474
Fri Nov 28 19:15:53 1997  Mark Kettenis 
475
 
476
        * objc/thr-posix.c (__objc_mutex_allocate): Allocate
477
        mutex type instead of assuming it fits in a void * type.
478
        (__objc_mutex_deallocate): Free mutex type.
479
        (__objc_mutex_lock): Pass mutex type instead of pointer to it.
480
        (__objc_mutex_{try,un}lock): Likewise.
481
        (__objc_condition_allocate): Allocate condition type instead
482
        of assuming it fits in a void * type.
483
        (__objc_condition_deallocate): Free condition type.
484
        (__objc_condition_wait): Pass condition type instead of pointer to it.
485
        (__objc_condition_{broadcast,signal}): Likewise.
486
 
487
Fri Nov 28 17:07:25 1997  David Edelsohn  
488
 
489
        * rs6000.c (function_arg_partial_nregs): Undo 11/26 change.
490
 
491
Fri Nov 28 12:34:03 1997  Scott Christley  
492
 
493
        * objc/Make-lang.in (runtime-info.h): Add comment in file.
494
 
495
        * objc/selector.c: Replace all occurrences of sarray_get
496
        with sarray_get_safe.
497
        * objc/sendmsg.c: Likewise.
498
 
499
        * protoize.c (include_defaults): Add component element as in cccp.c.
500
        * nextstep.h (INCLUDE_DEFAULTS): Add component element.
501
        (ASM_COMMENT_START): Correct assembly comment string.
502
        * objc/Make-lang.in (objc/{NXConstStr,Object,Protocol,linking):
503
        Compile with GNU runtime.
504
 
505
Fri Nov 28 12:27:50 1997  Ovidiu Predescu 
506
 
507
        Generate platform information required by ObjC runtime.
508
        * toplev.c (lang_options): New ObjC specific compiler flag.
509
        * objc/Make-lang.in: Add target to generate runtime-info.h file.
510
        * objc/objc-act.c (print_struct_values): New variable.
511
        (generate_struct_by_value_array): New function.
512
        (lang_init): Call generate_struct_by_value_array if requested.
513
        (lang_decode_option): Check for new compiler flag.s
514
        * objc/sendmsg.c (__objc_get_forward_imp): Check size of type
515
        for determining proper forwarding function.
516
 
517
Fri Nov 28 05:58:30 1997  Richard Kenner  
518
 
519
        * regclass.c (record_address_regs): Use REG_OK_FOR_{INDEX,BASE},
520
        not the REGNO versions.
521
 
522
Thu Nov 27 16:28:04 1997  Scott Snyder  
523
 
524
        * dwarf2out.c (outout_call_frame_info): Ensure info has proper
525
        alignment.
526
 
527
        * libgcc2.c (__throw): Initialize HANDLER.
528
 
529
Thu Nov 27 16:23:25 1997  Kaveh R. Ghazi  
530
 
531
        * tree.h, rtl.h: See if need declarations for free.
532
        * tree.c, bc-optab.c: Get the declaration of free from stdlib.h.
533
 
534
Thu Nov 27 07:21:54 1997  Jason Merrill  
535
 
536
        * except.h: Add outer_context_label_stack.
537
        * except.c: Likewise.
538
        (expand_start_all_catch): Push the outer_context for the try block
539
        onto outer_context_label_stack.
540
        (expand_end_all_catch): Use it and pop it.
541
 
542
        * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
543
 
544
        * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
545
 
546
Thu Nov 27 07:15:10 1997  Michael Meissner  
547
 
548
        * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
549
        (print_operand{,_address}): Use SMALL_DATA_REG for register involved in
550
        small data relocations.
551
 
552
        * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
553
        -dynamic linker is not used.
554
 
555
        * rs6000.md (call insns): For local calls, use @local suffix under
556
        System V; don't use @plt under Solaris.
557
 
558
Wed Nov 26 15:12:32 1997  Jeffrey A Law  (law@cygnus.com)
559
 
560
        * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
561
 
562
        * toplev.c (flag_exceptions): Default value is 2.
563
        (compile_file): If flag_exceptions still has the value 2, then
564
        set it to 0.
565
 
566
Wed Nov 26 14:58:42 1997  Michael Meissner  
567
 
568
        * rs6000.c (output_function_profiler): Put label address in r0, and
569
        store LR in 4(sp) for System V/eabi.
570
 
571
        * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
572
        byte boundary, and maintain stack backchain.
573
 
574
        (Originally from Geoffrey Keating)
575
        * rs6000.c (function_arg): Excess floating point arguments don't
576
        go into GPR registers after exhausting FP registers under the
577
        System V.4 ABI.
578
        (function_arg_partial_nregs): Likewise.
579
 
580
        * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
581
        suffix to calls.
582
 
583
Wed Nov 26 14:09:01 1997  Jason Merrill  
584
 
585
        * dwarfout.c (output_type): If finalizing, write out nested types
586
        of types we've already written.
587
 
588
        * toplev.c (main): Complain about -gdwarfn.
589
 
590
Wed Nov 26 12:37:56 1997  J.J. van der Heijden 
591
 
592
        * mingw32.h (PATH_SEPARATOR): Moved to xm-mingw32.h
593
        * xm-mingw32.h (PATH_SEPARATOR): Moved here from mingw32.h.
594
 
595
        * getpwd.c (getpwd): Use VMS implementation of _WIN32 unless cygwin32.
596
 
597
Wed Nov 26 12:26:44 1997  John Hassey  
598
 
599
        * m88k/dgux.h (ASM_CPU_SPEC) : No whitespace allowed.
600
 
601
        * m88k.h (SUPPORTS_ONE_ONLY) : Must be svr4.
602
 
603
        * i386/dgux.h (ASM_OUTPUT_ALIGN): Deleted.
604
 
605
        * i386/dgux.c (output_file_start) : Changed ix86_isa_string
606
        to ix86_arch_string.
607
 
608
        * cplus-dem.c (fancy_abort): Added.
609
 
610
Wed Nov 26 06:07:50 1997  Richard Earnshaw 
611
 
612
        * arm/coff.h (TARGET_DEFAULT): Add ARM_FLAG_APCS_32 to defaults.
613
 
614
        * configure.in (arm*-*-*): Recognize --with-cpu for ARM processors.
615
 
616
Wed Nov 26 05:05:36 1997  Richard Kenner  
617
 
618
        * libgcc2.c (inhibit_libc): Define #ifdef CROSS_COMPILE.
619
 
620
        * mips/xm-iris6.h (malloc, realloc, calloc): No longer declare.
621
        (USG): Define here.
622
        (xm-iris5.h): No longer include; just include xm-mips.h.
623
 
624
        * mips-tfile.c (parse_def): Properly recognize bitfield and
625
        count array dimensions.
626
 
627
        * protoize.c: Remove declarations of void, exit, and free.
628
 
629
        * i386/mingw32.h (LINK_SPEC, STARTFILE_SPEC): Change -dll to -mdll.
630
 
631
        * configure.in: Check for sys/file.h.
632
        * gcc.c (sys/file.h): Include if HAVE_SYS_FILE_H.
633
 
634
        * configure.in: Only give error on bad --with-cpu value for target.
635
 
636
Sat Nov 22 19:21:55 1997  Philippe De Muyter  
637
 
638
        * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
639
        (ASM_OUTPUT_DWARF_VALUE4): New macro.
640
        (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
641
        defined.
642
        (output_call_frame_info): Don't output forward label differences
643
        if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
644
        Substitute instead simple label and define this label later to be
645
        difference of desired labels after they have been defined.
646
        * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
647
 
648
        * gcc.c (process_command): Don't take address of function fatal when
649
        calling lang_specific_driver.
650
 
651
Sat Nov 22 17:08:03 1997  J. Kean Johnston  
652
 
653
        * i386/sco5.h (SELECT_RTX_SECTION): Redefine to work with -fpic.
654
        (LIBGCC_SPEC, LIB_SPEC): Link with correct libgcc.a.
655
        (HAVE_ATEXIT): Define.
656
 
657
Sat Nov 22 12:20:22 1997  Richard Earnshaw 
658
 
659
        * arm.md (movsfcc{,_hard}_insn): Specify mode for all alternatives.
660
 
661
Sat Nov 22 06:56:16 1997  Richard Kenner  
662
 
663
        * function.c (instantiate_decl): Only ignore ADDRESSOF if arg is REG.
664
 
665
        * configure.in: Check for functions before checking which need decls.
666
        (bcopy, bzero, bcmp, index, rindex): Add checks.
667
        (vax-*-sysv*): Fix typo in setting of xm_file.
668
        * aclocal.m4: Add conditional definitions of index and rindex.
669
        * gansidecl.h (bcopy, bzero, bcmp, index, rindex): If don't
670
        have one of these, define macro to use ANSI form.
671
        * pa/xm-pahpux.h (bcopy, bzero, bcmp, rindex, index): No longer define.
672
        * mips/xm-sysv.h, xm-m88k.h, m68k/xm-plexus.h: Likewise.
673
        * m68k/xm-mot3300.h, m68k/xm-m68kv.h, m68k/xm-hp320.h: Likewise.
674
        * winnt/xm-winnt.h, vax/xm-vms.h, m68k/xm-3b1.h: Likewise.
675
        * i386/xm-os2.h, i386/xm-mingw32.h, alpha/xm-vms.h: Likewise.
676
        * xm-svr4.h, xm-svr3.h: Likewise.
677
        * clipper/xm-clix.h: Likewise.
678
        (TARGET_MEM_FUNCTIONS): Define here.
679
        * xm-linux.h (bcmp, bcopy, bzero, index, rindex): No longer undefine.
680
        * xm-convex.h (bcopy, bzero): No longer define.
681
        * vax/xm-vaxv.h, sparc/xm-pbd.h, mips/xm-iris{3,4,5}.h: Likewise.
682
        * m68k/xm-crds.h, m68k/xm-altos3068.h, i386/xm-sun.h: Likewise.
683
        * i386/xm-osf.h, i386/xm-aix.h, xm-i370.h, ns32k/xm-genix.h: Likewise.
684
 
685
Sat Nov 22 06:46:26 1997  Paul Eggert  
686
 
687
        * c-typeck.c, collect2.c, cpplib.c, dwarfout.c, gcov.c, protoize.c:
688
        Don't include  unless there's no .
689
 
690
Fri Nov 21 06:46:50 1997  Richard Kenner  
691
 
692
        * configure.in (i[3456]86-*-freebsd{,elf}*): Delete i386/xm-freebsd.h.
693
        * xm-freebsd.h, i386/xm-freebsd.h: Deleted.
694
 
695
        * i386/xm-cygwin32.h (HAVE_RUSAGE, HAVE_FILE_H): Deleted.
696
        * i386/xm-mingw32.h, rs6000/xm-cygwin32.h: Likewise.
697
 
698
        * xm-std32.h: New file, so far unused.
699
 
700
Fri Nov 21 05:50:54 1997  Andreas Schwab  
701
 
702
        * m68k.c (legitimize_pic_address): Make sure pic register marked used.
703
 
704
        * dwarf2out.c (output_call_frame_info): Call app_enable and
705
        app_disable if flag_debug_asm, not if flag_verbose_asm.
706
 
707
Thu Nov 20 16:37:36 1997  Richard Kenner  
708
 
709
        * expr.c (expand_builtin_apply): Fix typo in last change.
710
 
711
        * expr.c (expand_assignment): If assigning to readonly field,
712
        mark rtx as unchanging.
713
 
714
        * configure.in: Add checks for functions putenv, popen, and vprintf.
715
        (i[3456]86-*-netbsd*): No longer need i386/xm-netbsd.h.
716
        (i860-alliant-*): No longer need i860/xm-fx2800.h.
717
        (m68k-ncr-sysv*): Use xm-svr3.h instead of m68k/xm-tower.h.
718
        (m68k-sun-sunos*): No longer need m68k/xm-sun3.h.
719
        (m68k-*-netbsd*): No longer need m68k/xm-netbsd.h.
720
        (mips-dec-netbsd*): No longer need mips/xm-netbsd.h.
721
        (ns32k-pc532-netbsd*): No longer need ns32k/xm-netbsd.h.
722
        (sparc-*-netbsd*): No longer need sparc/xm-netbsd.h.
723
        (vax-*-netbsd*): No longer need config/xm-netbsd.h.
724
        * arm/xm-netbsd.h: No longer include xm-netbsd.h.
725
        * xm-linux.h (HAVE_VPRINTF, HAVE_POPEN, HAVE_PUTENV): Deleted.
726
        * xm-mips.h (HAVE_VPRINTF, HAVE_PUTENV): Deleted.
727
        * i386/xm-osf.h, xm-arm.h, xm-alpha.h: Likewise.
728
        * xm-sparc.h (HAVE_POPEN): Deleted.
729
        * xm-sh.h (HAVE_VPRINTF): Deleted.
730
        * mips/xm-iris4.h, mips/xm-iris5.h, xm-m88k.h: Likewise.
731
        * m68k/xm-crds.h, m68k/xm-atari.h, m68k/xm-amix.h: Likewise.
732
        * xm-svr3.h, xm-svr4.h, i386/xm-mingw32.h: Likewise.
733
        * i386/xm-os2.h (HAVE_PUTENV): Deleted.
734
        * i386/xm-dos.h, i386/xm-aix.h: Likewise.
735
        * arm/xm-netbsd.h (HAVE_VPRINTF, HAVE_STRERROR): No longer
736
        need undefine.
737
        * xm-netbsd.h, i386/xm-netbsd.h, m68k/xm-netbsd.h: Deleted.
738
        * mips/xm-netbsd.h, ns32k/xm-netbsd.h, sparc/xm-netbsd.h: Likewise.
739
        * i860/xm-fx2800.h, m68k/xm-sun3.h, m68k/xm-tower.h: Likewise.
740
 
741
Thu Nov 20 16:04:24 1997  Richard Earnshaw 
742
 
743
        * explow.c (plus_constant_wide, case MEM): If about to call
744
        force_const_mem, generate the rtl in a saveable obstack.
745
 
746
        * arm.md (movhi): Pass the full MEM to storeinthi, storehi and
747
        storehi_bigend.
748
        (storeinthi, storehi, storehi_bigend): Be more conservative about
749
        when not to force a PLUS or MINUS into a REG.  Use change_address
750
        to create new MEMs.
751
 
752
Wed Nov 19 15:16:04 1997  Ulrich Drepper  
753
 
754
        * c-common.c (print_char_table): Add a and A to float formats.
755
        (scan_char_table): Likewise.
756
        (check_format_info): Recognize `a' as allocate flag only if used
757
        in correct context.
758
 
759
Wed Nov 19 12:56:54 1997  Andreas Schwab  
760
 
761
        * configure.in: Fix check for .
762
 
763
Tue Nov 18 19:27:01 1997  J"orn Rennecke 
764
 
765
        * sh.md (attribute "type"): Add nil.
766
        (movsi_ie): y/y alternative is type nil.
767
        (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X.
768
        (movsf_ie+1): Delete.
769
 
770
Tue Nov 18 18:38:41 1997  Paul Eggert  
771
 
772
        * cccp.c (warn_undef): Now static.
773
        (eval_if_expression): Don't warn about undefined preprocessor symbols
774
        in system headers.
775
        * cexp.y (parse_c_expression):
776
        Now takes new arg specifying whether to warn
777
        about undefined preprocessor symbols.
778
        (warn_undef): Now local and static; independent of warn_undef in cccp.c
779
        (yylex): `register' -> `register int', needed for C9X.
780
 
781
        The following changes are only if TEST_EXP_READER is defined:
782
        (expression_signedp): New var.
783
        (start): Set expression_signedp to signedness of expression.
784
        (print_unsigned_host_wide_int): New function.
785
        (main): Use it to print value of expression, instead of hoping that
786
        `long' is long enough.  Print "u" after unsigned values.
787
 
788
Tue Nov 18 18:33:30 1997  Jim Wilson  
789
 
790
        * mips.c (save_restore_insns): If gp_offset or fp_offset are
791
        large_int, emit two insns instead of one splitable insn.
792
        * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
793
        from cfa_temp_value, use cfa_offset.  Add assert checking that
794
        cfa_reg is SP.
795
 
796
Tue Nov 18 09:11:58 1997  Richard Kenner  
797
 
798
        * fold-const.c (div_and_round_double): Return overflow for
799
        divide-by-zero instead of aborting.
800
 
801
        * tree.c (substitute_in_expr, case TREE_LIST): Fix two typos.
802
 
803
Tue Nov 18 05:03:52 1997  Jeffrey A Law  
804
 
805
        * arm.c (output_move_double): Allocate 3 entries in otherops array.
806
 
807
Tue Nov 18 02:41:01 1997  Paul Eggert  
808
 
809
        * cccp.c (quote_string_for_make): New function.
810
        (deps_output): Use it to fix bug with file name quoting in -M output.
811
 
812
Mon Nov 17 13:28:33 1997  Philip Blundell  
813
 
814
        * arm/lib1funcs.asm (__div0): Provide GNU/Linux implementation.
815
        * arm/t-linux (LIB1ASMFUNCS): Use it.
816
 
817
Mon Nov 17 09:13:59 1997  Andreas Schwab  
818
 
819
        * function.c (purge_addressof_1): Make copy when substituting argument
820
        of ADDRESSOF.
821
        (fixup_var_refs_1): Likewise.
822
 
823
        * m68k.c: Include tree.h.
824
 
825
Mon Nov 17 09:01:05 1997  Richard Kenner  
826
 
827
        * getpwd.c (getpwd, [VMS]): Add extra arg of 0 to getcwd call.
828
 
829
        * alpha/vms.h ({OPTIMIZATION,OVERRIDE}_OPTIONS): Delete, for now.
830
        * alpha/xm-vms.h (DIR_SEPARATOR, PATH_SEPARATOR): Delete.
831
 
832
Mon Nov 17 08:52:45 1997  Richard Earnshaw  
833
 
834
        * function.c (fixup_stack_1): Also fix-up refs via ARG_POINTER_REGNUM.
835
 
836
        * configure.in (arm-*-netbsd*): Doesn't need collect2.
837
 
838
Mon Nov 17 08:50:01 1997  Stephen L Moshier  
839
 
840
        * i386/isc.h (DWARF2_UNWIND_INFO): Define as 0.
841
 
842
Mon Nov 17 08:42:28 1997  Michael P. Hayes  
843
 
844
        * flow.c (propagate_block): Look for pre-inc/dec within PARALLEL.
845
 
846
Mon Nov 17 03:14:46 1997  Paul Eggert  
847
 
848
        * cpplib.c (file_size_and_mode): Remove.
849
        (finclude): Don't assume long and off_t are same size or that
850
        mode_t fits in int.
851
        * cccp.c: (main, finclude, check_precompiled): Don't assume size_t
852
        and off_t are same size.
853
        * gcov.c (read_files): Don't assume off_t and unsigned are same size.
854
 
855
Sun Nov 16 18:56:40 1997  Scott Christley  
856
 
857
        * objc/objc-act.c (objc_demangle): New function.
858
        (objc_printable_name): New function.
859
        (init_objc): Change default function.
860
 
861
        * expr.c (expand_builtin_apply): Prefer nonlocal over block.
862
 
863
Sun Nov 16 18:10:13 1997  Fila Kolodny  
864
 
865
        * i370.c (i370_function_prolog): New function from i370.h.
866
        * i370.h (FUNCTION_PROLOG): Just call i370_function_prolog.
867
 
868
Sun Nov 16 08:40:35 1997  Bruno Haible  
869
 
870
        * calls.c (expand_call, store_one_arg): Don't pass QImode arguments
871
        to emit_library_call.
872
        * expr.c (emit_push_insn, expand_assignment, store_expr): Likewise.
873
        (expand_expr, expand_builtin): Likewise.
874
        * function.c (put_var_into_stack, assign_parms): Likewise.
875
        * alpha.c (alpha_builtin_saveregs): Likewise.
876
        * clipper.c (clipper_builtin_saveregs): Likewise.
877
        * m88k.c (m88k_builtin_saveregs): Likewise.
878
        * pa.c (hppa_builtin_saveregs): Likewise.
879
        * sparc.c (sparc_builtin_saveregs): Likewise.
880
 
881
Sun Nov 16 07:39:08 1997  Paul Eggert  
882
 
883
        * real.h (REAL_VALUES_IDENTICAL): New macro.
884
        * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
885
        * fold-const.c (operand_equal_p): Don't consider -0.0 identical to 0.0.
886
        * tree.c (simple_cst_equal): Likewise.
887
        * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL macro.
888
 
889
Sun Nov 16 07:29:12 1997  Richard Kenner  
890
 
891
        * acconfig.h (NEED_DECLARATION_{,R}INDEX): New cases.
892
        * configure.in: See if need declarations for index and rindex.
893
        * c-typeck.c, collect2.c, cpplib.c, dwarfout.c, gcov.c, protoize.c:
894
        Include stdlib.h, string.h, and strings.h, if they exist.
895
        Only declare index and rindex if needed.
896
        * collect2.c: Only declare free if needed.
897
 
898
        * regclass.c (record_address_regs): Refine choice of index and base
899
        when have sum of two regs, one of which is a hard reg.
900
 
901
Sun Nov 16 07:07:45 1997  Robert Lipe (robertl@dgii.com)
902
 
903
        * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define as in sysv4 and linux
904
        (HAVE_ATEXIT): No longer define.  This confused ELF destructors.
905
        (DBX_DEBUGGING_INFO): Define.
906
 
907
Sat Nov 15 09:55:11 1997  Richard Earnshaw (rearnsha@arm.com)
908
 
909
        * arm.h (GO_IF_LEGITIMATE_ADDRESS): Don't accept MINUS (until reload
910
        knows what to do with it).
911
 
912
Thu Nov 13 11:07:41 1997  Michael Meissner  
913
 
914
        * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
915
        pick apart floating point values, instead of using CONST_DOUBLE_LOW
916
        and CONST_DOUBLE_HIGH.
917
 
918
        * rs6000.md (define_splits for DF constants): Use the appropriate
919
        REAL_VALUE_* interface to pick apart DF floating point constants in
920
        a machine independent fashion.
921
 
922
Thu Nov 13 07:30:53 1997  Richard Earnshaw (rearnsha@arm.com)
923
 
924
        * arm/netbsd.h (LINK_SPEC): Redefine -- pass -X.
925
 
926
        * arm.md (movsicc_insn): Add extra reload alternatives for better
927
        register tying.
928
        (movsfcc_hard_insn, movsfcc_soft_insn, movdfcc_insn): Likewise.
929
 
930
Mon Nov 10 19:32:14 1997  Doug Evans  
931
 
932
        * sparc.md (mov[sdt]f_const_insn): Fix condition to match what
933
        instruction can handle.
934
 
935
Mon Nov 10 03:02:19 1997  Jason Merrill  
936
 
937
        * stmt.c (expand_decl_cleanup_no_eh): New fn.
938
 
939
        * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
940
 
941
Sun Nov  9 14:34:47 1997  David Edelsohn  
942
 
943
        * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
944
        swap instruction order.
945
 
946
Sun Nov  9 09:51:08 1997  Michael P. Hayes  
947
 
948
        * machmode.def (QCmode, HCmode): New modes.
949
 
950
Sun Nov  9 09:24:21 1997  J"orn Rennecke 
951
 
952
        * combine.c (sets_function_arg_p): New function.
953
        (combinable_i3pat): Check if combining with any but the first
954
        argument register setting insn for a function call.
955
 
956
        * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid sheduling load from
957
        stack slot.
958
 
959
Sun Nov  9 09:17:53 1997  Richard Earnshaw (rearnsha@arm.com)
960
 
961
        * loop.c (strength_reduce): If initial value of BIV is equivalent to
962
        a constant, record that as initial value.
963
        (check_dbra_loop): Don't reverse loop if initial value isn't CONST_INT.
964
 
965
Sun Nov  9 09:12:41 1997  Tristan Gingold  
966
 
967
        * expr.c (emit_push_insn): Avoid infinite recursion
968
        when -fcheck-memory-usage.
969
 
970
Sun Nov  9 08:03:42 1997  Richard Kenner  
971
 
972
        * cse.c (simplify_binary_operation): Fix error in last change.
973
 
974
Sun Nov  9 07:56:31 1997  Pat Rankin  
975
 
976
        * vmsconfig.com [version.opt]: Parse version string more robustly.
977
        [@variable@]: Discard configure tokens when using Makefile.in.
978
        [libgcc2-cxx.list]: Generate this new file for CXX_LIB2FUNCS.
979
        [cp/input.c]: Suppress it as workaround to avoid linker warning.
980
        [objc-parse.y]: Now lives in the objc subdirectory.
981
        * make-cc1.com [objc-parse.{c,y}]: Ditto.
982
        * make-cccp.com [prefix.c]: Compile additional source file.
983
 
984
        * cccp.c (VMS_freopen, VMS_fopen, VMS_open, VMS_fstat): Call
985
        corresponding library routine specified via its ordinary name
986
        rather than with a decc$ prefix.  (Reverses Oct 19 change.)
987
 
988
        * cccp.c, cexp.y [HOST_WIDE_INT]: Manually splice long lines
989
        of avoid backslash+newline continuation on #if directives.
990
 
991
Sun Nov  9 01:54:54 1997  Jeffrey A Law  (law@cygnus.com)
992
 
993
        * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
994
        are shared.
995
 
996
Sat Nov  8 23:01:37 1997  Michael P. Hayes  
997
 
998
        * cse.c (simplify_binary_operation): Don't simplify divide by zero
999
        for targets that don't support a representation of INFINITY.
1000
 
1001
Sat Nov  8 22:37:29 1997  Richard Earnshaw  
1002
 
1003
        * Makefile.in (cse.o): Depend on expr.h.
1004
        * cse.c: Include expr.h.
1005
        (fold_rtx, case MEM): For ADDRESSOF, create new MEM.
1006
 
1007
Sat Nov  8 19:27:56 1997  J"orn Rennecke 
1008
 
1009
        * expr.c (expand_increment): When enqueing a postincrement for a MEM,
1010
        use copy_to_reg if address is not a general_operand.
1011
 
1012
Sat Nov  8 18:39:56 1997  Jason Merrill  
1013
 
1014
        * libgcc2.c (L_eh): Define __eh_pc here.
1015
        Replace __eh_type with generic pointer __eh_info.
1016
 
1017
Sat Nov  8 07:03:47 1997  Richard Kenner  
1018
 
1019
        * alpha.h (SECONDARY_OUTPUT_RELOAD_CLASS): If FLOAT_REGS,
1020
        need secondary reload for QImode and HImode even if BWX.
1021
 
1022
        * expmed.c (store_split_bit_field): Force ADDRESSOF into register.
1023
 
1024
        * cse.c (fold_rtx, case ADDRESSOF): New case (that does nothing).
1025
 
1026
        * function.c (fixup_var_refs_1, case ADDRESSSOF): Check that
1027
        new value is valid for insn.
1028
 
1029
        * stor-layout.c (get_best_mode): Refine test for field within
1030
        unit to work properly for negative positions.
1031
 
1032
        * print-rtl.c (print_inline_rtx): Save and restore sawclose and indent.
1033
 
1034
        * reload.c (find_replacement): If PLUS, MINUS, or MULT, see if
1035
        either arg contains a replacement.
1036
 
1037
Fri Nov  7 10:22:24 1997  Jason Merrill  
1038
 
1039
        * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
1040
        linked once FDEs.
1041
 
1042
Fri Nov  7 06:50:57 1997  Richard Kenner  
1043
 
1044
        * alpha.h (FUNCTION_VALUE): Take into account promotion of pointers.
1045
 
1046
        * unroll.c (back_branch_in_range_p): Refine check for INSN at loop end.
1047
 
1048
Wed Nov  5 18:17:50 1997  Paul Eggert  
1049
 
1050
        * fixinc.svr4: Replace `__STDC__ - 0 == 1'
1051
        with `defined (__STRICT_ANSI__)'.
1052
 
1053
Tue Nov  4 18:32:44 1997  Jim Wilson  
1054
 
1055
        * mips.md (insv, extzv, extv): Add change_address call.
1056
        (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
1057
        * mips.c (mips_expand_epilogue): Emit blockage insn before call to
1058
        save_restore_insns if no FP and GP will be restored.
1059
 
1060
        * acconfig.h (HAVE_INTTYPES_H): Undef.
1061
        * configure.in (inttypes.h): Check for conflicts between sys/types.h
1062
        and inttypes.h, and verify that intmax_t is defined.
1063
        * mips/x-iris (CC, OPT, OLDCC): Comment out.
1064
        * mips/x-iris3: Likewise.
1065
 
1066
Tue Nov  4 17:28:31 1997  Doug Evans  
1067
 
1068
        * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
1069
        (yylex): Record wide strings using target endianness, not host.
1070
 
1071
Tue Nov  4 16:18:19 1997  Richard Kenner  
1072
 
1073
        * Makefile.in (distdir-start): Add dependency on $(srcdir)/config.in.
1074
 
1075
Tue Nov  4 06:14:30 1997  Paul Eggert  
1076
 
1077
        * c-lex.c (yylex): Don't warn about constants like
1078
        9223372036854775807 and 18446744073709551615U on an L32LL64 host
1079
        unless pedantic.
1080
 
1081
Mon Nov  3 18:42:44 1997  Jim Wilson  
1082
 
1083
        * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
1084
        * i386.md (prologue_{set_got,get_pc}): Add UNSPEC_VOLATILE to pattern.
1085
        (prologue_get_pc_and_set_got): New pattern.
1086
 
1087
Mon Nov  3 13:42:21 1997  Paul Eggert  
1088
 
1089
        * cccp.c, cpplib.c (compare_defs): Don't complain about arg name
1090
        respellings unless pedantic.
1091
        * cpplib.c (compare_defs): Accept pfile as new arg.
1092
        All callers changed.
1093
 
1094
Fri Oct 31 07:10:09 1997  Jeffrey A Law  (law@cygnus.com)
1095
 
1096
        * global.c (global_alloc): Free the conflict matrix after
1097
        reload has finished.
1098
 
1099
Thu Oct 30 17:30:42 1997  Doug Evans  
1100
 
1101
        * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
1102
        Set extra_parts.
1103
        (sparc*-*-*): Recognize --with-cpu=v9.
1104
        * sparc/elf.h: New file.
1105
        * sparc/t-elf: New file.
1106
 
1107
Thu Oct 30 16:36:17 1997  Richard Kenner  
1108
 
1109
        * stmt.c (expand_asm_operand): If error in matching constraint,
1110
        don't emit asm.
1111
 
1112
Thu Oct 30 12:21:06 1997  J"orn Rennecke 
1113
 
1114
        * va-sh.h (__va_arg_sh1): Define.
1115
        (va_arg): Use it.
1116
        SH3E doesn't use any integer registers for subsequent arguments
1117
        once a non-float value was passed in the stack.
1118
        * sh.c (machine_dependent_reorg): If optimizing, put explicit
1119
        alignment in front label for ADDR_DIFF_VEC.
1120
        * sh.h (PASS_IN_REG_P): Fix SH3E case.
1121
        (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
1122
 
1123
Tue Oct 28 21:09:25 1997  Jim Wilson  
1124
 
1125
        * m68k.md (btst patterns): Add 5200 support.
1126
 
1127
1997-10-28  Brendan Kehoe  
1128
 
1129
        * global.c (global_alloc): Use xmalloc instead of alloca for
1130
        CONFLICTS, since max_allocno * allocno_row_words alone can be more
1131
        than 2.5Mb sometimes.
1132
 
1133
Tue Oct 28 15:06:44 1997  J"orn Rennecke 
1134
 
1135
        * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
1136
        svr4.h.
1137
 
1138
Tue Oct 28 10:19:01 1997  Jason Merrill  
1139
 
1140
        From Brendan:
1141
        * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
1142
 
1143
Mon Oct 27 16:01:14 1997  Jeffrey A Law  (law@cygnus.com)
1144
 
1145
        * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
1146
 
1147
Mon Oct 27 16:11:52 1997  J"orn Rennecke 
1148
 
1149
        * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
1150
        put an use_sfunc_addr before each sfunc.
1151
        * sh.md (use_sfunc_addr, dummy_jump): New insns.
1152
        (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
1153
 
1154
Mon Oct 27 11:49:43 1997  Jason Merrill  
1155
 
1156
        * dwarf2.h: Remove dwarf2out prototypes.
1157
        * tree.h: And put them here.
1158
        * m68k.c, i386.c: Don't include dwarf2.h.
1159
 
1160
Mon Oct 27 00:02:13 1997  Paul Eggert  
1161
 
1162
        Remap include files with header.gcc only if user or configuration
1163
        file specifies "-remap".
1164
 
1165
        * cccp.c (remap): New var.
1166
        (main): Set it if user specifies "-remap".
1167
        (open_include_file): Remap only if `remap' is nonzero.
1168
 
1169
        * cpplib.h (struct cpp_options): New member `remap'.
1170
        * cpplib.c (cpp_options_init): Set remap to 0.
1171
        (open_include_file): Remap only if `remap' is nonzero.
1172
        (cpp_handle_options): Set remap if user specifies "-remap".
1173
 
1174
        * i386/cygwin32.h, rs6000/cygwin32.h (CPP_SPEC): Define with -remap.
1175
 
1176
Sun Oct 26 11:41:49 1997  Jason Merrill  
1177
 
1178
        * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
1179
        bit PC-relative offset.  The exception range table pointer is now in
1180
        the CIE.
1181
        * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
1182
        (count_fdes, add_fdes, get_cie): Adjust.
1183
        (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
1184
 
1185
        From H.J. Lu:
1186
        * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
1187
 
1188
Sat Oct 25 20:29:39 1997  Alexandre Oliva  
1189
 
1190
        * Makefile.in (float.h-nat): If float.h is to be empty, ensure it is.
1191
 
1192
Sat Oct 25 20:16:52 1997  Kaveh R. Ghazi  
1193
 
1194
        * prefix.c: Use stdarg.h only ifdef __STDC__.  Otherwise,
1195
        use varargs.h.  Wrap header with <>, not "".
1196
 
1197
Sat Oct 25 20:10:57 1997  Robert Lipe (robertl@dgii.com)
1198
 
1199
        * i386/sco5.h (EH_FRAME_SECTION_ASM_OP{,_ELF,_COFF}): Define.
1200
        (DWARF2_UNWIND_INFO): Likewise.
1201
        (EXTRA_SECTIONS): Add in_eh.
1202
 
1203
Sat Oct 25 12:20:58 1997  Jeffrey A Law  (law@cygnus.com)
1204
 
1205
        * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
1206
        (TARGET_MULT_BUG): Define.
1207
        (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
1208
        * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
1209
 
1210
Fri Oct 24 15:43:57 1997  Michael Meissner  
1211
 
1212
        * rs6000.c (toplevel): Move include stdio.h before config.h.
1213
 
1214
        (Patch from H.J. Lu, Aug 27, 1997)
1215
        * rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New; defined as 1.
1216
 
1217
        (Patch from Jeff Law, Oct 22, 1997)
1218
        * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
1219
        (rs6000_{save,restore}_machine_status): Save/restore it.
1220
 
1221
        * rs6000.md (movsi_got_internal_mem): New pattern to work around
1222
        case where GOT value did not get a register.
1223
        (movsi_got_internal_mem splitter): Split above pattern.
1224
 
1225
        (Patch from Geoffrey Keating, Oct 21, 1997)
1226
        * rs6000.c (rs6000_stack_info): Avoid creating a stack
1227
        frame under System V ABI if we only need to save the LR.
1228
 
1229
        (Patch from Joel Sherrill, Sep 1, 1997)
1230
        * rs6000/sysv4.h (SUBTARGET_SWITCHES): Add new macro
1231
        EXTRA_SUBTARGET_SWITCHES, which defaults to nothing.
1232
 
1233
        (Patch from Geoffrey Keating, Oct 20, 1997)
1234
        * rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS{,_S}): Add -msdata=none
1235
        switch.
1236
 
1237
Fri Oct 24 15:25:50 1997  Doug Evans  
1238
 
1239
        * sparc.h (ASM_SPEC): Delete.
1240
 
1241
Fri Oct 24 13:16:24 1997  Jeffrey A Law  (law@cygnus.com)
1242
 
1243
        * mn10200.c (indirect_memory_operand): Delete unused function.
1244
        * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
1245
        * mn10200.md (bset, bclr insns): Handle output in a reg too.
1246
 
1247
        * mn10300.c (symbolic_operand, legitimize_address): New functions.
1248
        * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
1249
        (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
1250
 
1251
Thu Oct 23 08:03:59 1997  J"orn Rennecke 
1252
 
1253
        * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
1254
        for FILENAME.
1255
 
1256
Tue Oct 21 16:18:13 1997  Paul Eggert  
1257
 
1258
        * winnt/win-nt.h (CPP_SPEC): Remove reference to obsolete
1259
        option -lang-c-c++-comments.
1260
 
1261
Tue Oct 21 10:00:20 1997  Jeffrey A Law  (law@cygnus.com)
1262
 
1263
        * mn10300.md (movqi, movhi): Avoid using address registers as
1264
        destinations unless absolutely necessary.
1265
 
1266
        * mn10200.c (expand_prologue): Fix typo.
1267
 
1268
        * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed addresses.
1269
        * mn10200.md (neghi2): Provide an alternative which works if
1270
        the input and output register are the same.
1271
 
1272
        * mn10300.c (print_operand): Handle 'S'.
1273
        * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
1274
        shift amount in last alternative
1275
 
1276
        * mn10300.c (expand_epilogue): Rework to handle register restores
1277
        in "ret" and "retf" instructions correctly.
1278
 
1279
Tue Oct 21 07:35:19 1997  Richard Earnshaw  (rearnsha@arm.com)
1280
 
1281
        * arm.md (insv): Avoid writing result into a paradoxical subreg.
1282
 
1283
Tue Oct 21 07:12:28 1997  J"orn Rennecke 
1284
 
1285
        * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
1286
 
1287
Mon Oct 20 12:04:04 1997  Nick Clifton  
1288
 
1289
        * v850.h (CPP_SPEC): Define __v850__.
1290
        (CPP_PREDEFINES): Do not define __v850__.
1291
 
1292
        * xm-v850.h: Use __v850 rather than __v850__ to identify v850 port.
1293
 
1294
Mon Oct 20 17:29:55 1997  Doug Evans  
1295
 
1296
        * sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
1297
        (DEFAULT_ARCH32_P): New macro.
1298
        (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
1299
        (enum cmodel): Declare.
1300
        (sparc_cmodel_string,sparc_cmodel): Declare.
1301
        (SPARC_DEFAULT_CMODEL): Provide default.
1302
        (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
1303
        (TARGET_FULLANY): Deleted.
1304
        (TARGET_CM_MEDMID): New macro.
1305
        (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
1306
        (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
1307
        (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
1308
        (CPP_SPEC): Rewrite.
1309
        (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
1310
        (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
1311
        (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
1312
        (ASM_SPEC): Add %(asm_arch).
1313
        (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
1314
        Rename asm_default to asm_cpu_default.
1315
        Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
1316
        cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
1317
        (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
1318
        ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
1319
        (MASK_INT64,MASK_LONG64): Delete.
1320
        (MASK_ARCH64): Renamed to MASK_64BIT.
1321
        (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
1322
        (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
1323
        (TARGET_SWITCHES): Always provide 64 bit options.
1324
        (ARCH64_SWITCHES): Delete.
1325
        (TARGET_OPTIONS): New option -mcmodel=.
1326
        (INT_TYPE_SIZE): Always 32.
1327
        (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
1328
        (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
1329
        (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
1330
        (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
1331
        * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
1332
        CPP_SPEC.
1333
        (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
1334
        * sparc/linux.h: Likewise.
1335
        * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
1336
        (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
1337
        (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
1338
        (SPARC_DEFAULT_CMODEL): Define.
1339
        (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
1340
        (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
1341
        (LONG_DOUBLE_TYPE_SIZE): Define.
1342
        (ASM_SPEC): Add %(asm_arch).
1343
        * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
1344
        (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
1345
        (TARGET_CPU_DEFAULT): Add ultrasparc case.
1346
        * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
1347
        (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
1348
        (SPARC_DEFAULT_CMODEL): Define.
1349
        * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
1350
        (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.  Delete
1351
        MASK_LONG64, MASK_MEDANY.
1352
        (SPARC_DEFAULT_CMODEL): Define.
1353
        (CPP_PREDEFINES): Delete.
1354
        (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
1355
        (ASM_SPEC): Add %(asm_arch).
1356
        (LONG_DOUBLE_TYPE_SIZE): Define.
1357
        (DWARF2_DEBUGGING_INFO): Define.
1358
        * sparc/splet.h (CPP_SPEC): Delete.
1359
        * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
1360
        (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
1361
        (BLOCK_PROFILER): Likewise.
1362
        * sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
1363
        (sparc_override_options): Handle code model selection.
1364
        (sparc_init_expanders): Renamed from sparc64_init_expanders.
1365
        * sparc.md: TARGET_ renamed to TARGET_CM_....
1366
        TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
1367
        (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
1368
        (sethi_di_fullany): Delete.
1369
 
1370
Mon Oct 20 17:20:17 1997  Jim Wilson  
1371
 
1372
        * mips.c (compute_frame_size): Not a leaf function if profile_flag set.
1373
 
1374
Sun Oct 19 17:46:02 1997  Douglas Rupp  
1375
 
1376
        * cccp.c (OBJECT_SUFFIX): Add default definition.
1377
        (main): Use OBJECT_SUFFIX.
1378
        (VMS_{freopen,fopen,open}): Use instead of using macro on
1379
        unprefixed name.
1380
        (VMS_fstat): Use decc$fstat explicitly, not via macro.
1381
 
1382
Sun Oct 19 09:07:38 1997  Richard Kenner  
1383
 
1384
        * prefix.c (get_key_value): Initialize prefix to null.
1385
        * Makefile.in (prefix.o): Properly pass in prefix.
1386
 
1387
        * objc/Make-lang.in (objc.distdir): Make the objc directory.
1388
        * Makefile.in (distdir-start): No longer depend on objc-parse.[cy].
1389
        Don't copy objc files here.
1390
        (TAGS): Don't delete objc-parse.y
1391
 
1392
        * i386/mingw32.h (LIB_SPEC): Add -ladvapi32.
1393
        (STARTFILE_SPEC): If -dll, use dllcrt1.o.
1394
        (INCOMING_RETURN_ADDR_RTX): Undefine.
1395
 
1396
        * Makefile.in (float.h-nat): Avoid using /dev/null for input,
1397
        since it's not present on all systems.
1398
 
1399
        * prefix.c : New file.
1400
        * Makefile.in (xgcc, cccp, cppmain, fix-header): Add prefix.o.
1401
        (prefix.o): New rule.
1402
        * cccp.c (update_path): Add extern definition.
1403
        (struct default_include): New field `component'.
1404
        (default_include): Add initializer for new field to all entries.
1405
        (new_include_prefix): Take new arg and call update_path;
1406
        all callers changed.
1407
        Add trailing "." before doing stat of file.
1408
        * cpplib.c (update_path): Add extern definition.
1409
        (struct default_include): New field `component'.
1410
        (default_include): Add initializer for new field to all entries.
1411
        (cpp_start_read): Call update_path.
1412
        * gcc.c (upate_path): Add extern definition.
1413
        (find_a_file): For MS-DOS-based, consider a drive spec as absolute.
1414
        (add_prefix): New arg component and pass to update_path;
1415
        all callers changed.
1416
        * netbsd.h (INCLUDE_DEFAULTS): Add `component' to values.
1417
        * i386/freebsd.h, mips/netbsd.h, winnt/win-nt.h: Likewise.
1418
        * i386/mingw32 (STANDARD_INCLUDE_COMPONENT): New macro.
1419
        * vax/vms.h (INCLUDE_DEFAULTS): New macro.
1420
        * vax/xm-vms.h (INCLUDE_DEFAULTS): Delete from here.
1421
 
1422
        * sparc/sol2.h (WIDEST_HARDWARE_FP_SIZE): New macro.
1423
 
1424
        * i386.c (ix86_prologue): Conditionalize Dwarf2 calls
1425
        on #ifdef INCOMING_RETURN_ADDR_RTX.
1426
        * i386.md (allocate_stack): Fix incorrect operand number.
1427
 
1428
        * alpha.c (vmskrunch): Deleted.
1429
        (output_prolog, VMS): Use alloca for entry_label and don't
1430
        truncate to 64 characters.
1431
        * alpha/vms.h (vmskrunch): No longer define.
1432
        (ENCODE_SECTION_INFO): No longer call vmskrunch.
1433
        (ASM_DECLARE_FUNCTION_NAME): No longer override.
1434
 
1435
        * toplev.c (output_quoted_string): Call new OUTPUT_QUOTED_STRING macro.
1436
        * i386/mingw32.h (OUTPUT_QUOTED_STRING): New macro.
1437
 
1438
        * stmt.c (using_eh_for_cleanups_p): New variable.
1439
        (using_eh_for_cleanups): New function.
1440
        (expand_decl_cleanup): Don't call expand_eh_region_start_tree
1441
        unless using EH for cleanups.
1442
 
1443
        * function.c (purge_addressof_1): When dealing with a
1444
        bare (address (mem)), verify that what's inside is valid in insn.
1445
        (instantiate_virtual_regs_1, case ADDRESSOF): If have MEM, just
1446
        do instantiation inside and leave alone here.
1447
 
1448
        * fold-const.c (fold, case COND_EXPR): Allow creation
1449
        of {MIN,MAX}_EXPR, but preserve info on orginal comparison code.
1450
 
1451
        * function.h (restore_tree_status): Update prototype.
1452
 
1453
        * cse.c (cse_basic_block): Flush the hash table every 1,000 insns.
1454
 
1455
Sat Oct 18 13:48:14 1997  J"orn Rennecke 
1456
 
1457
        * longlong.h (count_leading_zeros): Add missing casts to USItype.
1458
 
1459
Sat Oct 18 13:35:09 1997  Marc Lehmann (pcg@goof.com)
1460
 
1461
        * toplev.c (main): Don't execute "ps" under MSDOS.
1462
 
1463
Sat Oct 18 13:26:42 1997  Richard Earnshaw  (rearnsha@arm.com)
1464
 
1465
        * function.c (instantiate_virtual_regs): Don't instantiate the
1466
        stack slots for the parm registers until after the insns have had
1467
        their virtuals instantiated.
1468
 
1469
         * varargs.h (va_arg): For ARM systems, definition is endian-dependent.
1470
         * stdarg.h (va_arg): Likewise.
1471
 
1472
Sat Oct 18 11:23:04 1997  Nick Clifton  
1473
 
1474
        * final.c (end_final): Use ASM_OUTPUT_ALIGNED_DECL_LOCAL if defined.
1475
        * varasm.c (assemble_static_space): Likewise.
1476
        (assemble_variable): Use ASM_OUTPUT_ALIGNED_DECL_{COMMON,LOCAL} if def.
1477
 
1478
Sat Oct 18 11:02:19 1997  Doug Evans  
1479
 
1480
        * expr.c (use_group_regs): Don't call use_reg unless REG.
1481
 
1482
Sat Oct 18 10:39:22 1997  Jim Wilson  
1483
 
1484
        * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
1485
        redundant conditional moves to single operand.
1486
 
1487
        * expmed.c (extract_bit_field): Don't make flag_force_mem disable
1488
        extzv for memory operands.
1489
 
1490
Sat Oct 18 09:58:44 1997  Jeffrey A Law  
1491
 
1492
        * ptx4.h: Fix typo.
1493
 
1494
        * integrate.c (save_for_inline_copying): Avoid undefined pointer
1495
        operations.
1496
        (expand_inline_function): Likewise.
1497
 
1498
Sat Oct 18 09:49:46 1997  Jason Merrill  
1499
 
1500
        * tree.c (restore_tree_status): Also free up temporary storage
1501
        when we finish a toplevel function.
1502
        (dump_tree_statistics): Print stats for backend obstacks.
1503
 
1504
        * libgcc2.c (__throw): Don't copy the return address.
1505
        * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
1506
 
1507
        * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
1508
        * tree.h: Declare them.
1509
 
1510
        * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
1511
        * toplev.c (main): Initialize exceptions_via_longjmp.
1512
 
1513
        * tree.c: Add extra_inline_obstacks.
1514
        (save_tree_status): Use it.
1515
        (restore_tree_status): If this is a toplevel inline obstack and we
1516
        didn't want to save anything on it, recycle it.
1517
        (print_inline_obstack_statistics): New fn.
1518
        * function.c (pop_function_context_from): Pass context to
1519
        restore_tree_status.
1520
 
1521
Sat Oct 18 09:45:22 1997  Michael Meissner  
1522
 
1523
        * profile.c (get_file_function_name): Remove declaration.
1524
        * c-lang.c (finish_file): Likewise.
1525
 
1526
Sat Oct 18 09:35:40 1997  Tristan Gingold  
1527
 
1528
        * expr.c (expand_assignment): If -fcheck-memory-usage, add call to
1529
        chkr_check_addr if size not zero.
1530
        (expand_expr, case COMPONENT_REF): Likewise.
1531
        (expand_builtin): If -fcheck_memory-usage, check memory usage
1532
        of operands for strlen, strcpy, and memcpy or don't use builtins
1533
        for memcmp and strcmp.
1534
        * expr.h (chkr_check_str_libfunc): Declare.
1535
        * optabs.c (chkr_check_str_libfunc): New variable.
1536
        (init_optabs): Initialize it.
1537
 
1538
Sat Oct 18 09:29:21 1997  J"orn Rennecke  
1539
 
1540
        * i386/cygwin32.h (ASM_COMMENT_START): Redefine.
1541
 
1542
Sat Oct 18 09:23:54 1997  Andreas Schwab  
1543
 
1544
        * frame.c (__frame_state_for): Execute the FDE insns until the
1545
        current pc value is strictly bigger than the target pc value.
1546
 
1547
        * expr.c (expand_expr, case TARGET_EXPR): If target and slot has
1548
        no DECL_RTL, then call mark_addressable again for the slot after
1549
        we give it RTL.
1550
 
1551
Sat Oct 18 08:58:36 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
1552
 
1553
        * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
1554
        * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Unconditionally define.
1555
        * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
1556
        __DOLPHIN__.
1557
 
1558
        * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment.
1559
        * dwarf2out.c (output_call_frame_info): Call app_enable and
1560
        app_disable to let GNU as accept the generated comments.
1561
 
1562
        * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
1563
 
1564
Sat Oct 18 08:50:04 1997  Philippe De Muyter  
1565
 
1566
        * flow.c (print_rtl_with_bb): Cast alloca return values.
1567
 
1568
Sat Oct 18 08:47:46 1997  Douglas Rupp  
1569
 
1570
        * alpha/vms.h (LITERALS_SECTION_ASM_OP, ASM_OUTPUT_DEF):
1571
        (EXTRA_SECTION_FUNCTIONS): Add literals_section.
1572
        (EXTRA_SECTIONS): Include in_literals.
1573
 
1574
Sat Oct 18 08:40:55 1997  Nick Burrett  
1575
 
1576
        * cpplib.c: (initialize_builtins): Cast all string constants for the
1577
        function install, to type U_CHAR *.
1578
        (eval_if_expression): Likewise.
1579
        * cppexp.c: (cpp_lex): Cast string, for cpp_lookup, to type U_CHAR *.
1580
 
1581
Sat Oct 18 08:38:13 1997  Ken Raeburn  
1582
 
1583
        * c-lex.c (check_newline) At `skipline', flush nextchar as well.
1584
 
1585
Sat Oct 18 08:17:13 1997  Paul Russell  
1586
 
1587
        * input.h (struct file_stack): Added indent_level.
1588
        * c-lex.c (check_newline): Add {}-count & balance warning.
1589
 
1590
Sat Oct 18 06:54:39 1997  Richard Kenner  
1591
 
1592
        * regclass.c (record_address_regs, case PLUS): Refine how to choose
1593
        which is base and index.
1594
 
1595
        * alpha.h (FUNCTION_VALUE): Use word_mode only for integral types,
1596
        not types with integral modes.
1597
 
1598
        * final.c (alter_cond): Properly conditionalize forward decl.
1599
 
1600
        * tree.h (SAVE_EXPR_NOPLACEHOLDER): New flag.
1601
        * tree.c (contains_placeholder_p, case SAVE_EXPR): Avoid
1602
        checking each SAVE_EXPR more than once.
1603
 
1604
        * rs6000.md (nonlocal_goto_receiver): Don't test pool size.
1605
 
1606
        * i386.c (load_pic_register): New function.
1607
        (ix86_prologue): Code to load PIC register moved to new function.
1608
        Don't emit blockage if not generating RTL.
1609
        * i386.md (nolocal_goto_receiver): New pattern.
1610
 
1611
        * i386.c: Major cleanup, mostly reformatting.
1612
        Include dwarf2.h.
1613
        Remove many spurious casts.
1614
        (ix86_{pro,epi}logue): Use proper mode for SET rtx.
1615
 
1616
Fri Oct 17 17:13:42 1997  David S. Miller  
1617
 
1618
        * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
1619
        * sparc.h (FUNCTION_PROFILER): Fix format string when TARGET_MEDANY.
1620
        * sparc.c (output_double_int): Output DI mode values
1621
        correctly when HOST_BITS_PER_WIDE_INT is 64.
1622
        (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
1623
        fmovd so it works if a quad float ends up in one of the upper 32
1624
        float regs.
1625
        * sparc.md (pic_{lo_sum,sethi}_di): New patterns for PIC support
1626
        on sparc64.
1627
 
1628
Fri Oct 17 16:27:07 1997  Doug Evans  
1629
 
1630
        * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
1631
        * sparc.h (PROMOTE_MODE): Promote small ints if arch64.
1632
        (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
1633
        (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
1634
        (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
1635
        (SPARC_FP_ARG_FIRST): New macro.
1636
        (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
1637
        (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
1638
        (NPARM_REGS): There are 32 fp argument registers now.
1639
        (FUNCTION_ARG_REGNO_P): Likewise.
1640
        (FIRST_PARM_OFFSET): Update to new v9 abi.
1641
        (REG_PARM_STACK_SPACE): Define for arch64.
1642
        (enum sparc_arg_class): Delete.
1643
        (sparc_arg_count,sparc_n_named_args): Delete.
1644
        (struct sparc_args): Redefine and use for arch32 as well as arch64.
1645
        (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
1646
        (FUNCTION_ARG_ADVANCE): Rewrite.
1647
        (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
1648
        (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
1649
        (FUNCTION_ARG_CALLEE_COPIES): Delete.
1650
        (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
1651
        (STRICT_ARGUMENT_NAMING): Define.
1652
        (doublemove_string): Declare.
1653
        * sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
1654
        (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
1655
        (doublemove_string): New function.
1656
        (output_move_quad): Clean up some of the arch64 support.
1657
        (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
1658
        Don't add 8 bytes of reserved space if arch64.
1659
        (sparc_builtin_saveregs): Combine arch32/arch64 versions.
1660
        (init_cumulative_args): New function.
1661
        (function_arg_slotno): New static function.
1662
        (function_arg,function_arg_partial_nregs): New functions.
1663
        (function_arg_{pass_by_reference,advance}): New functions.
1664
        (function_arg_padding): New function.
1665
        * ginclude/va-sparc.h: Rewrite v9 support.
1666
 
1667
Fri Oct 17 13:21:45 EDT 1997  Philip Blundell  
1668
 
1669
        * arm/netbsd.h (TYPE_OPERAND_FMT): use % not @ to avoid
1670
        problems with comments.
1671
 
1672
Fri Oct 17 13:00:38 EDT 1997  Richard Earnshaw  (rearnsha@arm.com)
1673
 
1674
        * arm/aout.h (ASM_OUTPUT_LABEL): Define in place of ARM_OUTPUT_LABEL.
1675
        * arm/aof.h (ASM_OUTPUT_LABEL): Likewise.
1676
        * arm.h (ASM_OUTPUT_LABEL): Delete.
1677
        (ASM_OUTPUT_INTERNAL_LABEL): Call ASM_OUTPUT_LABEL directly.
1678
        * arm.c (arm_asm_output_label): Delete.
1679
 
1680
        * arm/aout.h (ASM_OUTPUT_ALIGNED_LOCAL): Do what is needed inline.
1681
        * arm.c (output_lcomm_directive): Delete.
1682
 
1683
        * arm.h (PUSH_ROUNDING): Delete; this is not what happens.
1684
        (ACCUMULATE_OUTGOING_ARGS): Define.
1685
        (PROMOTE_FUNCTION_ARGS): Define.
1686
        (INITIAL_ELIMINATION_OFFSET): Take current_function_outgoing_args_size
1687
        into account.
1688
        * arm.c (use_return_insn, output_func_epilogue,
1689
        arm_expand_prologue): Likewise.
1690
 
1691
        * arm.c (const_ok_for_arm): If HOST_WIDE_INT more than 32 bits,
1692
        insist high bits are all zero  or all one.
1693
        (output_move_double): Handle case where CONST_INT is more than 32 bits.
1694
 
1695
        * arm.c (load_multiple_sequence): Support SUBREG of MEM.
1696
        (store_multiple_sequence): Likewise.
1697
 
1698
        * arm.c (arm_gen_load_multiple): New args UNCHANGING_P and IN_STRUCT_P.
1699
        Use them if we create any new MEMs; all callers changed.
1700
        (arm_gen_store_multiple): Likewise.
1701
        (arm_gen_movstrqi): Preserve RTX_UNCHANGING_P and MEM_IN_STRUCT_P
1702
        on any MEMs created.
1703
 
1704
        * arm.h (ASM_OUTPUT_MI_THUNK): Use branch instruction to jump to label.
1705
        (RETURN_ADDR_RTX): Use NULL_RTX rather than casting zero.
1706
        (output_move_double): Correct typo in prototype.
1707
 
1708
        * arm.md (movsfcc): If not TARGET_HARD_FLOAT, ensure operand[3] valid.
1709
 
1710
        * arm/netbsd.h (CPP_PREDEFINES): Always predefine __arm__.
1711
        * arm/xm-netbsd.h (SYS_SIGLIST_DECLARED, HAVE_STRERROR): Define these.
1712
 
1713
        * arm/t-netbsd (CROSS_LIBGCC1, LIB1ASMSRC, LIB1ASMFUNCS) Don't define
1714
        these any more.
1715
        * configure.in (arm-*-netbsd*): Pick up t-netbsd before arm/t-netbsd.
1716
 
1717
Thu Oct 16 19:31:22 1997  Jim Wilson  
1718
 
1719
        * v850.c (ep_memory_offset): New function.
1720
        (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
1721
 
1722
        * v850.h (CONST_OK_FOR_*): Add and correct comments.
1723
        (CONSTANT_ADDRESS_P): Add comment.
1724
        (EXTRA_CONSTRAINT): Define 'U'.
1725
        * v850.md: Add comments on bit field instructions.
1726
        (addsi3): Delete &r/r/r alternative.  Add r/r/U alternative.
1727
        (lshrsi3): Use N not J constraint.
1728
 
1729
        * v850.md (v850_tst1+1): New define_split for tst1 instruction.
1730
 
1731
        * v850.c (reg_or_0_operand): Call register_operand.
1732
        (reg_or_int5_operand): Likewise.
1733
        * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
1734
        (TARGET_SWITCHES): Add "big-switch".
1735
        (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
1736
        ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
1737
        (CASE_DROPS_THROUGH): Comment out.
1738
        (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
1739
        * v850.md (cmpsi): Delete compare mode.
1740
        (casesi): New pattern.
1741
 
1742
        * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
1743
        * v850.md (ashlsi3): Use SImode not QImode for shift count.
1744
        (lshrsi3): Likewise.
1745
 
1746
        * v850.c (print_operand): Add 'c', 'C', and 'z' support.  Delete
1747
        unreachable switch statement after 'b' support.  Remove "b" from
1748
        strings for 'b' support.
1749
        * v850.md (branch_normal, branch_invert): Change %b to b%b.
1750
 
1751
Thu Oct 16 13:08:45 1997  Doug Evans  
1752
 
1753
        * configure.in (sparc-*-elf*): New target.
1754
 
1755
Wed Oct 15 22:30:37 1997  J"orn Rennecke 
1756
 
1757
        * h8300.h (REG_CLASS_CONTENTS): AP is a general register.
1758
        (REG_OK_FOR_BASE_P, ! REG_OK_STRICT case): Reject special registers.
1759
 
1760
Wed Oct 15 22:00:57 1997  J"orn Rennecke 
1761
 
1762
        * sh.md (movhi+1): Add x/r alternative.
1763
 
1764
        * sh/elf.h (HANDLE_SYSV_PRAGMA): Undefine.
1765
 
1766
        * va-sh.h (va_arg): Fix big endian bugs for small integers.
1767
 
1768
Wed Oct 15 21:34:45 1997  David Edelsohn  
1769
 
1770
        * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
1771
        PPC601.
1772
        (umulsidi3,umulsi3_highpart): Likewise.
1773
        (smulsi3_highpart_no_mq): Add !TARGET_POWER.
1774
 
1775
Wed Oct 15 18:45:31 1997  Doug Evans  
1776
 
1777
        * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
1778
 
1779
Wed Oct 15 17:17:33 1997  Jeffrey A Law  (law@cygnus.com)
1780
 
1781
        * pa.c (following_call): Fail if the CALL_INSN is an indirect call.
1782
 
1783
Wed Oct  1 17:52:09 1997  Douglas Rupp  
1784
 
1785
        * vms.h (UNALIGNED_{SHORT,INT,DOUBLE_INT}_ASM_OP): Define.
1786
 
1787
Wed Oct  1 16:09:42 1997  Benjamin Kosnik  
1788
 
1789
        * fixincludes: Fix sys/param.h so that MAXINT will not be redefined
1790
        on HPUX.
1791
 
1792
Wed Oct  1 08:08:21 1997  Jeffrey A Law  
1793
 
1794
        * cse.c (this_insn_cc0_mode): Initialize.
1795
 
1796
Wed Oct  1 07:22:12 1997  Richard Henderson  
1797
 
1798
        * i386.h (RETURN_ADDR_RTX): Use FRAME arg, not ap.
1799
 
1800
Tue Sep 30 19:19:58 1997  Jim Wilson  
1801
 
1802
        * except.c (find_exception_handler_labels): Correct argument to free.
1803
 
1804
Fri Sep 26 14:06:45 1997  Mike Stump  
1805
 
1806
        * c-decl.c (start_struct): Ensure that structs with forward
1807
        declarations are in fact packed when -fpack-struct is given.
1808
 
1809
Wed Sep 24 11:31:24 1997  Mike Stump  
1810
 
1811
        * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
1812
        packing structure.  This allows a structure with only bytes to be
1813
        aligned on a byte boundary and have no padding on a m68k.
1814
 
1815
Tue Sep 30 11:00:00 1997  Brendan Kehoe  
1816
 
1817
        * except.c (find_exception_handler_labels): Free LABELS when done.
1818
 
1819
Tue Sep 30 10:47:33 1997  Paul Eggert  
1820
 
1821
        * cexp.y, cppexp.c (HOST_BITS_PER_WIDE_INT):
1822
        Define only if not already defined.
1823
 
1824
Mon Sep 29 17:55:55 1997  Gavin Koch  
1825
 
1826
        * c-decl.c (warn_implicit): Deleted.
1827
        (warn_implicit_int, mesg_implicit_function_declaration}): New vars.
1828
        (c_decode_option): For -Wimplicit, set both new variables.
1829
        Add -Wimplicit-function-declarations, -Wimplicit-int,
1830
        and -Werror-implicit-function-declaration.
1831
        (implicitly_declare, grokdeclarator): Use new flags.
1832
        * toplev.c (lang_options): Add new -W options.
1833
 
1834
Mon Sep 29 17:55:15 1997  Richard Kenner  
1835
 
1836
        * c-common.c (check_format_info): Add check for scanf into
1837
        constant object or via constant pointer type.
1838
 
1839
Mon Sep 29 16:10:12 1997  Richard Henderson  
1840
 
1841
        * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne.
1842
        (bne): Likewise for cmpeq+beq.
1843
 
1844
Mon Sep 29 15:58:22 1997  Doug Evans  
1845
 
1846
        * reload1.c (reload_cse_simplify_set): Fix return values.
1847
 
1848
Mon Sep 29 08:21:35 1997  Bruno Haible  
1849
 
1850
        * i386.c (notice_update_cc): Use reg_overlap_mentioned_p.
1851
 
1852
Sun Sep 28 18:59:58 1997  Jason Merrill  
1853
 
1854
        * libgcc2.c (__throw): Fix thinko.
1855
 
1856
Sun Sep 28 12:00:52 1997  Mark Mitchell  
1857
 
1858
        * cplus-dem.c (demangle_template): Add new parameter.  Handle new
1859
        template-function mangling.
1860
        (consume_count_with_underscores): New function.
1861
        (demangle_signature): Handle new name-mangling scheme.
1862
 
1863
Sun Sep 28 11:19:09 1997  Richard Kenner  
1864
 
1865
        * flow.c (print_rtl_with_bb): Reformat messages about BB boundaries.
1866
 
1867
        * calls.c: Include regs.h.
1868
        * profile.c: Likewise.
1869
        * Makefile.in (calls.o, profile.o): Depend on regs.h.
1870
        * except.h (expand_builtin_dwarf_reg_size): Put in #ifdef TREE_CODE.
1871
 
1872
        * tree.h (get_file_function_name): Add decl.
1873
        * dwarf2out.c (output_call_frame_info): Don't cast its result.
1874
 
1875
Sun Sep 28 10:58:21 1997  Manfred Hollstein  
1876
 
1877
        * Makefile.in (sub-makes): Pass value of LANGUAGES.
1878
 
1879
Sun Sep 28 10:52:59 1997  Ian Dall  
1880
 
1881
        * regs.h (SMALL_REGISTER_CLASSES): Default to 0.
1882
        * calls.c (prepare_call_address, expand_call):
1883
        Remove #if test on SMALL_REGISTER_CLASSES.
1884
        * combine.c (can_combine_p, combinable_i3pat, try_combine): Likewise.
1885
        * cse.c (canon_hash): Likewise.
1886
        * function.c (expand_function_start): Likewise.
1887
        * jump.c (jump_optimize): Likewise.
1888
        * local-alloc.c (optimize_reg_copy_1): Likewise.
1889
        * loop.c (scan_loop, valid_initial_value_p): Likewise.
1890
        * profile.c (output_arc_profiler): Likewise.
1891
        * reload.c (push_secondary_reload, push_reload): Likewise.
1892
        (combine_reloads): Likewise.
1893
        * reload1.c (reload, scan_paradoxical_subregs): Likewise.
1894
        (order_regs_for_reload, reload_as_needed): Likewise.
1895
        (choose_reload_regs): Likewise.
1896
        (merge_assigned_reloads): Declare unconditionally.
1897
 
1898
Sat Sep 27 11:02:38 1997  Jason Merrill  
1899
 
1900
        * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
1901
        * tree.h (built_in_function): Likewise.
1902
        * expr.c (expand_builtin): Likewise.
1903
        * except.h: Likewise.
1904
        * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
1905
        * libgcc2.c (copy_reg): New fn.
1906
        (__throw): Use it.
1907
 
1908
Fri Sep 26 09:00:13 1997  Andreas Schwab  
1909
 
1910
        * frame.c (gansidecl.h): New include, for PROTO.
1911
        * dwarf2out.c: Move inclusion of dwarf2.h down.
1912
        (dwarf2out_cfi_label): Don't declare here.
1913
        * dwarf2.h (dwarf2out_{do_frame,cfi_label,def_cfa}): New declarations.
1914
        (dwarf2out_{window_save,args_size,reg_save,return_save}): Likewise.
1915
        (dwarf2out_{return_reg,begin_prologue,end_epilogue}): Likewise.
1916
        * m68k.c (dwarf2.h): Include.
1917
        (output_function_prologue): Add dwarf2 support.
1918
        * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
1919
        (INCOMING_FRAME_SP_OFFSET): Likewise.
1920
 
1921
        * integrate.c (copy_rtx_and_substitute, case ADDRESSOF): New case.
1922
 
1923
        * integrate.c (expand_inline_function): Make sure there is at
1924
        least one insn that can be used as an insertion point.
1925
 
1926
Fri Sep 26 08:54:59 1997  Paul Eggert  
1927
 
1928
        * c-typeck.c (build_binary_op): Warn about comparing signed vs
1929
        unsigned if -W is specified and -Wno-sign-compare is not.
1930
        * c-decl.c (warn_sign_compare): Initialize to -1.
1931
        (c_decode_option): -Wall no longer implies -Wsign-compare.
1932
 
1933
Wed Sep 24 21:34:06 1997  Jason Merrill  
1934
 
1935
        * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
1936
 
1937
Wed Sep 24 19:17:08 1997  Doug Evans  
1938
 
1939
        * sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
1940
        (get_pc_via_rdpc): Renamed from get_pc_sp64.
1941
        * sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
1942
 
1943
Wed Sep 24 18:38:22 1997  David S. Miller  
1944
 
1945
        * sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
1946
        (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
1947
        and -malign-functions=.
1948
        (sparc_align_{loops,jumps,funcs}_string): Declare.
1949
        (sparc_align_{loops,jumps,funcs}): Declare.
1950
        (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
1951
        (FUNCTION_BOUNDARY): Use sparc_align_funcs.
1952
        (STACK_BIAS): Define.
1953
        (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT, then perform test.
1954
        (SPARC_SETHI_P): New macro.
1955
        (CONST_OK_FOR_LETTER_P): Use it.
1956
        (ASM_OUTPUT_ALIGN_CODE): Define.
1957
        (ASM_OUTPUT_LOOP_ALIGN): Define.
1958
        * sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
1959
        (sparc_align_{loops,jumps,funcs}): New globals.
1960
        (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
1961
        -malign-functions=.
1962
        (move_operand): Use SPARC_SETHI_P.
1963
        (arith_double_operand): Cast to unsigned HOST_WIDE_INT, then test.
1964
        (arith11_double_operand): Likewise.
1965
        (arith10_double_operand): Likewise.
1966
        (finalize_pic): Finish sparc64 support.
1967
        (emit_move_sequence): Use SPARC_SETHI_P.  Simplify low part of
1968
        64 bit constants if able.
1969
        (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
1970
        (sparc_builtin_saveregs [sparc64]): Don't save fp regs if ! TARGET_FPU.
1971
        * sparc.md: Use GEN_INT instead of gen_rtx.
1972
        (get_pc_sp32): Use for sparc64 as well.
1973
        (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
1974
        (sethi_di_sp64_const): Likewise.
1975
        (movtf_cc_sp64): Check TARGET_HARD_QUAD.
1976
        (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
1977
        (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
1978
 
1979
Wed Sep 24 08:25:28 1997  Alexandre Oliva  
1980
 
1981
        * i386.md (allocate_stack): Fix typo in last change.
1982
 
1983
Tue Sep 23 19:02:46 1997  Doug Evans  
1984
 
1985
        * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
1986
        * sparc/linux.h (COMMENT_BEGIN): Likewise.
1987
        * sparc/linux64.h (COMMENT_BEGIN): Likewise.
1988
 
1989
Tue Sep 23 14:48:18 1997  David S. Miller  
1990
 
1991
        Add sparc64 linux support.
1992
        * configure.in (sparc64-*-linux*): Recognize.  Add sparc/xm-sparc.h
1993
        to xm_file list on 32-bit sparc-linux.
1994
        * sparc/xm-sp64.h: New file.
1995
        * sparc/linux64.h: New file.
1996
        * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
1997
        Don't include xm-sparc.h.
1998
        * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
1999
        * glimits.h (LONG_MAX): Handle sparc64.
2000
 
2001
Tue Sep 23 08:32:51 1997  Jason Merrill  
2002
 
2003
        * final.c (final_end_function): Also do dwarf2 thing if
2004
        DWARF2_DEBUGGING_INFO.
2005
        (final_start_function): Likewise.
2006
 
2007
Tue Sep 23 06:55:40 1997  David S. Miller  
2008
 
2009
        * expmed.c (expand_divmod): If compute_mode is not same as mode,
2010
        handle case where convert_modes causes op1 to no longer be CONST_INT.
2011
 
2012
Tue Sep 23 00:58:48 1997  Jim Wilson  
2013
 
2014
        * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
2015
 
2016
Mon Sep 22 18:26:25 1997  J. Kean Johnston  
2017
 
2018
        * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
2019
        (MULTILIB_DEFAULTS): Define.
2020
        (ASM_SPEC, CPP_SPEC): Handle -mcoff.
2021
        (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
2022
        (LIBGCC_SPEC): Likewise.
2023
        (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
2024
        (SUBTARGET_SWITCHES): Add -mcoff and -melf.
2025
        * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
2026
        (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
2027
        (EXTRA_PARTS, TAROUTOPTS): Delete.
2028
        (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
2029
        (MULTILIB_OPTIONS): Define.
2030
        (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
2031
        (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
2032
 
2033
Mon Sep 22 14:42:11 1997  Jeffrey A Law  (law@cygnus.com)
2034
 
2035
        * reg-stack.c (find_blocks): Fix thinko in last change.
2036
 
2037
Mon Sep 22 16:22:41 1997  David S. Miller  
2038
 
2039
        * combine.c (try_combine): Use NULL_RTX, not 0, in gen_rtx calls.
2040
        * cse.c (cse_main): Likewise.
2041
        * emit-rtl.c (gen_label_rtx): Likewise.
2042
        * expr.c (init_expr_once): Likewise.
2043
        * sched.c (schedule_insns): Likewise.
2044
        * varasm.c (immed_double_const): Likewise.
2045
 
2046
        * sparc.h (INCOMING_FRAME_SP_OFFSET): Define as SPARC_STACK_BIAS.
2047
 
2048
Mon Sep 22 16:13:21 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
2049
 
2050
        * alpha/linux.h (HANDLE_SYSV_PRAGMA): Define.
2051
 
2052
Mon Sep 22 16:02:01 1997  Benjamin Kosnik  
2053
 
2054
        * c-common.c (decl_attributes): Add support for TYPE_UNUSED on types.
2055
        * c-decl.c (finish_decl): Set TREE_USED on decls if TREE_USED on type.
2056
        * stmt.c (expand_end_bindings): Check DECL_NAME and DECL_ARTIFICIAL
2057
        before unused variable warning.
2058
 
2059
Mon Sep 22 14:04:18 1997  Richard Kenner  
2060
 
2061
        * rtlanal.c (computed_jump_p): Fix typo in last change.
2062
 
2063
        * clipper.md (movstrsi): Use change_address instead of making new MEM.
2064
        * dsp16xx.md (movstrqi): Likewise.
2065
        * i370.md (movstrsi): Likewise.
2066
        * i860.md (movstrsi): Likewise.
2067
        * pa.md (movstrsi): Likewise.
2068
        * mips.md (movstrsi): Fix (unused) pattern in define_expand.
2069
        * pdp11.md (movstrhi): Likewise.
2070
 
2071
        * alpha.md (allocate_stack): Use virtual_stack_dynamic for result.
2072
        * i386.md (allocate_stack): Likewise.
2073
        * rs6000.md (allocate_stack): Likewise.
2074
 
2075
        * alpha.h (FLOAT_STORE_FLAG_VALUE): Different for VAX and IEEE float.
2076
 
2077
        * function.c (assign_parms): Make max_parm_reg handling more
2078
        precise and make it agree with size of parm_reg_stack_loc.
2079
        * integrate.c (save_for_inline_{nocopy,copying}): Remove
2080
        redundant assignment of max_parm_reg.
2081
 
2082
        * function.c (assign_parms): Properly set RTX_UNCHANGING_P for
2083
        copy of parm.
2084
 
2085
        * integrate.c (copy_rtx_and_substitute, case SET): Handle
2086
        a SET_DEST of the virtual fp or ap specially and undo
2087
        the adjustment into the local area as well.
2088
        (mark_stores): Don't wipe out map entries for virtual fp and ap.
2089
 
2090
        * alpha.h (FLOAT_STORE_FLAG_VALUE): Different for VAX and IEEE float.
2091
 
2092
        * emit-rtl.c (gen_lowpart): Handle ADDRESSOF.
2093
 
2094
Mon Sep 22 13:35:56 1997  Doug Evans  
2095
 
2096
        * rtlanal.c (replace_regs): Fix up lossage in last patch.
2097
 
2098
Sun Sep 21 19:28:48 1997  Jeffrey A Law  (law@cygnus.com)
2099
 
2100
        * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
2101
        (find_basic_blocks): Use computed_jump_p to determine if a
2102
        particular JUMP_INSN is a computed jump.
2103
        * reg-stack.c (find_blocks): Use computed_jump_p to determine
2104
        if a particular JUMP_INSN is a computed jump.
2105
        * rtlanal.c (jmp_uses_reg_or_mem): New function.
2106
        (computed_jump_p): Likewise.
2107
        * rtl.h (computed_jump_p): Declare.
2108
        * genattrtab.c (pc_rtx): Define and initialize.
2109
 
2110
        * cse.c (simplify_relational_operation): Set h0u just like h0s.
2111
        Similarly for h1u and h1s.
2112
 
2113
Sun Sep 21 14:13:31 1997  Doug Evans  
2114
 
2115
        * function.c (instantiate_virtual_regs): Fix thinko in last patch.
2116
 
2117
Sun Sep 21 10:33:26 1997  Paul Eggert  
2118
 
2119
        * cccp.c, cpplib.c (special_symbol): If STDC_0_IN_SYSTEM_HEADERS
2120
        is defined, expand __STDC__ to 0 in system headers.
2121
        * i386/sol2.h, rs6000/sol2.h, sparc/sol2.h:
2122
        (STDC_0_IN_SYSTEM_HEADERS): New macro.
2123
        (CPP_SPEC): Remove -D__STDC__=0; it's no longer needed.
2124
 
2125
        * fixinc.math (_MATH_H_WRAPPER):  Define at the end of the
2126
        wrapper, not the start, so that if #include_next gets another
2127
        instance of the wrapper, this will follow the #include_next
2128
        chain until we arrive at the real .
2129
 
2130
        * fixproto (subdirs_made):  New var, to keep track of which
2131
        subdirectories we've made (in reverse order).  At the end,
2132
        attempt to rmdir them all, so that we don't create any empty
2133
        directories.
2134
 
2135
Sun Sep 21 10:02:07 1997  Richard Kenner  
2136
 
2137
        * pa.c (move_operand): Respect -mdisable-indexing.
2138
        * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
2139
 
2140
Sun Sep 21 09:29:23 1997  Andreas Schwab  
2141
 
2142
        * function.c (purge_addressof_1): Don't convert (MEM (ADDRESSOF (REG)))
2143
        to (SUBREG (REG)) on big endian machines.
2144
        Don't fall through to substitute the inner (REG) unchanged
2145
        when the above conversion cannot be validated.
2146
 
2147
Sat Sep 20 16:22:06 1997  Jason Merrill  
2148
 
2149
        * frame.c (__deregister_frame): Properly check for initialized object.
2150
 
2151
        * function.c (instantiate_virtual_regs): Instantiate
2152
        parm_reg_stack_locs.
2153
 
2154
Sat Sep 20 03:07:54 1997  Doug Evans  
2155
 
2156
        * sparc/sysv4.h (ASM_COMMENT_START): Delete.
2157
        * sparc.h (ASM_COMMENT_START): Define.
2158
        * sparc.c (output_function_prologue): Use it.
2159
        (sparc_flat_output_function_{epi,pro}logue): Likewise.
2160
 
2161
Fri Sep 19 19:43:09 1997  Jeffrey A Law  (law@cygnus.com)
2162
 
2163
        * loop.c (strength_reduce): Fix typo.
2164
 
2165
        * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
2166
        * mips.h, xm-rs6000.h, rs6000/xm-sysv4.h: Likewise.
2167
 
2168
Fri Sep 19 20:10:30 1997  Doug Evans  
2169
 
2170
        * rtl.h (find_use_as_address): Delete accidentally added decl.
2171
 
2172
Fri Sep 19 08:36:16 1997  J"orn Rennecke 
2173
 
2174
        * jump.c (thread_jumps): Check can_reverse_comparison_p before
2175
        threading a reversed-condition jump.
2176
 
2177
Fri Sep 19 08:16:12 1997  Andrew M. Bishop .
2178
 
2179
        * Add support for new -dI option for cxref,
2180
        * cccp.c (dump_includes): New variable.
2181
        (struct directive, directive_table): Remove members angle_brackets,
2182
        traditional_comments, pass_thru; all code using struct directive
2183
        now uses `type' member instead.
2184
        (IS_INCLUDE_DIRECTIVE_TYPE): New macro.
2185
        (main, handle_directive): Add support for new -dI option.
2186
        (do_ident): Avoid unnecessary alloca.
2187
        (do_pragma): Avoid unnecessary comparison to newline.
2188
 
2189
        * cpplib.h (struct cpp_options): New member dump_includes.
2190
        * cpplib.c (struct directive, directive_table): Remove members
2191
        traditional_comments, pass_thru; all code using struct directive
2192
        now uses `type' member instead.
2193
        (IS_INCLUDE_DIRECTIVE_TYPE): New macro.
2194
        (handle_directive, cpp_handle_options): Add support for new -dI option.
2195
 
2196
Fri Sep 19 07:57:19 1997  Pat Rankin  
2197
 
2198
        * vax/xm-vms.h (expand_builtin_{extract,set}_return_addr): New macros.
2199
 
2200
Fri Sep 19 07:47:29 1997  Nick Burrett  
2201
 
2202
        * cpplib.c (pcstring_used, pcfinclude): Delete unused declarations.
2203
        (check_preconditions, print_containing_files, pipe_closed): Likewise.
2204
        (dump_defn_1, dump_arg_n, make_undef): Likewise.
2205
        (trigraph_pcp): Pre-process out decl.
2206
        (quote_string): Cast CPP_PWRITTEN macro to char * for sprintf.
2207
        (output_line_command): Likewise.
2208
        (macro_expand): Likewise.
2209
        (do_line): Cast atoi argument to char *.
2210
        * genattrtab.c (simplify_by_alternatives): Pre-process out decl.
2211
        * genpeep.c (gen_exp): Remove decl.
2212
 
2213
Fri Sep 19 07:29:40 1997  Bernd Schmidt  
2214
 
2215
        * enquire.c (basic): Elminate dangling else warning.
2216
        * except.h (struct function, save_eh_status, restore_eh_status):
2217
        Don't declare.
2218
        * expr.c (clear_storage): Don't return without a value.
2219
        * function.h ({save,restore}_machine_status): Add proper prototype.
2220
        ({save,restore}_{tree,eh,stmt,expr,emit,storage}_status): Declare.
2221
        * real.h (real_value_truncate): Add proper prototype.
2222
        (target_isnan, target_isinf, target_negative, debug_real): Declare.
2223
        (assemble_real): Likewise.
2224
        * recog.c (strict_memory_address_p, memory_address_p): Don't declare.
2225
        (find_single_use_1): Add prototype.
2226
        * recog.h (init_recog, init_recog_no_volatile): Declare.
2227
        (check_asm_operands, constrain_operands, memory_address_p): Likewise.
2228
        (strict_memory_address_p, validate_replace_rtx): Likewise.
2229
        (reg_fits_class_p, find_single_use, general_operand): Likewise.
2230
        (address_operand, register_operand, scratch_operand): Likewise.
2231
        (immediate_operand, const_int_operand, const_double_operand): Likewise.
2232
        (nonimmediate_operand, nonmemory_operand, push_operand): Likewise.
2233
        (memory_operand, indirect_operand, mode_independent_operand): Likewise.
2234
        (comparison_operator, offsettable_{,nonstrict_}memref_p): Likewise.
2235
        (offsettable_address_p, mode_dependent_address_p, recog): Likewise.
2236
        (add_clobbers): Likewise.
2237
        * reload.h (strict_memory_address_p): Don't declare here.
2238
        * rtl.h (struct rtvec_def): Make num_elem an integer.
2239
        (PUT_NUM_ELEM): Delete cast to unsigned.
2240
        (rtx_unstable_p, rtx_varies_p, reg_mentioned_p): Declare.
2241
        (reg_{referenced,used_between,referenced_between}_p: Likewise.
2242
        ({reg_set,modified,no_labels}_between_p, modified_in_p): Likewise.
2243
        (reg_set_p, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
2244
        (note_stores, rtx_equal_p, dead_or_set{,_regno}_p): Likewise.
2245
        (remove_note, side_effects_p, volatile_{refs,insn}_p): Likewise.
2246
        (may_trap_p, inequality_comparison_p): Likewise.
2247
        * rtlanal.c (note_stores, reg_set_p): Don't declare.
2248
        (rtx_addr_can_trap_p): Add prototype, make static.
2249
        (reg_set_p_1): Add declaration for parameter pat.
2250
        * emit-rtl.c: Include recog.h.
2251
        * integrate.c: Likewise.
2252
        * jump.c: Likewise.
2253
        * unroll.c: Likewise.
2254
        * Makefile.in (emit-rtl.o, integrate.o, jump.o, unroll.o): Depend
2255
        on recog.h.
2256
 
2257
Fri Sep 19 06:52:22 1997  Paul Eggert  
2258
 
2259
        * enquire.c (SYS_FLOAT_H_WRAP): New macro.
2260
        Include "float.h" if SYS_FLOAT_H_WRAP is nonzero.
2261
        (f_define): New argument `req'.
2262
        (main): Output `#include_next ' if wrapping float.h.
2263
        (i_define, f_define): Don't output anything if wrapping float.h
2264
        and if the system defn is already correct.  Put other value tests
2265
        inside `#ifdef VERIFY'.
2266
        (UNDEFINED): New macro.
2267
        (I_MAX, I_MIN, U_MAX, F_RADIX, F_MANT_DIG, F_DIG, F_ROUNDS):
2268
        Define even if VERIFY isn't defined, because SYS_FLOAT_H_WRAP may need
2269
        these values.  Give them the value UNDEFINED if not already defined.
2270
        (F_EPSILON, F_MIN_EXP, F_MIN, F_MIN_10_EXP, F_MAX_EXP): Likewise.
2271
        (F_MAX, F_MAX_10_EXP): Likewise.
2272
        (FPROP): Prefer system float.h definition of F_ROUNDS.
2273
        Pass system values to f_define.
2274
        * Makefile.in (FLOAT_H_TEST): New var.
2275
        (float.h-nat): Make it empty if we can use the system float.h without
2276
        change.
2277
        (enquire.o): Define SYS_FLOAT_H_WRAP=1 if we can build a wrapper
2278
        around the system .  Remove include/float.h before compiling.
2279
        (stmp-headers): Remove include/float.h if we would just be installing
2280
        an empty file (which is a placeholder that stands for no file).
2281
 
2282
        * fix-header.c: Don't munge headers for POSIX and XOPEN,
2283
        as this is too error-prone.
2284
        (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): New macros, normally undefed.
2285
        (POSIX1_SYMBOL, POSIX2_SYMBOL): Now 0 unless ADD_MISSING_POSIX.
2286
        (XOPEN_SYMBOL, XOPEN_EXTENDED_SYMBOL): Now 0 unless ADD_MISSING_XOPEN.
2287
        (main): Ignore symbols whose flags are 0.
2288
 
2289
Thu Sep 18 10:43:07 1997  Nick Clifton  
2290
 
2291
        * v850.c (compute_register_save_size): Correct register number.
2292
        * v850.md (save_interrupt, return_interrupt): Likewise.
2293
        * v850/lib1funcs.asm (save_interrupt): Likewise.
2294
        (return_interrupt): Use stack pointer, not element pointer.
2295
 
2296
Thu Sep 18 14:22:22 1997  Jason Merrill  
2297
 
2298
        * final.c (final_scan_insn): Hand BARRIERs to dwarf2 code.
2299
        * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
2300
        (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
2301
 
2302
        * except.c (end_eh_unwinder): Subtract 1 from return address.
2303
        * libgcc2.c (__throw): Likewise.
2304
        (find_exception_handler): Don't change PC here.  Compare end with >.
2305
 
2306
Thu Sep 18 14:01:20 1997  Brendan Kehoe  
2307
 
2308
        * configure.in: Make sure to create the stage* and include
2309
        symbolic links in each subdirectory.
2310
 
2311
Thu Sep 18 13:20:37 1997  J"orn Rennecke 
2312
 
2313
        * sh/lib1funcs.asm (LOCAL): Define.
2314
        (whole file): Use it.
2315
 
2316
Thu Sep 18 09:52:24 1997  Benjamin Kosnik  
2317
 
2318
        * collect2.c (collect_execute): Specify name of new file when
2319
        redirecting stdout/stderr.
2320
 
2321
Thu Sep 18 01:47:06 1997  Jeffrey A Law  (law@cygnus.com)
2322
 
2323
        * pa.md (reload_peepholes): Don't allow addresses with side
2324
        effects for the memory operand.
2325
 
2326
Wed Sep 17 18:19:53 1997  Jason Merrill  
2327
 
2328
        * libgcc2.c (find_exception_handler): Subtract one from our PC when
2329
        looking for a handler, to avoid hitting the beginning of the next
2330
        region.
2331
 
2332
        * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
2333
 
2334
Wed Sep 17 18:23:09 1997  Jeffrey A Law  (law@cygnus.com)
2335
 
2336
        * mips/abi64.h (LONG_MAX_SPEC): Define.
2337
        * mips.h (LONG_MAX_SPEC): Define.
2338
        (CPP_SPEC): Include long_max_spec.
2339
        (EXTRA_SPECS): Include long_max_spec.
2340
 
2341
Wed Sep 17 14:17:26 1997  Paul Eggert  
2342
 
2343
        * configure.in (AC_CHECK_HEADERS): Add inttypes.h, limits.h.
2344
        ({sparc,i[3456]86,powerpcle}-*-solaris2*): Use fixinc.math.
2345
 
2346
        * fixinc.math (PWDCMD, ORIGDIR, LINKS): Remove.
2347
        Remove duplicate test for missing $1.
2348
        Don't cd to $INPUT.
2349
        Build wrapper around system  instead of copying it;
2350
        this is better if the system  is updated later by a software
2351
        patch or upgrade.
2352
 
2353
        * cccp.c (HAVE_STDLIB_H, HAVE_UNISTD_H):
2354
        Do not define any more; now autoconfed.
2355
        : Include if HAVE_LIMITS_H.
2356
        (HOST_BITS_PER_WIDE_INT): Remove.
2357
        (HOST_WIDE_INT): Use intmax_t or long long if available.
2358
        (pcfinclude): Use size_t, not HOST_WIDE_INT, for cast from pointer;
2359
        this is less likely to annoy the compiler.
2360
 
2361
        * cexp.y (HAVE_STDLIB_H): Do not define any more; now autoconfed.
2362
        : Include if HAVE_LIMITS_H.
2363
        (HOST_WIDE_INT): Use intmax_t or long long if available.
2364
        (unsigned_HOST_WIDE_INT, CHAR_BIT): New macros.
2365
        (HOST_BITS_PER_WIDE_INT): Define in terms of CHAR_BIT and sizeof.
2366
        (MAX_CHAR_TYPE_MASK, MAX_CHAR_TYPE_MASK): Rewrite so that we don't use
2367
        HOST_BITS_PER_WIDE_INT in a preprocessor expression, since it now
2368
        uses sizeof.
2369
 
2370
        * cppexp.c: : Include if HAVE_LIMITS_H.
2371
        (HOST_WIDE_INT): Use intmax_t or long long if available.
2372
        (CHAR_BIT): New macro.
2373
        (HOST_BITS_PER_WIDE_INT): Define in terms of CHAR_BIT and sizeof.
2374
        * cpplib.c: : Include if HAVE_LIMITS_H.
2375
        (HOST_WIDE_INT): Use intmax_t or long long if available.
2376
        (HOST_BITS_PER_WIDE_INT): Remove.
2377
 
2378
Wed Sep 17 14:11:38 1997  Jeffrey A Law  (law@cygnus.com)
2379
 
2380
        * v850.c (construct_save_jarl): Fix thinko in last change.
2381
 
2382
Wed Sep 17 15:04:19 1997  Doug Evans  
2383
 
2384
        * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
2385
        use sparc.h's copies.
2386
        * sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print ascii form
2387
        as well.
2388
 
2389
Wed Sep 17 14:08:20 1997  Nick Burrett  
2390
 
2391
        * explow.c (allocate_dynamic_stack_space): Make allocate_stack
2392
        pass 'target' as an extra operand.
2393
        * expr.c (expand_builtin_apply): Use allocate_dynamic_stack_space
2394
        to push a block of memory onto the stack.
2395
        * alpha.md (allocate_stack): Alter in accordance with new operand.
2396
        * i386.md (allocate_stack): Likewise.
2397
        * rs6000.md (allocate_stack): Likewise.
2398
 
2399
Wed Sep 17 13:34:43 1997  Robert Lipe  
2400
 
2401
        * i386/xm-sco5.h (sys_siglist, SYS_SYGLIST_DECLARED): Define.
2402
 
2403
Wed Sep 17 13:27:05 1997  Richard Kenner  
2404
 
2405
        * Makefile.in (native): Correct dependency to auto-config.h from
2406
        config.h.
2407
 
2408
Tue Sep 16 10:02:02 1997  Jason Merrill  
2409
 
2410
        * libgcc2.c (find_exception_handler): Not found is -1.
2411
 
2412
        * integrate.c (expand_inline_function): Move expand_start_bindings
2413
        after expanding the arguments.
2414
 
2415
        * i386.c (ix86_prologue): Pass SYMBOL_REF to
2416
        gen_prologue_{get_pc,set_got}.
2417
        * i386.md (prologue_set_got, prologue_get_pc): Adjust.
2418
 
2419
Tue Sep 16 07:33:15 1997  Richard Kenner  
2420
 
2421
        * fold-const.c (make_range): Correctly handle cases of converting
2422
        from unsigned to signed type.
2423
 
2424
        * function.c (flush_addressof): New function.
2425
 
2426
        * combine.c (num_sign_bit_copies): If asking about wider mode,
2427
        treat like paradoxical subreg.
2428
 
2429
Tue Sep 16 00:26:52 1997  Jeffrey A Law  (law@cygnus.com)
2430
 
2431
        * cse.c (simplify_relational_operation): If MODE specifies mode wider
2432
        than HOST_WIDE_INT, high word of CONST_INT is derived from sign bit
2433
        of low word.
2434
 
2435
Tue Sep 16 00:13:20 1997  Nick Clifton  
2436
 
2437
        * v850.c ({register,pattern}_is_ok_for_epilogue): New functions.
2438
        (construct_{save,restore}_jr, pattern_is_ok_for_prologue): Likewise.
2439
        * v850.h (pattern_is_ok_for_{pro,epi}logue): New predicates.
2440
        (register_is_ok_for_epilogue): Likewise.
2441
        * v850.md: Replace prologue and epilogue patterns with a
2442
        match_parallel pattern.
2443
        * v850.c (output_move_single_unsigned): Cope with zero
2444
        extending and moving between registers at the same time.
2445
 
2446
Mon Sep 15 22:02:46 1997  Jeffrey A Law  (law@cygnus.com)
2447
 
2448
        * fixinc.math: New file to fix math.h on some systems.
2449
        * configure.in (*-*-freebsd*, *-*-netbsd*): Use fixinc.math on these
2450
        systems.
2451
 
2452
Mon Sep 15 18:58:36 1997  J"orn Rennecke 
2453
 
2454
        * sched.c (update_flow_info) When looking if to set found_split_dest
2455
        or found_orig_dest, look at all parts of a PARALLEL.
2456
 
2457
        * sh.md (casesi_0): Reduce functionality, exclude insns from
2458
        mova onwards.  Changed expander caller.
2459
        (casesi_worker_0): New insn.
2460
        (casesi_worker_0+[12]): New define_splits.
2461
        (casesi_worker): Need no gen_* function.
2462
        (casesi): Use casesi_worker_0 instead of casesi_worker.
2463
        * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
2464
 
2465
Mon Sep 15 11:43:38 1997  Jason Merrill  
2466
 
2467
        Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
2468
        * dwarf2.h: Add DW_CFA_GNU_args_size.
2469
        * frame.c (execute_cfa_insn): Likewise.
2470
        * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
2471
        (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
2472
        (dwarf2out_frame_debug): If this isn't a prologue or epilogue
2473
        insn, hand it off to dwarf2out_stack_adjust.
2474
        (dwarf2out_begin_prologue): Initialize args_size.
2475
        * frame.h (struct frame_state): Add args_size.
2476
        * libgcc2.c (__throw): Use args_size.
2477
        * final.c (final_scan_insn): If we push args, hand off all insns
2478
        to dwarf2out_frame_debug.
2479
        * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
2480
 
2481
        * dwarf2out.c (dwarf2out_frame_debug): Fix typo.
2482
        Handle epilogue restore of SP from FP.
2483
        * emit-rtl.c (gen_sequence): Still generate a sequence if the
2484
        lone insn has RTX_FRAME_RELATED_P set.
2485
 
2486
        * frame.c (extract_cie_info): Handle "e" augmentation.
2487
        * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
2488
        absence of UNALIGNED_*_ASM_OP.
2489
        (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
2490
        (output_call_frame_info): Use "e" instead of "z" for augmentation.
2491
        Don't emit augmentation fields length.
2492
        (dwarf2out_do_frame): Move outside of #ifdefs.
2493
        * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
2494
        opcodes.
2495
 
2496
        * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
2497
        * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
2498
        * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
2499
        * sparc/sun4gas.h: New file.
2500
        * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
2501
 
2502
        * collect2.c (write_c_file_stat, write_c_file_glob): Declare
2503
        __register_frame_table and __deregister_frame.
2504
 
2505
Mon Sep 15 19:04:34 1997  Brendan Kehoe  
2506
 
2507
        * except.c (find_exception_handler_labels): Use xmalloc instead of
2508
        alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
2509
        in some cases.
2510
 
2511
Sat Sep 13 23:13:51 1997  Paul Eggert  
2512
 
2513
        * cpplib.h (PARAMS): Fix misspelling of __STDC__.
2514
        (cpp_get_token): Arg is cpp_reader *, not struct parse_marker *.
2515
 
2516
        * cpplib.c (cpp_fatal, cpp_file_line_for_message): New decls.
2517
        (ppp_hash_cleanup, cpp_message, cpp_print_containing_files): Likewise.
2518
        (copy_rest_of_line): Fix typo that prevented recognition of
2519
        C++ style comments.
2520
        (output_line_command, special_symbol): Use %ld for long, not %d.
2521
 
2522
        * cppexp.c (xrealloc): Declare first arg as void *, not char *.
2523
        (cpp_lex): Cast 2nd arg of cpp_parse_escape from const char ** to
2524
        char **.
2525
 
2526
Fri Sep 12 16:54:04 1997  Doug Evans  
2527
 
2528
        * bitmap.h (bitmap_print): Don't use STDIO_PROTO.
2529
 
2530
Fri Sep 12 13:49:58 1997  Jason Merrill  
2531
 
2532
        * except.h: Prototype dwarf2 hooks.
2533
        * expr.c: Adjust.
2534
 
2535
Thu Sep 11 18:36:51 1997  Jim Wilson  
2536
 
2537
        * local-alloc.c (contains_replace_regs): New function.
2538
        (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
2539
        verify that there is no existing REG_EQUIV note, and add a call to
2540
        contains_place_regs.
2541
 
2542
        * m68k.h (MACHINE_STATE_{SAVE,RESTORE}): Add __HPUX_ASM__ versions.
2543
 
2544
Wed Sep 10 21:49:38 1997  Michael Meissner  
2545
 
2546
        * toplev.c (rest_of_compilation): For passes starting with
2547
        flow_analysis, use print_rtl_with_bb instead of print_rtl.
2548
        * print-rtl.c (print_rtl_single): Print a single rtl value to a
2549
        file.
2550
        * flow.c (print_rtl_with_bb): Print which insns start and end
2551
        basic blocks.  For the start of a basic block, also print the live
2552
        information.
2553
        * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
2554
        two bitmaps ANDed together.
2555
        (bitmap_print): Declare.
2556
        * bitmap.c (function_obstack): Don't declare any more.
2557
        (bitmap_obstack): Obstack for allocating links from.
2558
        (bitmap_obstack_init): New static to say whether to initialize
2559
        bitmap_obstack.
2560
        (bitmap_element_allocate): Use bitmap_obstack to allocate from.
2561
        (bitmap_release_memory): Free all memory allocated from
2562
        bitmap_obstack.
2563
        (toplevel): Conditionally include stdlib.h.
2564
        (free): Provide a declaration if NEED_DECLARATION_FREE.
2565
 
2566
        * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
2567
        EXECUTE_IF_AND_IN_BITMAP.
2568
 
2569
Wed Sep 10 17:53:33 1997  J"orn Rennecke 
2570
 
2571
        * sh.c (addr_diff_vec_adjust): Properly propagate considered
2572
        address changes through alignments.
2573
 
2574
Wed Sep 10 13:10:52 1997  Per Bothner  
2575
 
2576
        * stor-layout.c (layout_type):  Simplify special BOOLEAN_TYPE handling.
2577
 
2578
Wed Sep 10 12:59:57 1997  Jason Merrill  
2579
 
2580
        * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
2581
        if DWARF2_UNWIND_INFO.
2582
 
2583
Wed Sep 10 15:43:10 1997  Jason Merrill  
2584
 
2585
        * cplus-dem.c (demangle_fund_type): Change "complex" to "__complex".
2586
 
2587
Wed Sep 10 11:13:53 1997  Paul Eggert  
2588
 
2589
        Handle `extern int errno;' correctly when fixing .
2590
        * fix-header.c (recognized_extern): Use name_length when comparing.
2591
        * scan-decls.c (scan_decls): Don't ignore the first CPP_NAME in a
2592
        declaration, so that we see the `extern' in `extern int errno;'.
2593
 
2594
Wed Sep 10 11:49:20 1997  Jason Merrill  
2595
 
2596
        Add support for exception handling using DWARF 2 frame unwind info.
2597
        * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
2598
        next_stack_level, in_reg_window): Helper fns.
2599
        (__throw): Implement for DWARF2_UNWIND_INFO.
2600
 
2601
        * expr.c (expand_builtin): Handle builtins used by __throw.
2602
        * tree.h (enum built_in_function): Add builtins used by __throw.
2603
        * c-decl.c (init_decl_processing): Declare builtins used by __throw.
2604
        * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
2605
        * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
2606
        (expand_builtin_extract_return_addr): Likewise.
2607
        (expand_builtin_frob_return_addr): Likewise.
2608
        (expand_builtin_set_return_addr_reg): Likewise.
2609
        (expand_builtin_eh_stub): Likewise.
2610
        (expand_builtin_set_eh_regs): Likewise.
2611
        (eh_regs): Choose two call-clobbered registers for passing back values.
2612
 
2613
        * frame.c, frame.h: New files for parsing dwarf 2 frame info.
2614
        * Makefile.in (LIB2ADD): New variable.  Add $(srcdir)/frame.c.
2615
        (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
2616
        (stmp-multilib): Likewise.
2617
        ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
2618
 
2619
        * except.c: #include "defaults.h".
2620
        (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
2621
        (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
2622
        (register_exception_table_p): New fn.
2623
        (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
2624
        (end_eh_unwinder): Likewise.
2625
 
2626
        * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
2627
        call __register_frame and __deregister_frame as needed.
2628
        * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
2629
        * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro.  Check
2630
        EH_FRAME_SECTION_ASM_OP.
2631
        * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
2632
        * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
2633
        (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
2634
 
2635
        * dwarf2out.c (output_call_frame_info): If no support for
2636
        EXCEPTION_SECTION, mark the start of the frame info with a
2637
        collectable tag.
2638
        * collect2.c (frame_tables): New list.
2639
        (is_ctor_dtor): Recognize frame entries.
2640
        (scan_prog_file): Likewise.
2641
        (main): Pass -fno-exceptions to sub-compile.  Also do collection
2642
        if there are any frame entries.
2643
        (write_c_file_stat): Call __register_frame_table and
2644
        __deregister_frame as needed.
2645
        (write_c_file_glob): Likewise.
2646
 
2647
        * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
2648
        Also require unaligned reloc support.
2649
        * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
2650
        UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
2651
        * sparc/sysv4.h: Not here.
2652
 
2653
        * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
2654
        * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
2655
        (dwarf2out_finish): Don't call dwarf2out_frame_finish.
2656
 
2657
        * libgcc2.c (L_eh): Reorganize, moving code shared by different
2658
        EH implementations to the top.
2659
        (find_exception_handler): Split out.  Start from 0.  Compare against
2660
        end with >=.
2661
        (__find_first_exception_table_match): Use it.
2662
        * except.c (output_exception_table): Don't do anything if there's
2663
        no table.  Don't output a first entry of zeroes.
2664
        (eh_outer_context): Adjust properly.
2665
        (add_eh_table_entry): Use xrealloc.
2666
        * toplev.c (compile_file): Just call output_exception_table.
2667
 
2668
Wed Sep 10 11:49:20 1997  Jason Merrill  
2669
 
2670
        * varasm.c (save_varasm_status): Take the target function context.
2671
        * function.c (push_function_context_to): Pass it in.
2672
 
2673
        * rtl.def (ADDRESSOF): Add new field for original regno.
2674
        * function.c (put_reg_into_stack and callers): Add original_regno
2675
        argument.
2676
        (gen_mem_addressof): Remember the original regno.
2677
        * rtl.def (INLINE_HEADER): Add new field for parm_reg_stack_loc.
2678
        * rtl.h (PARMREG_STACK_LOC): New macro.
2679
        (ADDRESSOF_REGNO): New macro.
2680
        * emit-rtl.c (gen_inline_header_rtx): Add parm_reg_stack_loc.
2681
        * function.c (max_parm_reg, parm_reg_stack_loc): No longer static.
2682
        (assign_parms): Allocate parm_reg_stack_loc on saveable obstack.
2683
        * integrate.c (output_inline_function): Set max_parm_reg and
2684
        parm_reg_stack_loc from inline header.
2685
        (initialize_for_inline): Pass in parm_reg_stack_loc.
2686
 
2687
Wed Sep 10  11:30:36 1997  Stan Cox  
2688
 
2689
        * i386.c (override_options): Don't set TARGET_SCHEDULE_PROLOGUE
2690
        (ix86_expand_prologue, ix86_expand_epilogue): Emit rtl by default.
2691
 
2692
Wed Sep 10  11:30:36 1997  Jason Merrill  
2693
 
2694
        * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
2695
 
2696
Wed Sep 10 08:48:44 1997  Jeffrey A Law  (law@cygnus.com)
2697
 
2698
        * xm-m88k.h (USG): Only define if it hasn't already been defined.
2699
 
2700
        * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
2701
 
2702
        * expr.c (do_jump_by_parts_equality_rtx): Don't clobber the
2703
        source operand when performing an IOR of the parts.
2704
 
2705
        * expr.c (emit_block_move): Always return a value.
2706
 
2707
        * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
2708
        when clearing non-BLKmode data.
2709
 
2710
        * final.c (shorten_branches): Remove last change for ADDR_VEC
2711
        alignment computation.   During first pass, assume worst
2712
        possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
2713
 
2714
Wed Sep 10 09:33:19 1997  Kamil Iskra  
2715
 
2716
        * explow.c (emit_stack_save, emit_stack_restore): Correctly
2717
        handle HAVE_{save,restore}_stack_* evaluating to 0.
2718
 
2719
Wed Sep 10 09:27:45 1997  Weiwen Liu  
2720
 
2721
        * Makefile.in (sdbout.o): Add dependency on insn-config.h.
2722
 
2723
Wed Sep 10 09:24:56 1997  Nick Burrett  
2724
 
2725
        * sched.c (birthing_insn_p): Rename prototype decl from birthing_insn.
2726
        * final.c (leaf_renumber_regs, alter_cond): Declare prototype only
2727
        if LEAF_REGISTERS is defined.
2728
        * reload1.c (merge_assigned_reloads): Declare prototype only if
2729
        SMALL_REGISTER_CLASSES is defined.
2730
        * loop.c (replace_call_address): Pre-process out prototype decl.
2731
        * real.c (dectoe, etodec, todec): Declare proto if DEC is defined
2732
        (ibmtoe, etoibm, toibm): Declare proto if IBM is defined
2733
 
2734
Wed Sep 10 09:13:51 1997  Manfred Hollstein  
2735
 
2736
        * configure.in (out_file): Emit definition to config.status.
2737
 
2738
Wed Sep 10 08:37:56 1997  J"orn Rennecke 
2739
 
2740
        * final.c (shorten_branches): Fix alignment calculation.
2741
        Don't count the lengths of deleted instructions.
2742
 
2743
Wed Sep 10 08:34:11 1997  Kaveh R. Ghazi  
2744
 
2745
        * cpplib.c (cpp_start_read): Make known_suffixes static.
2746
 
2747
Wed Sep 10 08:27:05 1997  Andreas Schwab  
2748
 
2749
        * m68k.c (print_operand_address) [MOTOROLA]: When compiling
2750
        with -fpic (not -fPIC) force the GOT offset to 16 bits.
2751
 
2752
Wed Sep 10 08:22:51 1997  Christian Iseli  
2753
 
2754
        * expr.c (convert_move): Add missing use of trunctqtf2.
2755
 
2756
Wed Sep 10 08:17:10 1997  Torbjorn Granlund  
2757
 
2758
        * except.c (eh_outer_context): Do masking using expand_and.
2759
 
2760
Wed Sep 10 07:52:21 1997  Joel Sherrill  
2761
 
2762
        * pa/rtems.h (subtarget_switches): Removed -mrtems subtarget_switch.
2763
        * configure.in (sh*-*-rtems*): New target.
2764
        * sh.h (TARGET_SWITCHES: Call SUBTARGET_SWITCHES.
2765
        (SUBTARGET_SWITCHES): Provide default definition.
2766
 
2767
Wed Sep 10 06:33:47 1997  Richard Kenner  
2768
 
2769
        * i386/mingw32.h ({LIB,LINK}_SPEC): Check for -mwindows, not -windows.
2770
 
2771
        * alpha/vms.h (ASM_OUTPUT_SECTION): Clear NAME if overlaid.
2772
 
2773
        * c-parse.in (unary_expr): Test DECL_C_BIT_FIELD, not DECL_BIT_FIELD.
2774
        * c-typeck.c (default_conversion): Likewise.
2775
 
2776
        * tree.c (contains_placeholder_p, substitute_in_expr):
2777
        Handle placeholders inside args of CALL_EXPR (and hence in TREE_LIST).
2778
 
2779
        * expr.c (expand_expr, case PLACEHOLDER_EXPR): Check all
2780
        expressions in placeholder_list.
2781
 
2782
Tue Sep  9 18:10:30 1997  Doug Evans  
2783
 
2784
        Add port done awhile ago for the ARC cpu.
2785
        * arc.h, arc.c, arc.md, t-arc, xm-arc.h: New files.
2786
        * arc/initfini.c, arc/lib1funcs.asm: New files.
2787
        * ginclude/va-arc.h: New file.
2788
        * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
2789
        * ginclude/varargs.h: Likewise.
2790
        * Makefile.in (USER_H): Add va-arc.h.
2791
        * configure.in (arc-*-elf*): Recognize.
2792
        * longlong.h: Add ARC support.
2793
 
2794
Tue Sep  9 01:30:37 1997  Jason Merrill  
2795
 
2796
        * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
2797
        write_symbols.
2798
 
2799
Mon Sep  8 15:15:11 1997  Nick Clifton  
2800
 
2801
        * v850.h (ASM_SPEC): Pass on target processor.
2802
        (CPP_PREDEFINES): Only define if not already specified.
2803
        (TARGET_VERSION): Only define if not already specified.
2804
        (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
2805
        processor.
2806
        (EXTRA_SWITCHES): Extra entries in the switches array.
2807
        (TARGET_DEFAULT): Set default target processor.
2808
 
2809
Tue Sep  9 09:50:02 1997  Richard Kenner  
2810
 
2811
        * configure.in (alpha*-*-*): Support pca56 and ev6.
2812
 
2813
        * varasm.c (named_section): Set in section after writing directive.
2814
        * dwarf2out.c (output_call_frame_info): Call named_section.
2815
 
2816
Mon Sep  8 16:32:43 1997  Jason Merrill  
2817
 
2818
        * mips.c (function_prologue): Set up the CFA when ABI_32.
2819
 
2820
        * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
2821
        for dwarf2 unwind info.
2822
        (output_function_prologue, sparc_flat_output_function_prologue): Same.
2823
 
2824
        * final.c (final_end_function): Check dwarf2out_do_frame instead
2825
        of DWARF2_DEBUG for dwarf2 unwind info.
2826
        (final_scan_insn): Likewise.
2827
        (final_start_function): Likewise.  Initialize dwarf2 frame debug here.
2828
        (final): Not here.
2829
 
2830
        * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
2831
        count > 0.
2832
 
2833
        * varasm.c (exception_section): Check EXCEPTION_SECTION first.
2834
 
2835
Mon Sep  8 14:58:07 1997  Jim Wilson  
2836
 
2837
        * toplev.c (main): Change #elif to #else/#ifdef
2838
 
2839
        * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
2840
 
2841
Mon Sep  8 08:45:19 1997  Richard Kenner  
2842
 
2843
        * alpha.h (processor_type): Add EV6.
2844
        ({TARGET,MASK}_BWX): Renamed from _BYTE_OPS.
2845
        ({TARGET,MASK}_{CIX,MAX}): New macros.
2846
        (MASK_CPU_EV5): Change bit number.
2847
        (MASK_CPU_EV6, {TARGET,MASK}_SUPPORT_ARCH): New macros.
2848
        (TARGET_OPTIONS): Rename "byte" to "bwx" and add "cix" and "max".
2849
        (MINIMUM_ATOMIC_ALIGNMENT): Rename TARGET_BYTE_OPS to TARGET_BWX.
2850
        (SECONDARY_{INPUT,OUTPUT}_RELOAD_CLASS, ASM_FILE_START): Likewise.
2851
        (SECONDARY_MEMORY_NEEDED): Not needed if CIX.
2852
        (ASM_FILE_START): Only write if TARGET_SUPPORT_ARCH.
2853
        Add "pca56" and "ev6".
2854
        * alpha.c (input_operand): Rename TARGET_BYTE_OPS to TARGET_BWX.
2855
        (override_options): Likewise; also add new CPU types and subset flags.
2856
        * alpha.md: Rename TARGET_BYTE_OPS to TARGET_BWX.
2857
        (cpu attr): Add "ev6".
2858
        (ev5 function units): Use for ev6 as well, for now.
2859
        (ffsdi2): New define_expand and define_insn, for TARGET_CIX.
2860
        (sqrt[sd]f2): New patterns, for TARGET_CIX.
2861
        (s{min,max}[qh]i3): New patterns, for TARGET_MAX.
2862
        (movsi): Use ldf/lsf when appropriate, instead of lds/sts.
2863
        (mov[sd]i): Add use of ftio/itof for TARGET_CIX.
2864
        * configure.in (alpha*-dec-osf*): Set MASK_SUPPORT_ARCH for >= 4.0B.
2865
        Rename MASK_BYTE_OPS to MASK_BWX.
2866
 
2867
        * i386/mingw32.h (STANDARD_INCLUDE_DIR): New macros.
2868
        (STARTFILE_SPEC, PATH_SEPARATOR): Likewise.
2869
 
2870
        * configure.in (AC_PROG_LN_S): Remove; unneeded.
2871
        (*cygwin32*, *mingw32*): Default prefix to /usr.
2872
        (symbolic_link): Set to "cp -p" if no "ln -s"; add AC_SUBST.
2873
        (configure.lang call): Change remaining use of config.h to auto-conf.h.
2874
 
2875
        * Makefile.in (LN): Add new symbol.
2876
        (FLAGS_TO_PASS): Pass it down.
2877
        (stage[1-4]-start): Use $(LN), not "ln -s".
2878
 
2879
        * mips.h (flag_omit_frame_pointer, frame_pointer_needed, optimize):
2880
        Remove declarations: no longer needed.
2881
        * pyr.md: Remove unneeded declarations of `optimize'.
2882
        * h8300.md: Likewise.
2883
        * sparc.c (dwarf2out_cfi_label): Add declaration.
2884
        (save_regs, output_function_prologue): Remove cast for it.
2885
        (sparc_flat_{save_restore,output_function_prologue): Likewise.
2886
        ({save,restore}_regs): No longer inline.
2887
 
2888
Mon Sep  8 03:08:35 1997  Jim Wilson  
2889
 
2890
        * i960.h (LINK_SPEC): Handle -mjX and -mrp switches.
2891
 
2892
        * mips.md (nonlocal_goto_receiver): Define.
2893
 
2894
        * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
2895
 
2896
        * alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
2897
        is passed in.
2898
        * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
2899
        SFmode for 64 bit hosts.
2900
 
2901
        * profile.c (output_arc_profiler): Verify next_insert_after is an
2902
        INSN before and after skipping a stack pop.  Check next_insert_after
2903
        for non NULL before deferencing it.
2904
        (output_func_start_profiler): Set DECL_EXTERNAL to zero.
2905
 
2906
        * va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
2907
 
2908
        * m68k.md (iorsi_zexthi_ashl16): Disable.
2909
 
2910
        * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
2911
 
2912
Sun Sep  7 18:30:46 1997  Jason Merrill  
2913
 
2914
        * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
2915
        prologue insn, only the first elt is significant.
2916
        (output_call_frame_info): For exception handling, always use 4-byte
2917
        fields as specified by the dwarf2 spec.
2918
        Don't skip trivial FDEs.
2919
 
2920
Sun Sep  7 03:35:28 1997  Paul Eggert  
2921
 
2922
        * fix-header.c (std_include_table): Remove bogus entry for popen
2923
        under stdio.h with ANSI_SYMBOL.  popen is a POSIX2_SYMBOL.
2924
 
2925
Fri Sep  5 17:19:58 1997  J"orn Rennecke 
2926
 
2927
        * sh.md (movsf_ie+1): Typo fix.
2928
 
2929
Fri Sep  5 10:08:44 1997  Jeffrey A Law  (law@cygnus.com)
2930
 
2931
        * v850: New directory for v850 port.
2932
        * v850/lib1funcs.asm: New file.
2933
        * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
2934
        * ginclude/va-v850.h: New file.
2935
        * varargs.h, stdarg.h: Include va-mn10200.h.
2936
        * configure.in (mn10200-*-*): New target.
2937
        * Makefile.in (USER_H): Add va-mn10200.h.
2938
 
2939
        * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
2940
        * mips/xm-news.h (SYS_SIGLIST_DECLARED): Define.
2941
        * mips/xm-sysv4.h (SYS_SIGLIST_DECLARED): Define.
2942
 
2943
Fri Sep  5 03:50:15 1997  David Edelsohn  
2944
 
2945
        * rs6000.md (fma patterns): Extend previous -mno-fused-madd
2946
        patch to DFmode patterns inadvertently omitted.
2947
 
2948
Thu Sep  4 20:06:02 1997  Christian Kuehnke  
2949
 
2950
        * sparc.md: Add ultrasparc scheduling support.
2951
        * sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
2952
 
2953
Wed Sep  3 20:56:24 1997  J"orn Rennecke 
2954
 
2955
        * sh.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Define.
2956
 
2957
Wed Sep  3 20:52:07 1997  Joel Sherrill  
2958
 
2959
        * sh/rtems.h: New file.
2960
 
2961
Wed Sep 3  17:30:36 1997  Stan Cox  
2962
 
2963
        * reg-stack.c (subst_stack_regs): Pop the stack register for a
2964
        computed goto which sets the same stack register.
2965
 
2966
Wed Sep 3  17:30:36 1997  Jim Wilson  
2967
 
2968
        * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
2969
 
2970
Wed Sep  3 11:25:19 1997  Jeffrey A Law  (law@cygnus.com)
2971
 
2972
        * pa.md (reload peepholes): Fix typo in last change.
2973
 
2974
Wed Sep  3 03:02:02 1997  J"orn Rennecke 
2975
 
2976
        * sh.md (movsi_ie): Move t/r alternative after r/r alternative.
2977
 
2978
Tue Sep  2 18:41:55 1997  Jeffrey A Law  (law@cygnus.com)
2979
 
2980
        * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
2981
        * collect2.c (sys_errlist): Likewise.
2982
        * cpplib.c (sys_errlist): Likewise.
2983
        * gcc.c (sys_errlist): Likewise.
2984
        * protoize.c (sys_errlist): Likewise.
2985
        * configure.in: Check for strerror.
2986
        * xm-freebsd.h (HAVE_STRERROR): Remove definition.
2987
        * xm-gnu.h (HAVE_STRERROR): Likewise.
2988
        * xm-linux.h (HAVE_STRERROR): Likewise.
2989
        * xm-netbsd.h (HAVE_STRERROR): Likewise.
2990
        * alpha/xm-linux.h (HAVE_STRERROR): Likewise.
2991
        * i386/xm-bsd386.h (HAVE_STRERROR): Likewise.
2992
        * i386/xm-cygwin32.h (HAVE_STRERROR): Likewise.
2993
        * i386/xm-dos.h (HAVE_STRERROR): Likewise.
2994
        * i386/xm-mingw32.h (HAVE_STRERROR): Likewise.
2995
        * pa/xm-pa.h (HAVE_STRERROR): Likewise.
2996
        * pa/xm-papro.h (HAVE_STRERROR): Likewise.
2997
        * rs6000/xm-cygwin32.h (HAVE_STRERROR): Likewise.
2998
        * rs6000/xm-sysv4.h (HAVE_STRERROR): Likewise.
2999
 
3000
        * collect2.c (SYS_SIGLIST_DECLARED): Renamed from
3001
        DONT_DECLARE_SYS_SIGLIST.
3002
        * mips-tfile.c (SYS_SIGLIST_DECLARED): Likewise.
3003
        * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
3004
        * xm-freebsd.h (DONT_DECLARE_SYS_SIGLIST): Likewise.
3005
        * alpha/xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
3006
        * i386/xm-bsd386.h (DONT_DECLARE_SYS_SIGLIST): Likewise.
3007
        * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Likewise.
3008
        * mips/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Likewise.
3009
        * rs6000/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Likewise.
3010
        * sparc/xm-sol2.h (DONT_DECLARE_SYS_SIGLIST): Likewise.
3011
        * configure.in: Check for sys_siglist declaration.
3012
 
3013
        * Makefile.in (libgcc2.a): Add missing "else true" clause.
3014
        (stage{1,2,3,4}-start): Likewise.
3015
 
3016
        * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
3017
        are relative to the next instruction, not the current instruction.
3018
 
3019
Tue Sep  2 14:15:32 1997  Jason Merrill  
3020
 
3021
        * toplev.c (xrealloc): Handle null ptr.
3022
 
3023
Tue Sep  2 13:42:38 1997  Paul N. Hilfinger  
3024
 
3025
        * fixincludes: Permits spaces between # and define.  Discard C++
3026
        comments in sys/pci.h on HP/UX 10.20.
3027
 
3028
Tue Sep  2 09:28:31 1997  Richard Kenner  
3029
 
3030
        * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
3031
 
3032
Tue Sep  2 00:19:01 1997  Jason Merrill  
3033
 
3034
        * expr.c (expand_expr, case COND_EXPR): It's OK to merge two
3035
        SAVE_EXPRs.
3036
 
3037
Mon Sep  1 23:36:45 1997  Jeffrey A Law  (law@cygnus.com)
3038
 
3039
        * pa.c (restore_unscaled_index_insn_codes): New function.
3040
        (record_unscaled_index_insn_codes): Likewise.
3041
        (output_function_prologue): Call restore_unscaled_index_insn_codes.
3042
        (output_function_epilogue): Free memory for unscaled_index_insn_codes.
3043
        (pa_reorg): Call record_unscaled_index_insn_codes.
3044
 
3045
Mon Sep  1 14:46:09 1997  J"orn Rennecke 
3046
 
3047
        * sh.md (casesi_jump_1, casesi_jump2): Generate expanders.
3048
        (casesi_jump): Delete.
3049
        (casesi) Use gen_casesi_jump_1 and gen_casesi_jump2 instead of
3050
        gen_casesi_jump.
3051
 
3052
Mon Sep  1 14:36:36 1997  Paul Eggert  
3053
 
3054
        * sparc/sol2.h (CPP_SPEC): Add -D__STDC__=0 unless -ansi
3055
        or -traditional, for compatibility with Sun's practice.
3056
        * i386/sol2.h (CPP_SPEC), rs6000/sol2.h (CPP_SPEC): Likewise.
3057
        * configure.in ({sparc,i[3456]86,powerpcle}-*-solaris2*):
3058
        Set fixincludes=Makefile.in.
3059
 
3060
Mon Sep  1 14:08:23 1997  Andreas Schwab  
3061
 
3062
        * Makefile.in (config.status): Depend on version.c.
3063
 
3064
Mon Sep  1 13:48:02 1997  Richard Kenner  
3065
 
3066
        * acconfig.h: Remove include of config2.h.
3067
        * configure.in: Build auto-config.h, not config.h, from autoconf data.
3068
        Add auto-conf.h in front of all other host_xm_file entries.
3069
        Make config.h, not config2.h, from host_xm_file.
3070
        * Makefile.in (auto-config.h): New rule; was config.h.
3071
        (distclean): Remove auto-config.h, not config2.h.
3072
 
3073
        * expr.c (do_jump_by_parts_equality_rtx): Try to do by IOR of
3074
        all the words.
3075
 
3076
Mon Sep  1 13:07:36 1997  Bob Manson  
3077
 
3078
        * sparc/t-vxsparc (TARGET_LIBGCC2_CFLAGS): New definition.
3079
        (LIBGCC2_CFLAGS): Deleted.
3080
        * m68k/t-vxworks68: Likewise.
3081
        * i960/t-vxworks960: Likewise.
3082
        * a29k/t-vx29k: Likewise.
3083
 
3084
Sun Aug 31 17:12:27 1997   Paul Eggert  
3085
 
3086
        * real.c (EMULONG): Correct typo in spelling of HOST_BITS_PER_LONGLONG.
3087
 
3088
Fri Aug 29 16:13:51 1997  Jeffrey A Law  (law@cygnus.com)
3089
 
3090
        * mips.md (movstrsi_internal[23]): Set insn type to "store" to
3091
        get more accurate schedules.
3092
 
3093
        * pa.md (reload_peepholes): Make sure operand is a REG before
3094
        examining REGNO.  Allow general registers too.
3095
 
3096
Thu Aug 28 12:34:56 1997  Doug Evans  
3097
 
3098
        * reload1.c (reload_cse_no_longer_dead): Don't pass incremented regno
3099
        to SET_HARD_REG_BIT, it can be evaluated twice.
3100
 
3101
Wed Aug 27 20:15:53 1997  J"orn Rennecke 
3102
 
3103
        * sh/elf.h: (LINK_SPEC): Use shlelf.
3104
        (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX, ASM_FILE_START): Redefine.
3105
        * sh/lib1funcs.asm (___ashrsi3, ___ashlsi3, ___lshrsi3):
3106
        Truncate shift count.  Use braf if not SH1.
3107
        * sh.c (sfunc_uses_reg): No longer static.
3108
        Check for SImode inside the USE.
3109
        (shiftcosts, expand_ashiftrt, shl_sext_kind):
3110
        Use SH_DYNAMIC_SHIFT_COST.
3111
        (sh_dynamicalize_shift_p, output_branchy_insn): New functions.
3112
        (output_ieee_ccmpeq, mova_p, cache_align_p, fixup_aligns): Likewise.
3113
        (branch_offset, short_cbranch_p, med_branch_p): Likewise.
3114
        (braf_branch_p, align_length, fixup_addr_diff_vecs): Likewise.
3115
        (addr_diff_vec_adjust, get_dest_uid, gen_far_branch): Likewise.
3116
        (split_branches, regs_used, gen_block_redirect): Likewise.
3117
        (from_compare): Can't compare nonzero DImode constant directly.
3118
        Emit special code for TARGET_SH3E floating point with code == GE.
3119
        Force 0.0 into a register for SH3E.
3120
        (print_operand): Add ','.
3121
        Emit the actual comparison instruction.
3122
        (sh_builtin_saveregs): Save floating point registers in order that
3123
        allows pre-decrement.
3124
        (find_barrier): New arguments num_mova and mova.  Changed caller.
3125
        When rewinding to before a mova, also restore the last found barrier.
3126
        Branch is now known to be shortened.
3127
        Prefer barriers where no new alignment is needed.
3128
        More generic alignment for cache lines.
3129
        Add checks for pieces of code that use more table space than their
3130
        own size.
3131
        Fix up the barrier we return so that the alignment will always be
3132
        after the table.
3133
        Remove limit adjustments for table alignment.
3134
        Handle PARALLELs correctly.
3135
        (machine_dependent_reorg): Add extra pass to split insns.
3136
        Don't scan instructions twice for broken moves.
3137
        Calculate insn length, call fixup_addr_diff_vecs.
3138
        Call split_branches.
3139
        Add alignment for loops and after BARRIERs.
3140
        Initialize max_uid_before_fixup_addr_diff_vecs.
3141
        Advance mdep_reorg_phase.
3142
        Clear insn_addresses.
3143
        (output_far_jump): Use braf and/or pre-allocated scratch register
3144
        when possible.
3145
        (expand_ashiftrt): Truncate shift count.
3146
        (push_regs): Push PR last.
3147
        (sh_expand_epilogue): Pop PR first.
3148
        (code_for_indirect_jump_scratch, mdep_reorg_phase): New variables.
3149
        (uid_align, uid_align_max): Likewise.
3150
        (max_uid_before_fixup_addr_diff_vecs, sh_addr_diff_vec_mode): Likewise.
3151
        (braf_label_ref_operand): New predicate.
3152
        (initial_elimination_offset): calculate offset from
3153
        RETURN_ADDRESS_POINTER_REGNUM starting with total_saved_regs_space.
3154
        (output_branch): Expect out-of-range condbranches to have been split.
3155
        * sh.md (rotlsi3_16): Named insn.
3156
        (rotlsi3): Rewritten to use superoptimizer patterns.
3157
        (adddi3, subdi3, ashrsi2_16, ashrsi2_31): Always split.
3158
        (movsi_i, movsi_ie): replace t/z alternative with t/r alternative.
3159
        Use pcload_si and load_si insn types.
3160
        (adddi3+1, subdi3+1, ashrsi2_16+1, ashrsi2_31+1) New define_splits.
3161
        (addc, subc, ashlsi_c): New insns.
3162
        (attribute "type"): New values dyn_shift, load_si, pcload_si, fmove,
3163
        jump_ind, arith3 and arith3b.
3164
        (function_unit "fp"): Take fmove into account.
3165
        (function_unit "int"): Uses one cycle for !dyn_shift.
3166
        (function_unit "memory"): Special case for load_si and pcload_si.
3167
        (attribute "in_delay_slot): handle pcload_si.
3168
        (cmpgtdi_t, cmpgedi_t, cmpgeudi_t, cmpgtudi_t): Type arith3.
3169
        (cmpsi+1, cmpeqdi_t) Type arith3b.
3170
        (movsf_ie, alternatives f/fGH/X, f/y/X, y/f/X): Type fmove.
3171
        (extendsidi2): Delete.
3172
        (cmpeqsi_t-2): Delete. (Redundant with movt.)
3173
        (*rotlhi3_8) Name.
3174
        (iorsi3, rotlsi3_1, rotlsi3_31, rotlsi3_16, (*rotlhi3_8): Type arith.
3175
        (ashlsi3_k, ashlhi3_ki, ashrsi2_16, ashrsi2_31, lshrsi3_m): Likewise.
3176
        (lshrsi3_k, lshrhi3_m, lshrhi3_k, ashldi3_k, lshrdi3_k): Likewise.
3177
        (ashrdi3_k, xtrct_left, xtrct_right, dect, mova, movt): Likewise.
3178
        (movt): Likewise.
3179
        (ashlsi3_d, ashrsi3_d, lshrsi3_d): Type dyn_shift.
3180
        (indirect_jump_scratch, *casesi_jump_1, *casesi_jump_2): Type jump_ind.
3181
        (ashlsi3, ashlsi3_n, lshrsi3, lshrsi3_n): Use sh_dynamicalize_shift_p.
3182
        (movsf_ie+1, movsf_ie+2): Exchange.
3183
        (cmpeqdi_t-1, cmpeqdi_t, cmpgtdi_t, cmpgedi_t): New insns.
3184
        (cmpgeudi_t, cmpgtudi_t, movsi_i_lowpart, ieee_ccmpeqsf_t): Likewise.
3185
        (cmpdi, movnegt): New define_expands.
3186
        (movsi_ie): Add y,y alternative.
3187
        (sge): Use it for ! TARGET_IEEE.  Use special code for TARGET_IEEE.
3188
        (sle): Use sge.
3189
        (align_4, casesi_jump): Now define_expand.
3190
        (casesi_0, addr_diff_vec_adjust, align_log): New patterns.
3191
        (*casesi_jump_[12]): Likewise.
3192
        (casesi): Use casesi_0 and casesi_jump.
3193
        (casesi_worker): Depends on the mode used for the table.
3194
        (define_delay for cbranches):  Test TARGET_SH2.
3195
        Changed all callers of from_compare.
3196
        (attribute "length"): Take use of braf and scratch registers into
3197
        account.
3198
        (indirect_jump_scratch, block_branch_redirect): New patterns.
3199
        (jump): Call output_far_jump for any jump larger than 4 bytes.
3200
        (inverse_branch_true, inverse_branch_false): Remove.
3201
        (bne, blt, ble, bltu, bleu): Canonicalize.
3202
        (attribute "cpu"): Remove "sh0" alternative.
3203
        * sh.h (ADJUST_COST): Lower cost of non-address sfunc dependencies.
3204
        Adjust cost of load_si / pcload_si insns when not used for call.
3205
        (enum reg_class): Move GENERAL_REGS after FPUL_REGS.
3206
        (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
3207
        (REGISTER_MOVE_COST): Add costs for fpul <-> mac, pr moves.
3208
        Fix to match default cost in regclass.  Move to T reg not costly.
3209
        When checking for GENERAL_REGS, check for R0_REGS too.
3210
        (INITIALIZE_TRAMPOLINE): Include code for constant parts.
3211
        (SHIFT_COUNT_TRUNCATED): Not true for TARGET_SH3.
3212
        (CPP_SPEC): Define __sh1__ if no specific cpu is selected.
3213
        (FUNCTION_BOUNDARY): Align to cache line boundary.
3214
        (optimize, sh_addr_diff_vec_mode, machine_dependent_reorg): Declare.
3215
        (addr_diff_vec_adjust, code_for_indirect_jump_scratch): Declare.
3216
        (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Declare.
3217
        (output_ieee_ccmpeq, output_branchy_insn, sfunc_uses_reg): Declare.
3218
        (ASM_OUTPUT_ADDR_DIFF_ELT): Depends on sh_addr_diff_vec_mode.
3219
        (PREDICATE_CODES): Add braf_label_ref_operand and register_operand.
3220
        (IEEE_BIT, TAGET_IEEE, LOCAL_LABEL_PREFIX, ASSEMBLER_DIALECT): Define.
3221
        (CACHE_LOG, enum mdep_reorg_phase_e, TRAMPOLINE_ALIGNMENT): Define.
3222
        (SH_DYNAMIC_SHIFT_COST): Define.
3223
        (TARGET_SWITCHES): Remove -m0 entry.  Add -mieee, -mno-ieee.
3224
        (OVERRIDE_OPTIONS): sh_cpu defaults to CPU_SH1.
3225
        Initialize sh_addr_diff_vec_mode.
3226
        (REG_ALLOC_ORDER): Move FP0 behind FP7.
3227
        Move all FP registers in front of the general registers.
3228
        (SECONDARY_OUTPUT_RELOAD_CLASS): Add case for MAC_REGS / PR_REGS.
3229
        When checking for GENERAL_REGS, check for R0_REGS too.
3230
        Fix direction of compares to {FIR,LA}ST_FP_REG.
3231
        (SECONDARY_INPUT_RELOAD_CLASS): check for fp_one_operand.
3232
        (ASM_OUTPUT_ALIGN_CODE, ASM_OUTPUT_LOOP_ALIGN, SH0_BIT): Delete.
3233
        (TARGET_SH0, PUSH_ROUNDING, TRAMPOLINE_TEMPLATE): Delete.
3234
        (TRAMPOLINE_ALIGN): Delete.
3235
        (processor_type): Remove PROCESSOR_SH0.
3236
        (ADJUST_INSN_LENGTH): Remove check for preceding BARRIER.
3237
        Adjust ADDR_DIFF_VECs.  Add code for alignment instructions.
3238
        Check if insn needing a delay slot is already inside a SEQUENCE.
3239
 
3240
        * va-sh.h (__va_rounded_size): Delete.
3241
        (__LITTLE_ENDIAN_P, __SCALAR_TYPE, __PASS_AS_FLOAT): Define.
3242
        (va_arg): Unify big and little endian code.
3243
        Optimization for small integers.
3244
 
3245
        From Fred Fish:
3246
        * sh.h (INITIAL_ELIMINATION_OFFSET): Proper bracketing.
3247
        (REGNO_REG_CLASS, PREFERRED_RELOAD_CLASS): Likewise.
3248
        (SECONDARY_{OUTPUT,INPUT}_RELOAD_CLASS, LIBCALL_VALUE): Likewise.
3249
        (ROUND_ADVANCE, FUNCTION_ARG, FUNCTION_ARG_PARTIAL_NREGS): Likewise.
3250
        (FUNCTION_PROFILE, FUNCTION_EPILOGUE, RETURN_ADDR_RTX): Likewise.
3251
        (REGNO_OK_FOR_INDEX_P, EXTRA_CONSTRAINT_Q, MODE_DISP_OK_4): Likewise.
3252
        (GO_IF_LEGITIMATE_{INDEX,ADDRES}, LEGITIMIZE_ADDRESS): Likewise.
3253
        (CONST_COSTS, REGISTER_MOVE_COST, ASM_OUTPUT_CONSTRUCTOR): Likewise.
3254
        (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Likewise.
3255
        (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP, ASM_OUTPUT_LABEL): Likewise.
3256
        (ASM_OUTPUT_ALIGN),  ASM_DECLARE_FUNCTION_NAME): Likewise.
3257
        (ASM_GLOBALIZE_LABEL, ASM_OUTPUT_CASE_LABEL): Likewise.
3258
        (ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT) Likewise.
3259
        (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_INT): Likewise.
3260
        (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE): Likewise.
3261
        (ASM_OUTPUT_SKIP, FINAL_PRESCAN_INSN, PRINT_OPERAND): Likewise.
3262
        (PRINT_OPERAND_ADDRESS, HANDLE_PRAGMA, ADJUST_INSN_LENGTH): Likewise.
3263
        (PROMOTE_MODE): Likewise.
3264
        (ASM_GENERATE_INTERNAL_LABEL): Use LOCAL_LABEL_PREFIX.
3265
        (ASM_OUTPUT_INTERNAL_LABEL): Use %L.
3266
        * sh/elf.h: (ASM_OUTPUT_LABELREF): Use %U.
3267
        (ASM_GENERATE_INTERNAL_LABEL): Use LOCAL_LABEL_PREFIX.
3268
        (ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SOURCE_LINE): Use %L.
3269
 
3270
Wed Aug 27 16:42:21 1997  Bob Manson  (manson@cygnus.com)
3271
 
3272
        * t-h8300 (TARGET_LIBGCC2_CFLAGS): New definit.
3273
        (LIBGCC2_CFLAGS): Deleted.
3274
        * t-mn10200: Likewise.
3275
 
3276
Wed Aug 27 17:10:51 1997  Jim Wilson  
3277
 
3278
        * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
3279
        last change.
3280
 
3281
Wed Aug 27 15:19:55 1997  J"orn Rennecke 
3282
 
3283
        * dwarfout.c (dwarfout_start_new_source_file): Strip leading '*'s
3284
        from label names.
3285
 
3286
Wed Aug 27 14:33:38 1997  Jim Wilson  
3287
 
3288
        * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
3289
        address where an offsettable address is required.
3290
 
3291
Wed Aug 27 10:38:32 1997  Jeffrey A Law  (law@cygnus.com)
3292
 
3293
        * reorg.c (dbr_schedule): Allow current_function_return_rtx
3294
        to be something other than a REG.
3295
        * function.c (expand_function_end): Fix current_function_return_rtx
3296
        if it was a pseudo.
3297
 
3298
        * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
3299
        * x-netbsd: Likewise
3300
        * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
3301
        (INSTALL_HEADERS): Delete.
3302
        * x-dguxbcs: Likewise.
3303
        * x-hp3bsd44: Likewise
3304
        * x-pa: Likewise.
3305
 
3306
Wed Aug 27 07:15:58 1997  Klaus Espenlaub  
3307
 
3308
        * configure.in (AC_PROG_CC, AC_PROG_MAKE_SET): Check for gcc before
3309
        testing for flex.
3310
 
3311
Wed Aug 27 02:24:35 1997  Jim Wilson  
3312
 
3313
        * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
3314
        TYPE_DECL_IS_STUB instead of DECL_NAME.
3315
 
3316
        * Makefile.in (install-info): Don't cd into srcdir.  Add srcdir to
3317
        filenames.  Use sed to extract base filename for install.
3318
 
3319
Wed Aug 27 01:56:18 1997  Doug Evans  
3320
 
3321
        * loop.c (combine_movables): Earlier insns don't match later ones.
3322
 
3323
        * c-decl.c (grokdeclarator): If array index or size calculations
3324
        overflow, issue an error.
3325
        * fold-const.c (int_const_binop): New static function.
3326
        (const_binop, size_binop): Call it.
3327
 
3328
Tue Aug 26 17:51:56 1997  Jason Merrill  
3329
 
3330
        * collect2.c (main): Check SCAN_LIBRARIES instead of LDD_SUFFIX
3331
        to decide whether to always emit init and fini handles.
3332
 
3333
Tue Aug 26 13:51:10 1997  Jim Wilson  
3334
 
3335
        * stor-layout.c (layout_record): Test DECL_PACKED instead of
3336
        TYPE_PACKED to determine alignment.
3337
 
3338
        * combine.c (try_combine): Distribute REG_DEAD notes created for
3339
        i3dest_killed similar to the ones created for i2dest_in_i2src
3340
        and for i1dest_in_i1src.
3341
 
3342
Tue Aug 26 11:36:34 1997  Jeffrey A Law  (law@cygnus.com)
3343
 
3344
        * loop.c (check_final_value): Don't miss a biv increment in a
3345
        parallel.
3346
 
3347
        * loop.c (check_dbra_loop): If the loop biv is only used
3348
        for counting, then normalize it so that the initial
3349
        value is zero.
3350
 
3351
Tue Aug 26 06:19:48 1997  Jason Merrill  
3352
 
3353
        * dwarfout.c (*_LABEL): Add initial '*'.
3354
 
3355
Tue Aug 26 05:27:28 1997  Richard Henderson  
3356
 
3357
        * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
3358
        * configure.in (alpha-*-linux-gnulibc1): New target.
3359
        (alpha-*-linux-gnu*): Don't build crtbegin/end.
3360
 
3361
Mon Aug 25 19:11:38 1997  Bernd Schmidt  
3362
 
3363
        * reload1.c (reload_cse_simplify_operands): Fix typo.
3364
 
3365
Mon Aug 25 19:04:42 1997  Richard Kenner  
3366
 
3367
        * c-typeck.c (common_type): Always prefer long double to double.
3368
 
3369
Mon Aug 25 08:55:00 1997  Jeffrey A Law  (law@cygnus.com)
3370
 
3371
        * pa.c (secondary_reload_class): (mem (mem ... )) does not need
3372
        secondary reloads.
3373
 
3374
        * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
3375
        store of the argument registers.
3376
 
3377
Sun Aug 24 21:25:06 1997  Bernd Schmidt  
3378
 
3379
        * reload1.c (reload_cse_mem_conflict_p, case MEM): Also check
3380
        for conflict with the address.
3381
 
3382
Sat Aug 23 18:43:22 1997  Jim Wilson  
3383
 
3384
        * acconfig.h (NEED_DECLARATION_CALLOC): Add.
3385
        * configure.in: Add GCC_NEED_DECLARATION call for calloc.
3386
        * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
3387
        declarations.
3388
 
3389
        * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
3390
        * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
3391
 
3392
Sat Aug 23 00:18:22 1997  Jeffrey A Law  (law@cygnus.com)
3393
 
3394
        * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
3395
        around branch tables.
3396
        * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
3397
        and .end_brtab directives if TARGET_GAS.
3398
 
3399
Fri Aug 22 19:17:25 1997  Richard Kenner  
3400
 
3401
        * function.c (instantiate_virtual_regs_1, case ADDRESSOF):
3402
        New case.
3403
        (fix_lexical_addr): Handle (addressof (mem ...)).
3404
 
3405
Thu Aug 21 17:56:06 1997  Richard Kenner  
3406
 
3407
        * reload.c (push_secondary_reload): If SECONDARY_MEM_NEEDED,
3408
        call get_secondary_mem for input before adding reload and
3409
        for output after.
3410
        (push_reload): Likewise.
3411
 
3412
Thu Aug 21 15:57:03 1997  Jim Wilson  
3413
 
3414
        * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
3415
        block_stack before dereferencing it.
3416
 
3417
Wed Aug 20 15:45:52 1997  Dave Love  
3418
 
3419
        * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
3420
        list.
3421
 
3422
Wed Aug 20 15:30:36 1997  Stan Cox  
3423
 
3424
        * i386.c (ix86_prologue, ix86_epilogue): New functions.
3425
        ({function,ix86_expand}_{pro,epi}logue, ix86_expand_prologue):
3426
        Use ix86_prologue.
3427
 
3428
Wed Aug 20 14:57:11 1997  Michael Meissner  
3429
 
3430
        * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
3431
 
3432
Tue Aug 19 17:10:56 1997  Jason Merrill  
3433
 
3434
        * cplus-dem.c: Add 'extern' to prepends_underscore.
3435
 
3436
Tue Aug 19 15:46:30 1997  Jeffrey A Law  (law@cygnus.com)
3437
 
3438
        * mips/r3900.h (SUBTARGET_CC1_SPEC): Remove some unnecessary stuff.
3439
        (MIPS_CPU_STRING_DEFAULT, MIPS_ISA_DEFAULT): Define.
3440
 
3441
Mon Aug 18 21:49:02 1997  Jim Wilson  
3442
 
3443
        * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
3444
        reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
3445
 
3446
Mon Aug 18 17:39:02 1997  Mike Meissner  
3447
 
3448
        * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
3449
        quotes around the name.
3450
 
3451
Mon Aug 18 17:26:42 1997  Doug Evans  
3452
 
3453
        * mips.md (movsi_ulw,movsi_usw,loadgp): Give unspec a mode.
3454
 
3455
Mon Aug 18 11:05:17 1997  Jeffrey A Law  (law@cygnus.com)
3456
 
3457
        * mips/r3900.h (TARGET_DEFAULT): Turn on MASK_MIPS3900.
3458
 
3459
Sun Aug 17 14:39:18 1997  Gavin Koch  (gavin@cygnus.com)
3460
 
3461
        * mips/elf.h (PREFERRED_DEBUGGING_TYPE): Only set if not already set.
3462
        * mips.c (TARGET_{SINGLE,SOFT}_FLOAT): Make sure both aren't set.
3463
        (PROCESSOR_R3900): Set flag from option.
3464
        * mips.h: Add m3900 option.
3465
        ({PROCESSOR,TARGET,MASK}_R3900): Define.
3466
        (GENERATE_{BRANCHLIKELY,MADD,MULT3): Likewise.
3467
        (debugj,MASK_DEBUG_J): Delete to make room for m3900.
3468
        (BRANCH_LIKELY_P): Redefine to include 3900.
3469
        (GAS_ASM_SPEC,CC1_SPEC): Add m3900 option.
3470
        (RTX_COSTS): Add 3900.
3471
        * mips.md: Add 3900, including three op madd and mult.
3472
        * configure.in (mipstx39{,el}-*-elf*): New cases.
3473
        * mips/r3900.h: New file.
3474
 
3475
Fri Aug 15 07:34:12 1997  Richard Earnshaw (rearnsha@arm.com)
3476
 
3477
        * arm.md (umulsi3_highpart, smulsi3_highpart): Add extra reloading
3478
        alternatives.
3479
 
3480
Fri Aug 15 07:34:12 1997  Torbjorn Granlund  
3481
 
3482
        * arm.md (umulsi3_highpart, smulsi3_highpart): New patterns.
3483
        * arm.c (arm_rtx_costs, case TRUNCATE): New case.
3484
 
3485
Fri Aug 15 06:40:03 1997  Richard Kenner  
3486
 
3487
        * genemit.c (main): Write an include for flags.h.
3488
        * genoutput.c (main): Likewise.
3489
 
3490
        * alpha.c (override_options): Turn off byte insns for cpu=ev4 or ev5.
3491
 
3492
        * alpha.md (allocate_stack): If stupid reg allocation, add USE
3493
        for loop variable.
3494
 
3495
        * fold-const.c (fold, compare cases): Add calls to `fold' to
3496
        previous change.
3497
 
3498
Wed Aug 13 17:32:38 1997  Jason Merrill  
3499
 
3500
        * rtl.h ({SET,}ADDRESSOF_DECL): op 1 of ADDRESSOF is now the decl.
3501
        * function.c (put_var_into_stack, gen_mem_addressof,
3502
        put_addressof_into_stack): Adjust.
3503
 
3504
        * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
3505
        again for the slot after we give it RTL.
3506
        (expand_expr, case VAR_DECL): Lose gen_mem_addressof case.
3507
 
3508
Wed Aug 13 17:29:25 1997  J"orn Rennecke 
3509
 
3510
        * c-lex.c (check_newline): Pass finput again to HANDLE_PRAGMA.
3511
 
3512
Wed Aug 13 16:51:35 1997  Bernd Schmidt  
3513
 
3514
        * reload1.c (reload_cse_simplify_operands): New function.
3515
        (reload_cse_no_longer_dead,reload_cse_delete_death_notes): Likewise.
3516
        (no_longer_dead_regs): New static variable.
3517
        (reload_cse_simplify_set): Now returns int.
3518
        Don't delete death notes on previous insns, call
3519
        reload_cse_no_longer_dead instead.
3520
        Call validate_change with nonzero value for in_group.
3521
        (reload_cse_noop_set_p): Don't delete death notes on previous insns,
3522
        call reload_cse_no_longer_dead instead.
3523
        (reload_cse_regs): Initialize no_longer_dead_regs and call
3524
        reload_cse_delete_death_notes as appropriate.
3525
        Call apply_change_group after calling reload_cse_simplify_set.
3526
        Call reload_cse_simplify_set on elements of a PARALLEL.
3527
        Call reload_cse_simplify_operands if reload_cse_simplify_set could
3528
        not simplify things.
3529
 
3530
Wed Aug 13 16:18:42 1997  Douglas Rupp  
3531
 
3532
        * vms.h (LINK_SPEC): Echo -shared, not -share, to linker.
3533
 
3534
Wed Aug 13 12:51:11 1997  Richard Stallman  
3535
 
3536
        * m68k.md: Add braces to clarify nesting.
3537
 
3538
Wed Aug 13 12:51:11 1997  Jason Merrill  
3539
 
3540
        * calls.c (expand_call): Use assign_temp and mark_addressable
3541
        instead of calling gen_mem_addressof directly.
3542
 
3543
Wed Aug 13 12:40:15 1997  Richard Kenner  
3544
 
3545
        * Makefile.in (install-man): Add missing $(exeext).
3546
 
3547
        * configure.in (alpha*-dec-osf*): Merge various cases;
3548
        split off version-specific files in new case statement.
3549
        Include osf2or3.h even for OSF1.2.
3550
 
3551
        * alpha.c (NUM_ARGS): New macro.
3552
        (CURRENT_FUNCTION_ARGS_INFO): Deleted.
3553
        (alpha_builtin_saveregs): Use new macro.
3554
        (function_arg): Deleted.
3555
        (alpha_arg_type, alpha_arg_info_reg_val): New functions.
3556
        * vms.h (enum avms_arg_type, avms_arg_info): New types.
3557
        (CUMULATIVE_ARGS, INIT_CUMULATIVE_ARGS): Update definitions
3558
        to use new types.
3559
        (SETUP_INCOMING_VARARGS): Likewise.
3560
        (FUNCTION_ARG{,_PARTIAL_NREGS}, FUNCTION_ARG_ADVANCE): Likewise.
3561
        Only update CUM in FUNCTION_ARG_ADVANCE.
3562
 
3563
Tue Aug 12 19:27:32 1997  Philippe De Muyter  
3564
 
3565
        * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
3566
        as initial value for real_label_map.
3567
        (copy_for_inline): Likewise.
3568
 
3569
Tue Aug 12 16:15:36 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
3570
 
3571
        * rtl.h (BYTECODE_LABEL): Use XSTR, not XEXP.
3572
 
3573
        * calls.c (expand_calls): Properly call any_pending_cleanups.
3574
 
3575
Tue Aug 12 12:18:01 1997  Jason Merrill  
3576
 
3577
        * function.c (purge_addressof_1): Add force argument.
3578
        (purge_addressof): If there are any ASM_OPERANDS in an insn, always
3579
        put ADDRESSOFs into the stack.
3580
 
3581
        * function.c (setjmp_protect): See through addressof.
3582
        (setjmp_protect_args): Likewise.
3583
        * calls.c (expand_call): For now, only use addressof if the type
3584
        doesn't promote.
3585
        * function.c (put_var_into_stack): Likewise.
3586
        * expr.c (expand_expr): Likewise.
3587
        * toplev.c (rest_of_compilation): Check inlineable instead of
3588
        DECL_INLINE.
3589
        * function.c (purge_addressof_1): Try recognizing the insn with
3590
        and without the SUBREG.  If it doesn't work, just put the REG into
3591
        the stack.
3592
        (gen_mem_addressof): Set the mode of the MEM to the mode of the type.
3593
        (put_var_into_stack): Don't be fooled by addressof in an enclosing
3594
        scope.
3595
 
3596
Sun Aug 10 22:19:19 1997  Richard Kenner  
3597
 
3598
        * explow.c (probe_stack_range): Add USE for test_addr if -O0.
3599
 
3600
Sun Aug 10 22:15:40 1997  Jason Merrill  
3601
 
3602
        * toplev.c (rest_of_compilation): Move purge_addressof before loop.
3603
 
3604
Sun Aug 10 15:25:51 1997  Jim Wilson  
3605
 
3606
        * toplev.c (main): In -g handling code, add code to set len.
3607
 
3608
        * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
3609
        has integer TYPE_{MAX,MIN}_VALUE before using them.
3610
 
3611
        * alpha.md (extendqihi2): Use HImode not QImode in force_reg call.
3612
 
3613
Sun Aug 10 16:47:34 1997  Nick Burrett  
3614
 
3615
        * arm/aof.h (COMMON_SECTION): New macro, define common_section.
3616
        (EXTRA_SECTION_FUNCTIONS): Add COMMON_SECTION.
3617
        (EXTRA_SECTIONS): Add in_common.
3618
        (ASM_OUTPUT_COMMON): Call common_section() to indicate we've
3619
        changed areas.
3620
 
3621
Sat Aug  9 20:04:35 1997  Jim Wilson  
3622
 
3623
        * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
3624
        extern inline function.
3625
 
3626
Sat Aug  9 13:01:06 1997  Michael Meissner  
3627
 
3628
        * rs6000/sysv4.h (*_SPEC): Add support for -mads and -myellowknife.
3629
        Use a common crt0.o for all embedded platforms.  Use --start-group
3630
        and --end-group instead of -( and -) to allow better cut and pasting
3631
        when debugging the linker.  Set default start for MVME text.
3632
        (TARGET_SWITCHES): Add -mads and -myellowknife.
3633
 
3634
Fri Aug  8 20:12:43 1997  Per Bothner  
3635
 
3636
        *  dwarf2out.c (gen_enumeration_type_die):
3637
        Make code work for a tag name, without a TYPE_STUB_DECL.
3638
        (gen_struct_or_union_type_die):  Likewise.
3639
 
3640
Fri Aug  8 18:10:40 1997  Marc Lehmann  
3641
 
3642
        * i386/go32.h (HAS_INIT_SECTION, HAVE_ATEXIT): New macros.
3643
 
3644
Fri Aug  8 17:30:22 1997  H.J. Lu  
3645
 
3646
        * i386.c (output_pic_addr_const, case PLUS): Emit the constant first.
3647
 
3648
Fri Aug  8 17:07:36 1997  Stan Cox  
3649
 
3650
        * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
3651
        template.
3652
 
3653
        * reg-stack.c (compare_for_stack_reg): Swap only if the source and
3654
        destination are both on the regstack.
3655
        (subst_stack_regs_pat): Put the destination at the top of the regstack.
3656
 
3657
Fri Aug  8 17:03:21 1997  Bernd Schmidt  
3658
 
3659
        * i386.md (pop): pop increments the stack pointer.
3660
        (prologue_set_stack_ptr): New pattern.
3661
        * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
3662
        instead of subsi3.
3663
 
3664
Fri Aug  8 17:00:36 1997  Paul Eggert  
3665
 
3666
        * gansidecl.h, halfpic.h (STDIO_PROTO): Remove.
3667
        * bitmap.h, c-tree.h, output.h, reload.h, rtl.h (STDIO_PROTO):
3668
        Replace with PROTO in include files.
3669
        * bc-emit.c: Include  before include files that formerly
3670
        used STDIO_PROTO.
3671
        * bc-optab.c, c-common.c, c-decl.c, caller-save.c, calls.c: Likewise.
3672
        * convex.c, i860.c, mips.c, spur.c, tahoe.c, emit-rtl.c: Likewise.
3673
        * explow.c, expmed.c, expr.c, genattrtab.c, halfpic.c: Likewise.
3674
        * jump.c, optabs.c, profile.c, recog.c, regclass.c: Likewise.
3675
        * rtlanal.c, sdbout.c, unroll.c: Likewise.
3676
        * genattrtab.c (main): Generate files that include 
3677
        before including files that formerly used STDIO_PROTO.
3678
        * genemit.c (main), genextract.c (main), genopinit.c (main): Likewise.
3679
        * genoutput.c (output_prologue), genpeep.c (main): Likewise.
3680
        * genrecog.c (main): Likewise.
3681
        * halfpic.h (PROTO): Use "gansidecl.h" to define this instead.
3682
        (half_pic_finish): Declare without prototype; FILE isn't defined.
3683
 
3684
        * bitmap.c, c-aux-info.c, c-lex.c: Include "config.h" first.
3685
        * c-parse.in, c-pragma.c, 1750a.c, a29k.c, alpha.c: Likewise.
3686
        * arm.c, clipper.c, dsp16xx.c, elxsi.c, fx80.c, gmicro.c: Likewise.
3687
        * h8300.c, i370.c, i386.c, i386/winnt.c, i960.c: Likewise.
3688
        * m32r.c, m68k.c, m88k.c, mn10200.c, mn10300.c, ns32k.c: Likewise.
3689
        * pa.c, pdp11.c, pyr.c, romp.c, rs6000.c, sparc.c, vax.c: Likewise.
3690
        * we32k.c, cppmain.c, dbxout.c, flow.c, fold-const.c: Likewise.
3691
        * gcc.c, gcov.c, global.c, integrate.c, local-alloc.c: Likewise.
3692
        * loop.c, mips-tdump.c, mips-tfile.c, objc-act.c: Likewise.
3693
        * real.c, reg-stack.c, reload.c, reload1.c, reorg.c, sched.c: Likewise.
3694
        * stupid.c, tree.c, varasm.c, xcoffout.c: Likewise.
3695
 
3696
Fri Aug  8 14:52:35 1997  Jason Merrill  
3697
 
3698
        * function.c (fixup_stack_1): Stack slots can also be relative to
3699
        the frame or stack pointers.
3700
 
3701
Fri Aug  8 14:13:49 1997  Richard Henderson  
3702
 
3703
        * dwarf2out.c (reg_loc_descriptor): Fix prototype.
3704
        (concat_loc_descriptor): New function.
3705
        (loc_descriptor): Call it.
3706
        (add_AT_location_description): Also elide the descriptor if both
3707
        halves of a CONCAT are pseudos.
3708
        (add_location_or_const_value_attribute): Recognize CONCAT too.
3709
 
3710
Fri Aug  8 06:36:29 1997  Bernd Schmidt  
3711
 
3712
        * c-common.c (if_stack{,_space,_pointer}): New static variables.
3713
        (c_expand_{start_cond,start_else,end_cond}): New functions.
3714
        * c-parse.in (compstmt_count): New static variable.
3715
        (compstmt_start): New rule.
3716
        (compstmt): Use new rule.
3717
        (do_stmt_start): Update compstmt_count.
3718
        (simple_if, stmt): Use new versions of start_cond, start_else,
3719
        and end_cond.
3720
 
3721
Thu Aug  7 15:35:25 1997  Jim Wilson  
3722
 
3723
        * mips/iris6.h (TARGET_LONG64): Don't define here.
3724
        * mips.c (override_options): Set MASK_LONG64 for ABI_64.
3725
 
3726
        * mips.c (function_prologue): Don't emit ".ent", ".frame",
3727
        ".mask", ".fmask" if flag_inhibit_size_directive is true.
3728
        (function_epilogue): Don't emit ".end" if
3729
        flag_inhibit_size_directive is true.
3730
 
3731
        * mips/iris6.h (STARTFILE_SPEC, LIB_SPEC): Move
3732
        -L/usr/lib{32,64}/mips? from STARTFILE_SPEC to LIB_SPEC.
3733
 
3734
Thu Aug  7 13:14:21 1997  Torbjorn Granlund  
3735
 
3736
        * fold-const.c (fold): Optimize unsigned x <= 0x7fffffff.
3737
 
3738
Thu Aug  7 12:46:31 1997  Richard Kenner  
3739
 
3740
        * explow.c (convert_memory_address, case LABEL_REF): Copy
3741
        LABEL_REF_NONLOCAL_P.
3742
 
3743
        * expr.c (store_constructor): Use CONST0_RTX macro, not always
3744
        the integer version, when clearing a register.
3745
 
3746
        * varasm.c (output_constructor): Correctly check for
3747
        multi-word constant.
3748
 
3749
Thu Aug  7 10:04:42 1997  Douglas Rupp  
3750
 
3751
        * alpha/vms-tramp.asm: New file.
3752
 
3753
        * gcc.c (execute): Don't allow -pipe on VMS.
3754
 
3755
        * alpha.c (vmskrunch): Don't strip off trailing digits.
3756
        (vms_valid_decl_attribute_p): New function.
3757
        * alpha/vms.h (TRAMPOLINE_TEMPLATE): Add another quadword of zeros.
3758
        (TRAMPOLINE_SIZE): Now 32 bytes.
3759
        (INITIALIZE_TRAMPOLINE): Put FNADDR at offset 16, CXT at 24.
3760
        (DBX_DEBUGGING_INFO, ASM_FORMAT_PRIVATE_NAME): Always undefine.
3761
        (STARTFILE_SPEC): Likewise.
3762
        (PREFERRED_DEBUGGING_TYPE): Define to be Dwarf-2.
3763
        (VALID_MACHINE_DECL_ATTRIBUTE, ASM_OUTPUT_SECTION{,_NAME}): New macros.
3764
        (ASM_OUTPUT_ALIGN{,ED_COMMON}): Redefine.
3765
        (LINK_SPEC): Pass -share and -v.
3766
        (ENDFILE_SPEC, LIBGCC2_SPEC): Don't redefine.
3767
 
3768
Thu Aug  7 06:21:47 1997  Bernd Schmidt  
3769
 
3770
        * Eliminate most -Wswitch warnings.
3771
        * c-common.c (binary_op_error): Add default case to switch.
3772
        (shorten_compare, truthvalue_conversion): Likewise.
3773
        * c-iterate.c (collect_iteratores): Likewise.
3774
        * c-typeck.c (comptypes, build_component_ref): Likewise.
3775
        (build_binary_op, lvalue_p, build_unary_op): Likewise.
3776
        (build_modify_expr, initializer_constant_valid_p): Likewise.
3777
        (c_expand_return): Likewise.
3778
        * calls.c (calls_function_1): Likewise.
3779
        * combine.c (find_split_point, simplify_rtx): Likewise.
3780
        (simplify_if_then_else, simplify_logical): Likewise.
3781
        (extract_left_shift, make_compound_operation, force_to_mode): Likewise.
3782
        (known_cond, nonzero_bits, num_sign_bit_copies): Likewise.
3783
        (merge_outer_ops, simplify_shift_const, simplify_comparison): Likewise.
3784
        (reversible_comparison_p, mark_used_regs_combine): Likewise.
3785
        * convert.c (convert_to_integer): Likewise.
3786
        * cse.c (canon_hash, exp_equiv_p): Likewise.
3787
        (set_nonvarying_address_components, canon_reg): Likewise.
3788
        (simplify_unary_operation, simplify_plus_minus): Likewise.
3789
        (simplify_relational_operation, fold_rtx): Likewise.
3790
        (cse_process_note,  count_reg_usage): Likewise.
3791
        * dbxout.c (dbxout_symbol): Likewise.
3792
        * dwarf2out.c (lookup_cfa_1, print_die): Likewise.
3793
        * emit_rtl.c (copy_rtx_if_shared, reset_used_flags): Likewise.
3794
        * explow.c (plus_constant_wide, convert_memory_address): Likewise.
3795
        (promote_mode, emit_stack_save, emit_stack_restore): Likewise.
3796
        * expmed.c (expand_divmod, emit_store_flag): Likewise.
3797
        * expr.c (queued_subexp_p, is_zeros_p, safe_from_p): Likewise.
3798
        (bc_expand_expr, preexpand_calls, convert_move): Likewise.
3799
        * final.c (get_attr_length, final_scan_insn): Likewise.
3800
        (walk_alter_subreg, alter_cond): Likewise.
3801
        * flow.c (jmp_uses_reg_or_mem, mark_used_regs): Likewise.
3802
        * fold-const.c (operand_equal_p, twoval_comparison_p): Likewise.
3803
        (eval_subst, invert_truthvalue, range_binop): Likewise.
3804
        (make_range, fold): Likewise.
3805
        * function.c (fixup_var_refs_1, instantiate_virtual_regs_1): Likewise.
3806
        * genattrtab.c (attr_copy_rtx, make_canonical): Likewise.
3807
        (encode_units_mask, simplify_test_exp): Likewise.
3808
        (find_and_mark_used_attributes, write_test_expr): Likewise.
3809
        (simplify_with_current_value_aux, clear_struct_flag): Likewise.
3810
        (count_sub_rtxs, gen_insn walk_attr_value): Likewise.
3811
        (copy_rtx_unchanging): Likewise.
3812
        * genconfig.c (walk_insn_part): Likewise.
3813
        * genextract.c (walk_rtx): Likewise.
3814
        * genoutput.c (scan_operands): Likewise.
3815
        * genpeep.c (match_rtx): Likewise.
3816
        * genrecog.c (add_to_sequence): Likewise.
3817
        * integrate.c (copy_for_inline, copy_rtx_and_substitute): Likewise.
3818
        (subst_constants): Likewise.
3819
        * jump.c (duplicate_loop_exit_test, comparison_dominates_p): Likewise.
3820
        (mark_jump_label, rtx_renumbered_equal_p): Likewise.
3821
        (rtx_equal_for_thread_p): Likewise.
3822
        * local-alloc.c (memref_referenced_p): Likewise.
3823
        * loop.c (record_excess_regs, reg_in_basic_block_p): Likewise.
3824
        (get_condition, replace_call_address): Likewise.
3825
        (count_nonfixed_reads, find_and_verify_loops, find_mem_givs): Likewise.
3826
        (maybe_eliminate_biv_1, invariant_p, simplify_giv_expr): Likewise.
3827
        * optabs.c (emit_float_lib_cmp): Likewise.
3828
        * print-tree.c (print_node): Likewise.
3829
        * recog.c (validate_replace_rtx_1, find_single_use_1): Likewise.
3830
        * reload.c (subst_reg_equivs, find_reloads_address_1): Likewise.
3831
        (refers_to_regno_for_reload_p, find_equiv_reg): Likewise.
3832
        * reload1.c (set_label_offsets, eliminate_regs): Likewise.
3833
        (scan_paradoxical_subregs, count_occurrences): Likewise.
3834
        * rtl.c (copy_rtx, copy_most_rtx): Likewise.
3835
        * rtlanal.c (rtx_varies_p, rtx_addr_can_trap_p): Likewise.
3836
        (reg_mentioned_p, reg_referenced_p, modified_between_p): Likewise.
3837
        (modified_in_p, refers_to_regno_p, volatile_insn_p): Likewise.
3838
        (volatile_refs_p, side_effects_p): Likewise.
3839
        (inequality_comparison_p, replace_regs): Likewise.
3840
        * sched.c (sched_analyze_2): Likewise.
3841
        * stmt.c (expand_return): Likewise.
3842
        * tree.c (staticp, unsave_expr_now, contains_placeholder_p): Likewise.
3843
        (substitute_in_expr, build_type_attribute_variant): Likewise.
3844
        (simple_cst_equal): Likewise.
3845
        * unroll.c (remap_split_bivs): Likewise.
3846
        * varasm.c (const_hash, compare_constant_1): Likewise.
3847
        (decode_rtx_const, output_addressed_constants): Likewise.
3848
        (output_constant): Likewise.
3849
        * print-tree.c (print_node): Convert switch with one case into an if.
3850
        * sched.c (memrefs_conflict_p): Likewise.
3851
        * genrecog.c (write_tree_1): Output default case for every switch.
3852
 
3853
        * profile.c (output_arc_profiler) [SMALL_REGISTER_CLASSES]:
3854
        Apply PATTERN only to insns.
3855
 
3856
Thu Aug  7 06:13:20 1997  Robert Lipe  
3857
 
3858
        * i386/t-sco5 (libgcc2-elf.a): Resync with Makefile.in.
3859
 
3860
Wed Aug  6 19:28:05 1997  Jim Wilson  
3861
 
3862
        * dwarf2out.c (build_abbrev_table): Use xrealloc not xmalloc.
3863
 
3864
Wed Aug  6 12:57:24 1997  Jason Merrill  
3865
 
3866
        * dwarf2out.c (output_call_frame_info): Always emit the info.
3867
        (dwarf2out_frame_debug): We can initialize the temp reg in the
3868
        epilogue, too.
3869
 
3870
        * rtl.def: Add ADDRESSOF.
3871
        * rtl.h (ADDRESSOF_TYPE, SET_ADDRESSOF_TYPE): New macros.
3872
        * Makefile.in (mostlyclean): Remove *.addressof.
3873
        * toplev.c (rest_of_compilation): Set DECL_DEFER_OUTPUT on
3874
        non-nested inlines.  Run purge_addressof after CSE.
3875
        (various): Add .addressof RTL dump file.
3876
        * rtl.c (copy_rtx): No need to copy ADDRESSOF.
3877
        * reload1.c (eliminate_regs): Elide ADDRESSOF.
3878
        * recog.c (general_operand): (MEM (ADDRESSOF ())) is a valid operand.
3879
        So is (ADDRESSOF ()).
3880
        (memory_address_p): (ADDRESSOF ()) is a valid memory address.
3881
        * integrate.c (expand_inline_function): If the structure_value_addr
3882
        is an ADDRESSOF, we can use it as a constant.
3883
        (copy_rtx_and_substitute): Copy a '0' operand over unchanged.
3884
        * function.c (fixup_var_refs_1): Remove (ADDRESSOF (MEM ())).
3885
        (gen_mem_addressof): New fn.
3886
        (put_addressof_into_stack): New fn.
3887
        (purge_addressof_1): New fn.
3888
        (purge_addressof): New fn.
3889
        (instantiate_decl): Don't bother looking into an ADDRESSOF.
3890
        (put_var_into_stack): Call gen_mem_addressof for local REGs instead
3891
        of calling put_reg_into_stack.
3892
        * expr.c (expand_expr, case TARGET_EXPR): Put the temp in a register
3893
        if it will fit.
3894
        (expand_expr, case ADDR_EXPR): Call gen_mem_addressof to take the
3895
        address of a REG.
3896
        * explow.c (memory_address): An ADDRESSOF is a valid memory address.
3897
        * dwarfout.c (location_or_const_value_attribute): Handle ADDRESSOF.
3898
        * dwarf2out.c (add_location_or_const_value_attribute): Handle
3899
        ADDRESSOF.
3900
        * cse.c (FIXED_BASE_PLUS_P): Add ADDRESSOF.
3901
        (NONZERO_BASE_PLUS_P): Add ADDRESSOF.
3902
        (canon_hash): Ignore '0' operands.
3903
        (find_best_addr): Don't try to replace an ADDRESSOF.
3904
        (fold_rtx): If our address has a const equiv of an ADDRESSOF, use it.
3905
        * calls.c (expand_call): Put the struct value in a register if
3906
        it fits.
3907
 
3908
Tue Aug  5 16:10:45 1997  Jason Merrill  
3909
 
3910
        * mips.c (function_arg): Handle passing a struct
3911
        containing a double in a DFmode register without the PARALLEL.
3912
 
3913
Tue Aug  5 12:27:31 1997  Doug Evans  
3914
 
3915
        * configure.in (sparc-*-solaris2): Set float_format to i128.
3916
        * config/float-i128.h: New file.
3917
 
3918
Mon Aug  4 17:45:19 1997  Richard Kenner  
3919
 
3920
        * combine.c (try_combine): If have PARALLEL of independent SETs
3921
        and have cc0, ensure insn using CC0 come first.
3922
 
3923
Mon Aug  4 15:22:41 1997  Mike Meissner  
3924
 
3925
        * rs6000/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Undef for System V
3926
        environments.
3927
 
3928
Mon Aug  4 12:34:41 1997  Philip Blundell  
3929
 
3930
        * configure.in (arm-*-aout): Set tmake_file correctly.
3931
 
3932
Mon Aug  4 08:06:48 1997  Bernd Schmidt  
3933
 
3934
        * reload.c (find_reloads_address_1): Don't pass VOIDmode for an
3935
        integer argument of push_reload.
3936
 
3937
        * rtlanal.c (may_trap_p): Fix unintended fall-through so divisions by
3938
        nonzero constants are handled properly.  Return 1 for FP divisions.
3939
 
3940
Mon Aug  4 06:52:20 1997  Andreas Schwab  
3941
 
3942
        * c-common.c (check_format_info): Store each flag character only
3943
        once in the flag_chars array.
3944
 
3945
Sun Aug  3 21:57:31 1997  Jim Meyering  
3946
 
3947
        * objc/Make-lang.in (objc/*.o): Depend on $(GCC_PASSES).
3948
 
3949
Sun Aug  3 21:54:51 1997  Nick Burrett  
3950
 
3951
        * cpplib.c (cpp_start_read): Recognize suffixes 'cp' and 'c++'.
3952
 
3953
Sun Aug  3 19:18:27 1997  Ralf Baechle  
3954
 
3955
        * Makefile.in (mostlyclean): Remove libgcc1-test.
3956
 
3957
Sun Aug  3 19:10:27 1997  Klaus Espenlaub  
3958
 
3959
        * Makefile.in (T): Move to place where it can be overridden.
3960
        (install_common): Fix permissions of specs and EXTRA_PARTS files.
3961
 
3962
Sun Aug  3 19:07:04 1997  Jan-Jaap van der Heijden  
3963
 
3964
        * gcc.c (default_compilers): Add default entries for Pascal.
3965
 
3966
Sun Aug  3 18:38:41 1997  Richard Henderson  
3967
 
3968
        * alpha.c (alpha_return_addr): New function.
3969
        (output_epilog): Zero alpha_return_addr_rtx.
3970
        * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
3971
 
3972
Sun Aug  3 17:27:44 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
3973
 
3974
        * Makefile.in (INSTALL): Build in $(srcdir).
3975
 
3976
        * config/linux.h (DEFAULT_VTABLE_THUNKS): New macro.
3977
 
3978
Sun Aug  3 17:18:31 1997  Richard Earnshaw (rearnshaw@cambridge.arm.com)
3979
 
3980
        * expr.c (expand_builtin, case BUILT_IN_RETURN_ADDRESS): Emit warning
3981
        if return address cannot be determined.
3982
 
3983
Sun Aug  3 17:04:00 1997  Bernd Schmidt  
3984
 
3985
        * stupid.c (stupid_life_analysis): If function receives non-local
3986
        goto, don't let any registers live across calls.
3987
 
3988
        * fold-const.c (merge_ranges): Make sure that if one range is subset
3989
        of another, it will always be the second range.  Correct (+,-) case to
3990
        account for this.
3991
 
3992
Sun Aug  3 16:48:30 1997  Paul Eggert  
3993
 
3994
        * c-lex.c (yylex): Remove duplicate check on high bit before
3995
        invoking int_fits_type_p.
3996
 
3997
Sun Aug  3 16:44:41 1997  Bernd Schmidt  
3998
 
3999
        * reload.c (find_equiv_reg): If goal is a pseudo that got memory, a
4000
        store into memory makes it invalid.  This was handled in the single
4001
        set case, but missing in the PARALLEL case.
4002
 
4003
Sun Aug  3 09:13:47 1997  Richard Kenner  
4004
 
4005
        * expr.c (store_field): Return quickly if EXP is ERROR_MARK.
4006
 
4007
        * c-typeck.c (unary_complex_lvalue): Don't warn about COMPOUND_EXPR
4008
        or COND_EXPR if FUNCTION_TYPE.
4009
 
4010
        * alpha.h (ASM_SPEC): Add -O0.
4011
 
4012
        * expr.h (clear_storage): Now returns rtx.
4013
        (emit_block_move): Likewise; delete duplicate declaration.
4014
        * expr.c (clear_storage, emit_block_move): Return address of
4015
        dest if calling memset/memcpy.
4016
        (expand_builtin, BUILT_IN_MEM{CPY,SET}): Return value from
4017
        clear_storage or emit_block_move if present.
4018
 
4019
        * c-decl.c (start_function): Reset immediate_size_expand on
4020
        error return.
4021
 
4022
Sat Aug  2 18:50:43 1997  Paul Eggert  
4023
 
4024
        * tree.c (int_fits_type_p): Negative ints never fit unsigned
4025
        types, and unsigned ints with top-bit-set never fit signed types.
4026
 
4027
Sat Aug  2 16:25:43 1997  Per Bothner  
4028
 
4029
        * Makefile.in (EXTRA_C_OBJS): Removed.
4030
        (C_AND_OBJC_OBJS):  New.  Subsumes EXTRA_C_OBJS and OBJC_CCOMMON.
4031
        * objc/Make-lang.in (OBJC_CCOMMON):  Removed.
4032
 
4033
Sat Aug  2 16:11:57 1997  Doug Evans  
4034
 
4035
        * configure.in: Build .gdbinit for top level build dir here.
4036
        (AC_OUTPUT): Pass oldstyle_subdirs to configure.lang.
4037
        * configure.lang: Fix building of .gdbinit for oldstyle lang subdirs.
4038
 
4039
Sat Aug  2 13:48:15 1997  Ken Raeburn  
4040
 
4041
        * cse.c (cse_insn): Ignore paradoxical SUBREGs unless we are
4042
        looking for such.
4043
 
4044
Sat Aug  2 13:25:33 1997  Tristan Gingold  (gingold@email.enst.fr)
4045
 
4046
        * calls.c (expand_call): If -fcheck-memory-usage, use pseudo-register,
4047
        check indirectly called function is executable, and set rights of
4048
        memory for aggregate as write only.
4049
        (store_one_arg): If -fcheck-memory-usage, set rights for pushed
4050
        stack argument.
4051
        * c-decl.c (init_decl_processing): Add
4052
        __builtin_aggregate_incoming_address.
4053
        * explow.c (expr_size): Call expand_expr with appropriate flag.
4054
        * expr.c (expand_builtin, case BUILT_IN_AGGREGATE_INCOMING_ADDRESS):
4055
        New case.
4056
        (expand_assignment, expand_expr, emit_push_insn, store_expr):
4057
        Insert calls to chkr_check_addr, chkr_set_right, and chkr_copy_bitmap
4058
        when -fcheck-memory-usage.
4059
        (get_push_address, get_memory_usage_from_modifier): New functions.
4060
        * expr.h: Add expand_modifier flags.
4061
        (chkr_*_libfunc): New decls.
4062
        (memory_use_mode): New declaration.
4063
        * flags.h (flag_check_memory_usage, flag_prefix_function_name): New
4064
        declaration.
4065
        * function.c (put_var_into_stack, assign_parms): If
4066
        -fcheck-memory-usage, set the rights of pushed variable.
4067
        * optabs.c (chkr_{check_addr,set_right}_libfunc): New definitions.
4068
        (chkr_{copy_bitmap,check_exec}_libfunc): Likewise.
4069
        (init_optabs): Initialize these chkr_*_libfunc.
4070
        * stmt.c (expand_computed_goto): If -fcheck-memory-usage, check that
4071
        computed address of a goto is executable.
4072
        (expand_asm, expand_asm_operands): If -fcheck-memory-usage,
4073
        disallow asm statements.
4074
        * toplev.c (flag_check_memory_usage, flag_prefix_function_name): New
4075
        variable.
4076
        (f_options): Add `check-memory-usage' and `prefix_function_name'.
4077
        (main): Disable `-fomit-frame-pointer' if `-fcheck-memory-usage' is set
4078
        and the machine can't debug without the frame pointer.
4079
        * tree.h (built_in_function): Add BUILT_IN_AGGREGATE_INCOMING_ADDRESS.
4080
        * varasm.c (make_function_rtl, make_decl_rtl): Add a prefix when
4081
        flag_prefix_function_name_usage is set.
4082
        (assemble_name): Strip the CHKR_PREFIX.
4083
        * alpha.c (alpha_builtin_saveregs): If -fcheck-memory-usage,
4084
        set rights of saved registers.
4085
        * clipper.c (clipper_builtin_saveregs): Likewise.
4086
        * m88k.c (m88k_builtin_saveregs): Likewise.
4087
        * pa.c (hppa_builtin_saveregs): Likewise.
4088
        * sparc.c (sparc_builtin_saveregs): Likewise.
4089
 
4090
Sat Aug  2 08:01:12 1997  Richard Kenner  
4091
 
4092
        * c-decl.c (grokdeclarator): Give error for `long double' and
4093
        refine text of some error messages.
4094
 
4095
        * alpha.h (FLOAT_VALUE_TYPE, INTIFY, FLOATIFY, FLOAT_ARG_TYPE): Define.
4096
        * i860.h (FLOAT_VALUE_TYPE): Fix typo; was FLOAT_TYPE_VALLUE.
4097
 
4098
        * calls.c (store_one_arg): Allow stack_slot to be SP in
4099
        ARGS_GROW_DOWNWARD case.
4100
 
4101
        * c-decl.c (parmlist_tags_warning): Only suppress warning on
4102
        union if anonymous.
4103
 
4104
        * libgcc2.c (_trampoline): Rework last change; both getpagesize
4105
        and mprotect are in cygwin32.
4106
 
4107
        * reload1.c (reload): Add IN_ADDR to IN_ADDR_ADDR when computing
4108
        needs since they conflict.
4109
 
4110
        * print-rtl.c (indent): Move to file level; was static in print_rtx.
4111
        (print_inline_rtx): New function.
4112
        * reload.c (debug_reload): Rework to make output more compact.
4113
 
4114
        * dwarfout.c (output_compile_unit_die): Add support for Pascal.
4115
        * dwarf2out.c (gen_compile_unit_die): Likewise.
4116
 
4117
        * c-typeck.c (lvalue_p, case BIND_EXPR, RTL_EXPR): Return 1 if array.
4118
 
4119
        * Makefile.in (OBJC_OBJC): Delete from here.
4120
 
4121
        * varasm.c (compare_constant_1, case STRING_CST): Compare TYPE_MODE.
4122
        (record_constant_1, case STRING_CST): Record TYPE_MODE.
4123
 
4124
        * tree.c (contains_this_placeholder_p): Delete.
4125
        (contains_placeholder_p): Now contains code from above function.
4126
        (contains_placeholder_p, case 'r'): Don't look at offset info.
4127
        * expr.c (expand_expr, case PLACEHOLDER_EXPR): Find innermost
4128
        matching and don't check contains_placeholder_p.
4129
 
4130
Fri Aug  1 17:15:07 1997  Per Bothner  
4131
 
4132
        * objc/objc-act.c (lang_init):  Don't check_newline #if USE_CPPLIB.
4133
        * c-lex.c (lang_init):  Remove (recently moved here).
4134
        * c-lang.c (lang_init):  Restore, but add #if !USE_CPPLIB.
4135
 
4136
Fri Aug  1 11:26:45 1997  Jeffrey A Law  (law@cygnus.com)
4137
 
4138
        * pa.c (pa_reorg): Explode ADDR_DIFF_VEC insns too.
4139
 
4140
Thu Jul 31 19:37:22 1997  Ian Lance Taylor  
4141
 
4142
        * libgcc2.c (getpagesize): Don't compile if __CYGWIN32__.
4143
 
4144
Thu Jul 31 16:04:42 1997  Stan Cox  
4145
 
4146
        * i386.c (output_to_reg, output_fix_trunc): Use scratch memory,
4147
        if available, instead of dynamically extending the stack.
4148
        (put_condition_code, print_operand): Added reverse_cc to reverse the
4149
        comparison when $ah is accessed directly instead of using eflags
4150
 
4151
        * i386.md (*trunc*): Use scratch memory for output_fix_trunc.
4152
        (movsicc_1, movhicc_1) Change alternative 3 to:
4153
        jCC L1; mov; jmp L2; L1:mov; L2:
4154
        (movsfcc, movdfcc, movxfcc): Force constant operands to memory.
4155
        (movsfcc_1, movdfcc_1, movxfcc_1): Change alternative 3 as above.
4156
 
4157
Thu Jul 31 16:04:42 1997  Jason Merrill  
4158
 
4159
        * i386.h (MAX_FIXED_MODE_SIZE): Define.
4160
 
4161
Thu Jul 31 16:04:42 1997   Robert Lipe 
4162
 
4163
        * i386/sco5.h (SWITCHES_NEED_SPACES) Define.
4164
        Required by the COFF (but not ELF) linker.
4165
 
4166
Wed Jul 30 15:03:52 1997  Per Bothner  
4167
 
4168
        * demangle.h (DMGL_JAVA):  New option to request Java demangling.
4169
        * cplus-dem.c:  Various changes to produce Java output when passed
4170
        DMGL_JAVA.  Thus "::" becomes "." and "JArray" becomes "Foo[]".
4171
        (main):  Support --java and -j flags to set DMGL_JAVA.
4172
 
4173
Wed Jul 30 08:56:08 1997  Philip Blundell  
4174
 
4175
        * configure.in (arm-*-*): Replace with arm-*-aout.
4176
        * arm/aout.h (SET_ASM_OP): Define by default.
4177
        * arm/riscix.h (SET_ASM_OP: Undefine.
4178
        * arm.h (CPP_SPEC): Add %(subtarget_cpp_spec).
4179
        (SUBTARGET_CPP_SPEC): New macro.
4180
        * arm/linux.h: Include aout.h rather than arm.h directly.
4181
        (TARGET_CPU_DEFAULT): Define.
4182
        ({ASM,CPP}_SPEC): Remove.
4183
        * arm/t-linux (MULTILIB_OPTIONS): Use -mapcs-NN instead of -mN.
4184
        (LIB1ASMSRC): Use generic ARM version.
4185
        (CROSS_LIBGCC1): Define.
4186
        * arm/lib1funcs-linux.asm: Remove.
4187
 
4188
Tue Jul 29 17:57:47 1997  Per Bothner  
4189
 
4190
        * Add hooks for using autconf-style Makefile.in in language subdirs.
4191
        * configure.in (all_outputs, oldstyle_subdirs):  New variables.
4192
        Pass all_outputs to AC_OUTPUT.
4193
        * configure.lang:  Only iterate over oldstyle_subdirs.
4194
 
4195
        * Patches to use cpplib with cc1 #if USE_CPPLIB.
4196
        * configure.in (--enable-c-cpplib):  New option.
4197
        (extra_c_flags, extra_c_objs):  New variables.
4198
        * Makefile.in (EXTRA_C_OBJS):  New variable.
4199
        (INTERNAL_CFLAGS):  Add @extra_c_flags@.
4200
        (C_OBJS):  Add $(EXTRA_C_OBJS).
4201
        * c-lex.c (generally):  Replace getc and ungetc by macros GETC and
4202
        UNGETC.  Avoid explicit references to finput.
4203
        (yy_get_token):  New function, that calls cpp_get_token.
4204
        (init_parse):  New function - calls init_lex.
4205
        (finish_parse):  New function (called by compile_file).
4206
        (GET_DIRECTIVE_LINE):  New macro wrapper replaces get_directive_line.
4207
        (lang_init):  Don't check_newline - already know main_input_filename.
4208
        (handle_sysv_pragma):  Remove FILE* parameter.
4209
        * toplev.c (finput):  Remove #if USE_CPPLIB.
4210
        (compile_file):  #if USE_CPPLIB don't open input file here,
4211
        do it in cpp_start_read.  Call init_parse instead of init_lex.
4212
        At end, call finish_parse instead of fclose(finput).
4213
 
4214
Mon Jul 28 15:48:29 1997  Brendan Kehoe  
4215
 
4216
        * integrate.c (expand_inline_function): Use xmalloc instead of
4217
        alloca for the LABEL_MAP.
4218
        (save_for_inline_copying): Likewise.
4219
 
4220
Mon Jul 28 11:22:16 1997  Jason Merrill  
4221
 
4222
        * toplev.c (compile_file): Also emit any deferred TREE_PUBLIC inlines.
4223
        (rest_of_compilation): Use decl_printable_name instead of DECL_NAME
4224
        to identify functions in the RTL dump files.
4225
 
4226
        * dwarf2out.c (add_location_or_const_value_attribute):
4227
        leaf_renumber_regs_insn.  Also eliminate_regs here.
4228
        (add_AT_location_description): Not here.  Don't emit anything
4229
        for a variable that has been optimized away.
4230
        (add_const_value_attribute): Likewise.
4231
 
4232
        * dwarfout.c (location_or_const_value_attribute):
4233
        leaf_renumber_regs_insn.  Also eliminate_regs here.
4234
        (location_attribute): Not here.
4235
 
4236
        * stor-layout.c (layout_type): Fix ancient code to match ancient
4237
        comment.  Use mode of field for one-field structs.
4238
 
4239
Sun Jul 27 12:09:02 1997  Richard Kenner  
4240
 
4241
        * function.c (put_var_into_stack, trampoline_address): Treat
4242
        inline_function_decl like current_function_decl.
4243
        * expr.c (expand_expr, case LABEL_DECL): Likewise.
4244
        (expand_expr, case SAVE_EXPR): Handle top-level SAVE_EXPR by
4245
        moving into current function; abort if in incorrect context.
4246
        * fold-const.c (fold_range_test, fold): Avoid making SAVE_EXPR
4247
        if at top level.
4248
 
4249
        * dwarfout.c (ASM_OUTPUT_SOURCE_FILENAME): Delete default value.
4250
 
4251
        * alpha.h (TARGET_SWITCHES): Add -mno-byte.
4252
 
4253
        * expr.c (get_inner_unaligned_p): Deleted.
4254
        (expand_assignment): Remove special-case of constant array.
4255
        (expand_expr, case ARRAY_REF): Likewise, and clean up remaining code.
4256
 
4257
        * explow.c (probe_stack_range): Do probing with loop if more
4258
        than a small number.
4259
 
4260
Fri Jul 25 15:42:34 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
4261
 
4262
        * configure.in: Finish fixing calculation if default thread
4263
        support is enabled.
4264
 
4265
Fri Jul 25 15:30:09 1997  Doug Evans  
4266
 
4267
        * Makefile.in (native): Depend on config.h.
4268
        (gcc.o): Depend on Makefile, not config.status.
4269
 
4270
Fri Jul 25 10:56:50 1997  Jeffrey A Law  (law@cygnus.com)
4271
 
4272
        * pa.c (pa_reorg): If TARGET_BIG_SWITCH, then do not explode
4273
        ADDR_VEC insns.  Slightly rework code which explodes ADDR_VEC
4274
        insns.
4275
        * pa.h (TARGET_BIG_SWITCH): Define.
4276
        (TARGET_SWITCHES): Add "big-switch" and "no-big-switch".
4277
        (CASE_VECTOR_MODE): Use TI or DI depending on TARGET_BIG_SWITCH.
4278
        (CASE_DROPS_THROUGH): Remove definition.
4279
        (ASM_OUTPUT_ADDR_VEC_ELT): Rewrite to handle TARGET_BIG_SWITCH.
4280
        (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
4281
        * pa.md (casesi): Rework to avoid some potential long branch
4282
        problems (also makes generated code faster!).  Handle
4283
        TARGET_BIG_SWITCH.
4284
        (casesi0): Corresponding changes.
4285
 
4286
Fri Jul 25 08:36:47 1997  Richard Kenner  
4287
 
4288
        * calls.c: (expand_call): If -fstack-check and temp needed
4289
        for arg is too large, use alloca.
4290
        * expr.c (expand_expr, case MODIFY_EXPR): Don't preexpand calls
4291
        if LHS is an indirect via a constant pointer.
4292
 
4293
Thu Jul 24 21:49:11 1997  Pat Rankin  
4294
 
4295
        * bitmap.c (bitmap_operation): Reset CURRENT on deferred deletion.
4296
 
4297
Wed Jul 23 23:52:14 1997  Chris Smith  
4298
 
4299
        * convex.h (CHECK_FLOAT_VALUE): Fix OVERFLOW capitalization.
4300
 
4301
Wed Jul 23 13:00:47 1997  Richard Earnshaw 
4302
 
4303
        * configure.in (arm-*-netbsd*): Fix typo setting tmake_file.
4304
 
4305
Wed Jul 23 06:39:35 1997  Richard Kenner  
4306
 
4307
        * configure.in (alpha*): Put quotes around MASK_GAS.
4308
 
4309
Tue Jul 22 15:24:45 1997  Brendan Kehoe  
4310
 
4311
        * tree.c (array_type_nelts): Make sure the domain of TYPE is set
4312
        before we try to use it.
4313
 
4314
Tue Jul 22 12:26:13 1997  Doug Evans  
4315
 
4316
        * sparc.c (gen_v9_scc): Handle early clobber of result.
4317
        * sparc.md (seqdi_special): Don't clobber %xcc.
4318
        (snedi_special, seqdi_special_trunc, snedi_special_trunc): Likewise.
4319
        (snedi_zero, neg_snedi_zero, seqdi_zero, neg_seqdi_zero): Likewise.
4320
        (snedi_zero_trunc, seqdi_zero_trunc): Likewise. Renamed from ..._sp64.
4321
        (snedi_zero_trunc_sp32, seqdi_zero_trunc_sp32): Delete.
4322
 
4323
        * Makefile.in (Makefile): Pass xmake_file, tmake_file to
4324
        configure.frag
4325
        (distclean): Delete Make-host, Make-target.
4326
        * configure.in (host_overrides): Set to Make-host.
4327
        (dep_host_xmakefile): Loop over all elements in host_make_file.
4328
        (target_overrides): Set to Make-target.
4329
        (dep_tmake_file):  Loop over all elements in tmake_file.
4330
        (configure.frag): Pass dep_host_xmake_file, dep_tmake_file.
4331
        * configure.frag: New arguments xmake_files, tmake_files.
4332
        Build Make-host, Make-target.
4333
 
4334
Mon Jul 21 23:17:44 1997  Paul Eggert  
4335
 
4336
        * objc/Make-lang.in, objc/Makefile.in: Comment out lines containing
4337
        just formfeeds.
4338
 
4339
Mon Jul 21 14:05:46 1997  Doug Evans  
4340
 
4341
        * Makefile.in (Makefile): Depend on config.status instead
4342
        of configure.
4343
        (config.status): Depend on configure.  Run config.status --recheck
4344
        if out of date.
4345
        (cstamp-h.in): Use echo instead of touch.
4346
 
4347
        * reload1.c (reload_cse_mem_conflict_p): Restore handling of
4348
        (mem:BLK const0_rtx) meaning all memory is clobbered.
4349
 
4350
Mon Jul 21 06:20:10 1997  Andreas Schwab  
4351
 
4352
        * m68k.md (iorsi_zexthi_ashl16): Mark output operand as earlyclobber.
4353
 
4354
Sun Jul 20 06:11:30 1997  Richard Kenner  
4355
 
4356
        * configure.in (alpha*-*-*): Set cpu_type to alpha.
4357
        Change "alpha-" to "alpha*-" in all entries.
4358
        Set target_cpu_default for ev5 and ev56 systems.
4359
        Use symbolic names for target_cpu_default.
4360
        * alpha.c (override_options): Set default for alpha_cpu
4361
        from TARGET_CPU_DEFAULT.
4362
        * alpha.h (MASK_CPU_EV5): New macro.
4363
 
4364
        * tree.c (contains_placeholder_p): Call contains_this_placeholder_p.
4365
        (contains_this_placeholder_p): Renamed from contains_placeholder_p.
4366
        Added new arg, PL.
4367
        Rework to make more consistent, check more codes, and avoid
4368
        undefined fields.
4369
        * expr.c (expand_expr, case PLACEHOLDER_EXPR): Pick outermost
4370
        object in placeholder_list of right type without a PLACEHOLDER_EXPR.
4371
 
4372
Sat Jul 19 18:00:01 1997  Richard Kenner  
4373
 
4374
        * alpha.c (override_options): Allow processor of ev56 or 21164a.
4375
        (input_operand, case MEM): Correct test involving TARGET_BYTE_OPS.
4376
        * alpha.h (SECONDARY_{IN,OUT}PUT_RELOAD_CLASS): Don't need for
4377
        QImode or HImode if TARGET_BYTE_OPS.
4378
        (ASM_FILE_START): Write a .arch directive.
4379
        (STACK_CHECK_BUILTIN): New macro.
4380
        * alpha.md ({zero_,}extend[qh]i[dsh]i2): Rework TARGET_BYTE_OPS cases.
4381
        (mov[hq]i): Likewise.
4382
        (extend[qh]i[hsd]i2x): Add missing cases and fix typo in constraint.
4383
        (reload_{in,out}[qh]i): Disable for TARGET_BYTE_OPS.
4384
 
4385
Fri Jul 18 23:24:57 1997  Jason Merrill  
4386
 
4387
        * varasm.c (make_decl_rtl): Don't use ASM_FORMAT_PRIVATE_NAME for
4388
        local decls with TREE_PUBLIC set.
4389
        (bc_make_decl_rtl): Likewise.
4390
 
4391
Fri Jul 18 22:16:28 1997  Doug Evans  
4392
 
4393
        * configure.in: Invoke AC_CONFIG_HEADER.
4394
        Check for string.h, strings.h, stdlib.h, time.h, unistd.h.
4395
        Check for whether malloc/realloc/free need to be declared.
4396
        (links): Rename config.h to config2.h.
4397
        (AC_OUTPUT): Create cstamp-h.
4398
        * Makefile.in (config.in,cstamp-h.in): Add rules for.
4399
        (config.h,cstamp-h): Add rules for.
4400
        (distclean): Delete config2.h, cstamp-h.
4401
        (ALL_CFLAGS): Add @DEFS@.
4402
        * aclocal.m4, acconfig.h: New files.
4403
 
4404
        * Makefile.in (distclean): Delete Make-host, Make-target.
4405
        * configure.in (host_overrides): Set to host_xmake_file, don't create
4406
        Make-host.
4407
        (target_overrides): Set to tmake_file, don't create Make-target.
4408
        (language subdir support): Keep together.
4409
 
4410
        * c-decl.c (duplicate_decls): Set DECL_ABSTRACT_ORIGIN to olddecl
4411
        if inline function and not new definition.
4412
 
4413
        * configure.in: Don't loop trying to configure language subdirs.
4414
        Don't pass to configure.lang variables it doesn't use.
4415
        * configure.lang: Delete top level directory from loop.
4416
        Delete code not useful for language subdirs.
4417
 
4418
Fri Jul 18 08:12:53 1997  Bernd Schmidt  
4419
 
4420
        * toplev.c (rest_of_compilation): Call reload_cse_regs here.
4421
        * reload1.c (reload): Don't call it here.
4422
        (reload_cse_mem_conflict_p): Remove MEM_OFFSET and MEM_MODE args.
4423
        (reload_cse_mem_conflict_p, case MEM): Call anti_dependence.
4424
        (reload_cse_invalidate_mem): Update call to reload_cse_mem_conflict_p.
4425
        (reload_cse_regs): No longer static.
4426
        Call init_alias_analysis.
4427
        Ignore CLOBBER in a PARALLEL.
4428
 
4429
Fri Jul 18 06:44:22 1997  Andreas Schwab  
4430
 
4431
        * objc/Make-lang.in (objc-headers): Fix command for the new build
4432
        directory layout, don't pass srcdir variable.
4433
        * objc/Makefile.in (copy-headers): Use $(srcdir) from this
4434
        makefile, not the parent's.
4435
 
4436
Thu Jul 17 16:03:03 1997  Doug Evans  
4437
 
4438
        * configure.lang (EXTRA_HEADERS,EXTRA_PASSES,EXTRA_PARTS): Delete.
4439
        (EXTRA_PROGRAMS,EXTRA_OBJS,EXTRA_GCC_OBJS,MD_DEPS): Delete.
4440
        (version) Delete duplicate entry.
4441
        * configure.in (merged_frags): Delete unused variable.
4442
        (extra_headers_list): Move setting outside of subdir loop.
4443
        (extra_headers,extra_passes): Don't pass to configure.lang.
4444
        (extra_programs,extra_parts,extra_objs): Likewise.
4445
        (host_extra_gcc_objs,gxx_include_dir,md_cppflags): Likewise.
4446
 
4447
Thu Jul 17 07:00:43 1997  Richard Kenner  
4448
 
4449
        * expr.h (STACK_CHECK_*): Provide default values.
4450
        (probe_stack_range): New declaration.
4451
        * flags.h (flag_stack_check): Likewise.
4452
        * explow.c (allocate_dynamic_stack_space): Call probe_stack_range.
4453
        (emit_stack_probe, probe_stack_range): New functions.
4454
        * function.c (expand_function_end): If function is non-leaf and stack
4455
        checking is requested, emit needed probes.
4456
        * reload1.c (reload): If checking stack, verify frame small enough.
4457
        * stmt.c (expand_decl): If stack checking, use alloca for large vars.
4458
        * toplev.c (flag_stack_check): New variable.
4459
        (f_options): Add "stack-check".
4460
 
4461
        * reorg.c (mark_target_live_regs): Pass FIRST_PSEUDO_REGISTER to
4462
        call to EXECUTE_IF_SET_IN_REG_SET.
4463
 
4464
Wed Jul 16 14:51:00 1997  Jason Merrill  
4465
 
4466
        * i960.h (ASM_OUTPUT_ALIGNED_BSS): Define.
4467
        (ASM_OUTPUT_ALIGNED_LOCAL): Use standard method to convert ALIGN
4468
        to power-of-two of bytes.
4469
 
4470
        * sparc.h (ASM_OUTPUT_ALIGNED_BSS): Define.
4471
        * sparc/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Undef before definition.
4472
 
4473
Wed Jul 16 14:34:09 1997  Klaus Espenlaub  (kespenla@hydra.informatik.uni-ulm.de)
4474
 
4475
        * calls.c (emit_library_call_value): Initialize all argvec elements.
4476
 
4477
Wed Jul 16 14:31:39 1997  Richard Kenner  
4478
 
4479
        * global.c (global_conflicts): Pass FIRST_PSEUDO_REGISTER to
4480
        call to EXECUTE_IF_SET_IN_REG_SET.
4481
 
4482
Wed Jul 16 10:57:03 1997  Richard Earnshaw (rearnsha@cambridge.arm.com)
4483
 
4484
        * From Rob Black (r.black@ic.ac.uk) and Mark Brinicombe
4485
        (amb@physig.ph.kcl.ac.uk):
4486
        * configure.in (arm-*-netbsd*): New configuration.
4487
        * arm/netbsd.h, arm/t-netbsd, arm/xm-netbsd.h: New files.
4488
 
4489
Wed Jul 16 10:57:03 1997  Richard Earnshaw (rearnsha@cambridge.arm.com)
4490
 
4491
        * arm.c (tune_flags): New variable.
4492
        (target_{cpu,fpe}_name): Delete.
4493
        (arm_fpu_arch): New variable.
4494
        (arm_select): Also allow -march=... to configure just the
4495
        architecture.
4496
        (all_procs): Allow armv{2,2a,3,3m,4,4t} for use with -march=.
4497
        (arm_override_options): Handle -march=, but don't let -mcpu=
4498
        and -mtune= match the architecture names, since we can only
4499
        tune for an implementation.  Rework selection of tuning options
4500
        for floating point.
4501
        (use_return_insn): Support interworking with Thumb code.
4502
        (arm_rtx_costs): Rework multiply costs so that cost is based on
4503
        the tune, not the architecture.
4504
        (f_register_operand): New function.
4505
        (output_return_instruction): Support interworking with Thumb code.
4506
        (output_func_epilogue): Support interworking with Thumb code.
4507
        Remove redundant calculation of code_size. Use floating-point
4508
        load-multiples if permitted.
4509
        (emit_sfm): New function.
4510
        (arm_expand_prologue): Use floating-point store-multiples if
4511
        permitted.
4512
 
4513
        * arm.h (CPP_CPU_ARCH_SPEC): Handle -march=...
4514
        (TARGET_OPTIONS): Add arch= and fp=.  Delete fpe=.
4515
        (enum processor_type): Add PROCESSOR_NONE, for use in all_procs table.
4516
        (FP_DEFAULT): Default floating point architecture for generic
4517
        back-end.
4518
        (PREDICATE_CODES): Add f_register_operand.
4519
 
4520
        * arm.md (*push_fp_multi): New pattern.
4521
 
4522
 
4523
Tue Jul 15 22:08:47 1997  Jim Wilson  
4524
 
4525
        * Makefile.in (exeext): Set to build_exeext not exeext.
4526
        * configure.in (exeext): Delete redundant set and AC_SUBST call.
4527
        Change remaining AC_SUBST to use build_exeext instead of exeext.
4528
 
4529
Tue Jul 15 15:48:25 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
4530
 
4531
        * configure.in: Fix calculation if default thread support is enabled.
4532
 
4533
Tue Jul 15 13:38:46 1997  Mike Meissner  
4534
 
4535
        * rtl.h (replace_regs): Declare.
4536
 
4537
Mon Jul 14 16:18:19 1997  Jason Merrill  
4538
 
4539
        * i960.h (ASM_OUTPUT_MI_THUNK): Define.
4540
 
4541
        * dwarf2out.c (gen_subprogram_die): Remove unreachable and redundant
4542
        code.
4543
 
4544
Mon Jul 14 14:22:45 1997  Jeffrey A Law  (law@cygnus.com)
4545
 
4546
        * calls.c (emit_library_call): Use right index into argvec array
4547
        when iterating over arguments which need to be pushed on the stack.
4548
        (emit_library_call_value): Likewise.
4549
 
4550
Mon Jul 14 08:17:41 1997  Richard Kenner  
4551
 
4552
        * gcc.c (convert_filename): Fix typo.
4553
 
4554
Mon Jul 14 08:10:12 1997  Andreas Schwab  
4555
 
4556
        * configure.in: Clear headers and lib2funcs before re-reading
4557
        config-lang.in.
4558
 
4559
        * m68k/linux.h (LINK_SPEC): Fix last change.
4560
 
4561
Mon Jul 14 08:03:38 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
4562
 
4563
        * configure.in (sparc-*-linux-gnu{*,libc1*}): Add sparc/t-linux.
4564
        * sparc/t-linux: New file.
4565
 
4566
        * alpha/elf.h (LINK_SPEC): Fix typo.
4567
        * configure.in (alpha-*-linux-gnu*): Set tmake_file.
4568
        * alpha/t-linux: New file.
4569
 
4570
Mon Jul 14 07:41:37 1997  Philippe De Muyter  
4571
 
4572
        * m68k.c (output_{and,ior,xor}si3): New functions from patterns bodies.
4573
        * m68k.h (output_{and,ior,xor}si3): New extern declarations.
4574
        * m68k.md (adddi3, subdi3): Allow constant operand.
4575
        (anddi3, iordi3, xordi3): New patterns.
4576
        ({and,ior,xor}si3_internal): Use corresponding output_???si3 function.
4577
 
4578
Mon Jul 14 07:33:11 1997  Fila Kolodny  
4579
 
4580
        * configure.in (*-*-gnu*): Add crt{begin,end}S.o to extra_parts.
4581
 
4582
Mon Jul 14 07:26:36 1997  Craig Burley  
4583
 
4584
        * varasm.c (assemble_variable): If low part of size
4585
        doesn't fit in an int, variable is too large.
4586
 
4587
Mon Jul 14 06:51:37 1997  Mike Meissner  
4588
 
4589
        * bitmap.{h,c}: New files.
4590
        * Makefile.in (OBJS): Add bitmap.o.
4591
        (BASIC_BLOCK_H): New make variable for basic-block.h, bitmap.h.
4592
        ({flow,combine,regclass,local-alloc,reload1,reorg,sched}.o): Use
4593
        BASIC_BLOCK_H variable instead of basic-block.h.
4594
        * basic-block.h (*REG_SET): Delete old implementation; use bitmap.h.
4595
        (regset_{size,bytes}): Delete.
4596
        (regs_live_at_setjmp): Declare.
4597
        (EXECUTE_IF_SET_AND_RESET_IN_REG_SET): Delete.
4598
        * flow.c (init_regset_vector): Make global; don't take basic block
4599
        times # of pseduos as argument.
4600
        (life_analysis): Change all init_regset_vector calls.
4601
        Use free_regset_vector to release arrays only flow uses at end.
4602
        (allocate_for_life_analysis): Change init_regset_vector call.
4603
        Don't set regset_{size,bytes}.
4604
        (free_regset_vector): Call FREE_REG_SET to release any
4605
        memory allocated by each vector.
4606
        (propagate_block): Call FREE_REG_SET on dead/live.
4607
        (mark_used_regs): Don't use REGSET_ELT_TYPE anymore.
4608
        * output.h (allocate_for_life_analysis): Add declaration.
4609
        (regno_uninitialized, regno_clobbered_at_setjmp): Likewise.
4610
        (dump_flow_info, flow_analysis): Likewise.
4611
        * regclass.c (init_reg_sets): Invoke INIT_ONCE_REG_SET.
4612
        (allocate_reg_info): Invoke MAX_REGNO_REG_SET.
4613
        (regset_release_memory): Free basic_block_live_at_start storage.
4614
        * reorg.c (mark_target_live_regs): Delete unused variables.
4615
        * sched.c (schedule_block): Free space associated with
4616
        reg_pending_sets and old_live_regs.
4617
        (schedule_insns): Free bb_{dead,live}_regs on first pass.
4618
        (sched_analyze_insn): Use EXECUTE_IF_SET_IN_REG_SET and then clear.
4619
        * toplev.c (rest_of_compilation): Call regset_release_memory.
4620
 
4621
Mon Jul 14 00:14:13 1997  Jason Merrill  
4622
 
4623
        * toplev.c (main): Prefer DWARF 2 or stabs with -ggdb.
4624
        * ns32k/tek6000.h (PREFERRED_DEBUGGING_TYPE): DBX_DEBUG.
4625
        * alpha.h (PREFERRED_DEBUGGING_TYPE): SDB_DEBUG.
4626
        * mips.h (PREFERRED_DEBUGGING_TYPE): SDB_DEBUG.
4627
 
4628
Sun Jul 13 15:11:08 1997  Richard Kenner  
4629
 
4630
        * stupid.c (stupid_mark_refs): If setting reg set only in this
4631
        insn and not referenced, make REG_UNUSED note.
4632
 
4633
Sun Jul 13 14:03:19 1997  Michael Meissner  
4634
 
4635
        * gcc.c (process_command): If -save-temps and -pipe were specified
4636
        together, don't do -pipe.
4637
 
4638
Sun Jul 13 12:27:03 1997  Doug Evans  
4639
 
4640
        * gcc.c (main): Handle blank in version_string when comparing
4641
        with compiler_version.
4642
 
4643
Sat Jul 12 01:53:55 1997  Jason Merrill  
4644
 
4645
        * sparc.c (output_function_prologue): Fix offset from CFA.
4646
        (sparc_flat_output_function_prologue): Likewise.
4647
 
4648
Fri Jul 11 09:49:15 1997  Jeffrey A Law  (law@cygnus.com)
4649
 
4650
        * mips.c (epilogue_reg_mentioned_p): Delete unused function.
4651
        (mips_epilogue_delay_slots): Likewise.
4652
        (function_epilogue): Greatly simplify.
4653
        (mips_expand_epilogue): If we have a null prologue/epilogue,
4654
        then use a normal return insn.  Emit blockage insns before
4655
        stack pointer adjustments.
4656
        (mips_can_use_return_insn): Renamed from simple_epilogue_p.  All
4657
        callers changed.  Do not use return insns if $31 is live in the
4658
        function or if generating profiling information.
4659
        * mips.h (DELAY_SLOTS_FOR_EPILOGUE): Delete.
4660
        (ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
4661
        * mips.md (return): Remove expander and change the pattern to
4662
        look like a standard "return" insn.
4663
        (return_internal): Show use of $31 explictly.
4664
        (epilogue expander): Enable.
4665
 
4666
Thu Jul 10 13:04:53 1997  Doug Evans  
4667
 
4668
        * cccp.c (INO_T_EQ): Return 0 for MSDOS.
4669
 
4670
        * Makefile.in (CC): Use autoconf value.
4671
 
4672
Tue Jul  8 18:08:00 1997  Jim Wilson  
4673
 
4674
        * dwarf2out.c (gen_subprogram_die): When handling declarations, test
4675
        DECL_CONTEXT not decl_class_context before equate_decl_number_to_die.
4676
 
4677
Tue Jul  8 16:47:13 1997  Michael Meissner  
4678
 
4679
        * rs6000.md (movsi define_split): Use unsigned HOST_WIDE_INT,
4680
        not unsigned.
4681
 
4682
Sat Jul  7 00:01:41 1997  Jim Meyering 
4683
 
4684
        * i386/t-sol2 (crt[1in].o): Also depend on $(GCC_PASSES).
4685
 
4686
Fri Jul  4 11:45:39 1997  Jason Merrill  
4687
 
4688
        * dwarf2out.c (DWARF_CIE_HEADER_SIZE, DWARF_FDE_HEADER_SIZE,
4689
        size_of_cfi, size_of_fde, calc_fde_sizes, next_fde_offset,
4690
        cie_size): Lose.
4691
        (ASM_OUTPUT_DWARF_STRING): Move earlier.
4692
        (INCOMING_FRAME_SP_OFFSET): Provide default.
4693
        (initial_return_save): Adjust for CFA offset.
4694
        (dwarf2out_frame_debug): Lookup initial CFA offset when setting up.
4695
        (output_call_frame_info): Use label subtraction for length fields.
4696
        Add pointer to exception region information in for_eh case.
4697
        (dwarf2out_do_frame): New fn.
4698
        (dwarf2out_frame_init): Use INCOMING_FRAME_SP_OFFSET.
4699
        (dwarf2out_frame_finish): Don't bother emitting .debug_frame for
4700
        non-Irix targets.  Just emit .eh_frame.
4701
        (output_die): Refer to an FDE with label subtraction.
4702
        * i386.h (INCOMING_FRAME_SP_OFFSET): Define.
4703
        * defaults.h (DWARF2_UNWIND_INFO): Define if
4704
        INCOMING_RETURN_ADDR_RTX is provided.
4705
        * final.c (final): Don't call dwarf2out_frame_debug unless we are
4706
        doing dwarf 2.
4707
 
4708
Thu Jul  3 17:37:52 1997  Jim Wilson  
4709
 
4710
        * fp-bit.c (unpack_d): Check fraction not sign to distinquish QNaN.
4711
 
4712
Wed Jul  2 09:48:03 1997  Michael Meissner  
4713
 
4714
        * loop.c (strength_reduce): Make sure register does not exceed the
4715
        table size when looking up the last UID.
4716
 
4717
Wed Jul  2 07:47:44 1997  Nick Burrett  
4718
 
4719
        * genoutput.c (process_template): Place increment expression
4720
        outside of putchar function call.
4721
 
4722
Wed Jul  2 06:56:52 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
4723
 
4724
        * sparc/linux.h (LIBGCC_SPEC): Removed.
4725
        (CC1_SPEC): Add %{profile:-p}.
4726
        ({CPP,LIB,LINK}_SPEC): Choose glibc 1 or 2 depending on USE_GNULIBC_1.
4727
        * configure.in (sparc-*-linux-gnulibc1*): New configuration.
4728
 
4729
        * configure.in (powerpc-*-linuxgnu*): Default thread_file is posix.
4730
        Set xmake_file to x-linux.  Add extra_parts.
4731
        * rs6000/linux.h (LINK_SPEC): Defined.
4732
 
4733
        * m68k/linux.h (LINK_SPEC): Pass -shared for -shared.
4734
        ({CPP,LINK}_SPEC): Choose for glibc 1 or 2 depending on USE_GNULIBC_1.
4735
        * configure.in (m68k-*-linux-gnu*): Default thread_file is `posix'.
4736
        (m68k-*-linux-gnulibc1): New configuration.
4737
 
4738
        * alpha/elf.h (LINK_SPEC): Change ld-gnu.so.1 to ld-linux.so.2.
4739
        * configure.in (alpha-*-linux-gnu*): Default thread_file is `posix'.
4740
 
4741
Wed Jul  2 06:12:37 1997  Richard Kenner  
4742
 
4743
        * alpha.md (divsi3, modsi3, udivsi3): Comment out.
4744
        (extendsfsd2_no_tp): Add alternative with output in MEM, input in REG.
4745
 
4746
        * configure.in (*-linux*): Add "-gnu" to names to match.
4747
 
4748
        * libgcc2.c (_trampoline): Add stdcall attribute to VirtualProtect
4749
        on i386.
4750
 
4751
        * objc/objc.gperf: Renamed from gperf.
4752
 
4753
Wed Jul  2 05:42:19 1997  Andreas Schwab  
4754
 
4755
        * objc/Make-lang.in ($(srcdir)/objc/objc-parse.c): Fix command
4756
        to use the right file names.
4757
 
4758
Tue Jul  1 23:25:42 1997  Richard Kenner  
4759
 
4760
        * reorg.c (redundant_insn): If INSN or possible match has REG_UNUSED
4761
        note, don't have match.
4762
 
4763
Tue Jul  1 18:36:24 1997  Doug Evans  
4764
 
4765
        * mips.c (mips_output_external): Don't output .extern's for
4766
        variables in user specified sections unless they're .sbss/.sdata.
4767
 
4768
Tue Jul  1 18:30:26 1997  Jim Wilson  
4769
 
4770
        * cse.c (find_best_addr): Add missing rtx_cost arguments.
4771
 
4772
        * fp-bit.c (float_to_usi): Move code for negative numbers before code
4773
        for infinity.  Modify infinty code to only handle positive infinities.
4774
 
4775
Tue Jul  1 11:16:41 1997  Robert Lipe  
4776
 
4777
        * fixinc.sco: Restore pwd after copy.
4778
        Convert declaration of abs in math.h to prototype.
4779
        Fix static functions in sys/stat.h for C++.
4780
 
4781
Tue Jul  1 10:55:47 1997  Michael Meissner  
4782
 
4783
        * rs6000.md ({add,ior,xor}si3): Change to use define_expand wrapper
4784
        and split add/ior/xor of large constants early.
4785
        (andsi3): Remove 6/29 code to do and of large constants.
4786
        (nor, nand, eqv, maskir): Add names to all logical define_insns.
4787
 
4788
Tue Jul  1 09:03:35 1997  Jeffrey A Law  (law@cygnus.com)
4789
 
4790
        * h8300.h (BIGGEST_FIELD_ALIGNMENT): Remove definition.
4791
        * mips.h (BIGGEST_FIELD_ALIGNMENT): Likewise.
4792
 
4793
Mon Jun 30 14:58:00 1997  Jeffrey A Law  (law@cygnus.com)
4794
 
4795
        * sh.c (sh_expand_epilogue): Emit blockage insn before cutting
4796
        back stack.
4797
 
4798
Sun Jun 29 11:27:07 1997  Michael Meissner  
4799
 
4800
        * rs6000.h (TARGET_FLAGS): Add -m{,no-}update to suppress
4801
        creating load/store with update instructions, and also
4802
        -m{,no-}fused-madd to suppress the generation of fused add and
4803
        multiply instructions.  Move debug flags to TARGET_OPTIONS.
4804
        (GO_IF_LEGITIMATE_ADDRESS): Don't allow PRE_{INC,DEC} if -mno-update.
4805
        (GO_IF_MODE_DEPENDENT_ADDRESS): Ditto.
4806
        (rs6000_debug_{name,stack,arg}): Add declarations.
4807
        (toc_initialized): Likewise.
4808
        (got_no_const_operand): Likewise.
4809
        (PREDICATE_CODES): Add got_no_const_operand.
4810
        (toc_section): Make toc_initialized a global.
4811
        (RTX_COSTS): Set appropriate costs for add, logical operators that
4812
        are really two instructions.
4813
 
4814
        * rs6000.c (rs6000_debug_{name,stack,arg}): Add definitions.
4815
        (rs6000_override_options): Process debug flags.
4816
        (toc_initialized): Global to say toc initialized.
4817
        (small_data_operand): Use #if TARGET_ELF, not #ifdef TARGET_SDATA.
4818
        (rs6000_init_expanders): Likewise.
4819
        (SMALL_DATA_RELOC): Likewise.
4820
        (got_no_const_operand): Recognize SYMBOL_REF and LABEL_REF.
4821
        (rs6000_makes_calls): System V profiling doesn't count as a call.
4822
        (rs6000_stack_info): Likewise.
4823
        (rs6000_output_load_toc_table): Take register number argument to
4824
        determine register to load.  Generate correct code if more than
4825
        one toc table is done in System V due to profiling or non-local
4826
        gotos.  If System V toc is not initialized, initialize it now.
4827
        (rs6000_allocate_stack_space): Move code from output_prolog to
4828
        allocate stack space.  Take -mno-update into account.
4829
        (output_prolog): Call rs6000_allocate_stack_space.  Only set
4830
        rs6000_pic_func_labelno if not profiling.
4831
        (output_function_profiler): Implement System V profiling.
4832
        (and_operand): Don't call reg_or_short_operand.
4833
        (rs6000_finalize_pic): If not optimizing, insert a USE of the GOT
4834
        register as the last insn.
4835
 
4836
        * rs6000.md (load/store update): Take -mno-update into account.
4837
        If -msoft-float, support SF load/store with update to GPR regs.
4838
        (allocate_stack): Take -mno-update into account.
4839
        (add/subtract + multiply instructions): Take -mno-fused-madd into
4840
        account.
4841
        (nonlocal_goto_receiver): Specify register # to load.
4842
        ({add,and,ior,xor}si3): Recognize operation done with full 32 bit
4843
        constant, splitting latter if need be.
4844
        (andsi3 define_split): Fix up splitting andsi3 of large constant.
4845
        ({ior,xor}si3 define_split): Use GEN_INT to create integer rtx
4846
        values.
4847
        (movsi_got{,_internal}): Split the load of a CONST into load of
4848
        the SYMBOL_REF/LABEL_REF and an add.
4849
        (movsi): Know that addsi3 can handle large values now for NT.
4850
 
4851
        * sysv4.h (TARGET_SDATA): Remove explicit bit for -msdata.
4852
        (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
4853
        (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
4854
        (SUBTARGET_SWITCHES): Indicate -m{,no-}sdata doesn't set any flags.
4855
        (ASM_SPEC): Only pass -m{,no-}reg-names if assembling .s/.S files.
4856
        (CC1_SPEC): If -msdata, invoke compiler with -msdata=default.
4857
        (PROFILE_BEFORE_PROLOGUE): Likewise.
4858
        (RS6000_MCOUNT): Define as "_mcount".
4859
        (toc_section): Make toc_initialized a global.
4860
 
4861
Fri Jun 27 19:01:11 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
4862
 
4863
        * config/t-linux-gnulibc1: New file.
4864
        * configure.in (i[3456]86-*-linux*): Default thread_file is `posix'.
4865
        (i[3456]86-*-linux*gnulibc1): New case.
4866
        * config/linux.h (LIB_SPEC): Choose for glibc 1 or 2 depending
4867
        on USE_GNULIBC_1.
4868
        * i386/linux.h (CPP_SPEC, LINK_SPEC): Likewise.
4869
 
4870
Fri Jun 27 19:00:52 1997  Ralf Baechle  
4871
 
4872
        * config/linux.h (PREFERRED_DEBUGGING_TYPE): Undefine before define.
4873
 
4874
Fri Jun 27 18:35:04 1997  Alan Modra  
4875
 
4876
        * configure.in: Clean up Make-{host,target,hooks} in all
4877
        subdirs, not just '.'.
4878
        * Makefile.in (distclean): Delete */Make-{host,target,lang,hooks}.
4879
 
4880
Fri Jun 27 18:27:11 1997  Fila Kolodny  
4881
 
4882
        * config/xm-gnu.h (fcntl.h): Only include if not building libgcc.a.
4883
 
4884
Fri Jun 27 18:17:44 1997  Doug Evans  
4885
 
4886
        * configure.frag: Rewrite.
4887
 
4888
        * objc/Make-lang.in (OBJC_CCOMMON): Object files don't go in srcdir.
4889
        (OBJC_OBJS): Likewise.
4890
        (OBJC_O): Likewise.
4891
        (objc-parse.o, objc-act.o): Fix rules.
4892
        (objc/libobjc files): Fix rules.
4893
 
4894
Fri Jun 27 13:23:38 1997  Andrew Cagney  
4895
 
4896
        * fp-bit.c (float_to_si): Correct return value when Inf.
4897
 
4898
Fri Jun 27 10:47:09 1997  Scott Christley 
4899
 
4900
        * Makefile.in (DLLTOOL): Define.
4901
        * objc/Make-lang.in (libobjc_entry.o, libobjc_s.a, libobjc.dll):
4902
        New targets.
4903
        (objc.install-normal): Install Objective-C runtime as a DLL.
4904
        (objc.mostlyclean): Clean up files used to build DLL.
4905
        * objc/libobjc.def: New file.
4906
        * objc/libobjc_entry.c: New file.
4907
 
4908
        * objc/sendmsg.c (search_for_method_in_list): No longer static.
4909
 
4910
        * Makefile.in (GCC_THREAD_FILE): Renamed from OBJC_THREAD_FILE.
4911
        * configure.lang (GCC_THREAD_FILE): Likewise.
4912
        * configure.in (--enable-threads): New parameter.
4913
        * objc/Make-lang.in (OBJC_THREAD_FILE): New definition.e
4914
        * objc/config-lang.in: Print message about ObjC thread file.
4915
 
4916
        * cccp.c (INO_T_EQ): Define for Win32 but not Cygwin32.
4917
        * i386/mingw32.h: New file.
4918
        * i386/xm-mingw32.h: New file.
4919
        * configure.in (i[3456]86-*-mingw32): New target.
4920
        * protoize.c (link): Eliminate definition on Win32.
4921
 
4922
        * objc/thr-posix.c (__objc_thread_yield): Use sched_yield instead.
4923
 
4924
Fri Jun 27 10:36:41 1997  J"orn Rennecke 
4925
 
4926
        * stor-layout.c (layout_record, PCC_BITFIELD_TYPE_MATTERS):
4927
        Round up when calculating possible end address.
4928
 
4929
Wed Jun 25 19:54:29 1997  Jim Wilson  
4930
 
4931
        * unroll.c (final_giv_value): Verify that bl->initial_value is
4932
        invariant before trying to use it.
4933
 
4934
Wed Jun 25 18:13:05 1997  Michael Meissner  
4935
 
4936
        * rs6000/sysv4.h (WCHAR_TYPE{,_SIZE}): Make wchar_t long as per
4937
        ABI spec.
4938
 
4939
Wed Jun 25 16:56:16 1997  Jason Merrill  
4940
 
4941
        * sparc.h (INCOMING_RETURN_ADDR_RTX): Define.
4942
        (DBX_REGISTER_NUMBER): Fix frame pointer regno for -mflat.
4943
        * sol2.h (DBX_REGISTER_NUMBER): Likewise.
4944
        * sparc.c (save_regs): Emit dwarf2 frame debug info.
4945
        (output_function_prologue, sparc_flat_save_restore,
4946
        sparc_flat_output_function_prologue): Likewise.
4947
 
4948
        * dwarf2.h (enum dwarf_call_frame_info): Add DW_CFA_GNU_window_save.
4949
        * dwarf2out.c (dwarf_cfi_name, output_cfi): Support it.
4950
        (dwarf2out_cfi_label): Make non-static.
4951
        (initial_return_save): Support PLUS.
4952
        (dwarf2out_window_save, dwarf2out_return_save,
4953
        dwarf2out_return_reg): New fns.
4954
 
4955
        * dwarf2out.c (SECTION_FORMAT): Use PUSHSECTION_FORMAT, if defined.
4956
        (DEBUG_INFO_SECTION): Rename from DEBUG_SECTION.
4957
        (DEBUG_LINE_SECTION): Rename from LINE_SECTION.
4958
        * mips/iris6.h: Likewise.
4959
 
4960
Wed Jun 25 16:25:41 1997  Scott Christley 
4961
 
4962
        * Makefile.in (GCC_PASSES): Don't define with $(exeext).
4963
        * configure.in ({cc,stage_prefix}_set_by_configure): Eliminate extra
4964
        comma and don't pass value to configure.lang.
4965
        * objc/Make-lang.in (objc-runtime): Add objc-headers.
4966
 
4967
        * configure.in: Execute configure.frag in a shell.
4968
 
4969
        * configure.in (cross_overrides, build_overrides): Default to
4970
        /dev/null to help platforms where sed cannot handle empty filenames.
4971
 
4972
        * Reorganize thread implementation to make a clearly defined
4973
        front-end/back-end interface.
4974
        * objc/thr-{decosf1,irix,mach,os2,posix,pthreads,single}.c: Completely
4975
        rework according to new interface.
4976
        * objc/thr-{solaris,win32}.c: Likewise.
4977
        * objc/thr.c: Likewise.
4978
        * objc/thr.h: Define front-end/back-end interface functions and
4979
        structures.
4980
 
4981
Wed Jun 25 16:14:10 1997  Ovidiu Predescu 
4982
 
4983
        * Complete implementation of +load.
4984
        * objc/init.c (objc_send_load): New function.
4985
        (objc_class_tree): New structure.
4986
        (create_tree_of_subclasses_inherited_from): New function.
4987
        (__objc_tree_insert_class): New function.
4988
        (objc_tree_insert_class): New function.
4989
        (objc_preorder_traverse): New function.
4990
        (objc_postorder_traverse): New function.
4991
        (__objc_tree_print): New function.
4992
        (__objc_destroy_class_tree_node): New function.
4993
        (class_is_subclass_of_class): New function.
4994
        (__objc_exec_class): Allocate class tree list and load hash table.
4995
        (__objc_send_message_in_list): Rewrite using hash table.
4996
        (__objc_send_load): Remove calls to _objc_load_callback.
4997
        (objc_send_load): Make static.  Create Tree of classes resembling
4998
        class hierarchy for all modules.  Call __objc_send_load on all of
4999
        the modules in __objc_module_list.
5000
        (__objc_create_classes_tree): New function.
5001
 
5002
        * objc/encoding.h (method_get_sizeof_arguments): Fix typo.
5003
        * objc/objc-api.h (OBJC_ERR_BAD_STATE): New error code.
5004
        On NeXT redefine object_copy and object_dispose to avoid
5005
        a conflict with those defined in system library.
5006
        * objc/selector.c (__objc_register_instance_methods_to_class): New
5007
        function.
5008
        * objc/runtime.h: Likewise.  Add missing function prototypes.
5009
 
5010
Wed Jun 25 15:09:01 1997  Richard Kenner  
5011
 
5012
        * Makefile.in (Makefile): Execute configure.frag from srcdir.
5013
 
5014
        * Makefile.in (configure): Target is $(srcdir)/configure.
5015
 
5016
Tue Jun 24 15:18:14 1997  Jim Wilson  
5017
 
5018
        * m68k.h (LIMIT_RELOAD_CLASS): Define.
5019
 
5020
        * recog.c (constrain_operands): When checking earlyclobbers, use
5021
        operands_match_p instead of rtx_equal_p.
5022
 
5023
        * dwarfout.c (field_byte_offset): Check for object_offset_in_bits
5024
        greater than bitpos_int and recompute object_offset_in_bytes if true.
5025
 
5026
        * mips.md (movdi_internal): Add x/J alternative.
5027
        (movdi_internal2): Add x/J alternative; change a/I to a/J.
5028
        (movsi_internal1, movsi_internal2): Change x/I alternative to x/J.
5029
 
5030
Tue Jun 24 08:49:56 1997  Jeffrey A Law  (law@cygnus.com)
5031
 
5032
        * pa.h (ASM_OUTPUT_SECTION_NAME): Fix typo.
5033
 
5034
Mon Jun 23 22:48:00 1997  Jim Wilson  
5035
 
5036
        * unroll.c (find_splittable_givs): Set splittable_regs_updates to
5037
        biv_count for reduced givs.
5038
 
5039
Mon Jun 23 10:51:53 1997  Jeffrey A Law  (law@cygnus.com)
5040
 
5041
        * mn10200.c, mn10200.h, mn10200.md: New files for mn10200 port.
5042
        * lib1funcs.asm, divmod.c, udivmod.c, udivmodsi4.c: Likewise.
5043
        * t-mn10200, xm-mn10200.h, va-mn10200.h: Likewise.
5044
        * Makefile.in (USER_H): Add va-mn10200.h.
5045
        * varargs.h, stdarg.h: Include va-mn10200.h.
5046
        * configure.in (mn10200-*-*): New target.
5047
 
5048
Sun Jun 22 06:47:19 1997  Andreas Schwab  
5049
 
5050
        * combine.c (force_to_mode): Don't do anything for ASM_OPERANDS insn.
5051
 
5052
Sun Jun 22 06:29:28 1997  J. Kean Johnston  
5053
 
5054
        * ginclude/stdarg.h: Protect va_list definition from SCO headers.
5055
        * ginclude/varargs.h: Likewise.
5056
 
5057
Sat Jun 21 20:56:23 1997  Scott Christley 
5058
 
5059
        * Make ObjC a front-end language.
5060
        * Makefile.in (LANGUAGES, COMPILERS, .PHONY, stmp-int-hdrs): Remove
5061
        specific references to ObjC compiler and source files.
5062
        ({mostly,dist,maintainer,}clean, install-normal): Likewise
5063
        (OBJC_OBJS, OBJC, OBJECTIVE-C, cc1obj, objc-runtime): Rules deleted.
5064
        (libobjc.a, sublibobjc.a, objc-parse.{o, c, y}): Rules deleted.
5065
        (objc-headers, install-libobjc): Rules deleted.
5066
        * objc/Make-lang.in: New file; from rules deleted above.
5067
        * objc/config-lang.in: New file.
5068
        * objc/Makefile.in: Changes to support ObjC as a front-end language;
5069
        renamed from Makefile.in.
5070
        * objc-act.{c,h}, objc-parse.{c,y}, objc-tree.def: Moved to objc dir.
5071
 
5072
Sat Jun 21 07:54:36 1997  Robert Lipe 
5073
 
5074
        * fixinc.sco (math.h): Correct the collision of "exception".
5075
 
5076
Sat Jun 21 06:51:40 1997  Peter Gerwinski  
5077
 
5078
        * rs6000.c (output_epilog): Name is "GNU Pascal", not all caps.
5079
 
5080
Sat Jun 21 06:29:19 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
5081
 
5082
        * gcc.c (main): Check for and read ${libdir}/gcc-lib/specs to
5083
        override the default specs.
5084
 
5085
Fri Jun 20 17:20:15 1997  Jim Wilson  
5086
 
5087
        * mips.c (output_block_move): When loading addresses into registers,
5088
        add checks for ABI_N32 and ABI_64.
5089
        (mips_expand_prologue): Add check for SImode in code splitting
5090
        tsize_rtx when it is large_int.
5091
 
5092
Fri Jun 20 09:07:31 1997  Russell King  
5093
 
5094
        * configure.in (arm-*-linuxaout): New target.
5095
        * arm/lib1funcs-linux.asm, arm/linux-gas.h: New files.
5096
        * arm/linux.h, arm/t-linux, arm/xm-linux.h: New file.
5097
        * xm-linux.h: Undef some macros before defining them.
5098
 
5099
Thu Jun 19 21:18:20 1997  Jim Wilson  
5100
 
5101
        * dwarf2out.c (output_line_info): Always use DW_LNE_set_address instead
5102
        of DW_LNS_fixed_advance_pc for line number addresses.
5103
        (size_of_line_info): Adjust size calculation as per above change.
5104
        (text_end_label): Make it static.
5105
 
5106
Thu Jun 19 14:55:49 1997  Brendan Kehoe  
5107
 
5108
        * toplev.c (xmalloc): Only give the fatal msg if SIZE is nonzero.
5109
 
5110
Sun Apr 27 23:19:13 1997  Ulrich Drepper  
5111
 
5112
        * libgcc2.c (__eh_type):  Remove `extern' to make this a definition.
5113
 
5114
Wed Jun 18 18:10:16 1997  Per Bothner  
5115
 
5116
        * dbxout.c (dbxout_type_fields):  Skip field if DECL_IGNORED_P.
5117
 
5118
Wed Jun 18 18:04:33 1997  Mike Stump  
5119
 
5120
        * except.c (end_eh_unwinder): If we have a return instruction, we
5121
        have to make sure we use it and don't fall off the end of the
5122
        function in the unwinder.
5123
 
5124
Wed Jun 18 14:27:58 1997  Mike Stump  
5125
 
5126
        * flow.c (find_basic_blocks): Fix end case bug.
5127
 
5128
Tue Jun 17 18:35:57 1997  Mike Stump  
5129
 
5130
        * libgcc2.c (__eh_pcnthrow): Add support -fno-sjlj-exceptions
5131
        -fPIC exception handling on the SPARC.
5132
        * sparc.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Likewise.
5133
        * libgcc2.c (__eh_ffetmnpc): Remove.
5134
 
5135
Mon Jun 16 20:28:51 1997  Jason Merrill  
5136
 
5137
        * collect2.c (extract_string): Null-terminate.
5138
 
5139
Mon Jun 16 14:38:44 1997  Michael Meissner  
5140
 
5141
        * combine.c (set_nonzero_bits_and_sign_copies): Use REG_SET macros
5142
        instead of doing bit operations directly.
5143
        (try_combine,reg_dead_at_p): Ditto.
5144
        * caller-save.c (save_call_clobbered_regs): Ditto.
5145
        * reload1.c (reload): Ditto.
5146
        * local-alloc.c (update_equiv_regs,block_alloc): Ditto.
5147
        * sched.c (schedule_block): Dito.
5148
 
5149
Sun Jun 15 20:46:12 1997  Jim Wilson  
5150
 
5151
        * dwarf2out.c (dwarf2out_frame_debug): Handle IOR.
5152
        (struct limbo_die_struct): Define.
5153
        (TYPE_DECL_IS_STUB): Call decl_ultimate_origin if DECL_ABTRACT_ORIGIN
5154
        is set.
5155
        (limbo_die_count): Delete.
5156
        (libmo_die_list): Define.
5157
        (new_die): Add die to limbo_die_list instead of incrementing
5158
        limbo_die_count.
5159
        (add_AT_location_description): Renamed from add_location_attribute.
5160
        New parameter attr_kind.
5161
        (add_location_or_const_value_attribute, gen_subprogram_die,
5162
        add_bound_info): Change call to add_AT_location_description.
5163
        (add_bound_info): Add call to contains_placeholder_p.  Ignore
5164
        MAX_EXPR and VAR_DECL.
5165
        (add_subscript_info): Ignore the index type if it is an unnamed
5166
        integral type.
5167
        (scope_die_for): Move check for function-local tags after code setting
5168
        containing_scope, and add check for non-NULL containing_scope
5169
        (add_type_attribute): If unnamed type, use TREE_TYPE instead.
5170
        (gen_enumeration_type_die, gen_struct_or_union_type_die): Call
5171
        add_child_die if die_parent is NULL.
5172
        (gen_subprogram_die): Ifdef out DW_AT_static_link code.
5173
        (decls_for_scope): Delete decrement of limbo_die_count.
5174
        (dwarf2out_finish): Add code to traverse the limbo_die_list, and
5175
        call add_child_die if die_parent is NULL.  Delete limbo_die_count code.
5176
        * mips.c (mips_expand_prologue): If tsize_rtx is large_int, emit two
5177
        insns instead of one splitable insn, setting RTX_FRAME_RELATED_P.
5178
 
5179
Fri Jun 13 19:33:35 1997  Brendan Kehoe  
5180
 
5181
        * fixincludes: Also fix AIX NULL macro in sys/{dir,param,types}.h.
5182
 
5183
Thu Jun 12 22:53:12 1997  Jim Wilson  
5184
 
5185
        * m68k.md (mov[qhs]i): Remove pair of constraints which allow
5186
        offsetable memory addresses to be moved to the same for TARGET_5200.
5187
 
5188
Thu Jun 12 15:33:01 1997  Jeffrey A Law  (law@cygnus.com)
5189
 
5190
        * pa.h (SELECT_RTX_SECTION): Place symbolic operands into the
5191
        data section.
5192
 
5193
        * pa.c (emit_move_sequence): Rewrite code to handle arithmetic
5194
        involving plabels.
5195
 
5196
Wed Jun 11 08:57:14 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
5197
 
5198
        * tree.c (unsave_expr_now): Avoid recursing into the parts of
5199
        the tree that are RTL.
5200
 
5201
Thu Jun 12 09:43:55 1997  Jeffrey A Law  (law@cygnus.com)
5202
 
5203
        * reorg.c (emit_delay_sequence): Call set_new_first_and_last_insn
5204
        after the new sequence insn has been spliced into the insn chain.
5205
 
5206
Wed Jun 11 23:10:49 1997  Jeffrey A Law  (law@cygnus.com)
5207
 
5208
        * mn10300.md (call, call_value): Use "call" instead of "calls"
5209
        for calls to named functions.
5210
 
5211
Wed Jun 11 00:22:34 1997  Jim Wilson  
5212
 
5213
        * configure, configure.in: Restore changes from Feb 15 to Apr 13
5214
        lost during conversion to autoconf.
5215
 
5216
Tue Jun 10 18:23:35 1997  Mike Stump  
5217
 
5218
        * stmt.c (expand_decl_cleanup): Avoid core dumping when exceptions
5219
        aren't on.
5220
 
5221
Tue Jun 10 18:22:30 1997  Jason Merrill  
5222
 
5223
        * collect2.c (extract_string): New fn.
5224
        (main): Use it.
5225
 
5226
Tue Jun 10 17:40:15 1997  Jim Wilson  
5227
 
5228
        * expr.c (emit_group_load): Add case using gen_lowpart.
5229
 
5230
Tue Jun 10 17:14:58 1997  Michael Meissner  
5231
 
5232
        * rs6000.c (rs6000_override_options): If -mcpu=403, set -mstrict-align.
5233
 
5234
        * rs6000/t-ppc{,gas} (MULTILIB_EXTRA_OPTS): Build libraries with
5235
        -mstrict-align.
5236
 
5237
        * configure.in ({powerpc,rs6000}*-*-*): Add embedded targets to
5238
        --with-cpu=n support.
5239
 
5240
Tue Jun 10 07:06:12 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
5241
 
5242
        * flow.c (mark_used_regs): Fix typo in Jun 4 change.
5243
 
5244
Mon Jun  9 20:26:26 1997  Jim Wilson  
5245
 
5246
        * Makefile.in (MAYBE_USE_COLLECT2): Renamed from MAYBE_USE_COLLECT.
5247
 
5248
Mon Jun  9 19:42:21 1997  Jason Merrill  
5249
 
5250
        * fold-const.c (fold): Don't do COND_EXPR -> MIN_EXPR folding if it
5251
        loses information that might be needed by a later use as an lvalue.
5252
 
5253
Mon Jun  9 19:10:50 1997  Alexandre Oliva 
5254
 
5255
        * configure.in: Don't override a user's setting for prefix
5256
        on platforms that use the native prefix.
5257
 
5258
Mon Jun  9 19:00:49 1997  Brendan Kehoe  
5259
 
5260
        * integrate.c (expand_inline_function): Use the mode of FNDECL's
5261
        result rtl, not the result type itself, in setting ARRIVING_MODE.
5262
 
5263
        * reload1.c (reload): Use xmalloc instead of alloca for the label
5264
        offsets in OFFSETS_AT and OFFSETS_KNOWN_AT.
5265
 
5266
Mon Jun  9 15:16:52 1997  Mike Stump  
5267
 
5268
        * flow.c (find_basic_blocks): Eliminate more dead code, enables
5269
        dead throws to be eliminated.
5270
 
5271
Mon Jun  9 17:15:50 1997  Stephen L Moshier  
5272
 
5273
        * alpha.c (check_float_value):  Underflow and overflow constants
5274
        are different for FLOAT_VAX and default targets.
5275
 
5276
Mon Jun  9 16:48:21 1997  Scott Christley 
5277
 
5278
        * Makefile.in (Makefile): Process language fragments.
5279
        * configure.frag: New file.
5280
        * configure.in: Move language fragment processing to configure.lang.e
5281
 
5282
        * Makefile.in (GCC_PASSES): Prevent all compilers from being
5283
        built when only the C compiler is needed.
5284
 
5285
        * configure.in (cross_overrides, build_overrides): Use absolute
5286
        path to GCC top-level source directory.
5287
 
5288
        * configure.in: Save target alias for language directories.
5289
 
5290
        * configure.in (with-gxx-include-dir): New parameter for
5291
        setting the g++ header file directory.
5292
        * Makefile.in (gxx_include_dir): Use autoconf variable.
5293
 
5294
        * configure.in: Add parameter for setting local prefix.
5295
 
5296
        * configure.lang: New file.
5297
        * configure.in: Move language subdirectory Makefile processing
5298
        into configure.lang.
5299
 
5300
Mon Jun  9 16:44:47 1997  Jim Wilson  
5301
 
5302
        * sched.c (attach_deaths): Fix typo in Jun 4 change.
5303
 
5304
Mon Jun  9 15:13:00 1997  Marc Lehmann  (pcg@goof.com)
5305
 
5306
        * varasm.c (assemble_end_function): Switch back to function
5307
        section after outputting constant pool.
5308
 
5309
Mon Jun  9 14:47:22 1997  Paul Eggert  
5310
 
5311
        * tree.c (change_main_variant): Remove unused function.
5312
        (build_array_type): Remove obsolete references to
5313
        change_main_variant.
5314
        * c-decl.c (complete_array_type): Likewise.
5315
 
5316
        * c-common.c (c_build_type_variant): Don't futz with main type
5317
        variant of array since C Standard requires main type variant of
5318
        array-of-const also be array-of-const.
5319
 
5320
        * Makefile.in: Comment out lines containing just formfeeds.
5321
 
5322
        * Makefile.in (distclean): Remove config.bak.
5323
        (maintainer-clean): Output warning.
5324
        Do not remove `configure'.
5325
 
5326
Mon Jun  9 14:44:17 1997  J.T. Conklin  
5327
 
5328
        * configure.in (*-*-netbsd): Restore changes of Apr 13th lost in
5329
        autoconf conversion: tmake_file now t-netbsd; delete xmake_file.
5330
 
5331
Mon Jun  9 14:39:29 1997  Richard Kenner  
5332
 
5333
        * expr.c (expand_builtin, case BUILT_IN_FRAME_ADDRESS):
5334
        Use correct function name in error message.
5335
 
5336
        * Makefile.in (diff): Exclude bi-parser.h.
5337
 
5338
        * i386.h (CC1_CPU_SPEC): Renamed, was CC1_SPEC.
5339
        (CC1_SPEC): New macro.
5340
        (EXTRA_SPECS): Add "cc1_cpu".
5341
        * i386/linux.h (CC1_SPEC): New macro.
5342
 
5343
Mon Jun  9 13:23:06 1997  Philippe De Muyter  
5344
 
5345
        * m68k/next.h (TARGET_DEFAULT): Use MASK_68040,
5346
        not MASK_68040_ALSO.
5347
        * m68k/mot3300.h, m68k/ccur-GAS.h (TARGET_DEFAULT): Likewise.
5348
 
5349
        * m68k.h (MACHINE_STATE_{SAVE,RESTORE}): Test #ifdef __mcf52000__,
5350
        not if (TARGET_52000); fixed for mc68000 case.
5351
 
5352
        * m68k/mot3300.h (CPP_SPEC): Define __mc68020__ if no -m[c]68000
5353
        command-line option given.
5354
 
5355
Mon Jun  9 09:19:17 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
5356
 
5357
        * Makefile.in (target_alias): Substitute with target_alias.
5358
 
5359
        * final.c (final_scan_insn): Use single_set to check cc_status.flags.
5360
 
5361
Mon Jun  9 09:09:07 1997  Andreas Schwab  
5362
 
5363
        * c-common.c (check_format_info): Correct handling of the 'a' flag
5364
        which adds another pointer level.
5365
 
5366
Sun Jun  8 00:34:25 1997  Jeffrey A Law  (law@cygnus.com)
5367
 
5368
        * pa.md (conditional branch insns): Get length right for branches
5369
        to targets which can not be reached with a "bl" instruction.
5370
        * pa.c (output_cbranch): Handle branches to targets which can not
5371
        be reached with a "bl" instruction.
5372
 
5373
        * pa.md (alternate dbra pattern): Remove incorrect pattern.
5374
 
5375
Sat Jun  7 23:30:25 1997  Jeffrey A Law  (law@cygnus.com)
5376
 
5377
        * pa.c (struct defer_plab): Renamed to struct deferred_plabel.
5378
        Remove "symbol" field and replace with "name" field.
5379
        (output_function_epilogue): Don't output deferred plabels here.
5380
        (output_deferred_labels): New function.  Output them here instead.
5381
        (output_call): Rewrite long call support.
5382
        * pa.h (ASM_FILE_END): Define.
5383
        (LEGITIMATE_CONSTANT_P): Never accept a function_label_operand.
5384
        * pa.md (HIGH and LO_SUM of function address): Remove patterns.
5385
 
5386
Fri Jun  6 16:09:04 1997  Mike Stump  
5387
 
5388
        * libgcc2.c (__eh_ffetmnpc): Add support for machines that cannot
5389
        access globals after throw's epilogue when -fno-sjlj-exceptions is
5390
        used.
5391
        * rs6000.c (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Likewise.
5392
        * mips.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Likewise.
5393
        (INITIAL_ELIMINATION_OFFSET): Fix RETURN_ADDRESS_POINTER_REGNUM
5394
        for 64 bit words, with 32 bit pointers and variable endianness.
5395
 
5396
Fri Jun  6 17:27:58 1997  Mike Meissner  
5397
 
5398
        * regclass.c (allocate_reg_info): Fix off by one error.
5399
 
5400
Fri Jun  6 17:17:41 1997  Doug Evans  
5401
 
5402
        * basic-block.h (EXECUTE_IF_SET_IN_REG_SET): Fix setting of scan_rs_.
5403
        (EXECUTE_IF_SET_AND_RESET_IN_REG_SET): Likewise.
5404
        (EXECUTE_IF_AND_IN_REG_SET): Likewise.
5405
        (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
5406
 
5407
Fri Jun  6 15:42:59 1997  Stan Cox  
5408
 
5409
        * i386.c (notice_cc_update): Set CC_FCOMI is this is a float compare.
5410
 
5411
Fri Jun  6 15:12:38 1997  Jim Wilson  
5412
 
5413
        * basic-block.h (REG_SET_TO_HARD_REG_SET): Fix typo.
5414
 
5415
        * sched.c (update_flow_info): When add extra REG_DEAD note for original
5416
        dest, handle case where last insn both uses and sets dest.
5417
 
5418
Thu Jun  5 22:19:36 1997  Brendan Kehoe  
5419
 
5420
        * fixinc.irix: Add declaration of __vfork to unistd.h.
5421
 
5422
        * i960/vx960-coff.h (CPP_SPEC): Always define CPU, even if they
5423
        use -ansi; the VxWorks headers assume it's always present.
5424
        * sparc/vxsparc.h (CPP_SPEC): Define, adding the CPU definition to
5425
        what came from sparc.h.
5426
        (CPP_PREDEFINES): Don't define it here.
5427
 
5428
Thu Jun  5 13:40:33 1997  Mike Meissner  
5429
 
5430
        * basic-block.c (OBSTACK_ALLOC_REG_SET): Rename from
5431
        OBALLOC_REG_SET.  Add obstack pointer parameter.
5432
 
5433
        * flow.c (function_obstack): Add declaration.
5434
        (life_analysis): Don't allocate the space to hold to vector of
5435
        regsets here.
5436
        (init_regset_vector): Add pointer parameter and delete space
5437
        parameter.  Use OBSTACK_ALLOC_REG_SET to allocate.  Change callers.
5438
        (propagate_block): Use ALLOCA_REG_SET instead of bare alloca.
5439
 
5440
        * sched.c (schedule_block): Fix typo in yesterday's changes.
5441
        * reorg.c (mark_target_live_regs): Ditto.
5442
 
5443
Thu Jun  5 09:44:49 1997  Jeffrey A Law  (law@cygnus.com)
5444
 
5445
        * sh.c (trap_exit, sp_switch): New variables.
5446
        (print_operand, case '@'): If trap_exit is nonzero, then use
5447
        a trapa instead of an rte/rts to exit the current function.
5448
        (sh_expand_prologue): Switch stacks at function entry as needed.
5449
        (sh_expand_epilogue): Similarly at function exit.
5450
        (function_epilogue): Clear trap_exit and sp_switch too.
5451
        (sh_valid_machine_decl_attribute): New function.
5452
        * sh.h (VALID_MACHINE_DECL_ATTRIBUTE): Define.
5453
        (sp_switch): Declare.
5454
        * sh.md (sp_switch_1, sp_switch_2): New named patterns.
5455
 
5456
Wed Jun  4 18:11:14 1997  Michael Meissner  
5457
 
5458
        * basic-block.h (REGSET_ELT_BITS): Make this explicitly unsigned, so
5459
        that division and modulus of REGSET_ELT_BITS uses a pure shift.
5460
        (*_REG_SET): New macros to abstract the register set interface.
5461
 
5462
        * caller-save.c (save_call_clobbered_regs): Use new *_REG_SET
5463
        macros.
5464
        * flow.c (life_analysis,propagate_block,insn_dead_p): Ditto.
5465
        (regno_uninitialized,regno_clobbered_at_setjmp,mark_set_1): Ditto.
5466
        (mark_used_regs,dump_flow_info,global_conflicts): Ditto.
5467
        global.c (mark_elimination): Ditto.
5468
        * reorg.c (mark_target_live_regs): Ditto.
5469
        * sched.c (sched_{analyze_{1,insn},note_set}): Ditto.
5470
        (birthing_insn_p,attach_deaths,unlink_notes,schedule_block): Ditto.
5471
 
5472
        * sched.c (sometimes structure): Delete offset, bit fields, replace
5473
        with regno.
5474
        (new_sometimes_live): Take regno argument, not offset and bit.
5475
        Change all callers.
5476
 
5477
Tue Jun  3 19:18:36 1997  Brendan Kehoe  
5478
 
5479
        * fixincludes: Fix AIX NULL macro use of void*.
5480
 
5481
Tue Jun  3 15:21:04 1997  Jason Merrill  
5482
 
5483
        * sparc.h (ASM_OUTPUT_MI_THUNK): Handle -fpic.
5484
 
5485
Mon Jun  2 16:53:53 1997  Michael Meissner  
5486
 
5487
        * loop.c (n_times_{set,used}): Make type int, not short.
5488
        (scan_loop): n_times{set,used} are now int pointers.
5489
 
5490
        * sched.c (sched_reg_n_deaths): Remove unused variable.
5491
        (struct sometimes): Make fields int sized, not short.
5492
        (schedule_insns): Don't set sched_reg_n_deaths, nobody uses it.
5493
 
5494
        * regclass.c (allocate_reg_info): Allocate space for reg_renumber,
5495
        but don't set unless new argument RENUMBER_P is set.  If this is first
5496
        call for function and we need to grow space, use free/xmalloc instead
5497
        of realloc since we will be initializing the whole array.  If number
5498
        of registers is < 0, just free up space.
5499
        (reg_scan): Update allocate_reg_info call.
5500
        * regs.h (allocate_reg_info): Change prototype.
5501
        * flow.c (allocate_for_life_analysis): Update allocate_reg_info call.
5502
        * local-alloc.c (local_alloc): Call allocate_reg_info to allocate
5503
        and initialize the reg_renumber array.
5504
        * stupid.c (stupid_life_analysis): Likewise.
5505
 
5506
Mon Jun  2 14:50:06 1997  Dave Miller  
5507
 
5508
        * sparc.md (v9 eq/ne cond move patterns): Add early clobber
5509
        constraint to destination.
5510
 
5511
Fri May 30 11:00:44 1997  Michael Meissner  
5512
 
5513
        * regs.h (reg_info): New structure to group the arrays indexed by
5514
        register number created by reg_scan and flow_analysis that are
5515
        globally visiable.
5516
        (reg_n_info): Pointer to the register information array.
5517
        (reg_n_{refs,sets,deaths,calls_crossed}): Delete variables.
5518
        (reg_changes_size): Likewise.
5519
        (REG_N_{REFS,SETS,DEATHS,CALLS_CROSSED}): New macros to reference
5520
        reg_n_info.
5521
        (REG_{CHANGES_SIZE,{FIRST,LAST,LAST_NOTE}_UID}): Likewise.
5522
        (allocate_reg_info): Add declaration.
5523
 
5524
        * basic-block.h (reg_basic_block): Delete.
5525
        (REG_BASIC_BLOCK): Use reg_n_info structure.
5526
 
5527
        * caller-save.c: Change all references to the above arrays to use
5528
        the corresponding macro to access the reg_n_info array.
5529
        * combine.c, cse.c, flow.c, global.c, jump.c, local-alloc.c: Likewise.
5530
        * loop.c, regclass.c, reload1.c, sched.c, stupid.c, unroll.c: Likewise.
5531
 
5532
        * regclass.c (allocate_reg_info): New function to allocate the
5533
        reg_info array and initialize the appropriate fields.
5534
        (reg_scan): Call it.
5535
        * flow.c (allocate_for_life_analysis): Call allocate_reg_info to do
5536
        the actual allocation.
5537
 
5538
Thu May 29 15:42:59 1997  Stan Cox  
5539
 
5540
        * i386.md (movsfcc_1, movdfcc_1, movxfcc_1): Use singlemove_string
5541
        for float conditional move when destination and operands all differ.
5542
 
5543
        * i386.h (ASM_OUTPUT_REG_{PUSH,POP}): add %% before register name.
5544
 
5545
        * go32.h (ASM_OUTPUT_ALIGN): Use .p2align, not byte alignments.
5546
 
5547
Wed May 28 20:44:00 1997  Mike Stump  
5548
 
5549
        * except.c (push_eh_entry): Eliminate start of exception region
5550
        label, as it isn't used.  Rename end_label to outer_context.
5551
        (expand_eh_region_start_for_decl): Likewise.
5552
        (expand_leftover_cleanups): Likewise.
5553
        (expand_start_all_catch): Likewise.
5554
        * except.h (eh_entry): Likewise.
5555
        * except.c (expand_eh_region_end): Likewise.  Jump around the nop
5556
        that we insert, so that we can optimize it away, if it is unused,
5557
        also so that flow analysis can tell if we fall through to the end
5558
        of a function or not so that it can know if a function that returns
5559
        a value, in fact does or not.
5560
 
5561
Wed May 28 10:50:09 1997  Jeffrey A Law  (law@cygnus.com)
5562
 
5563
        * pa.md (jump): Handle out of range unconditional jump
5564
        when not optimizing.
5565
 
5566
Thu May 22 00:57:07 1997  Jeffrey A Law  (law@cygnus.com)
5567
 
5568
        * reload1.c (reload_cse_record_set): Ignore values for SREG if
5569
        their mode is narrower than DEST_MODE.
5570
 
5571
        * pa.h (DFMODE_RETURN_STRING): Define.
5572
        (SFMODE_RETURN_STRING): Likewise.
5573
        (ASM_DECLARE_FUNCTION_NAME): Use them.
5574
 
5575
Wed May 21 23:32:02 1997  Jeffrey A Law  (law@cygnus.com)
5576
 
5577
        * mn10300.md (reload_insi): Handle SUBREG properly.
5578
 
5579
Tue May 20 22:32:13 1997  Jason Merrill  
5580
 
5581
        * dwarf2out.c (dwarf2out_def_cfa): Set cfa_reg at the top.
5582
 
5583
Tue May 20 16:57:50 1997  Brendan Kehoe  
5584
 
5585
        * cplus-dem.c (do_type): Handle `J'.
5586
        (demangle_fund_type): Print "complex" for it.
5587
 
5588
Mon May 19 21:01:53 1997  Jim Wilson  
5589
 
5590
        * m68k.c (output_move_qimode): Add coldfire support.
5591
        * m68k.h (PUSH_ROUNDING): Add coldfire support.
5592
        * m68k.md (scc{,0}_di, seq, sne, sgt, sgtu, slt, sltu, sge, sgeu,
5593
        sle, sleu): Add coldfire support.
5594
 
5595
Mon May 19 17:53:34 1997  Mike Meissner  
5596
 
5597
        * rs6000.c: (rs6000_pic_func_labelno): New variable.
5598
        (rs6000_output_load_toc_table): Use it.
5599
        (output_prolog): Store current value.
5600
 
5601
Sun May 18 16:32:08 1997  Michael Meissner  
5602
 
5603
        * dbxcoff.h (ASM_OUTPUT_SOURCE_LINE): Use macros
5604
        ASM_{GENERATE,OUTPUT}_INTERNAL_LABEL to create/output line
5605
        number label.
5606
 
5607
Sun May 18 13:55:12 1997  John Vickers (john@rhizik.demon.co.uk)
5608
 
5609
        * m68k.h (TARGET_SWITCHES): Add new target name, cpu32.
5610
 
5611
Sun May 18 13:50:10 1997  Pat Rankin  
5612
 
5613
        * cccp.c (VMS_write, VMS_read): Delete.
5614
        (safe_write): If MAX_WRITE_LEN is defined, limit
5615
        incremental write attempts to that amount.
5616
        (safe_read): Analogous situation for MAX_READ_LEN.
5617
        * cpplib.c (safe_read): Likewise.
5618
        * vax/xm-vms.h (MAX_WRITE_LEN, MAX_READ_LEN): Define.
5619
 
5620
        * vax/xm-vms.h (get_dynamic_handler_chain_libfunc): New macro.
5621
        (protect_cleanup_actions_with_terminate): New macro.
5622
 
5623
Sun May 18 08:50:25 1997  Andreas Schwab  
5624
 
5625
        * m68k/linux.h (ASM_COMMENT_START): Define.
5626
        * m68k/linux-aout.h (ASM_COMMENT_START): Define.
5627
 
5628
        * reload1.c (reload_cse_regno_equal_p): Check for value using more
5629
        than one register on a big endian machine.
5630
 
5631
Sun May 18 08:39:59 1997  Vince Del Vecchio  
5632
 
5633
        * loop.c (maybe_eliminate_biv_1): In (set (cc0) ) case,
5634
        swap compare operands when mult_val < 0 in one additional place.
5635
 
5636
Sun May 18 08:33:30 1997  Richard Kenner  
5637
 
5638
        * dwarf2out.c (ASM_COMMENT_START): Add default definition.
5639
 
5640
        * Makefile.in (maintainer-claean): Delete configure.
5641
 
5642
Sun May 18 08:31:59 1997  Scott Christley 
5643
 
5644
        * configure.in: New file.
5645
        * Makefile.in: Change to utilize autoconf variables.
5646
        * configure: Now an output file.
5647
 
5648
Sun May 18 07:48:31 1997  J.T. Conklin  
5649
 
5650
        * m68k.md (mov[qhs]i,movstrict[qs]i, mulsi3): Use 'Q' constraint
5651
        for TARGET_5200.
5652
        * m68k.h (EXTRA_CONSTRAINT): New macro.
5653
 
5654
        * m68k.h (TARGET_SWITCHES): Add 68020-60.
5655
        Mask out bits which indicate a particular processor when a different
5656
        processor is selected.
5657
        (MASK_68040_ALSO): Remove.
5658
        (MASK_68040): Change to be a single bit.
5659
 
5660
        * m68k.h (TARGET_ALIGN_INT, MASK_ALIGN_INT): New macros.
5661
        (BIGGEST_ALIGNMENT): Determine according to TARGET_ALIGN_INT.
5662
        (TARGET_SWITCHES): Add align-int and no-align-int.
5663
 
5664
        * m68k.md (mov[qhs]i}): Add pair of constraints which allow
5665
        offsetable memory addresses to be moved to the same for TARGET_5200.
5666
 
5667
        * m68k.c (output_move_strict{hi,qi}): New functions.
5668
        * m68k.h (output_move_strict{hi,qi}): Declare.
5669
        * m68k.md (movstrict*): Changed into define_expands.
5670
        Split insns into m68k and coldfire specific versions with appropriate
5671
        constraints.
5672
 
5673
Sun May 18 07:26:40 1997  Philippe De Muyter  
5674
 
5675
        * libgcc2.c (atexit): Cast malloc and realloc calls.
5676
 
5677
Sat May 17 16:26:51 1997  Bernd Schmidt  
5678
 
5679
        * final.c (profile_function): Call function_section, not
5680
        text_section.
5681
 
5682
Sat May 17 16:01:00 1997  Philippe De Muyter  
5683
 
5684
        * cse.c (notreg_cost): New function, extracted from COST macro.
5685
        (COST): Use notreg_cost.
5686
 
5687
Sat May 17 15:13:23 1997  Richard Kenner  
5688
 
5689
        * cse.c (cse_insn): Don't record a SRC that's a MEM and the same
5690
        as a REG_EQUIV note if DEST is set more than once.
5691
 
5692
Fri May 16 14:50:57 1997  Jeffrey A Law  (law@cygnus.com)
5693
 
5694
        * pa.c (output_move_double): Handle loading a general register
5695
        from a scaled indexed memory address.
5696
        * pa.md (movdf, movdi): Allow scaled loads into general registers.
5697
 
5698
Fri May 16 13:31:08 1997  Mike Stump  
5699
 
5700
        * rs6000.c (rs6000_stack_info): Only do eabi setup for "main",
5701
        when main is the global main, not some nested routine that
5702
        happens to be called main.
5703
 
5704
Thu May 15 17:19:50 1997  Mike Stump  
5705
 
5706
        * except.c (expand_start_all_catch): If the machine needs to
5707
        perform any actions at the start of an expcetion handler that
5708
        hasn't already been done, use gen_exception_receiver to emit it.
5709
        (expand_leftover_cleanups): Likewise.
5710
        * alpha.md (exception_receiver): Use it.
5711
        * pa.h (exception_receiver): Use it.
5712
 
5713
Thu May 15 08:36:59 1997  Jeffrey A Law  (law@cygnus.com)
5714
 
5715
        * dbxout.c (dbxout_function_end): Don't subtract one from
5716
        the end of function scoping stab.
5717
 
5718
Wed May 14 23:27:09 1997  Jeffrey A Law  (law@cygnus.com)
5719
 
5720
        * mn10300.md (adddi3, subdi3): Remove expanders and patterns.
5721
 
5722
Wed May 14 18:51:35 1997  Mike Stump  
5723
 
5724
        * function.c (expand_function_end): Make sure we finish off any
5725
        leftover exception handlers.
5726
 
5727
Tue May 13 14:07:01 1997  Mike Stump  
5728
 
5729
        * expr.c (expand_builtin_setjmp): Remove setting of
5730
        current_function_has_nonlocal_goto, as this isn't a goto.
5731
 
5732
Tue May 13 14:47:40 1997  Richard Earnshaw (rearnsha@cambridge.arm.com)
5733
 
5734
        * arm.h (CPP_SPEC): Fix typo invoking cpp_endian.
5735
        * arm/t-semi (LIB2FUNCS_EXTRA): Build fp-bit.c when compiling
5736
        with -msoft-float.
5737
        * arm.c: Add prototypes for all static functions.
5738
        (output_multi_immediate, int_log2): Make static.
5739
 
5740
        * arm.h (*_SPEC): Remove all references to mle/mbe.
5741
        * arm/coff.h (MULTILIB_DEFAULTS): Likewise.
5742
        * arm/t-bare (MULTILIB_OPTIONS): Change options mbe/mle to mbig-endian
5743
        and mlittle-endian.
5744
        (MULTILIB_MATCHES): Nothing matches that matters.
5745
 
5746
Mon May 12 20:42:20 1997  Mike Stump  
5747
 
5748
        * except.c (expand_start_all_catch): If need nonlocal_goto_receiver,
5749
        add one at the start of exception handler.
5750
        (expand_leftover_cleanups): Likewise.
5751
 
5752
Mon May 12 17:36:28 1997  Jeffrey A Law  (law@cygnus.com)
5753
 
5754
        * mips.c (move_operand): Accept any general operand after reload
5755
        has started.
5756
 
5757
Fri May  9 14:29:33 1997  Jeffrey A Law  (law@cygnus.com)
5758
 
5759
        * mn10300.md (udivmodhi4, divmodhi4): Remove expander, give
5760
        corresponding pattern [u]divmodhir4 name.  Clear MDR register
5761
        in the udivmodhi4 pattern itself.
5762
        (clear_mdr): Delete pattern.
5763
 
5764
Thu May  8 18:20:30 1997 Richard Earnshaw (rearnshaw@cambridge.arm.com)
5765
 
5766
        * arm/aout.h (ASM_OUTPUT_LONG_DOUBLE): Delete call to
5767
        arm_increase_location.
5768
        (ASM_OUTPUT_{DOUBLE,FLOAT,INT,SHORT,CHAR,BYTE,ASCII,SKIP}): Likewise.
5769
        (ASM_OUTPUT_ALIGN): Delete all code refering to arm_text_location.
5770
 
5771
        * arm.c (arm_increase_location, get_prologue_size): Delete.
5772
        (arm_naked_function_p): Add declaration.
5773
        (arm_pic_register): Define.
5774
        (all_procs): Delete entries for arm{60,620,70,7d,7di,700i,710c}; add
5775
        entries for arm{7m,7500fe,8}, strongarm and strongarm110.
5776
        (arm_override_options): Rework so that configure can properly set
5777
        the default processor type. Add a warning that PIC code is not yet
5778
        supported.
5779
        (legitimate_pic_operand_p, legitimize_pic_address): New functions.
5780
        (is_pic, arm_finalize_pic): New functions.
5781
        (arm_adjust_cost): New function.
5782
        (const_pool_offset, arm_backwards_branch, short_branch): Delete.
5783
        (arm_insn_not_targeted): Delete.
5784
        (add_constant): If generating AOF syntax, then handle pic specially.
5785
        (output_ascii_pseudo_op): Delete calls to arm_increase_location.
5786
        (function_really_clobbers_lr): Calls followed by a barrier don't
5787
        clobber the link register.
5788
        (output_func_prologue): Handle AOF syntax pic code.
5789
        (output_func_epilogue): Handle cases where lr_save_eliminated is set.
5790
        Delete call to arm_increase_location.
5791
        (arm_asm_output_label): Simplify, since we no-longer need to cache the
5792
        label's address.
5793
        (aof_pic_entry): New function to keep track of pic symbols.
5794
        (aof_dump_pic_table): New function.
5795
 
5796
        * arm.h (TARGET_CPU_arm*, TARGET_CPU_strongarm*, TARGET_CPU_generic):
5797
        define.
5798
        (CPP_ARCH_DEFAULT_SPEC): Set up based on setting of TARGET_CPU_DEFAULT.
5799
        (CPP_SPEC): Split up into sub-rule calls.
5800
        (CPP_CPU_SPEC): Add default definition.
5801
        (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC): Add definitions.
5802
        (CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC): Add definitions.
5803
        (CPP_ENDIAN_SPEC, CPP_ENDIAN_DEFAULT_SPEC): Add definitions.
5804
        (CC1_SPEC): Map legacy -m[236] onto -mcpu=.. and -mapcs-{26,32} as
5805
        appropriate. Similarly for -mbe and -mle to -m{big,little}-endian.
5806
        (EXTRA_SPECS): Define.
5807
        (enum processor_type): New types for arm8 and strongarm.
5808
        (CONDITIONAL_REGISTER_USAGE): Handle flag_pic.
5809
        (LEGITIMIZE_ADDRESS): Likewise.
5810
        (ADJUST_COST): Define.
5811
        (PIC_OFFSET_TABLE_REGNUM): Define.
5812
        (FINALIZE_PIC): Define.
5813
        (LEGITIMATE_PIC_OPERAND_P): Define.
5814
        (OUTPUT_INT_ADDR_CONST): Define.
5815
        (ASM_OUTPUT_MI_THUNK): Delete calls to arm_increase_location.
5816
        (MASK_RETURN_ADDR): Use TARGET_APCS_32 not TARGET_6.
5817
 
5818
        * arm.md (attr cpu): Add new cpu types for arm8 and strongarm.
5819
        (attr ldsched): New attribute, set if processor has a load_delay slot.
5820
        (function_unit core): Rework to handle load delay slots.
5821
        (function_unit loader): New function unit.
5822
        (movsi): Handle pic.
5823
        (pic_load_addr): New expand.
5824
        (*pic_load_addr_based_insn, pic_add_dot_plus_eight): New patterns.
5825
        (peepholes to cause flow to return to a label after a function call):
5826
        Delete, these have been disabled for a while now.
5827
 
5828
        * arm/riscix.h (CPP_SPEC): Rewrite using new sub-components.
5829
        (SUBTARGET_CPU_DEFAULT): Set to TARGET_CPU_arm2.
5830
        * arm/riscix1-1.h (CPP_SPEC): Rewrite using new sub-components.
5831
        (SUBTARGET_CPU_DEFAULT): Set to TARGET_CPU_arm2.
5832
        * arm/semi.h: (CPP_SPEC): Delete.
5833
        (PROCESSOR_DEFAULT): Delete.
5834
        (CPP_APCS_PC_DEFAULT_SPEC): Define.
5835
        * arm/semiaof.h (CPP_SPEC): Delete.
5836
        (CPP_APCS_PC_DEFAULT_SPEC): Define.
5837
        * arm/t-semi (LIBGCC1_TEST): Don't build it.
5838
        (MULTILIB_{OPTIONS,DIRNAMES,EXCEPTIONS}): Build a suitable set of
5839
        cross libraries.
5840
        (LIBGCC): Set to stmp-multilib.
5841
        (INSTALL_LIBGCC): Set to install-multilib.
5842
 
5843
Thu May  8 15:20:46 1997  Stan Cox  
5844
 
5845
        * i386.c (output_float_compare): For pentiumpro use fcomip
5846
        followed by a float stack pop for "compare;pop;pop" cases.
5847
 
5848
Thu May  8 13:20:20 1997  Chris Torek  
5849
 
5850
        * fold-const.c (fold, truth_andor): Disable optimization for
5851
        side effects on RHS.
5852
 
5853
Wed May  7 15:43:57 1997  Mike Stump  
5854
 
5855
        * except.c (start_dynamic_handler): Fix so we can use __builtin_setjmp,
5856
        and default to using __builtin_setjmp instead of setjmp.
5857
        * expr.c (expand_builtin_setjmp): New routine, split out from
5858
        existing inline code from expand_builtin.
5859
        (expand_builtin): Split out code into expand_builtin_setjmp.
5860
        * expr.h (expand_builtin_setjmp): Add declaration.
5861
        * libgcc2.c (__sjthrow): Default to using __builtin_setjmp instead
5862
        of setjmp.
5863
        (__sjpopnthrow): Likewise.
5864
        * optabs.c (init_optabs): Likewise.
5865
 
5866
Wed May  7 18:01:24 1997  Samuel Figueroa  
5867
 
5868
        * rs6000.md (insv): Only combine insert with shift if
5869
        remaining source bits >= destination field size.
5870
 
5871
Tue May  6 15:48:52 1997  Jason Merrill  
5872
 
5873
        * dwarf2out.c (dwarf2out_begin_prologue): Increment
5874
        current_funcdef_number here.
5875
        (dwarf2out_end_epilogue): Not here.
5876
 
5877
Mon May  5 18:52:32 1997  Jeffrey A Law  (law@cygnus.com)
5878
 
5879
        * h8300.c (notice_update_cc): Use CC_SET_ZN and CC_SET_ZNV.
5880
        (shift_one, shift_two): Set CC_NO_CARRY as needed.  Remove
5881
        references to CC_OVERFLOW_0.
5882
        (emit_a_shift): Similarly.
5883
        * h8300.h (CC_OVERFLOW_0): Remove.
5884
        * h8300.md: Use set_zn and set_znv for cc0 tracking.
5885
        (bCC): Restore the comparison is CC_OVERFLOW_UNUSABLE is set and
5886
        the comparison needs the overflow bits.
5887
 
5888
        * mn10300.c (notice_update_cc): Use CC_SET_ZN and CC_SET_ZNV.
5889
        * mn10300.h (CC_NO_CARRY): Define.
5890
        * mn10300.md: Use "set_zn" and "set_znv" to more accurately
5891
        describe cc0 status.
5892
 
5893
Fri May  2 17:00:33 1997  Jason Merrill  
5894
 
5895
        * dwarf2out.c: Reorganize, moving .debug_frame support to the top
5896
        of the file, and compile it if INCOMING_RETURN_ADDR_RTX is defined
5897
        even if DWARF2_DEBUGGING_INFO isn't.
5898
        (EH_FRAME_SECTION): New macro.
5899
        (output_call_frame_info): Handle .eh_frame variant.
5900
        (dwarf2out_def_cfa): Update cfa_*{reg,offset}.
5901
        (dwarf2out_frame_debug): Move cfa_*{reg,offset} to file scope.
5902
        (dwarf2out_end_epilogue): Increment current_funcdef_number here.
5903
        (dwarf2out_decl): Not here.
5904
        (dwarf2out_frame_init, dwarf2out_frame_finish): New fns.
5905
        (dwarf2out_init, dwarf2out_finish): Call them.
5906
        (output_die): Add missing 'case 8:'
5907
        (dwarf2out_decl): Revert other context_die = NULL change.
5908
        (add_bound_info): Restore default case.
5909
 
5910
Fri May  2 15:30:16 1997  Doug Evans  
5911
 
5912
        * m32r.h (LIT_NAME_P): New macro.
5913
        (SMALL_NAME_P): Use it.
5914
        (ASM_OUTPUT_ALIGNED_COMMON): Don't output to scommon if -msdata=none.
5915
        * m32r.c (addr24_operand): Handle literals.
5916
        (m32r_output_function_prologue): Use IMMEDIATE_PREFIX.
5917
        (m32r_output_function_epilogue): Likewise.  Use shorter add insn if
5918
        able.
5919
 
5920
Fri May  2 14:40:44 1997  David Edelsohn  
5921
 
5922
        * rs6000.h (RS6000_ALIGN): Macro renamed from ALIGN.
5923
        * rs6000.c (rs6000_stack_info): Use it.
5924
 
5925
Fri May  2 14:15:54 1997  Ian Lance Taylor  
5926
 
5927
        * reload1.c (reload_cse_noop_set_p): When checking the values
5928
        equivalent to sreg, make sure the mode is right.
5929
 
5930
Fri May  2 12:53:03 1997  Jeffrey A Law  (law@cygnus.com)
5931
 
5932
        * reload1.c (reload_cse_invalidate_regno): Properly set
5933
        the mode for invalidate_regno_rtx.
5934
 
5935
Thu May  1 14:57:35 1997  Jeffrey A Law  (law@cygnus.com)
5936
 
5937
        * pa.md (call_internal_symref): Fix typo.
5938
 
5939
Thu May  1 14:44:17 1997  Jim Wilson  
5940
 
5941
        * mips.c (mips_asm_file_start): Use new macro TARGET_FILE_SWITCHING.
5942
        (mips_asm_file_end): Likewise.
5943
        * mips.h (TARGET_FILE_SWITCHING): Define.
5944
        (NO_DBX_FUNCTION_END): Define.
5945
 
5946
Thu May  1 09:08:40 1997  Andreas Schwab  
5947
 
5948
        * m68k.c (output_addsi3): Replace "\\;" by "\n\t" in
5949
        assembler templates.
5950
 
5951
Thu May  1 09:00:42 1997  Richard Kenner  
5952
 
5953
        * integrate.c (subst_constants, case SUBREG): Cancel changes once
5954
        done with result.
5955
 
5956
Wed Apr 30 19:45:56 1997  Jim Wilson  
5957
 
5958
        * mips.c (override_options): Set mips_split_addresses only if
5959
        TARGET_SPLIT_ADDRESSES is set.
5960
        * mips.h (MASK_SPLIT_ADDR, TARGET_SPLIT_ADDRESSES): New macros.
5961
        (TARGET_SWITCHES): Add -msplit-addresses, -mno-split-addresses.
5962
        * configure (mips*-*-ecoff*, mips*-*-elf*): Set MASK_SPLIT_ADDR
5963
        bit in target_cpu_default2.
5964
 
5965
        * flags.h (current_function_is_thunk): Add extern to declaration.
5966
 
5967
        * dbxout.c (dbxout_function): Test NO_DBX_FUNCTION_END at run time
5968
        instead of compile time.
5969
 
5970
        * unroll.c (set_dominates_use): In second loop, add check for copy_end.
5971
 
5972
        * mips.md (paradoxical_extendhidi2, paradoxical_extendqidi2): New
5973
        patterns.
5974
 
5975
Wed Apr 30 02:23:24 1997  Jason Merrill  
5976
 
5977
        * output.h (named_section): Add reloc argument.
5978
        (DECL_READONLY_SECTION): New macro.
5979
        * varasm.c (named_section): Add reloc argument, pass it to
5980
        ASM_OUTPUT_SECTION_NAME.
5981
        (UNIQUE_SECTION, UNIQUE_SECTION_P): Provide defaults.
5982
        (function_section): Pass reloc argument to named_section.
5983
        (variable_section, exception_section): Likewise.
5984
        (output_constant_def_contents): Likewise.
5985
        (assemble_start_function): Use UNIQUE_SECTION_P.  UNIQUE_SECTION is
5986
        now a statement.
5987
        (assemble_variable): Likewise.
5988
        * mips/iris6.h (ASM_OUTPUT_SECTION_NAME): Add reloc arg,
5989
        use DECL_READONLY_SECTION.
5990
        * psos.h, ptx4.h, a29k.h, alpha/elf.h, arm/coff.h, h8300.h: Likewise.
5991
        * i386/go32.h, i386/sco5.h, m68k/coff.h, mips/elf64.h: Likewise.
5992
        * mips/netbsd.h, pa.h, rs6000/sysv4.h, sh.h, sparc/sysv4.h: Likewise.
5993
        * config/svr4.h (SELECT_SECTION): Use DECL_READONLY_SECTION.
5994
        (ASM_OUTPUT_SECTION_NAME): Likewise, add reloc argument.
5995
        (MAKE_DECL_ONE_ONLY): Just set DECL_WEAK.
5996
        (UNIQUE_SECTION, UNIQUE_SECTION_P): Define.
5997
        * i386/cygwin32.h (UNIQUE_SECTION_P): Define.
5998
        (SUPPORTS_ONE_ONLY): Define.
5999
        (MAKE_DECL_ONE_ONLY): Lose.
6000
        (ASM_OUTPUT_SECTION_NAME): Add reloc arg, use DECL_READONLY_SECTION.
6001
        * i386/winnt.c (i386_pe_unique_section): Add reloc arg,
6002
        use DECL_READONLY_SECTION.
6003
 
6004
        * mips/iris6.h (CTORS_SECTION_ASM_OP): Change aligment based on ABI.
6005
        (DTORS_SECTION_ASM_OP): Likewise.
6006
 
6007
Tue Apr 29 16:08:07 1997  Jeffrey A Law  (law@cygnus.com)
6008
 
6009
        * pa/lib1funcs.asm (divnorm, modnorm, exitdiv): Fix code to
6010
        negate SImode values.
6011
 
6012
Tue Apr 29 12:54:14 1997  Mike Stump  
6013
 
6014
        * except.c (expand_eh_region_start_tree): Add DECL argument so we
6015
        can better track why the region was made for error reporting.
6016
        * except.h (expand_eh_region_start_tree): Likewise.
6017
        * tree.h (expand_dhc_cleanup): Likewise.
6018
        (expand_dcc_cleanup): Likewise.
6019
        * except.c (expand_eh_region_start_for_decl): New routine.
6020
        * except.h (expand_eh_region_start_for_decl): Likewise.
6021
        * stmt.c (expand_decl_cleanup): Add DECL to call of
6022
        expand_eh_region_start_tree.
6023
        (expand_dcc_cleanup): Likewise.
6024
        (expand_dhc_cleanup): Likewise.
6025
        (expand_start_case): Switches introduce conditional contexts.
6026
        (expand_start_case_dummy): Likewise.
6027
        (expand_start_case_dummy): Likewise.
6028
        (expand_end_case): Likewise.
6029
 
6030
Tue Apr 29 11:45:09 1997  Jason Merrill  
6031
 
6032
        * dwarf2out.c (dwarf2out_decl): Undo earlier change.
6033
        (constant_size): Likewise.
6034
        (gen_subprogram_die): Handle NULL context_die.
6035
 
6036
        * mips/iris6.h (ASM_OUTPUT_CONSTRUCTOR): Fix for -mabi=64.
6037
        (ASM_OUTPUT_DESTRUCTOR): Likewise.
6038
 
6039
Mon Apr 28 09:10:19 1997  Jeffrey A Law  (law@cygnus.com)
6040
 
6041
        * h8300.c (push_order, pop_order): Add missing initializer entries.
6042
 
6043
Fri Apr 25 19:39:43 1997  J"orn Rennecke 
6044
 
6045
        * h8300.c (output_adds_subs): Check for adding 0.
6046
 
6047
Fri Apr 25 14:52:31 1997  Jim Wilson  
6048
 
6049
        * configure (i[3456]86-*-freebsdelf*, i[3456]86-*-freebsd*): Use
6050
        t-freebsd instead of x-freebsd.
6051
        * i386/t-freebsd: Renamed from x-freebsd.
6052
 
6053
Fri Apr 25 12:16:20 1997  Stan Cox  
6054
 
6055
        * go32.h (DBX_*): Use definitions from config/dbxcoff.h instead.
6056
 
6057
Fri Apr 25 11:55:54 1997  Jason Merrill  
6058
 
6059
        * i386/cygwin32.h (MULTIPLE_SYMBOL_SPACES): Define.
6060
 
6061
Thu Apr 24 18:32:56 1997  Jason Merrill  
6062
 
6063
        * i386/winnt.c (i386_pe_unique_section): New fn.
6064
        * i386/cygwin32.h (UNIQUE_SECTION): Define.
6065
        (MAKE_DECL_ONE_ONLY): Define.
6066
        (ASM_OUTPUT_SECTION_NAME): Support DECL_ONE_ONLY.
6067
 
6068
        * c-decl.c (implicitly_declare): Don't set DECL_ARTIFICIAL.
6069
 
6070
Thu Apr 24 17:11:23 1997  Jim Wilson  
6071
 
6072
        * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
6073
        TARGET_5200 support.
6074
 
6075
Thu Apr 24 16:39:25 1997  Richard Kenner  
6076
 
6077
        * stmt.c (pushcase_range): Check for null range first.
6078
 
6079
Wed Apr 23 23:06:28 1997  Ian Lance Taylor  
6080
 
6081
        * reload1.c (reload_cse_record_set): Use push_operand to check for
6082
        changes to the stack pointer.
6083
 
6084
Wed Apr 23 19:56:01 1997  Jason Merrill  
6085
 
6086
        * calls.c (expand_call): If we're in a thunk, pass through invisible
6087
        references instead of making a copy.
6088
        * flags.h: Add current_function_is_thunk.
6089
        * function.c: Likewise.
6090
        (init_function_start): Initialize it.
6091
        (push_function_context_to): Save it.
6092
        (pop_function_context_from): Restore it.
6093
        * function.h (struct function): Add is_thunk.
6094
 
6095
Wed Apr 23 17:47:25 1997  Jeffrey A Law  (law@cygnus.com)
6096
 
6097
        * mn10300.c (secondary_reload_class): Handle more cases where we
6098
        need secondary reloads.
6099
        (impossible_plus_operand): Accept anything that involves addition
6100
        of the stack pointer.
6101
        * mn10300.md (reload_insi): Always load the stack pointer into
6102
        the destination (which is always an address register).
6103
        * mn10300.h (STORE_FLAG_VALUE): Remove definition.
6104
        * xm-mn10300.h: Declare malloc, realloc, calloc and free.
6105
 
6106
Wed Apr 23 14:28:30 1997  Mike Stump  
6107
 
6108
        * expr.h (sjthrow_libfunc): Add support for setjmp/longjmp based
6109
        exception handling.
6110
        ({sjpopnthrow,terminate,setjmp,longjmp}_libfunc): Likewise.
6111
        (get_dynamic_handler_chain_libfunc): Likewise.
6112
        * expr.c (expand_expr, case TRY_CATCH_EXPR): Likewise.
6113
        (expand_expr, case POPD{C,H}C_EXPR): Likewise.
6114
        * stmt.c (mark_block_as_eh_region): Likewise.
6115
        (mark_block_as_not_eh_region): Likewise.
6116
        (is_eh_region, conditional_contex, expand_start_bindings): Likewise.
6117
        (expand_end_bindings, expand_{decl,dcc,dhc}_cleanup): Likewise.
6118
        (expand_cleanups): Likewise.
6119
        * tree.h (mark_block_as_eh_region): Likewise.
6120
        (mark_block_as_not_eh_region, is_eh_region): Likewise.
6121
        conditional_context, expand_dhc_cleanup): Likewise.
6122
        * except.c (exception_via_longjmp): Likewise.
6123
        (protect_cleanup_actions_with_terminate): Likewise.
6124
        (current_function_d{h,c}c, add_partial_entry): Likewise.
6125
        (get_dynamic_{handler,cleanup}_chain): Likewise.
6126
        (start_dynamic_{cleanup, handler}): Likewise.
6127
        (expand_eh_region_start{,_tree}, expand_eh_region_end): Likewise.
6128
        (emit_throw, expand_leftover_cleanups): Likewise.
6129
        (expand_{start,end}_all_catch, protect_with_terminate): Likewise.
6130
        ({start,end}_eh_unwinder, init_eh_for_function): Likewise.
6131
        ({save,restore}_eh_status, exception_optimize): Likewise.
6132
        * optabs.c ({sjthrow,sjpopnthrow,terminate,setjmp}_libfunc): Likewise.
6133
        ({longjmp,get_dynamic_handler_chain}_libfunc): Likewise.
6134
        (init_optabs): Likewise.
6135
        * except.h: Likewise.
6136
        * libgcc2.c (__default_terminate): Likewise.
6137
        (__terminate, __get_dynamic_handler_chain, __sjthrow): Likewise.
6138
        (__sjpopnthrow): Likewise.
6139
        * toplev.c (f_options): Likewise.
6140
        * tree.def (TRY_CATCH_EXPR, POPDHC_EXPR, POPDCC_EXPR): Likewise.
6141
        * pa.h (JMP_BUF_SIZE): Define.
6142
        * sparc.h (JMP_BUF_SIZE): Define.
6143
 
6144
        * expr.h (cleanups_this_call): Transform uses of cleanups_this_call
6145
        into uses of the cleanups managed by the block code
6146
        (expand_start_bindings and friends).  Remove defer_cleanups_to and
6147
        expand_cleanups_to, and use start_cleanup_deferal and
6148
        end_cleanup_deferal instead.  Add exception_region,
6149
        target_temp_slot_level, conditional_code,
6150
        last_unconditional_cleanup and cleanup_ptr to struct nesting to
6151
        facilitate conditional cleanups.
6152
        * expr.c (cleanups_this_call, init_expr): Likewise.
6153
        ({save,restore}_expr_status, store_expr): Likewise.
6154
        (expand_expr, {defer,expand}_cleanups_to): Likewise.
6155
        (do_jump, case TRUTH_{AND,OR}IF_EXPR): Likewise.
6156
        (do_jump, case COND_EXPR): Likewise.
6157
        * stmt.c (struct nesting): Likewise.
6158
        (expand_return, expand_start_bindings, expand_end_bindings): Likewise.
6159
        (expand_cleanups, {start,end}_cleanup_deferal): Likewise.
6160
        * tree.h (start_cleanup_deferal): Likewise.
6161
        (end_cleanup_deferal): Likewise.
6162
        * calls.c (expand_call): Likewise.
6163
        * function.h (struct function): Likewise.
6164
        * except.c (asynchronous_exceptions): Support
6165
        -fasynchronous_exceptions.
6166
        (can_throw): Likewise.
6167
        * toplev.c (f_options): Likewise.
6168
 
6169
        * flags.h (flag_short_temps): Remove support for short temps.
6170
        * calls.c (expand_call): Likewise.
6171
        * toplev.c (flag_short_temps): Likewise.
6172
 
6173
        * stmt.c (expand_start_target_temps): Add for convenience.
6174
        (expand_end_target_temps): Likewise.
6175
        * except.c (jumpif{,not}_rtx): Likewise.
6176
 
6177
        * stmt.c: Remove all traces of empty_cleanup_list.
6178
 
6179
Wed Apr 23 17:26:40 1997  Ian Lance Taylor  
6180
 
6181
        * reload1.c (reload_cse_mem_conflict_p): Don't assume that a
6182
        SUBREG can not conflict with a MEM.
6183
 
6184
Wed Apr 23 09:48:58 1997  Oliver Kellogg  (oliver.kellogg@space.otn.dasa.de)
6185
 
6186
        * 1750a.md (cmphi): Fixed when next CC user is unsigned.
6187
        (mov[hq]i-[23]): New patterns for mem-indirect moves.
6188
        (movhf,movtqf): Corrected.
6189
        * 1750a.c (memop_valid): Memory indirection now valid.
6190
        (nonindirect_operand): Remove.
6191
        (print_operand): Fix the 'J' output modifier.
6192
        * 1750a.h (FRAME_POINTER_REQUIRED): Not required.
6193
        (INITIAL_FRAME_POINTER_OFFSET,FIX_FRAME_POINTER_ADDRESS): Undefine.
6194
        (FUNCTION_PROLOGUE,FUNCTION_EPILOGUE): Honor -fomit-frame-pointer.
6195
        (ELIMINABLE_REGS,CAN_ELIMINATE,INITIAL_ELIMINATION_OFFSET): Defined.
6196
        (PREFERRED_RELOAD_CLASS): Corrected.
6197
        (CONST_COSTS,ADDRESS_COST,REGISTER_MOVE_COST,MEMORY_MOVE_COST):
6198
        Slight adjustments.
6199
        (ASM_APP_ON,ASM_APP_OFF): Corrected.
6200
        * ms1750.inc (DUCR.M,DUC.M): Defined.
6201
 
6202
Wed Apr 23 09:41:35 1997  Andreas Schwab  
6203
 
6204
        * reload.c (push_reload): Fix last arg of call to find_dummy_reload.
6205
 
6206
Wed Apr 23 09:29:14 1997  Richard Kenner  
6207
 
6208
        * configure (i[3456]86-next-*, m68k-next-nextstep{2,3}*):
6209
        Remove out_file and add extra_objs.
6210
        * config/nextstep.c: Add includes for config.h, stdio.h, and flags.h.
6211
        * {i386,m68k}/t-next (nextstep.o): New rule.
6212
        * m68k/next.h: Remove include of machmode.h.
6213
        * {i386,m68k}/next.c: Files deleted.
6214
 
6215
Tue Apr 22 20:45:29 1997  Jason Merrill  
6216
 
6217
        * sparc.h (DBX_CONTIN_LENGTH): Shrink to 1000.
6218
 
6219
Tue Apr 22 18:21:20 1997  Jim Wilson  
6220
 
6221
        * dwarf2out.c (gen_variable_dir):  Add test for DW_AT_declaration to
6222
        the old_die if statement, and delete assertion for it.
6223
        (decl_ultimate_origin): Remove last change.
6224
 
6225
Tue Apr 22 10:22:27 1997  Jeffrey A Law  (law@cygnus.com)
6226
 
6227
        * mn10300.c (expand_prologue): End the current sequence before
6228
        counting the tst insns in the current function.  Start a new
6229
        one before emitting any prologue instructions.
6230
 
6231
        * mn10300.h (REGISTER_MOVE_COST): Bump up cost of moves in the
6232
        same class.
6233
 
6234
        * mn10300.md (untyped_call): New expander.
6235
 
6236
Mon Apr 21 16:30:21 1997  Richard Kenner  
6237
 
6238
        * cse.c (fold_rtx, case PLUS): When seeing if negative of constant
6239
        is around, make sure not dealing with largest negative.
6240
 
6241
Mon Apr 21 13:57:53 1997  Jim Wilson  
6242
 
6243
        * mips/t-ecoff: Set TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
6244
 
6245
        * m68k.c (output_addsi3): New function.  From addsi3 pattern.
6246
        * m68k.h (output_addsi3): Add declaration.
6247
        * m68k.md (movqi+2): Add address registers.
6248
        (movxf+1): Disable for TARGET_5200.
6249
        (movxf+2): New pattern for TARGET_5200.
6250
        (addsi3): Add define_expand.  Move code to output_addsi3.
6251
        (addsi3_internal): Renamed from addsi3.  Disable for TARGET_5200.
6252
        (addsi3_5200): New pattern for TARGET_5200.
6253
 
6254
Sun Apr 20 10:45:35 1997  Richard Kenner  
6255
 
6256
        * fold-const.c (operand_equal_p): Constants are not equal if there
6257
        has been an overflow.
6258
 
6259
        * toplev.c (compile_file): Shorten "branch-probabilities" in
6260
        output of times.
6261
 
6262
        * alpha/vms.h (MOD[SD]I3_LIBCALL): Call ots$rem, not ots$mod.
6263
        (DWARF2_DEBUGGING_INFO): Define.
6264
 
6265
        * alpha.c (alpha_need_linkage): Call get_identifier.
6266
 
6267
        * rs6000.c (rs6000_output_load_toc_table): New function.
6268
        (output_prolog): Call it instead of doing it directly.
6269
        * rs6000.md (nonlocal_goto_receiver): New pattern.
6270
 
6271
        * dwarf2out.c: Major cleanup; mostly reformatting.
6272
        Include expr.h.
6273
        Undefine inline ifndef __GNUC__; never define to include static.
6274
        Add "static" to header of all inlined functions.
6275
        Add declarations for all static functions, with prototypes.
6276
        (addr_const_to_string): Use HOST_WIDE_INT_PRINT_* macros.
6277
        (add_AT_*, new_{die,loc_descr,cfi): Don't check for xmalloc
6278
        returning zero.
6279
        (modified_type_die): Add missing parm on recursive call.
6280
        ({reg,based}_loc_descriptor): Add missing arg to call to new_loc_descr.
6281
        (add_const_value_attribute): Use REAL_VALUE_TYPE for fp calculations.
6282
        (output_call_frame_info): Add missing arg to output_cfi call.
6283
        (dwarf2out_def_cfa): Local variable OLD_REG must be unsigned long.
6284
        * Makefile.in (dwarf2out.o): Includes expr.h.
6285
 
6286
        * dwarf2out.c: Cast first arg in all calls to bzero to char *.
6287
        (decl_ultimate_origin): Return NULL if equal to decl.
6288
        (constant_size): Never return more than 4.
6289
        (value_format, case 8): New case.
6290
        (dwarf2out_frame_debug): Use HARD_FRAME_POINTER_REGNUM.
6291
        (based_loc_descr): Likewise.
6292
        (add_bound_info): Delete default case.
6293
        Add cases for CONVERT_EXPR and NON_LVALUE_EXPR; treat like NOP_EXPR.
6294
        Change NOP_EXPR to to recursive call.
6295
        (add_type_attribute): Ignore unnamed subtype of integral or FP.
6296
        (gen_subprogram_die): Use reg_loc_descriptor.
6297
        (dwarf2out_decl): Ignore nested functions.
6298
 
6299
        * fix-header.c, protoize.c, gcov.c: Use symbolic codes for exit.
6300
 
6301
        * final.c (profile_function): Only call ASM_OUTPUT_REG_{PUSH,POP}
6302
        if defined.
6303
 
6304
        * expr.c ({move,clear}_by_pieces_1, expand_assignment): Ensure
6305
        we have unshared rtx before changing flags.
6306
        (store_{constructor,field}): Likewise.
6307
        (expand_expr, case COMPONENT_REF): Likewise.
6308
        (store_expr): Check if TEMP and TARGET are same with rtx_equal_p.
6309
 
6310
        * emit-rtl.c (change_address, init_emit): Delete forward references.
6311
        (rtl_obstack, stack_depth, max_stack_depth): Delete extern decls.
6312
 
6313
Fri Apr 18 18:25:52 1997  Jim Wilson  
6314
 
6315
        * function.c (instantiate_decls): For DECL_INCOMING_RTL, use max
6316
        of type size and mode size in instantiate_decl call.
6317
 
6318
        * fixincludes (sys/lc_core.h): Fix OSF1/4.x namespace pollution.
6319
 
6320
Wed Apr 16 19:36:53 1997  Jason Merrill  
6321
 
6322
        * dwarf2out.c (add_bound_info): Use a DIE instead of a location
6323
        expression for variable bounds.  Trust a MEM rtx even when
6324
        optimizing.
6325
        (DWARF_FRAME_RETURN_COLUMN): Default to FIRST_PSEUDO_REGISTER.
6326
 
6327
        * expr.c (expand_expr, case RTL_EXPR): If there is no sequence,
6328
        don't set it to const0_rtx.
6329
        * tree.c (array_type_nelts): Don't return any SAVE_EXPRs.
6330
 
6331
Mon Apr 14 18:12:57 1997  David Edelsohn  
6332
 
6333
        * rs6000.h (RS6000_ITRUNC, RS6000_UITRUNC): Prepend underscores.
6334
        (RS6000_MCOUNT): New macro.
6335
        (ASM_FILE_START): Use RS6000_MCOUNT.
6336
        * rs6000.c (output_function_profiler): Use RS6000_MCOUNT.
6337
        * rs6000/aix31.h (RS6000_{ITRUNC,UITRUNC,MCOUNT}): New macros.
6338
 
6339
Mon Apr 14 14:37:27 1997  Jeffrey A Law  (law@cygnus.com)
6340
 
6341
        * mn10300.c (can_use_return_insn): Include outgoing argument
6342
        area in size computation.
6343
        (expand_prologue): Likewise.  No longer diddle with sequences.
6344
        Put register saves just before outgoing argument area.
6345
        (expand_epilogue): Similarly.
6346
        (impossible_plus_operand): New function.
6347
        * mn10300.h (FRAME_POINTER_REQUIRED): Never require a frame pointer.
6348
        (ACCUMULATE_OUTGOING_ARGS, OUTGOING_REG_PARM_STACK_SPACE): Define.
6349
        (impossible_plus_operand): Declare.
6350
        * mn10300.md (reload_insi): New expander to handle pathological
6351
        reload cases.
6352
        (addsi3): Fix CC status.
6353
 
6354
        * mn10300.h (FUNCTION_VALUE): Return addresses in $a0.
6355
        (FUNCTION_VALUE_REGNO_P): Corresponding changes.
6356
        * mn10300.md (call_value_internal): Allow output to be in an
6357
        address register.
6358
 
6359
        * calls.c (emit_library_call): Handle saving of stack slots when
6360
        ACCUMULATE_OUTGOING_ARGS is defined.
6361
        (emit_library_call_value): Likewise.
6362
 
6363
Mon Apr 14 14:48:15 1997  Jim Wilson  
6364
 
6365
        * sh.md (xtrct_left, xtrct_right): New patterns.
6366
 
6367
        * combine.c (get_last_value_validate): New argument insn.
6368
        Add check for memory reference clobbered by later store.
6369
        (record_value_for_reg, get_last_values): Pass in new argument.
6370
 
6371
Mon Apr 14 14:03:18 1997  Mike Meissner  
6372
 
6373
        * configure (powerpc --with-cpu=x): Add embedded powerpcs and 604e.
6374
 
6375
        * rs6000.c (rs6000_override_options): Recognize -mcpu=801, -mcpu=823,
6376
        and -mcpu=604e.
6377
 
6378
Sun Apr 13 18:43:16 1997  Ian Lance Taylor  
6379
 
6380
        * reload1.c (invalidate_regno_rtx): New static variable.
6381
        (reload_cse_invalidate_regno): Check whether any earlier registers
6382
        have a multi-register value which includes the register we are
6383
        invalidating.
6384
        (reload_cse_regs): Initialize invalidate_regno_rtx.
6385
 
6386
        * reload1.c (reload_cse_record_set): When setting reg_values for a
6387
        copy from one register to another, use gen_lowpart_common to
6388
        adjust the value correctly if the mode changes.
6389
 
6390
Sun Apr 13 17:24:48 1997  Doug Evans  
6391
 
6392
        * expr.c (move_block_from_reg): Try using integral mov operation first.
6393
 
6394
        * calls.c (expand_call): When copying unaligned values into a register,
6395
        zero out the register first rather than emitting a clobber.
6396
 
6397
        * integrate.c (copy_rtx_and_substitute): If FRAME_GROWS_DOWNWARD
6398
        and regno == VIRTUAL_STACK_VARS_REGNUM, round size of stack slot up
6399
        before calling assign_stack_temp.
6400
 
6401
Sun Apr 13 15:29:38 1997  Ulrich Drepper  
6402
 
6403
        * enquire.c (fake_f_rep): Add missing element name in cast.
6404
 
6405
Sun Apr 13 15:20:05 1997  J"orn Rennecke 
6406
 
6407
        * stor-layout.c (layout_record, PCC_BITFIELD_TYPE_MATTERS):
6408
        Fix sign bug in last change.
6409
 
6410
Sun Apr 13 15:03:38 1997  J.T. Conklin  
6411
 
6412
        * m68k.md (movstricthi): Remove extraneous comparisons.
6413
 
6414
        * configure (*-*-netbsd): tmake_file now t-netbsd; delete xmake_file.
6415
        * config/t-netbsd: New file.
6416
        * config/x-netbsd: Removed.
6417
 
6418
Sun Apr 13 14:51:25 1997  Richard Earnshaw (rearnsha@armltd.co.uk)
6419
 
6420
        * cse.c (canon_reg, cse_insn): Don't examine insn_n_dups if
6421
        recog_memoized fails to find a match.
6422
 
6423
Sun Apr 13 14:17:26 1997  Ian Lance Taylor  
6424
 
6425
        * reload1.c (reload_cse_noop_set_p): Add insn parameter.  Change
6426
        all callers.  If deleting the instruction, remove any earlier
6427
        REG_DEAD note for DREG.
6428
        (reload_cse_simplify_set): If simplifying, remove any earlier
6429
        REG_DEAD note for the new source register.
6430
 
6431
Sun Apr 13 14:12:08 1997  Pat Rankin  
6432
 
6433
        * libgcc2 (L_bb, L_exit): Use 0 rather than NULL for null pointers.
6434
 
6435
Sun Apr 13 12:53:03 1997  Andreas Schwab  
6436
 
6437
        * m68k/linux.h (ASM_SPEC): Define.
6438
        (STRUCT_VALUE_REGNUM, STATIC_CHAIN_REGNUM, INITIALIZE_TRAMPOLINE):
6439
        Remove definitions, undoing the change of Mar 20 1996.
6440
 
6441
        * m68k.c (output_move_qimode): Optimize pushing one byte if source
6442
        operand does not use stack pointer.
6443
 
6444
        * m68k.md (rotl[shq]i3, rotl[hq]i3+1): Don't directly modify operand.
6445
 
6446
        * m68k.md (tstdi): Add missing parallel around the pattern.
6447
 
6448
Sun Apr 13 12:51:00 1997  Paul Eggert  
6449
 
6450
        * cccp.c, cpplib.c (do_include): Diagnose #import and
6451
        #include_next if pedantic and if not in a system header.
6452
        (do_warning): #warning now causes an error if -pedantic-errors
6453
        is given; this is needed since #warning isn't ANSI.
6454
 
6455
        * toplev.c (lang_options): Add -Wundef, -Wno-undef.
6456
        * c-decl.c (c_decode_option): Ignore -Wundef, -Wno-undef.
6457
 
6458
        * cccp.c, cexp.y (warn_undef): New variable.
6459
        * cpplib.h (struct cpp_options): New member warn_undef.
6460
        (CPP_WARN_UNDEF): New macro.
6461
 
6462
        * cccp.c (main), cpplib.c (cpp_handle_options): Set warn_undef
6463
        from -Wundef and -Wno-undef.
6464
 
6465
        * cppexp.c (cpp_lex) New arg skip_evaluation.
6466
        (cpp_parse_expr): Pass skip_evaluation to cpp_lex.
6467
        Abort if cpp_lex returns NAME.
6468
 
6469
        * cexp.y (exp), cppexp.c (cpp_lex): Optionally warn about undefined
6470
        identifiers that evaluate to 0.
6471
 
6472
Sun Apr 13 11:43:16 1997  Joel Sherrill  
6473
 
6474
        * configure (hppa1.1-*-rtems*): New target.
6475
        * mips/rtems.h: New file.
6476
 
6477
Sun Apr 13 09:48:26 1997  Richard Kenner  
6478
 
6479
        * gcov.c (print_usage, open_files): Use FATAL_EXIT_CODE.
6480
        * collect2.c (fatal_perror, fatal, collect_wait): Likewise.
6481
 
6482
        * sparc.c (eligible_for_delay_slot): Clean up and make to agree
6483
        precisely with patterns in MD file.
6484
        * sparc.md (*return_addsi): Change condition to exclude both ints.
6485
        (*return_adddi): Likewise.
6486
        (*return_subsi): New pattern.
6487
 
6488
        * recog.c (validate_replace_rtx_1, case MINUS): New case.
6489
 
6490
Sun Apr 13 08:20:24 1997  Thomas Bushnell  
6491
 
6492
        * i386/gnu.h (TARGET_VERSION): Redefine.
6493
 
6494
Sun Apr 13 08:15:31 1997  Bernd Schmidt  
6495
 
6496
        * c-typeck.c (lookup_field): Don't recurse unless FIELD is
6497
        a RECORD_TYPE or UNION_TYPE.
6498
 
6499
        * final.c (profile_function): Save the static chain register
6500
        around the call to the profiler function.
6501
 
6502
        * loop.c (invariant_p, case REG): Pointers into frame are not
6503
        invariants if function has nonlocal gotos.
6504
        * reload1.c (reload): If function has nonlocal label, mark all
6505
        caller-saved regs as used.
6506
 
6507
Fri Apr 11 16:49:06 1997  Doug Evans  
6508
 
6509
        * m32r.h (REG_ALLOC_ORDER): Restore to original setting.
6510
 
6511
        * m32r.h (UPPER16_P): Fix calculation.
6512
        * m32r.c (two_insn_const_operand): New function.
6513
        (m32r_print_operand): Handle 'X'.
6514
        * m32r.md (movsi): Tweak.
6515
        (*movsi_insn): Output hex value of constants too.
6516
        (movsi define_split): Add.
6517
        (andsi3,orsi3,xorsi3): Output hex value of constants too.
6518
 
6519
Thu Apr 10 18:39:33 1997  Jim Wilson  
6520
 
6521
        * sh.md (sne): Modified to use negc instead of xor.
6522
        (sne+1): New define_split for new sne pattern.
6523
        * sh.c (output_stack_adjust): Reorganize code for readability.
6524
        If size is negative, negate and subtract it instead of adding it.
6525
 
6526
Wed Apr  9 13:51:07 1997  J"orn Rennecke 
6527
 
6528
        * sh.c (output_stack_adjust): When splitting an adjustment into two
6529
        parts, make sure the stack is aligned at all times.
6530
 
6531
Tue Apr  8 12:34:38 1997  Jeffrey A Law  (law@cygnus.com)
6532
 
6533
        * mn10300.h (RETURN_ADDR_RTX): Define.
6534
 
6535
Mon Apr  7 19:19:57 1997  Jeffrey A Law  (law@cygnus.com)
6536
 
6537
        * mn10300.c (count_tst_insns): New function.
6538
        (expand_prologue): Load zero into data and/or address registers
6539
        if any are free and the function has optimizable tst insns.
6540
        (output_tst): If a suitable register is known to have the
6541
        value zero, use it instead of searching for a suitable register.
6542
        * mn10300.h (zero_dreg, zero_areg): Declare.
6543
        (FRAME_POINTER_NEEDED): Frame pointers are not needed if the
6544
        outgoing argument size is zero.
6545
        * mn10300.md (movXX): Optimize loading zero into an address
6546
        register if possible.  Optimize loading a DF/DI mode value
6547
        into an address register from a constant memory address.
6548
        (addsi3): Provide alternative which doesn't require a matching
6549
        inout operand.
6550
        (return): Optimize consecutive return instructions.
6551
 
6552
Mon Apr  7 17:30:35 1997  J"orn Rennecke 
6553
 
6554
        * mips/iris5.h (SUBTARGET_CC1_SPEC): Define.
6555
        (LINK_SPEC, STARTFILE_SPEC): Support -static.
6556
        * mips/iris6.h (SUBTARGET_CC1_SPEC): Define.
6557
        (STARTFILE_SPEC, LINK_SPEC): Support -static.
6558
        * mips.h: (SUBTARGET_CC1_SPEC): Define.
6559
        (CC1_SPEC): Add subtarget_cc1_spec.
6560
        (EXTRA_SPECS): Add subtarget_cc1_spec.
6561
 
6562
Sun Apr  6 12:24:53 1997  Richard Earnshaw (rearnsha@armltd.co.uk)
6563
 
6564
        * arm.md (incscc): Use a match_operand with cc_register to match
6565
        the condition code register.
6566
        (decscc, *condbranch, *condbranch_reversed, *mov_scc): Likewise.
6567
        (*mov_negscc, *mov_notscc, *cond_return): Likewise.
6568
        (*cond_return_inverted, *ior_scc, *cond_move): Likewise.
6569
        (insv): New expand.
6570
        (andsi_notsi_si): Renamed from *andsi_notsi_si.
6571
        (andsi_not_shiftsi_si): New insn.
6572
        (*minmax_arithsi): Don't match this insn if operand1 is an
6573
        eliminable register.
6574
        ({sin,cos}*): Delete, since the ARM always emulates these its
6575
        faster to call a library function.
6576
        (movsicc, *movsicc_insn): Make operand0 an s_register_operand,
6577
        and operand3 an arm_not_operand.  Use cc_register to match the
6578
        condition code register.
6579
        (mov[sd]fcc*): Make operand[0,2] s_register_operands, and operand3
6580
        the nonmemory_operand.  Use cc_register to match the condition
6581
        code register.
6582
        (*ifcompare_plus_move): Move before *ifcompare_arith_move.  Just do
6583
        a split for the output.
6584
        (*ifcompare_move_plus): Similarly, but relative
6585
        to *ifcompare_move_arith.
6586
        (*if_plus_move, *if_move_plus): New patterns.
6587
        (*ifcompare_arith_arith): Simplify the alternatives down to just one,
6588
        and split the insn before output.
6589
        (*if_arith_arith, *if_arith_move, *if_move_arith): New patterns.
6590
        (*ifcompare_move_not, *ifcompare_not_move): Simplify and split the
6591
        insn before output.
6592
        (*if_move_not, *if_not_move): New patterns.
6593
        (*ifcompare_shift_move, *ifcompare_move_shift): Simplify and split the
6594
        insn before output.
6595
        (*if_shift_move, *if_move_shift): New patterns.
6596
        (*ifcompare_shift_shift): Simplify and split the insn before output.
6597
        (*if_shift_shift): New pattern.
6598
        (*ifcompare_not_arith, *ifcompare_arith_not): Simplify and split the
6599
        insn before output.
6600
        (*if_not_arith, *if_arith_not): New patterns.
6601
        (*ifcompare_neg_move, *ifcompare_move_neg): Simplify and split the
6602
        insn before output.
6603
        (*if_neg_move, *if_move_neg): New patterns.
6604
 
6605
Sat Apr  5 20:17:43 1997  Michael Meissner  
6606
 
6607
        * rs6000/sol-ci.asm (_environ): Don't make _envrion a common
6608
        variable, the lastest assembler doesn't let common variables also
6609
        be a weak symbol.
6610
 
6611
Fri Apr  4 18:30:12 1997  Jim Wilson  
6612
 
6613
        * rs6000.md (adddi3): Use non_short_cint_operand instead of
6614
        non_add_cint_operand.
6615
 
6616
Thu Apr  3 15:08:39 1997  Jeffrey A Law  (law@cygnus.com)
6617
 
6618
        * mn10300.c (can_use_return_insn): Add size of fixed stack space
6619
        for function calls into the size of the frame.
6620
        (expand_prologue, expand_epilogue): Likewise.
6621
        (initial_offset): Corresponding changes..
6622
        * mn10300.h (OUTGOING_REG_PARM_STACK_SPACE): No longer define.
6623
        (STACK_POINTER_OFFSET): Define.
6624
        * mn10300.md (call, call_value expanders): Don't adjust the stack
6625
        pointer here anymore.
6626
 
6627
        * mn10300.md (ashlsi3): Remove some alternatives which are no longer
6628
        needed or desired.
6629
 
6630
Thu Apr  3 15:06:53 1997  Jim Wilson  
6631
 
6632
        * local-alloc.c (no_conflict_p): Reject sequences with foreign insns.
6633
 
6634
        * combine.c (move_deaths): Handle partial REG_DEAD note for
6635
        multi-reg hard register.
6636
 
6637
        * function.c (expand_function_start): Emit queue after expanding
6638
        each dynamic parameter type.
6639
 
6640
        * mips.c (mips_move_2words): Add SIGN_EXTEND support for SYMBOL_REF,
6641
        LABEL_REF, and CONST operands.
6642
 
6643
        * dwarf2out.c: Delete comment referring to README.DWARF.
6644
 
6645
Wed Apr  2 17:21:23 1997  Jim Wilson  
6646
 
6647
        * rs6000.md (ashrdi3_power): Mark alternative 0 as early_clobber
6648
        output.
6649
 
6650
        * rs6000.md (abssi3_nopower define_split): Switch operands of MINUS.
6651
        (nabssi3_nopower define_split): Likewise.
6652
 
6653
Tue Apr  1 19:30:01 1997  Mike Stump  
6654
 
6655
        * libgcc2.c (find_exception_table): Fix to logic to deal with
6656
        functions that are in their own section, such as template
6657
        instantiations, that cause overlapping EH tables.
6658
 
6659
Tue Apr  1 17:16:22 1997  Jeffrey A Law  (law@cygnus.com)
6660
 
6661
        * Makefile.in (USER_H): Add va-mn10300.h
6662
 
6663
        * ginclude/stdarg.h: Include va-mn10300.h.
6664
        * ginclude/varargs.h: Likewise.
6665
        * ginclude/va-mn10300.h: New file.
6666
        * mn10300.c (expand_prologue): If current_function_varargs is nonzero,
6667
        flush d0/d1 back into stack.
6668
        (mn10300_builtin_saveregs): New function.
6669
        (function_arg, function_arg_partial_nregs): New functions.
6670
        (initial_offset): Tweak now that the RP save area is allocated
6671
        and deallocated around each call again.
6672
        * mn10300.h (FIRST_PARM_OFFSET): Now 4.
6673
        (FRAME_POINTER_REQUIRED): Require frame pointer for all non-leaf fcns.
6674
        (REG_PARM_STACK_SPACE): Now 8 bytes.
6675
        (FUNCTION_ARG_REGNO_P): Update for new parameter passing conventions.
6676
        (CUMULATIVE_ARGS, INIT_CUMULATIVE_ARGS): Likewise.
6677
        (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Likewise.
6678
        (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
6679
        (TRAMPOLINE_TEMPLATE): Don't clobber d0 anymore.
6680
        (TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Corresponding changes.
6681
        (EXPAND_BUILTIN_SAVEREGS): Define.
6682
        * mn10300.md (call, call_value patterns): Allocate and deallocate
6683
        stack slot for return pointer around each call.
6684
 
6685
        * mn10300.h (RTX_COSTS): Refine.
6686
        (CASE_VALUES_THRESHHOLD, NO_FUNCTION_CSE): Likewise.
6687
        * mn10300.c (output_tst): New function.
6688
        * mn10300.md (movdi, movdf): Improve code to load constants into regs.
6689
        (tst insns): Use output_tst to optimize some cases.  Add versions to
6690
        encourage more zero extensions instead of sign extensions of HImode
6691
        and QImode values.
6692
        (divsi3, udivsi3): Remove patterns.  Replaced by...
6693
        (divmodsi4, udivmodsi4): New expanders/patterns.
6694
        (andsi3): Optimize "and" operations with certain constants.
6695
 
6696
Tue Apr  1 09:14:29 1997  J"orn Rennecke 
6697
 
6698
        * sh.h: (ADJUST_COSTS): Define.
6699
 
6700
Fri Mar 28 17:46:13 1997  Jim Wilson  
6701
 
6702
        * Makefile.in (LANGUAGES): Add gcov.
6703
        (OBJS): Add profile.o.
6704
        (STAGESTUFF): Add gcov.
6705
        (profile.o, gcov.o, gcov): Add rules to build them.
6706
        (install-common): Install gcov.
6707
        * combine.c (distribute_notes): Handle REG_BR_PROB and REG_EXEC_COUNT
6708
        REG_NOTES.
6709
        * sparc.h (OVERRIDE_OPTIONS): Check profile_arc_flag.
6710
        * final.c (LONG_TYPE_SIZE): Define.
6711
        (count_instrumented_arcs): New variable.
6712
        (end_final, profile_after_prologue, leaf_function_p): Add support
6713
        for profile_arc_flag.
6714
        (add_bb): Only call CC_STATUS_INIT if HAVE_cc0.
6715
        * flags.h (profile_arc_flag, flag_test_coverage,
6716
        flag_branch_probabilities): Declare.
6717
        * function.c (expand_function_end): Output NOTE_REPEATED_LINE_NUMBER
6718
        for last line of function.
6719
        * integrate.c (expand_inline_function): Output
6720
        NOTE_REPEATED_LINE_NUMBER after inlined call.
6721
        * jump.c (jump_optimize, follow_jumps, mark_jump_label): Disable some
6722
        optimizations when flag_test_coverage and there is a line number note
6723
        in the way.
6724
        (invert_jump): Add REG_BR_PROB when flag_branch_probabililties.
6725
        * libgcc2.c (__bb_exit_func): Support gcov style output.
6726
        * reorg.c (mostly_true_jump): Use REG_BR_PROB notes when
6727
        flag_branch_probabilities.
6728
        * rtl.c (note_insn_name): Add NOTE_REPEATED_LINE_NUMBER.
6729
        (reg_note_name): Add REG_BR_PROB and REG_EXEC_COUNT.
6730
        * rtl.h (enum reg_note): Add REG_BR_PROB and REG_EXEC_COUNT.
6731
        (REG_BR_PROB_BASE): Define.
6732
        (NOTE_REPEATED_LINE_NUMBER): Define.
6733
        * sched.c (update_flow_info): Handle REG_EXEC_COUNT and REG_BR_PROB
6734
        notes.
6735
        * toplev.c (branch_prob_dump, profile_arc_flag, flag_test_coverage,
6736
        flag_branch_probabilities, branch_prob_dump_file, branch_prob_time):
6737
        New variables.
6738
        (f_options): Add profile-arcs, test-coverage, and
6739
        branch-probabilities.
6740
        (compile_file): Set branch_prob_time.  Pass flag_test_coverage to
6741
        init_emit_once.  Handle branch_prob_dump.  Call init_branch_prob.
6742
        Call end_branch_prob. Call output_func_start_profiler.
6743
        (rest_of_compilation): Handle branch_prob_dump.  Call new
6744
        branch_prob pass.
6745
        (main): Set branch_prob_dump.
6746
        * gcov.c, profile.c, gcov-io.h, gcov.texi: New files.
6747
 
6748
Thu Mar 27 16:52:52 1997  Stan Cox  
6749
 
6750
        * i386.h (CPP_CPU_DEFAULT): Define if TARGET_CPU_DEFAULT is not set.
6751
        * i386.h (STACK_BOUNDARY): Define to always be 32.
6752
 
6753
        From J"orn Rennecke 
6754
        * i386.md: (zero_extendhisi2+[12]): Use true_regnum instead of
6755
        REGNO for operand 0.
6756
        (zero_extendqisi2+3): Use reg_overlap_mentioned_p instead of REGNO
6757
        comparison; use true_regnum instead of REGNO for rtx generation.
6758
 
6759
Wed Mar 26 12:34:21 1997  Ian Lance Taylor  
6760
 
6761
        * reload1.c (reload): Call reload_cse_regs.
6762
        (reg_values): New static variable.
6763
        (reload_cse_invalidate_regno): New static function.
6764
        (reload_cse_mem_conflict_p): New static function.
6765
        (reload_cse_invalidate_mem): New static function.
6766
        (reload_cse_invalidate_rtx): New static function.
6767
        (reload_cse_regs): New static function.
6768
        (reload_cse_regno_equal_p): New static function.
6769
        (reload_cse_noop_set_p): New static function.
6770
        (reload_cse_simplify_set): New static function.
6771
        (reload_cse_check_clobbered): New static variable.
6772
        (reload_cse_check_src): New static variable.
6773
        (reload_cse_check_clobber): New static function.
6774
        (reload_cse_record_set): New static function.
6775
 
6776
Wed Mar 26 07:34:06 1997  Ulrich Drepper  
6777
 
6778
        * ginclude/stdarg.h (__va_copy): New definition.
6779
 
6780
Tue Mar 25 13:43:36 1997  Michael Meissner  
6781
 
6782
        * gcc.c (init_spec): If -v, print out that the default spec values
6783
        were being used.  Fix prototype to reflect no arguments.
6784
        (set_spec): If specs has not been set, set it up with the default
6785
        specs.
6786
        (read_specs): Move to later in the file so that startfile_prefixes
6787
        has been declared.  Process "%include " to include another
6788
        specs file, aborting if the file can't be found.  Process
6789
        "%include_noerr : to include another specs file, giving no
6790
        error if the file can't be found.  Process "%rename var1 var2" to
6791
        rename a specs variable.  Take new argument that indicates whether
6792
        we are processing the main file.  Only process % commands if this
6793
        is not the main specs file.  Change callers.
6794
        (main): Do not call init_spec if a specs file was found.
6795
        (set_spec,read_specs,do_spec_1): If DEBUG_SPECS is defined, print
6796
        debug information.
6797
 
6798
Tue Mar 25 14:43:58 1997  Doug Evans  
6799
 
6800
        * expr.c (emit_push_insn): Delete emission of CLOBBER
6801
        when doing partial push, no longer necessary.
6802
 
6803
        * c-decl.c (grokdeclarator): Pedwarn qualified void function return
6804
        type.
6805
 
6806
Tue Mar 25 14:28:15 1997  Richard Earnshaw (rearnsha@armltd.co.uk)
6807
 
6808
        * reload.c (find_dummy_reload): New parameter earlyclobber.  If set
6809
        then don't use IN for the reload if it also appears elsewhere in
6810
        the insn.  All callers changed.
6811
 
6812
Tue Mar 25 13:20:18 1997  J.T. Conklin  
6813
 
6814
        * m68k/lb1sf68.asm (udivsi3): Fix hunk from previous patch that
6815
        did not apply correctly.
6816
 
6817
        * m68k.md (tablejump): Use extl to explicitly sign extend
6818
        index registeron TARGET_5200.
6819
        * m68k/{apollo68.h,coff.h,linux.h,mot3300.h,pbb.h}
6820
        (ASM_RETURN_CASE_JUMP): Likewise.
6821
 
6822
        * m68k.md (mulsi3): Changed into define_expand.  Split insn into
6823
        m68k and coldfire specific versions with appropriate constraints.
6824
 
6825
        * m68k.md (movqi): Disable use of address registers for
6826
        TARGET_5200.
6827
 
6828
        * m68k/lb1sf68.asm (__modsi3, __umodsi3): Use mulsl instruction
6829
        instead of __mulsi3 function call on the coldfire.
6830
 
6831
        * m68k.md (bne0_di): Fix typo in last change.
6832
 
6833
        * m68k.md (xorsi3_5200): Correct constraints.
6834
 
6835
        * m68k.c (output_move_{si,hi,qi}mode): New functions.
6836
        * m68k.h (output_move_{si,hi,qi}mode): Declare.
6837
 
6838
        * m68k.md (move{si,hi,qi,di}): Changed into define_expands.  Split
6839
        insns into m68k and coldfire specific versions with appropriate
6840
        constraints.
6841
 
6842
Tue Mar 25 12:18:41 1997  Richard Kenner  
6843
 
6844
        * Makefile.in (GCC_PASSES): Revert previous change; use cc1$(exeext).
6845
 
6846
Mon Mar 24 16:12:20 1997  Doug Evans  
6847
 
6848
        * m32r/*: New files.
6849
        * config.sub: Add m32r.
6850
        * configure: Add m32r.
6851
        * longlong.h: Add m32r support.
6852
        * ginclude/{stdarg.h,varargs.h}: Add m32r support.
6853
        * ginclude/va-m32r.h: New file.
6854
 
6855
Mon Mar 24 15:53:15 1997  Joel Sherrill 
6856
 
6857
        * rs6000/rtems.h: Change to a near clone of the powerpc-eabi target.
6858
        * configure (powerpc*-*-rtems): Move before GNU/Linux configuration.
6859
 
6860
Mon Mar 24 14:26:37 1997  Gavin Koch  
6861
 
6862
        * ginclude/va-mips.h:  For little endian, eabi, objects
6863
        less than __va_reg_size are passed in registers.
6864
 
6865
Fri Mar 21 00:48:02 1997  Jeffrey A Law  (law@cygnus.com)
6866
 
6867
        * mn10300.c (print_operand): Handle 'N'.
6868
 
6869
        * mn10300.c (expand_epilogue): Correctly handle functions
6870
        with large frames, but no callee register saves.
6871
 
6872
        * mn1300.md (movdf, movdi): Handle overlapping moves.
6873
 
6874
        * pa.c (compute_movstrsi_length): Handle residuals correctly.
6875
 
6876
Thu Mar 20 13:53:30 1997  Michael Meissner  
6877
 
6878
        * rs6000.c (easy_fp_constant): If -mrelocatable, consider all fp
6879
        constants to be hard.
6880
 
6881
Mon Mar 20 13:53:30 1997  Jim Wilson  
6882
 
6883
        * rs6000.md (movdf/movsf define_splits): Add SUBREG support.
6884
 
6885
        * rs6000.c (fp_reg_or_mem_operand): Delete.
6886
        * rs6000.h (PREDICATE_CODES): Remove fp_reg_or_mem_operand.
6887
        (fp_reg_or_mem_operand): Delete declaration.
6888
        * rs6000.md (movsf_hardfloat): Use nonimmediate_operand instead
6889
        of fp_reg_or_mem_operand.
6890
 
6891
Thu Mar 20 08:52:27 1997  Jeffrey A Law  (law@cygnus.com)
6892
 
6893
        * mn10300.md (cmpsi): Handle comparing a register with
6894
        itself by adding zero to the reg.  Z bit for such an insn is
6895
        inverted.
6896
        * mn10300.c (notice_update_cc): Handle CC_INVERT.
6897
 
6898
        * pa.c (emit_move_sequence): Don't lose for a secondary reload
6899
        to the SAR register if the input is a MEM with an offset that won't
6900
        fit in 14bits.
6901
 
6902
Wed Mar 19 17:10:44 1997  Andreas Schwab  
6903
 
6904
        * m68k/linux.h (ASM_OUTPUT_MI_THUNK): Define.
6905
 
6906
Wed Mar 19 16:59:34 1997  Paul Eggert  
6907
 
6908
        * cccp.c, cpplib.c (do_error, do_warning): Fix memory leak.
6909
 
6910
        * cccp.c (output_line_directive): Do not output negative line
6911
        numbers when analyzing directives like `#line 0'.
6912
 
6913
        * cexp.y (parse_number, yylex), cccp.c (rescan), cpplib.c
6914
        (cpp_get_token): Unless -lang-c89 is specified, allow C9X-style
6915
        hexadecimal floating-point numbers as preprocessor numbers.
6916
        * cccp.c (c89): New decl.
6917
        (main): Set it to 1 if -lang-c89.
6918
        * cpplib.h (struct cpp_options): New member c89.
6919
        (CPP_C89): New macro.
6920
        * cpplib.c (unsafe_chars): `p' is unsafe before `-' or `+', since it
6921
        might generate a C9X-style hexadecimal floating-point number.
6922
        (cpp_handle_options): Set c89 option to 1 if -lang-c89.
6923
 
6924
Tue Mar 18 17:05:57 1997  Stan Cox  
6925
 
6926
        * i386.h (STACK_BOUNDARY): Determine according to TARGET_ALIGN_DOUBLE.
6927
 
6928
        * i386.c (override_options) Make the default alignment 4 for 486,
6929
        otherwise 2.
6930
 
6931
        * i386/freebsd-elf.h (CPP_SPEC): Remove TARGET_CPU_DEFAULT reference.
6932
        * i386/linux{,-aout,-oldld}.h (CPP_SPEC): Likewise.
6933
 
6934
        * i386/go32.h (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
6935
        NO_STAB_H, ASM_FILE_START, DBX_BLOCKS_FUNCTION_RELATIVE,
6936
        DBX_FUNCTION_FIRST, DBX_OUTPUT_MAIN_SOURCE_FILE_END,
6937
        ASM_OUTPUT_SOURCE_LINE): Added to support stabs.
6938
        (ASM_OUTPUT_SECTION_NAME): Support section attribute.
6939
 
6940
Tue Mar 18 16:12:28 1997  Jim Wilson  
6941
 
6942
        * final.c (shorten_branches): Split all insns before computing insn
6943
        lengths.
6944
        (final_scan_insn, case default): If HAVE_ATTR_length defined, call
6945
        abort for any insn that has a '#' output template.
6946
 
6947
        * expr.c (emit_group_load): Call operand_subword instead of creating
6948
        an explicit SUBREG.
6949
 
6950
        * reload1.c (reload_reg_free_before_p, case
6951
        RELOAD_FOR_OPERAND_ADDRESS): Conflicts with RELOAD_FOR_OPADDR_ADDR
6952
        reloads.
6953
 
6954
        * configure (alpha-dec-osf[23456789]*): Use install-headers-cpio
6955
        for osf4.
6956
 
6957
        * gcc.c (init_spec): Delete parameter.  Always initialize extra_specs.
6958
        (process_command, main): Change all callers.
6959
 
6960
        * combine.c (if_then_else_cond): Call copy_rtx to prevent sharing.
6961
 
6962
Tue Mar 18 14:59:12 1997  Ian Lance Taylor  
6963
 
6964
        * function.c (assign_parms): Add a REG_EQUIV note to the
6965
        instruction which copies a parameter into a pseudo-register
6966
        whenever there is an associated stack slot, even if the parameter
6967
        actually arrived in a register.
6968
 
6969
Tue Mar 18 14:24:48 1997  Doug Evans  
6970
 
6971
        * configure (alpha-dec-osf[23]): Separate osf[23] case.
6972
        * alpha.h (LIB_SPEC): -lprof1 requires -lpdf for OSF 4.
6973
        * alpha/osf2or3.h: New file.
6974
 
6975
Tue Mar 18 11:32:10 1997  Jeffrey A Law  (law@cygnus.com)
6976
 
6977
        * m68k.c (m68k_last_compare_had_fp_operands): New variable.
6978
        * m68k.h (m68k_last_compare_had_fp_operands): Declare it.
6979
        * m68k.md (tst*, cmp*): Turn into define_expand/define_insn pairs.
6980
        Keep track of whether test/compare has fp operands.
6981
        (seq, sne, sgt, slt, sge, sle): Turn into define_expand/define_insn
6982
        pairs.  Make expanders FAIL if TARGET_68060 and last comparison/test
6983
        had fp operands.
6984
 
6985
Tue Mar 18 04:29:29 1997  Richard Earnshaw 
6986
 
6987
        * arm.md (movhi): Handle generation of large constants during
6988
        and after reload.
6989
 
6990
Mon Mar 17 17:30:24 1997  Brendan Kehoe  
6991
 
6992
        * gmicro.h (RETURN_POPS_ARGS): Make sure FUNDECL is non-nil
6993
        before we try to use it.
6994
        * m68k.h (RETURN_POPS_ARGS): Likewise.
6995
        * ns32k.h (RETURN_POPS_ARGS): Likewise.
6996
        * pyr.h (RETURN_POPS_ARGS): Likewise.
6997
 
6998
Mon Mar 17 17:13:44 1997  J"orn Rennecke 
6999
 
7000
        * stor-layout.c (layout_record, PCC_BITFIELD_TYPE_MATTERS):
7001
        Only add padding if a bit field would otherwise span more units
7002
        of alignment than its base type.
7003
 
7004
Mon Mar 17 17:03:55 1997  J.T. Conklin  
7005
 
7006
        * m68k.md (beq0_di, bne0_di, bge0_di, blt0_di): Use cmpw #0
7007
        instead of tstl when testing address registers on the 68000.
7008
 
7009
        * m68k/lb1sf68.asm: Fix prologues/epilogues to deal with the lack
7010
        of predecrement/postincrement addressing modes in the coldfire
7011
        moveml instruction.
7012
 
7013
Mon Mar 17 17:00:14 1997  Scott Christley 
7014
 
7015
        * Fix long standing bug where first method call for a class could
7016
        result in a garbled stack or produce an incorrect return value.
7017
        * objc/sendmsg.c (__objc_block_return): Remove function.
7018
        (__objc_word_return, __objc_double_return): Remove functions.
7019
        (__objc_get_forward_imp): New function.
7020
        (__objc_init_dispatch_tables): Install zero instead of
7021
        __objc_init_install_dtable.
7022
        (__objc_init_install_dtable): No longer call the method but
7023
        allow objc_msg_lookup return it for normal execution.
7024
        (obj_msg_lookup): Differentiate between when a method isn't
7025
        implemented and when the dispatch table needs to be installed.
7026
        Return the IMP when the dispatch table is installed versus
7027
        having __objc_init_install_dtable call it.
7028
        (get_imp): Install dispatch table if needed and return IMP
7029
        from the newly installed dispatch table.
7030
        (__objc_responds_to): Install dispatch table if needed before
7031
        checking if method is implemented.
7032
 
7033
Mon Mar 17 16:29:38 1997  Richard Kenner  
7034
 
7035
        * tree.c (build_{index,range}_type): Ensure expressions for min
7036
        and max value are in same obstack as type.
7037
 
7038
Mon Mar 17 15:44:18 1997  Pat Rankin  
7039
 
7040
        * cccp.c [#if VMS] (O_RDONLY, O_WRONLY): Delete (redundant).
7041
        (BSTRING): Delete (obsolete; usage occurs prior to definition).
7042
        (do_include): Handle old VAX C style includes better.
7043
 
7044
Mon Mar 17 13:46:47 1997  Paul Eggert  
7045
 
7046
        * cexp.y, cppexp.c (parse_number): Invalid integer constants are
7047
        errors if pedantic.
7048
        * cexp.y (yylex): Invalid multibyte characters are errors if pedantic.
7049
        * cppexp.c (cpp_lex): Likewise.
7050
        * cppexp.c (cpp_parse_escape): Character constants that do not fit are
7051
        errors if pedantic.
7052
 
7053
        * c-parse.in (expr_no_commas): Do not store temporary
7054
        skip_evaluation increments on yacc value stack.
7055
 
7056
Sun Mar 16 19:54:49 1997  Richard Kenner  
7057
 
7058
        * expr.c (expand_expr, case PLACEHOLDER_EXPR): Refine which
7059
        object is picked.
7060
 
7061
Sun Mar 16 15:45:45 1997  Jeffrey A Law  (law@cygnus.com)
7062
 
7063
        * loop.c (strength_reduce): Adjust BENEFIT appropriately if an
7064
        autoincrement memory reference will eliminate add insns.
7065
 
7066
Sun Mar 16 08:41:40 1997  Scott Christley 
7067
 
7068
        * i386.md (untyped_call): Re-enable code.
7069
        * objc/sendmsg.c (__objc_block_return): New function.
7070
        (__objc_word_return, __objc_double_return): New functions.
7071
        (__objc_init_install_dtable): Call appropriate return function
7072
        based upon method type.
7073
        * objc/thr-pthreads.c: Correct include path.
7074
 
7075
Sat Mar 15 07:58:33 1997  Scott Christley 
7076
 
7077
        * objc-act.c (OBJC_VERSION): Increment version.
7078
        * objc/init.c (OBJC_VERSION): Likewise.
7079
 
7080
Sat Mar 15 07:58:00 1997  Ovidiu Predescu 
7081
 
7082
        * Implement +load.
7083
        * objc/init.c (objc_send_load, __objc_send_load): New functions.
7084
        (__objc_send_message_in_list): New function.
7085
        (__objc_force_linking): New function.
7086
        (__objc_exec_class): Don't call _objc_load_callback here.
7087
        * objc/linking.m: New file.
7088
        * objc/sendmsg.c (class_add_method_list): Check for the +load method
7089
        when adding a methods list to a class.
7090
        * objc/Makefile (OBJC_O): Add linking.m.
7091
 
7092
        * Allow methods defined in categories to override methods that are
7093
        defined in the class implementation.
7094
        * objc/sendmsg.c (__objc_install_methods_in_dtable): New function.
7095
        (class_add_method_list): Don't check anymore for duplicate methods.
7096
 
7097
        * config/nextstep.h (INCLUDE_DEFAULTS): Define to something useful
7098
        when cross-compiling.
7099
 
7100
        * The static instances list moved from the objc_module struct to
7101
        objc_symtab struct, at the end of defs array. This now allows the NeXT
7102
        gdb to work with binaries generated for the GNU ObjC runtime.
7103
        * objc-act.c (build_objc_symtab_template): Make sure
7104
        defs in objc_symtab is a NULL terminated array.
7105
        (init_def_list): Attach statics to end of def list.
7106
        (init_objc_symtab): Take statics list into account.
7107
        (init_module_descriptor, build_module_descriptor): Don't add statics.
7108
        (generate_static_references): Indicate that statics are used.
7109
        (finish_objc): Process statics in the beginning.
7110
        * objc/objc-api.h (objc_module): Eliminate statics variable.
7111
        * objc/init.c (__objc_exec_class): Access statics from their
7112
        new place in the defs variable.
7113
 
7114
Sat Mar 15 07:29:15 1997  J"orn Rennecke 
7115
 
7116
        * reload.c: Include expr.h.
7117
        (find_reloads_address, find_reloads_address_1): New argument INSN.
7118
        (find_reloads_address_1): Reload inside of p{re,ost}_{in,de}c
7119
        instead of entire p{re,ost}_{in,de}c where appropriate.
7120
        * Makefile.in (reload.o): Added expr.h to dependencies list.
7121
 
7122
Sat Mar 15 07:17:12 1997  Richard Henderson  
7123
 
7124
        * reload.h (eliminate_regs): Add STORING arg.
7125
        * reload1.c (eliminate_regs): Likewise.
7126
        (eliminate_regs, case SET): Pass that we are storing to recursive call.
7127
        (eliminate_regs, case SUBREG): If storing and same number of words,
7128
        use larger mode.
7129
        * caller-save.c, dbxout.c, dwarfout.c, dwarf2out.c, reload.c, sdbout.c:
7130
        Change all calls to eliminate_regs.
7131
 
7132
Fri Mar 14 14:18:49 1997  Ian Lance Taylor  
7133
 
7134
        * cplus-dem.c: Add prototypes for all static functions.
7135
        (mystrstr): Make static.  Make arguments and result const.
7136
        (cplus_match): Remove; not used.
7137
 
7138
Fri Mar 14 10:15:35 1997  Jeffrey A Law  (law@cygnus.com)
7139
 
7140
        * mn10300.c (const_costs): Remove unused function.
7141
        * mn10300.h (CONST_COSTS): Rework to generate better code.
7142
 
7143
        * mn10300.c (print_operand): Handle 'H' and 'L' output
7144
        modifers for high/low part of a 64bit value.
7145
        * mn10300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Handle 'G'
7146
        (LEGITIMATE_CONSTANT_P): Allow any constant.
7147
        * mn10300.md (movdi, movdf): Implement.
7148
        (adddi3, subdi3): New expanders and patterns.
7149
 
7150
        * mn10300.c (print_operand): Handle 'A' modifier for an
7151
        address which can't be simple register indirect.
7152
        * mn10300.h (EXTRA_CONSTRAINT): Handle 'R' for bit ops.
7153
        * mn10300.md: Add patterns to test, set and clear bitfields.
7154
 
7155
        * mn10300.c (can_use_return_insn): New function.
7156
        (expand_epilogue): Emit a RETURN insn if possible.
7157
        * mn10300.md (return): New pattern.
7158
 
7159
        * mn10300.h (CONST_OK_FOR_LETTER_P): Handle 'N'.
7160
        * mn10300.md (andsi3): Catch "and 255,dn" and "and 65535,dn"
7161
        which were not turned into zero_extend patterns.
7162
 
7163
        * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Handle symbolic
7164
        constant as an index/base too.
7165
 
7166
        * mn10300.md (movsi): Allow SP to be loaded/saved with
7167
        reg+d8 addresses.
7168
 
7169
        * mn10300.md (cmpsi): Allow second operand to be a constant.
7170
        (subsi3): Likewise.
7171
 
7172
        * mn10300.md (sign extension patterns): Fix thinko when
7173
        extending from memory.
7174
 
7175
        * mn10300.md (tst peepholes): Add peepholes for test/branch
7176
        based on N bit being set/clear and the data value being tested dies.
7177
 
7178
Tue Mar 11 17:07:51 1997  Jeffrey A Law  (law@cygnus.com)
7179
 
7180
        * mn10300.c (expand_prologue): Rework so that eliminating
7181
        the frame pointer produces faster/smaller code.
7182
        (expand_epilogue): Likewise.
7183
        (initial_offset): New function for argument pointer and frame pointer
7184
        elimination.
7185
        * mn10300.h (FIRST_PSEUDO_REGISTER): Bump to 10.
7186
        (FIXED_REGISTERS): Add argument pointer register, it's a fake fixed
7187
        register.
7188
        (CALL_USED_REGISTERS, REG_ALLOC_ORDER): Corresponding changes.
7189
        (REGNO_REG_CLASS, REG_CLASS_CONTENTS): Likewise.
7190
        (REG_OK_FOR_BASE_P, REGISTER_NAMES): Likewise.
7191
        (reg_class, REG_CLASS_NAMES): Delete unwanted DATA_OR_SP_REGS class.
7192
        (PREFERRED_OUTPUT_RELOAD_CLASS): Define.
7193
        (FIRST_PARM_OFFSET): No longer include register save area in
7194
        computation.
7195
        (STACK_POINTER_REGNUM): Is now register 9.
7196
        (ARG_POINTER_REGNUM): Is now register 8.
7197
        (FRAME_POINTER_REQUIRED): Refine.
7198
        (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Define.
7199
        (CAN_DEUG_WITHOUT_FP): Define.
7200
        * mn10300.md (return_internal): Break into two patterns.
7201
 
7202
        * mn10300.h (CONST_OK_FOR_LETTER_P): Handle 'M' too.
7203
        (REGISTER_MOVE_COST): Fix errors and refine.
7204
 
7205
        * mn10300.c (notice_update_cc): SET_ZN_C0 insns leave the
7206
        overflow bit in an unuseable state.  Rename CC_SET to CC_TST.
7207
        * mn10300.md (cc attributes): "set" is gone, replaced by
7208
        "tst".  Update attributes on various insns.
7209
 
7210
        * mn10300.md: Improve sign and zero extension instructions.
7211
        (ashlsi3): Improve.  Handle address registers too.
7212
        (add peephole): Combine two consecutive adjustments of a register
7213
        into a single adjustment.
7214
 
7215
Tue Mar 11 17:18:40 1997  Brendan Kehoe  
7216
 
7217
        * cplus-dem.c (gnu_special): Call demangled_fund_type for other
7218
        __t* symbols.
7219
 
7220
Mon Mar 10 16:10:34 1997  Richard Kenner  
7221
 
7222
        * emit-rtl.c (subreg_lowpart_p): Return 0 if SUBREG_REG is VOIDmode.
7223
        * combine.c (simplify_rtx, case SUBREG): Fix direction of test when
7224
        calling operand_subword; use inline code intead of subreg_lowpart_p.
7225
 
7226
Fri Mar  7 09:22:28 1997  Jeffrey A Law  (law@cygnus.com)
7227
 
7228
        * mn10300.c (expand_{pro,epi}logue): Rework to avoid
7229
        unnecessary "add" operations.
7230
        (expand_epilogue): Likewise.
7231
        * mn10300.h (STARTING_FRAME_OFFSET): Is zero after the last
7232
        round of prologue/epilogue changes.
7233
        (FIRST_PARM_OFFSET): Is now 16 (-4 for REG_PARM_STACK_SPACE + 20 for
7234
        register save area).
7235
        (REG_PARM_STACK_SPACE): Define as 4 bytes.
7236
        (OUTGOING_REG_PARM_STACK_SPACE): Define so caller allocates it.
7237
        * mn10300.md (call{,_value} expander): Don't emit insns to adjust the
7238
        stack here anymore.
7239
 
7240
        * mn10300.md (bCC patterns): Just use "bCC target".
7241
 
7242
Tue Mar  4 13:21:41 1997  Jim Wilson  
7243
 
7244
        * rs6000.md (movsi): Don't emit a USE insn for LABEL_REFs.
7245
 
7246
Thu Mar  6 16:29:13 1997  Jim Wilson  
7247
 
7248
        * dwarf2out.c (modified_type_die): Initialize item_type to NULL.
7249
        Move equate_type_number_to_die call before use of sub_die, and move
7250
        recursive modified_type_die calls on item_type after it.
7251
 
7252
        * dwarfout.c (root_type_1, write_modifier_bytes_1): New functions.
7253
        (root_type): Call root_type_1.
7254
        (write_modifier_bytes): Call write_modifier_bytes_1.
7255
        (output_type, case POINTER_TYPE): Set TREE_ASM_WRITTEN before
7256
        recursive call.
7257
 
7258
Wed Mar  5 14:30:49 1997  Torbjorn Granlund  
7259
 
7260
        Partially undo Jan 11 changes (nor takes only register ops):
7261
        * mips.md (*norsi3_const, *nordi3_const): Delete bogus patterns.
7262
        * mips.c (complemented_arith_operand): Delete function.
7263
        (print_operand): Don't handle `e' for CONST_INT.
7264
        * mips.h (PREDICATE_CODES): Delete complemented_arith_operand.
7265
 
7266
Tue Mar  4 16:38:13 1997  Brendan Kehoe  
7267
 
7268
        * i386.c (i386_return_pops_args): Make sure FUNDECL is non-nil
7269
        before we try to use it.
7270
        * i386/{isc,next,sco,sco5,scodbx}.h (RETURN_POPS_ARGS): Likewise.
7271
 
7272
Mon Mar  3 20:17:54 1997  Gavin Koch  
7273
 
7274
        * ginclude/va-mips.h: __mips_single_float should have
7275
        the same effect on vararg lists as __mips_soft_float.
7276
 
7277
Mon Mar  3 18:12:01 1997  Michael Meissner  
7278
 
7279
        * rs6000.h (DBX_CONTIN_LENGTH): Undo 2/26 change.
7280
 
7281
Mon Mar  3 13:08:20 1997  Jeffrey A Law  (law@cygnus.com)
7282
 
7283
        * combine.c (simplify_rtx): Do nothing with (truncate:mode) if
7284
        mode is a partial integer mode.
7285
 
7286
Sun Mar  2 17:41:18 1997  Ulrich Drepper  
7287
 
7288
        * ginclude/varargs.h: Add definition of __va_copy.
7289
        * va-alpha.h, va-clipper.h, va-h8300.h, va-i860.h: Likewise.
7290
        * va-i960.h, va-m88k.h, va-mips.h, va-pa.h, va-ppc.h: Likewise.
7291
        * va-sh.h, va-sparc.h, va-spur.h: Likewise.
7292
 
7293
Sun Mar  2 13:25:49 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
7294
 
7295
        * c-typeck.c (process_init_element): Warn and truncate if upper
7296
        bound of index is out of range.
7297
 
7298
Fri Feb 28 16:08:47 1997  Michael Meissner  
7299
 
7300
        * rs6000/sol-c0.c (_start): Disable loading up r13 and r2 with the
7301
        SDA base registers for now.
7302
 
7303
        * rs6000.md (movsi): Emit a USE insn when putting the
7304
        label of constants into the TOC, so that the constant is still
7305
        emitted when expensive optimizations are used.
7306
 
7307
Thu Feb 27 17:54:42 1997  Karl Heuer  
7308
 
7309
        * fixinc.ptx: Fix sed expression looking for  in pwd.h.
7310
 
7311
Thu Feb 27 12:11:16 1997  Dennis Glatting  
7312
 
7313
        * fixincludes: Remove more cases of __const__ from math.h on NeXT.
7314
 
7315
Wed Feb 26 14:52:27 1997  Michael Meissner  
7316
 
7317
        * reload.c (debug_reload): Remove extra argument to fprintf.
7318
        * rs6000.c (output_toc): Make fprintf calls type correct.
7319
 
7320
        * rs6000.h (DBX_CONTIN_LENGTH): Define as 4000 to avoid AIX
7321
        assembler line limit.
7322
 
7323
Mon Feb 24 17:56:17 1997  Brendan Kehoe  
7324
 
7325
        * fixincludes: Fix need of prototypes for C++ in rpc/xdr.h on SunOS4.
7326
 
7327
Mon Feb 24 17:33:57 1997  Michael Meissner  
7328
 
7329
        * rs6000/xm-sysv4.h (HAVE_STRERROR): Define.
7330
 
7331
Sun Feb 23 17:18:28 1997  Jim Wilson  
7332
 
7333
        * rs6000.md (floatsidf2_loadaddr): Correct syntax for cau instruction.
7334
        (load_multiple, store_multiple): Call change_address instead of
7335
        creating MEM from scratch.
7336
 
7337
Thu Feb 20 16:39:15 1997  Jim Wilson  
7338
 
7339
        * unroll.c (unroll_loop): Add check for naive loop that ends with
7340
        conditional branch that does not branch back to loop start.
7341
 
7342
        * reload1.c (reload): Move assign_stack_local call into main loop.
7343
 
7344
Thu Feb 20 11:40:46 1997  Jeffrey A Law  (law@cygnus.com)
7345
 
7346
        * pa.md (zero extension patterns): Turn into define_expand and
7347
        define_insn pair.
7348
 
7349
Wed Feb 19 17:05:38 1997  Jeffrey A Law  (law@cygnus.com)
7350
 
7351
        * pa.c (emit_move_sequence): Don't copy 0.0 (double precision)
7352
        directly to memory, go through a reg if reload hasn't started.
7353
        * pa.md (main movdf pattern): Don't allow 0.0 (double precision)
7354
        to be copied directly to memory.
7355
 
7356
        * pa/pa-hpux10.h (MD_EXEC_PREFIX): Define appropriately for hpux10.
7357
        (MD_STARTFILE_PREFIX): Similarly.
7358
 
7359
        * pa.h (ASM_OUTPUT_SECTION_NAME): Surround the section name
7360
        with '$' if not using GAS.
7361
 
7362
Wed Feb 19 16:43:47 1997  J"orn Rennecke 
7363
 
7364
        * sched.c (schedule_insns): If there was no first scheduling pass,
7365
        split instructions after reload.
7366
        (update_flow_info): Tolerate some idiosyncrasies after reload.
7367
 
7368
Wed Feb 19 11:13:51 1997  Jeffrey A Law  (law@cygnus.com)
7369
 
7370
        * combine.c (find_split_point): Don't turn a SIGN_EXTEND into
7371
        a series of shifts if either mode is a partial integer mode.
7372
 
7373
Mon Feb 17 08:06:02 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
7374
 
7375
        * rs6000.c ({,non_}short_cint_operand): Use (unsigned HOST_WIDE_INT).
7376
        (non_add_cint_operand, includes_rshift_p): Likewise.
7377
        * rs6000.h (CONST_OK_FOR_LETTER_P): Likewise.
7378
        (LEGITIMATE_ADDRESS_INTEGER_P, LEGITIMIZE_ADDRESS): Likewise.
7379
 
7380
Sun Feb 16 07:55:19 1997  J"orn Rennecke  (amylaar@cygnus.co.uk)
7381
 
7382
        * libgcc2.c (__negdi2, __lshrdi3, __ashldi3, __ashrdi3, __ffsdi2):
7383
        Use ANSI style definition with full prototype.
7384
        (__muldi3, __udiv_w_sdiv, __udivmoddi4, __divdi3, __moddi3) : Likewise.
7385
        (__udivmoddi4, __udivdi3, __cmpdi2, __ucmpdi2) : Likewise.
7386
        (__fixunstfdi, __fixtfdi, __fixunsxfdi, __fixxfdi) : Likewise.
7387
        (__fixunsdfdi, __fixdfdi, __floatdixf, __floatditf) : Likewise.
7388
        (__floatdidf, __floatdisf, __fixunsxfsi, __fixunsdfsi) : Likewise.
7389
        (__gcc_bcmp, __eprintf, gopen, gclose, __bb_init_file) : Likewise.
7390
        (__bb_init_trace_func, __clear_cache, mprotect) : Likewise.
7391
        (__enable_execute_stack, cacheflush, exit) : Likewise.
7392
        (find_exception_table, __find_first_exception_table_match) : Likewise.
7393
 
7394
Sun Feb 16 07:52:02 1997  Oliver Kellogg  (oliver.kellogg@space.otn.dasa.de)
7395
 
7396
        * 1750a.md (mulqihi3): Corrected.
7397
        (tst{hf,tqf}): Simplified.
7398
        (movqi): Removed redundant alternative.
7399
        (addqi-3,addqi-2,addqi-1): Set/Reset Bit patterns by C. Nettleton.
7400
        (many patterns): Introduced operand output modifiers d,t,b,B,w.
7401
        * 1750a.c (print_operand): New operand output modifiers d,t,b,B,w.
7402
        (simple_memory_operand): Removed.
7403
        (one_bit_set_p, which_bit): Added from C. Nettleton's m1750 config.
7404
 
7405
Sun Feb 16 07:43:37 1997  Paul Eggert  
7406
 
7407
        * cccp.c (special_symbol): Don't treat "L" in "L'...'" as identifier.
7408
        (check_macro_name, collect_expansion, rescan): Likewise.
7409
        * cpplib.c (special_symbol, check_macro_name, collect_expansion):
7410
        Likewise.
7411
 
7412
        * cexp.y (parse_c_expression): Don't check for null lexptr
7413
        or *lexptr == 0.  If yyparse returns nonzero value, abort.
7414
 
7415
        * cexp.y (yylex): Use is_space, not is_hor_space, to find keyword end.
7416
        (is_space): New decl.
7417
        (is_hor_space): Removed.
7418
        * cccp.c (is_space): Now external.
7419
        (is_hor_space): Now static.
7420
 
7421
Sun Feb 16 04:55:11 1997  Jason Merrill  
7422
 
7423
        * toplev.c, tree.h (decl_printable_name): Change arguments.
7424
        * c-common.c (declare_function_name): Reflect above change.
7425
        * final.c (final_start_function): Likewise.
7426
        * function.c (init_function_start): Likewise.
7427
        * toplev.c (decl_name): Likewise.
7428
        (announce_function): Likewise.
7429
        (v_message_with_decl): Likewise.
7430
        * dwarf2out.c (dwarf2_name): New fn, uses decl_printable_name.
7431
        (add_pubname): Use it.
7432
        (add_name_and_src_coords_attributes): Use it, add
7433
        DW_AT_MIPS_linkage_name if appropriate.
7434
        (output_aranges): Use DW_AT_MIPS_linkage_name if present.
7435
 
7436
Sat Feb 15 18:45:30 1997  J.T. Conklin  
7437
 
7438
        * m68k.md (cmpsi): Added insn with appropriate constraints for
7439
        TARGET_5200; changed condition of existing insn to !TARGET_5200.
7440
 
7441
Sat Feb 15 18:26:50 1997  Philippe De Muyter  
7442
 
7443
        * m68k/hp320.h (PRINT_OPERAND_FLOAT): Removed.
7444
        (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}_OPERAND): Defined.
7445
        (PRINT_OPERAND): Turned off: use default.
7446
        * m68k/news.h (PRINT_OPERAND): Turned off: use default.
7447
        (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}_OPERAND): Defined.
7448
        * m68k/tower-as.h (PRINT_OPERAND): Turned off: use default.
7449
        (ASM_OUTPUT_{FLOAT,DOUBLE}_OPERAND): Defined.
7450
        * m68k/crds.h (PRINT_OPERAND): Turned off: use default.
7451
        (ASM_OUTPUT_{FLOAT,DOUBLE}_OPERAND): Defined.
7452
        (SGS_NO_LI,STRUCTURE_SIZE_BOUNDARY,IMMEDIATE_PREFIX): Defined.
7453
        (NEED_PROBE): Defined instead of HAVE_probe and gen_probe.
7454
        (FUNCTION_{PRO,EPI}LOGUE): Do not access FPA registers.
7455
        * m68k.c (output_function_prologue): Add CRDS and MOTOROLA probe code.
7456
        (print_operand): Do not output '.' if CRDS.
7457
 
7458
        * gcc.c (set_spec): Fix comment-in-comment typo.
7459
 
7460
Sat Feb 15 17:54:23 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
7461
 
7462
        * Makefile.in (COMPILERS): Moved before GCC_PASSES.
7463
        (GCC_PASSES): Use $(COMPILERS) instead of cc1$(exeext).
7464
 
7465
Sat Feb 15 17:25:44 1997  Andreas Schwab  
7466
 
7467
        * gcc.c (process_command): Allocate space for terminating null.
7468
 
7469
Sat Feb 15 17:21:34 1997  Pat Rankin  
7470
 
7471
        * vax.h (FUNCTION_PROLOGUE): Adjust size by STARTING_FRAME_OFFSET.
7472
        * vax/vms.h (FUNCTION_PROLOGUE): Delete.
7473
 
7474
Sat Feb 15 08:48:14 1997  Douglas B. Rupp  (rupp@gnat.com)
7475
 
7476
        * configure: Fix setting of CC in no-symlink case.
7477
 
7478
Sat Feb 15 08:42:17 1997  Oliver Kellogg  (oliver.kellogg@space.otn.dasa.de)
7479
 
7480
        * expmed.c (expand_divmod): Prefer divmod in same mode over div
7481
        in wider mode.
7482
 
7483
Sat Feb 15 08:27:50 1997  J"orn Rennecke  (amylaar@cygnus.co.uk)
7484
 
7485
        * fold-const.c (fold): Don't assume a nonexplicit constant cannot
7486
        equal an explicit one.
7487
 
7488
        * i386.md (zero_extendqi[hs]i2+3): Ensure operating on REG.
7489
 
7490
Sat Feb 15 08:11:04 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
7491
 
7492
        * configure (i[3456]86-*-solaris2*): Correct tm.h filename in
7493
        stabs case.
7494
 
7495
        * a29k.h (STORE_FLAG_VALUE): Write so works on both 32 and 64-bit host.
7496
 
7497
Fri Feb 14 16:03:37 1997  Robert Lipe  
7498
 
7499
        * i386/t-sco5 (libgcc{1,2}-elf.a): correct target dependencies.
7500
 
7501
Fri Feb 14 16:00:23 1997  H.J. Lu  
7502
 
7503
        * config/svr4.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Set
7504
        current-section variable to text.
7505
 
7506
Wed Feb 12 16:07:34 1997  Brendan Kehoe  
7507
 
7508
        * fixinc.irix: New file.
7509
        * configure (mips-sgi-irix[56]): Set fixincludes to fixinc.irix.
7510
 
7511
Wed Feb 12 15:40:20 1997  Jim Wilson  
7512
 
7513
        * Makefile.in (LIBGCC2_DEBUG_CFLAGS): New macro.
7514
        (LIBGCC2_CFLAGS): Use it.
7515
 
7516
        * dwarfout.c (output_type): Do early exit only if TYPE_CONTEXT is NULL
7517
        or if TYPE_CONTEXT is another type (e.g. a nested type).
7518
 
7519
Tue Feb 11 15:53:51 1997  J"orn Rennecke 
7520
 
7521
        * sh.c (calc_live_regs): Exclude RETURN_ADDRESS_POINTER_REGNUM.
7522
        Need not save MACL/MACH when not live or in leaf function.
7523
 
7524
Mon Feb 10 14:46:32 1997  Jeffrey A Law  (law@cygnus.com)
7525
 
7526
        * stmt.c (group_case_nodes): Recognize more opportunities to
7527
        group case nodes.
7528
 
7529
Sun Feb  9 14:05:48 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
7530
 
7531
        * function.c (assign_stack_temp): Clear MEM flags from reuse.
7532
 
7533
Sat Feb  8 17:37:47 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
7534
 
7535
        * local-alloc.c (update_equiv_regs): Fix error in last change.
7536
 
7537
Fri Feb  7 12:42:34 1997  Mike Stump  
7538
 
7539
        * pa.h (RETURN_ADDR_RTX): Fix to ignore export stubs.
7540
        * pa.c (return_addr_rtx): Define.
7541
 
7542
Fri Feb  7 13:56:56 1997  Doug Evans  
7543
 
7544
        * cse.c (invalidate_from_clobbers): Delete unnecessary test for
7545
        (clobber nil).
7546
 
7547
        * toplev.c (main): Delete redundant settings of flag_no_inline
7548
        and warn_inline if not optimizating.
7549
 
7550
Fri Feb  7 10:45:02 1997  Jeffrey A Law  (law@cygnus.com)
7551
 
7552
        * Makefile.in (stmp-multilib-sub): Add missing "else true"
7553
        clauses to work around make bug on some systems.
7554
 
7555
Fri Feb  7 08:19:43 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
7556
 
7557
        * fold-const.c (const_binop): Don't call size_int if low < 0.
7558
 
7559
        * function.c (instantiate_virtual_regs_1, case USE, CLOBBER):
7560
        Fix error in last change.
7561
 
7562
Thu Feb  6 17:09:17 1997  Mike Stump  
7563
 
7564
        * except.c (find_exception_handler_labels): Initialize label array
7565
        with zeroes.
7566
 
7567
Wed Feb  5 22:11:55 1997  Jeffrey A Law  (law@cygnus.com)
7568
 
7569
        * pa.md (post_ldwm): Fix typos.
7570
 
7571
Wed Feb  5 15:57:42 1997  Doug Evans  
7572
 
7573
        * m68k/vxm68k.h (WCHAR_TYPE,WCHAR_TYPE_SIZE,SIZE_TYPE): Fix.
7574
        (PTRDIFF_TYPE): Define.
7575
 
7576
Wed Feb  5 11:19:13 1997  Ian Lance Taylor  
7577
 
7578
        * reload1.c (alter_reg): Don't ask assign_stack_local to round up
7579
        to a multiple of BIGGEST_ALIGNMENT, unless a register appears in a
7580
        paradoxical subreg.
7581
 
7582
Tue Feb  4 19:29:40 1997  Jim Wilson  
7583
 
7584
        * reload.c (find_reloads_address_1, case POST_INC): Don't use
7585
        ADDR_TYPE here.
7586
 
7587
Tue Feb  4 12:33:45 1997  Jeffrey A Law  (law@cygnus.com)
7588
 
7589
        * flow.c (life_analysis): Delete obvious no-op moves
7590
        which use SUBREGs.
7591
 
7592
Mon Feb  3 20:00:35 1997  Jim Wilson  
7593
 
7594
        * jump.c (find_cross_jump): Don't allow old-style and volatile asms
7595
        to match.
7596
 
7597
Mon Feb  3 15:51:31 1997  Doug Evans  
7598
 
7599
        * sparc/sol2.h (ASM_SHORT,ASM_LONG): Set to .uahalf/.uaword.
7600
        * sparc/sysv4.h (ASM_LONG): Define.
7601
        (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Use ASM_LONG.
7602
 
7603
Mon Feb  3 13:01:46 1997  Ian Lance Taylor  
7604
 
7605
        * reload.h (enum reload_type): Add RELOAD_FOR_INPADDR_ADDRESS and
7606
        RELOAD_FOR_OUTADDR_ADDRESS.
7607
        * reload.c (ADDR_TYPE): New macro.
7608
        (push_secondary_reload): Check for new reload types.
7609
        (combine_reloads): Likewise.
7610
        (find_reloads): Likewise.  Convert INPADDR_ADDRESS and
7611
        OUTADDR_ADDRESS to OPADDR_ADDR.  Check OPADDR_ADDR when looking
7612
        for merges.
7613
        (find_reloads_address): When reloading an address, use the
7614
        ADDR_TYPE macro to get the type of the new reload.
7615
        (find_reloads_address_1): Likewise.
7616
        (reload_when_needed_name): Add new reload types.
7617
        * reload1.c (reload): Add in_addr_addr and out_addr_addr fields to
7618
        insn_needs struct.  Use them for new reload types, and when
7619
        computing in_max and out_max.
7620
        (reg_used_in_inpaddr_addr): New static array.
7621
        (reg_used_in_outaddr_addr): New static array.
7622
        (mark_reload_reg_in_use): Handle new reload types.
7623
        (clear_reload_reg_in_use, reload_reg_free_p): Likewise.
7624
        (reload_reg_free_before_p, reload_reg_reaches_end_p): Likewise.
7625
        (reloads_conflict, merge_assigned_reloads): Likewise.
7626
        (emit_reload_insns): Likewise.
7627
        (choose_reload_regs): Save arrays for new reload types.
7628
 
7629
Sun Feb  2 19:43:17 1997  Scott Christley 
7630
 
7631
        * objc/selector.c (__sel_register_typed_name): Eliminate compiler
7632
        warnings with explicit cast.
7633
 
7634
        * Add condition mutex support to the objc runtime.
7635
        * objc/thr-mach.c (objc_condition_{,de}allocate): New functions.
7636
        (objc_condition_{wait,broadcast,signal}): New functions.
7637
        * objc/thr-pthreads.c (objc_condition_{,de}allocate): New functions.
7638
        (objc_condition_{wait,broadcast,signal}): New functions.
7639
        * objc/thr-solaris.c (objc_condition_{,de}allocate): New functions.
7640
        (objc_condition_{wait,broadcast,signal}): New functions.
7641
        * objc/thr.h: Prototypes for new functions.
7642
 
7643
        * objc/init.c (__objc_runtime_mutex): Eliminate leading underscore
7644
        from name of objc mutex and thread structures.
7645
        * objc/runtime.h: Likewise.
7646
        * objc/thr-{decosf1,irix,mach,os2,posix,pthreads,single}.c: Likewise.
7647
        * objc/thr-{solaris,win32}.c: Likewise.
7648
        * objc/thr.{c,h}: Likewise.
7649
 
7650
        * Major reorganization of objc error handling.
7651
        * objc/Object.m (-error:): Call objc_error function instead of
7652
        using function pointer.
7653
        * objc/archive.c: Replace call to abort or __objc_fatal functions
7654
        with call to objc_error function throughout the complete file.
7655
        * objc/class.c (objc_get_class): Replace call to abort function
7656
        with call to objc_error function.
7657
        * objc/encoding.c (objc_sizeof_type, objc_alignof_type): Replace
7658
        call to abort function with call to objc_error function.
7659
        (objc_skip_typespec): Likewise.
7660
        * objc/init.c (init_check_module_version): Replace call to
7661
        abort function with call to objc_error function.
7662
        * objc/misc.c (objc_verror): New function.
7663
        (objc_fatal): Remove function.
7664
        (objc_set_error_handler): New function.
7665
        (_objc_error_handler): New global variable.
7666
        (__alpha__): Remove unneeded code.
7667
        (objc_error): Allow user specified error handler function to
7668
        trap and handle the objc error.  Added an error code parameter
7669
        which indicates the specific error that occurred.
7670
        (objc_malloc, objc_atomic_malloc): Replace call to objc_fatal
7671
        function with call to objc_error function.
7672
        (objc_valloc, objc_realloc, objc_calloc): Likewise.
7673
        * objc/objc-api.h: Declare error handling functions and typedef
7674
        for user specified error handler function.  Define error codes
7675
        used by the runtime library.
7676
        * objc/runtime.h: Remove error handling declarations.
7677
        * objc/sendmsg.c (__objc_forward): Replace call to abort function
7678
        with call to objc_error function.
7679
 
7680
Sun Feb  2 19:42:52 1997  Thomas Baier 
7681
 
7682
        * objc/hash.c (hash_delete): Step through the hash nodes
7683
        versus using hash_next to increase efficiency.
7684
        * objc/archive.c (__objc_finish_read_root_object): Use hash
7685
        table instead of list.
7686
 
7687
Sun Feb  2 08:25:05 1997  Ovidiu Predescu  
7688
 
7689
        * objc-act.c (encode_aggregate_within): New function.
7690
        (encode_aggregate): Generates encodings for unions similar
7691
        to those for structs except surrounded by parenthesis instead
7692
        of braces.
7693
 
7694
Sun Feb  2 07:15:54 1997  Mat Hostetter  (mat@lcs.mit.edu)
7695
 
7696
        * c-decl.c (start_function): Fix improper installation of last change.
7697
 
7698
Sun Feb  2 06:50:55 1997  Andreas Schwab  
7699
 
7700
        * m68k.c (output_scc_di): Add missing CC_STATUS_INIT.
7701
 
7702
Sun Feb  2 06:39:55 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
7703
 
7704
        * c-typeck.c (process_init_element): When popping levels, don't
7705
        blow up if constructor_max_index not set due to previous error.
7706
 
7707
        * combine.c (find_split_point, case SET): Fix error in last change.
7708
 
7709
Sun Feb  2 06:28:56 1997  Paul Eggert  
7710
 
7711
        * cccp.c (rescan): Insert a space after `.' as well,
7712
        to prevent accidental token-pasting (e.g. `.x' -> `.10').
7713
 
7714
Sun Feb  2 06:08:14 1997  Oliver Kellogg  (oliver.kellogg@space.otn.dasa.de)
7715
 
7716
        * 1750a.c (modregno_adjust): Fixed case when reg_renumber invalid.
7717
 
7718
Sat Feb  1 19:11:08 1997  J.T. Conklin  
7719
 
7720
        * m68k.md (movqi): Enable use of clr and st insns on TARGET_5200.
7721
        * m68k.c (output_move_simode_const): Likewise.
7722
 
7723
Sat Feb  1 18:54:00 1997  Douglas B. Rupp  (rupp@gnat.com)
7724
 
7725
        * gcc.c (process_command): Fix improper use of strncpy.
7726
 
7727
Fri Jan 31 15:35:08 1997  Mike Stump  
7728
 
7729
        * libgcc2.c: Remove extern for malloc and realloc.
7730
 
7731
Fri Jan 31 17:08:11 1997  Ian Lance Taylor  
7732
 
7733
        * local-alloc.c (update_equiv_regs): If register which is equivalent
7734
        to some value is only used in one place, and we can't substitute value
7735
        for use, move register assignment to just before use.
7736
 
7737
Fri Jan 31 15:57:25 1997  Stan Cox  
7738
 
7739
        * i386.md (idiv,imul,fpmul): Added new functional units for pentiumpro.
7740
 
7741
        * i386.c (pentiumpro_cost): Added new cost structure for pentiumpro.
7742
        (override_options): Set ix86_cost to appropriate cost structure.
7743
 
7744
Thu Jan 30 09:34:26 1997  J.T. Conklin  
7745
 
7746
        * m68k.md (stack adjust peepholes): Use lea instead of
7747
        add.w when adding 16 bit constants on all but TARGET_68040.
7748
 
7749
Thu Jan 30 08:58:08 1997  Ralf Baechle  
7750
 
7751
        * function.c (TRAMPOLINE_ALIGNMENT): Provide default.
7752
        (expand_function_end): Use TRAMPOLINE_ALIGNMENT instead
7753
        of FUNCTION_BOUNDARY.
7754
        * varasm.c (TRAMPOLINE_ALIGNMENT): Provide default.
7755
        (assemble_trampoline_template): Use TRAMPOLINE_ALIGNMENT instead
7756
        of FUNCTION_BOUNDARY.
7757
 
7758
Wed Jan 29 18:16:02 1997  J"orn Rennecke 
7759
 
7760
        * sh.h (REG_CLASS_CONTENTS): Add rap to GENERAL_REGS and its
7761
        superclasses.
7762
 
7763
        * sh.md (movsi_i, movsi_ie, movhi_i, movhi+1): Use type pcload for
7764
        immediate operands where appropriate.
7765
        (movsf_ie+1): Fail when loading anything but a MEM into
7766
        a floating point reguister.
7767
 
7768
Wed Jan 29 16:00:31 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
7769
 
7770
        * varasm.c (force_const_mem): Set MARK instead of clearing it.
7771
        (output_constant_pool): Only mark constant pool if -O.
7772
        Check mark flag unconditionally.
7773
        (mark_constant_pool): Start by clearing all mark flags.
7774
 
7775
        * tree.c (copy_node): Clear TREE_ASM_WRITTEN.
7776
 
7777
        * flow.c (regno_uninitialized): Return 0 if reg is used for args.
7778
 
7779
Wed Jan 29 15:23:59 1997  Ian Lance Taylor  
7780
 
7781
        * combine.c (try_combine): Clear reg_n_refs if i2dest is not
7782
        mentioned in newi2pat.
7783
 
7784
Tue Jan 28 16:00:23 1997  Stan Cox  (coxs@dg-rtp.dg.com)
7785
 
7786
        From Robert Lipe 
7787
        * i386/sco5.h (SCO_DEFAULT_ASM_COFF): Remove bytecode stuff.
7788
        (ASM_OUTPUT_ASCII): Use .ascii in both ELF and COFF modes.
7789
        (ASM_OUTPUT_SECTION_NAME): Handle alternate sections for COFF.
7790
        The OpenServer 5.0.0 assembler gives an error for section
7791
        names over 6 characters long, so we catch the "obvious" case
7792
        and shorten it.
7793
 
7794
        * m88k.h (ASM_OUTPUT_SECTION_NAME): Undefine; fails
7795
        for exception sections.  The 88k ABI specifies 'section'
7796
        instead of '.section'.
7797
 
7798
Mon Jan 27 13:32:46 1997  J"orn Rennecke 
7799
 
7800
        * sh.c (shl_and_kind): Fix typo.
7801
        * sh.md (and_shl_scratch): Fix typo for length 8.
7802
 
7803
Mon Jan 27 08:56:03 1997  Jeffrey A Law  (law@cygnus.com)
7804
 
7805
        * fixincludes (sys/time.h): Fix incorrect forward structure
7806
        declaration on hpux10.20.
7807
 
7808
Mon Jan 27 09:05:35 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
7809
 
7810
        * combine.c (simplify_rtx): Don't do anything with if_then_else_cond
7811
        result if both one arm and the input are a comparison.
7812
        (simplify_{rtx,if_then_else,logical,shift_const}): Don't
7813
        test STORE_FLAG_VALUE with #if; properly test for just sign bit.
7814
        (num_sign_bit_copies, if_then_else_cond): Likewise.
7815
        * expmed.c (emit_store_flag): Properly test for STORE_FLAG_VALUE
7816
        of just sign bit.
7817
        * fold-const.c (fold): Don't make COND_EXPR when both expr and
7818
        one part are comparisons.
7819
        * a29k.h (STORE_FLAG_VALUE): Make negative.
7820
 
7821
Fri Jan 24 16:42:26 1997  Ian Lance Taylor  
7822
 
7823
        * varasm.c (struct pool_constant): Add mark field.
7824
        (force_const_mem): Clear mark field in new constant pool entry.
7825
        (output_constant_pool): Call mark_constant_pool.
7826
        (mark_constant_pool, mark_constants): New static functions.
7827
 
7828
Thu Jan 23 15:04:17 1997  Ian Lance Taylor  
7829
 
7830
        * cse.c (COST): Get the right cost for a SUBREG of a register when
7831
        truncation is free.
7832
 
7833
Thu Jan 23 11:19:40 1997  Mike Stump  
7834
 
7835
        * Makefile.in (objc-headers): Don't try and install the headers if
7836
        the objc directory has been removed.
7837
 
7838
Wed Jan 22 13:26:25 1997  Brendan Kehoe  
7839
 
7840
        * i960.c (process_pragma): Call ungetc on the last character
7841
        that was read by the while loop, to make sure the parser sees it.
7842
 
7843
Tue Jan 21 17:20:30 1997  Michael Meissner  
7844
 
7845
        * rs6000.c (output_toc): Move STRIP_NAME_ENCODING to common
7846
        code, so the test for vt's works with -mminimal-toc.
7847
 
7848
Tue Jan 21 16:03:35 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
7849
 
7850
        * function.c (mark_all_temps_used): Set KEEP as well.
7851
 
7852
Tue Jan 21 12:16:15 1997  Doug Evans  
7853
 
7854
        * stor-layout.c (layout_record): Correct test for whether field spans
7855
        its unit of alignment in case where field_size == type_align.
7856
 
7857
Mon Jan 20 20:27:54 1997  Ian Lance Taylor  
7858
 
7859
        * mips.md (probe): Comment out.
7860
 
7861
Sun Jan 19 20:54:45 1997  John F. Carr  
7862
 
7863
        * integrate.c (expand_inline_function): Handle a PARALLEL containing
7864
        a RETURN the same as a RETURN.
7865
 
7866
Sun Jan 19 20:35:28 1997  Pat Rankin  
7867
 
7868
        * vmsconfig.com: Change all hardcoded references of "vax" to
7869
        use variable expansion instead.
7870
        (arch_indx, arch): New variables.
7871
 
7872
        * vax.c (not_qsort):  Don't declare alloca.
7873
        * vax/xm-vms.h: Declare alloca here.
7874
        Do most of the VAX C-specific set up for DEC C.
7875
        #if DEC C, undefine QSORT_WORKAROUND and qsort.
7876
        * make-gcc.com, make-cccp.com, make-cc1.com:  Support building
7877
        with GNU C vs VAX C vs DEC C from the DCL command line.
7878
 
7879
Sun Jan 19 17:20:50 1997  Oliver Kellogg  (oliver.kellogg@space.otn.dasa.de)
7880
 
7881
        * 1750a.md (movh[if]-1): Corrected.
7882
        (movtqf-1): Deleted.
7883
        * 1750a.c (add_1_to_mem): Deleted.
7884
        (output_operand_address): Added output modifier 'A'.
7885
 
7886
Sun Jan 19 17:17:54 1997  Philippe De Muyter  
7887
 
7888
        * m68k.md (ashrdi_const, ashrdi3): Allow 31 as shift count.
7889
 
7890
        * m68k.h (CONST_OK_FOR_LETTER_P): Recognize 'N', 'O' and 'P'.
7891
        * m68k.md (rotl[shq]i3, strict_low_part rotl): Allow 'N', 'O'
7892
        or 'P' operands.
7893
 
7894
Sun Jan 19 17:09:17 1997  Andreas Schwab  
7895
 
7896
        * m68k.md (addsi3): Fix previous change: {add,sub}qw should
7897
        be {add,sub}ql. For other uses of {add,sub}q don't check for address
7898
        register and always use {add,sub}ql.
7899
 
7900
Sun Jan 19 15:05:42 1997  Peter Seebach  
7901
 
7902
        * c-decl.c (start_decl): Add code for -Wmain.
7903
        (c_decode_option): Add -fhosted, -ffreestanding, and -Wmain.
7904
        * toplev.c (lang_options): Likewise.
7905
        * c-tree.h (warn_main, flag_hosted): New variables.
7906
 
7907
Sun Jan 19 14:35:41 1997  Alex Garthwaite  (alex@samwise.cis.upenn.edu)
7908
 
7909
        * fixinc.svr4: Fix problems with symlinks to ".".
7910
 
7911
Sun Jan 19 14:21:46 1997  Craig Burley  
7912
 
7913
        * loop.c (check_final_value): Handle insns with no luid's.
7914
 
7915
Sun Jan 19 08:57:26 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
7916
 
7917
        * alpha.md (arg_home): Add CLOBBER of MEM and USE of arg regs.
7918
        * vms.h (SETUP_INCOMING_VARARGS): Delete duplicate definition.
7919
 
7920
        * toplev.c (set_float_handler): Set up signal catcher on first call
7921
        in case a front end has disabled it.
7922
 
7923
        * cccp.c, cexp.y: #define __attribute__ to be null if
7924
        compiling with GCC older than 2.7, not 2.6.
7925
 
7926
        * toplev.c (main): If PREFERRED_DEBUGGING_TYPE used and set
7927
        to NO_DEBUG, say debugging not supported.
7928
        * mips/sni-svr4.h (PREFERRED_DEBUGGING_TYPE): Undefine.
7929
 
7930
        * i386/xm-cygwin32.h (DIR_SEPARATOR): Define.
7931
 
7932
        * explow.c (convert_memory_address, case SYMBOL_REF):
7933
        Copy CONSTANT_POOL_ADDRESS_P.
7934
        * integrate.c (save_constants): Make (address (const ..)) to record
7935
        both modes.
7936
        (copy_for_inline, copy_rtx_and_substitute, restore_constants): Use
7937
        both modes when restoring constant pool entry for ADDRESS.
7938
 
7939
        * alpha.h (MINIMUM_ATOMIC_ALIGNMENT): New macro.
7940
 
7941
        * function.c (instantiate_virtual_regs_1, case USE, case CLOBBER):
7942
        Properly handle case of shared MEM whose replacement is not valid.
7943
 
7944
Sat Jan 18 14:08:31 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
7945
 
7946
        * tree.c (get_unwidened): Don't crash if FIELD_DECL not layed out.
7947
 
7948
        * varasm.c (const_hash): Treat NON_LVALUE_EXPR like CONVERT_EXPR.
7949
        (compare_constant_1, copy_constant, bc_assemble_integer): Likewise.
7950
        (const_hash, compare_constant_1): Use switch, not if-then-else.
7951
 
7952
Fri Jan 17 17:10:20 1997  Ian Lance Taylor  
7953
 
7954
        * mips.h (STACK_POINTER_OFFSET): Don't define.
7955
 
7956
Thu Jan 16 14:51:03 1997  Bob Manson  
7957
 
7958
        * cplus-dem.c: Fix indenting; note that this file also lives in
7959
        libiberty.
7960
        (do_type, case 'M'): Check for a template as well as a class.
7961
 
7962
Thu Jan 16 15:08:26 1997  Michael Meissner  
7963
 
7964
        * gcc.c (cross_compile): Change to be a char * like all of the
7965
        other specs.
7966
        (process_command): Change how cross_compile is tested.
7967
        (main): Likewise.
7968
        (struct spec_list): Merge with the format used by EXTRA_SPECS.
7969
        Add name length field to speed up repeated calls to strcmp.  Add
7970
        flag to say spec was allocated.  Add pointer to char * so that
7971
        static spec fields can be updated.
7972
        (extra_specs): Use struct spec_list as type.
7973
        (static_specs): Static list of predefined specs.
7974
        (init_specs): New function, initialize the specs list.  Link in
7975
        the default specs and any specs defined via EXTRA_SPECS.
7976
        (set_spec): No longer special case predefined specs.
7977
        (process_command,validate_all_switches): Ditto.
7978
        (process_command): Call init_specs for -dumpspecs.
7979
        (do_spec_1): Use name length field to avoid calling strncmp when
7980
        it is going to fail.
7981
        (main): Call init_spec.  Don't handle EXTRA_SPECS here.
7982
 
7983
Thu Jan 16 17:07:54 1997  Eddie C. Dost  
7984
 
7985
        * configure: Add sparc-linux{,aout} support.
7986
        * ginclude/va-sparc.h: Likewise.
7987
        * sparc/linux.h: New file.
7988
        * sparc/linux-aout.h: New file.
7989
        * sparc/xm-linux.h: New file.
7990
 
7991
Thu Jan 16 16:19:13 1997  Jim Wilson  
7992
 
7993
        * configure (sparc-*-aout*): Add libgloss.h to tm_file.
7994
        (sparclite-*-coff*): Change "= to =".
7995
 
7996
Thu Jan 16 12:53:15 CST 1997  Joel Sherrill 
7997
 
7998
        * rs6000/rtems.h: Change from being sysv4 based to being eabi based.
7999
 
8000
Thu Jan 16 13:40:51 1997  Jim Wilson  
8001
 
8002
        * mips.h (LINKER_ENDIAN_SPEC): Define.
8003
        (LINK_SPEC): Add linker_endian_spec.
8004
        (EXTRA_SPECS): Add linker_endian_spec.
8005
 
8006
Thu Jan 16 08:02:13 1997  Jeffrey A Law  (law@cygnus.com)
8007
 
8008
        * mn10300.md (bCC, inverted bCC): Use bCC .+X instead of bCC 0f.
8009
 
8010
Wed Jan 15 14:06:28 1997  Ian Lance Taylor  
8011
 
8012
        * reload.h (reload_address_base_reg_class): Declare.
8013
        (reload_address_index_reg_class): Declare.
8014
        * reload1.c (reload_address_base_reg_class): Define.
8015
        (reload_address_index_reg_class): Define.
8016
        (init_reload): Initialize reload_address_{base,index}_reg_class.
8017
        * reload.c (find_reloads_address): Use
8018
        reload_address_base_reg_class rather than BASE_REG_CLASS.  Use
8019
        reload_address_index_reg_class rather than INDEX_REG_CLASS.
8020
        (find_reloads_address_1): Likewise.
8021
 
8022
Tue Jan 14 15:26:33 1997  Ian Lance Taylor  
8023
 
8024
        * reload.c (REGNO_MODE_OK_FOR_BASE_P): Define if not defined.
8025
        (REG_MODE_OK_FOR_BASE_P): Define if not defined.
8026
        (find_reloads_address): Use REG[NO]_MODE_OK_FOR_BASE_P rather than
8027
        REG[NO]_OK_FOR_BASE_P.
8028
        (find_reloads_address_1): Likewise.
8029
        Add mode parameter; change all callers.
8030
 
8031
        * reload1.c (eliminate_regs_in_insn): Handle more cases when
8032
        eliminating the frame pointer to the hard frame pointer.
8033
 
8034
        * varasm.c (force_const_mem): Copy a CONST_INT rtx like a CONST rtx.
8035
 
8036
        * varasm.c (assemble_end_function): Call
8037
        output_after_function_constants.
8038
        (after_function_constants): New static variable.
8039
        (output_after_function_constants): New static function.
8040
        (output_constant_def): Check CONSTANT_AFTER_FUNCTION_P.
8041
 
8042
Mon Jan 13 16:44:40 1997  David Edelsohn  
8043
 
8044
        * rs6000/aix41.h (CPP_PREDEFINES): Add -D_AIX41.
8045
 
8046
Sun Jan 12 20:54:01 1997  Jim Wilson  
8047
 
8048
        * libgloss.h (LINK_SPEC): Delete.
8049
        (STARTFILE_SPEC): Delete spurious newline.
8050
 
8051
Sat Jan 11 00:13:03 1997  Torbjorn Granlund  
8052
 
8053
        * mips.md (norsi3, nordi3): Use canonical RTL.  Prepend `*' to pattern
8054
        name.  Don't match immediates.
8055
        (norsi3_const, nordi3_const): New patterns.
8056
        (anddi3, iordi3, xordi3): Test TARGET_64BIT, not mips_isa
8057
        in length attribute calculation.
8058
        * mips.c (complemented_arith_operand): New function.
8059
        (print_operand): Handle `e' for CONST_INT.
8060
        * mips.h (PREDICATE_CODES): Add complemented_arith_operand.
8061
 
8062
Fri Jan 10 14:11:53 1997  David Edelsohn  
8063
 
8064
        * rs6000/aix41.h (SUBTARGET_SWITCHES): Add threads and pe.
8065
        (CPP_SPEC): Add mpe and mthreads cases.
8066
        (LIB_SPEC): Add mpe and mthreads cases to variant from rs6000.h.
8067
        (STARTFILE_SPEC): Add mpe and mthreads support.
8068
 
8069
Fri Jan 10 07:12:26 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8070
 
8071
        * i386/cygwin32.h (LINK_SPEC): New definition.
8072
 
8073
        * Makefile.in (FLAGS_TO_PASS): Add STAGE_PREFIX, set by configure.
8074
        * configure: Initialize exeext.
8075
        Update STAGE_PREFIX in Makefile.
8076
 
8077
        * dwarfout.c (dwarfout_line): Push to LINE_SECTION after calling
8078
        lookup_filename.
8079
 
8080
Thu Jan 9 12:06:04 1997  Jim Wilson  
8081
 
8082
        * i386.md (addsidi3_2): Add & to operand 0 of alternative 5.
8083
 
8084
Thu Jan 9 12:06:04 1997  Stan Cox  
8085
 
8086
        From Linus Torvalds and Mat Hostetter:
8087
        * i386.c (i386_sext16_if_const): Added to sign extend HImode constant.
8088
        (i386_aligned_reg_p): Added to tell if an rtx is aligned.
8089
        (i386_cc_probably_useless_p): Don't trust cc bits.
8090
        * i386.h (TARGET_ZERO_EXTEND_WITH_AND): Don't do this for p6.
8091
        * i386.md (cmpsf_ccfpeq+2): Use SImode test instruction.
8092
        (movhi+1): Use movz instead of mov on p6.
8093
        (addsi3): Add 128 by subtracting -128.
8094
        (zero_extendhisi2): Use SImode move if aligned.
8095
        ({add,sub,and,ior,xor}hi3): Likewise.
8096
 
8097
Tue Jan  7 16:58:27 1997  Jason Merrill  
8098
 
8099
        * c-parse.in (extension): New rule for __extension__.
8100
        (extdef, unary_expr, decl, component_decl): Use it.
8101
 
8102
Mon Jan  6 15:44:37 1997  Oliver Kellogg  (oliver.kellogg@space.otn.dasa.de)
8103
 
8104
        * 1750a.c: Now includes regs.h.
8105
        ({movcnt,mod}_regno_adjust): Corrected typos.
8106
        * 1750a.md (movhi): Corrected case of moving constant to memory.
8107
 
8108
Mon Jan  6 08:00:57 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8109
 
8110
        * mips.h: Delete redundant definitions of compiler and library fns.
8111
 
8112
        * dwarfout.c (type_attribute): Ignore any subtype for now.
8113
 
8114
        * fold-const.c (operand_equal_p): Rework to consider two
8115
        expressions that have embedded identical SAVE_EXPRs as
8116
        equivalent; also handle some more cases.
8117
 
8118
Sun Jan  5 23:54:34 1997  Jeffrey A Law  (law@cygnus.com)
8119
 
8120
        * pa.md (pic_load_label): Fix test for using just an
8121
        ldo rather than an addil;ldo sequence to load the label's
8122
        address.
8123
 
8124
Sun Jan  5 07:26:47 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8125
 
8126
        * expr.c (expand_expr, case COMPONENT_REF): Fix error in last
8127
        change: don't suppress conversion if just EXPAND_SUM.
8128
 
8129
Sat Jan  4 18:44:01 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8130
 
8131
        * tree.h (struct tree_decl): saved_insns.i is HOST_WIDE_INT.
8132
 
8133
        * fold-const.c (const_binop): Rework to only make constants in
8134
        one place; always use size_int if small enough and of sizetype.
8135
        (size_int): Call force_fit_type.
8136
        (fold): Avoid ever changing type of input tree.
8137
 
8138
        * expr.c (get_inner_reference): Fix type error.
8139
        (expand_expr, case COMPONENT_REF): Don't convert if modifier
8140
        is EXPAND_CONST_ADDRESS, EXPAND_SUM, or EXPAND_INITIALIZER.
8141
        * tree.c (staticp, case COMPONENT_REF, BIT_FIELD_REF): Not
8142
        static if bitfield.
8143
 
8144
        * expr.c (expand_expr, case COMPONENT_REF):  If taking value
8145
        from a CONSTRUCTOR, must mask/sign-extend if bitfield.
8146
        (expand_builtin, case BUILT_IN_LONGJMP): Pass type, not IDENTIFIER,
8147
        to second arg of RETURN_POPS_ARGS.
8148
 
8149
        * expr.c (expand_expr, case COND_EXPR): Add additional cases
8150
        to "singleton" cases.
8151
        * tree.c (integer_pow2): Mask value to width of type.
8152
        (tree_log2): New function.
8153
 
8154
        * expmed.c (store_fixed_bit_field): If not SLOW_UNALIGNED_ACCESS,
8155
        treat everything as maximally aligned.
8156
 
8157
        * combine.c (find_split_point, case SET): If SET_SRC is NE and
8158
        STORE_FLAG_VALUE is -1, see if we can convert into NEG of shift.
8159
        (force_to_mode, case NE): Make condition stricter.
8160
 
8161
        * calls.c (emit_library_call_value): Remove redundant check for
8162
        outmode != VOIDmode.
8163
 
8164
Sat Jan  4 08:12:16 1997  J.T. Conklin  
8165
 
8166
        * Optimizations from John Vickers (john@rhizik.demon.co.uk):
8167
        * m68k.c (output_function_{pro,epi}logue): Use addq/subq when
8168
        adjusting stack pointer by small displacements.
8169
        * m68k.md (addsi3, addhi3): Use two addqw (or subqw) insns when
8170
        adding (or subtracting) small integer constants (8 < N <= 16) to
8171
        both address and data registers.
8172
 
8173
Sat Jan  4 07:06:07 1997  Kamil Iskra  
8174
 
8175
        * loop.c (basic_induction_var): Return 0 if SUBREG is not a
8176
        promoted variable.
8177
 
8178
Sat Jan  4 06:22:36 1997  Doug Rupp  (rupp@gnat.com)
8179
 
8180
        * alpha.c (vmskrunch): Try to not chop trailing uppercase letters.
8181
        * alpha/vms.h (ENDFILE_SPEC): Use "gnu", not "gnu_cc".
8182
 
8183
        * cccp.c (PRINTF_PROTO): Use __printf__ in __attribute__, not printf.
8184
        * cexp.y (PRINTF_PROTO): Likewise.
8185
 
8186
Fri Jan  3 09:01:00 1997  Craig Burley  
8187
 
8188
        * alpha.md (cmov): Fix operand numbers in case involving DF target,
8189
        DF comparison, and SF source.
8190
 
8191
Fri Jan  3 08:19:46 1997  Paul Eggert  
8192
 
8193
        * cpplib.c (macroexpand): Delete any no-reexpansion marker following
8194
        identifier at beginning of an argu concatenated with what precedes it.
8195
 
8196
Fri Jan  3 07:59:21 1997  Ken Rose  (rose@netcom.com)
8197
 
8198
        * reorg.c (fill_slots_from_thread): Skip moved insn in all three cases.
8199
 
8200
Fri Jan  3 07:51:44 1997  Bob Manson  
8201
 
8202
        * function.c ({push,pop}_function_context_to): Save and restore
8203
        current_function_args_info.
8204
        * function.h (struct function): New field args_info.
8205
 
8206
Fri Jan  3 06:55:09 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8207
 
8208
        * jump.c (rtx_equal_for_thread_p): Return 0 for floating-point.
8209
 
8210
        * reload.c (find_reloads): If replaced a PLUS or MULT with a
8211
        simple operand, start over again.
8212
 
8213
        * va-alpha.h: Check for __VMS__, not VMS.
8214
 
8215
Thu Jan  2 08:52:51 1997  Richard Kenner  
8216
 
8217
        * configure: Finish restoring change of default of objc threads to
8218
        "single" for Linux-based GNU systems.
8219
 
8220
Mon Dec 30 17:03:46 1996  Jeffrey A Law  (law@cygnus.com)
8221
 
8222
        * pa.c (fmpy_operands): Remove.  No longer needed.
8223
        (combinable_add, combinable_copy, combinable_fmpy): Likewise.
8224
        (combinable_fadd, combineable_fsub): Likewise.
8225
        (pa_reorg): Call pa_combine_instructions.
8226
        (pa_combine_instructions): Combine instructions to make things
8227
        like fmpyadd and fmpysub.
8228
        (pa_can_combine_p): Helper function for pa_combine_instructions.
8229
        * pa.md (pa_combine_type): New attribute.  Set it appropriately
8230
        for various insns.
8231
        (define_delays): Use a separate define_delay for unconditional
8232
        branches.
8233
        (fmpyadd, fmpysub peepholes): Remove, no longer needed.
8234
        (fmpyadd, fmpysub insns): Add variant with fadd/fsub first,
8235
        then the fmpy.
8236
 
8237
Mon Dec 30 14:43:51 1996  Jim Wilson  
8238
 
8239
        * reg-stack.c (subst_stack_regs_pat): Set src_note explicitly, instead
8240
        of using invalid aggregate initialization.
8241
 
8242
        * print-tree.c (print_node): Don't try to print nonexistent
8243
        TYPE_ATTRIBUTES field of a decl node.
8244
 
8245
Mon Dec 30 10:30:25 1996  Richard Stallman  
8246
 
8247
        * config.sub: Handle hiuxmpp as system type.
8248
 
8249
Thu Dec 26 13:33:27 1996  Michael Meissner  
8250
 
8251
        * rs6000.md (init_v4_pic): Explicitly set the length.
8252
 
8253
Mon Dec 23 19:39:38 1996  Jim Wilson  
8254
 
8255
        * mips.h (FUNCTION_ARG_REGNO_P): Correct for TARGET_SOFT_FLOAT and
8256
        TARGET_FLOAT64 cases.
8257
 
8258
        * integrate.c (function_cannot_inline_p): Reject function with
8259
        PARALLEL result.
8260
        (expand_inline_function): Abort if function result not handled.
8261
 
8262
Sat Dec 21 04:02:46 1996  Jason Merrill  
8263
 
8264
        * mips.c (save_restore_insns): Mark large frame setup insns
8265
        as frame-related.
8266
        (mips_expand_prologue): Likewise.
8267
 
8268
        * dwarf2out.c (dwarf2out_frame_debug): Support MIPS large frames.
8269
        (add_bound_info): Use default lower bounds.
8270
        Handle simple variable bounds with a DIE ref.
8271
        Don't generate a NULL loc descr.
8272
        (add_subscript_info): Always add lower bound.
8273
        (gen_formal_parameter_die): Always equate_decl_number_to_die.
8274
        (gen_variable_die): Likewise.  Don't use the old die for automatic
8275
        variables.
8276
 
8277
Wed Dec 18 10:23:46 1996  Jeffrey A Law  (law@cygnus.com)
8278
 
8279
        * mn10300.c (notice_update_cc): Enable this code.
8280
        * mn10300.h (CC_OVERFLOW_UNUSABLE): Define.
8281
        * mn10300.md (tstsi): Use "set_zn_c0" instead of "set" for cc status.
8282
        (addsi3 pattern): Break "inc" into two different alternatives
8283
        since "inc dn" sets cc0, but "inc an" does not.
8284
        (multiply and divide patterns): Fix cc status.
8285
        (bCC, inverted bCC): Restore any comparison which needs the
8286
        overflow bits when CC_OVERFLOW_UNUSABLE is set.
8287
        (zero and sign extensions): Fix cc status.
8288
        (movm_store): Likewise.
8289
 
8290
Tue Dec 17 15:02:44 1996  Jim Wilson  
8291
 
8292
        * sched.c (update_flow_info): When add REG_DEAD notes for dest of
8293
        last insn, add check for global_regs.
8294
 
8295
Tue Dec 17 11:07:26 1996  Michael Meissner  
8296
 
8297
        * rs6000/win-nt.h (HAS_INIT_SECTION): Delete, so that __main is
8298
        called from main.
8299
 
8300
Mon Dec 16 15:28:44 1996  Jim Wilson  
8301
 
8302
        * combine.c (nonzero_bits): Ifdef out calls to num_sign_bit_copies.
8303
        Add dummy define/undef for num_sign_bit_copies.
8304
 
8305
        * dwarfout.c (location_or_const_value_attribute, case CONCAT): Add.
8306
 
8307
        * combine.c (simplify_comparison): Use mode_width as shift count
8308
        only if it is less than or equal to HOST_BITS_PER_WIDE_INT.
8309
 
8310
Mon Dec 16 10:10:11 1996  Jeffrey A Law  (law@cygnus.com)
8311
 
8312
        * mn10300.c (expand_epilogue): Restore registers in the
8313
        "ret" instruction instead of a separate movm instruction.
8314
        Support possible stack deallocation in "ret" instruction too.
8315
        * mn10300.md (return_internal): Use "ret" instead of "rets";
8316
        restore registers and deallocate stack as needed.
8317
        (load_movm): Delete unused pattern.
8318
 
8319
        * mn10300.h (SMALL_REGISTER_CLASSES): Define.
8320
 
8321
Fri Dec 13 14:46:54 1996  J"orn Rennecke 
8322
 
8323
        * sh.md (dect): Rewrite pattern so that it can be combined.
8324
 
8325
Fri Dec 13 13:14:51 1996  Ian Lance Taylor  
8326
 
8327
        * varasm.c (output_constant_pool): If ASM_OUTPUT_POOL_EPILOGUE is
8328
        defined, call it.
8329
 
8330
Thu Dec 12 20:04:55 1996  Jason Merrill  
8331
 
8332
        * rtl.h (RTX_FRAME_RELATED_P): New macro.
8333
        (struct rtx_def): Add frame_related bitfield.
8334
        * final.c (final_scan_insn): Call dwarf2out_frame_debug.
8335
        Don't call dwarf2out_begin_function.
8336
        (final): Initialize dwarf2out_frame_debug.
8337
        * dwarf2out.c (dwarf2out_begin_function): Remove.
8338
        (dwarf2out_init): Use INCOMING_RETURN_ADDR_RTX.
8339
        (DWARF_CIE_DATA_ALIGNMENT): Generalize.
8340
        (DWARF_FRAME_REGNUM): Don't add 1.
8341
        (decode_cfi_rtl): Lose.
8342
        (dwarf2out_def_cfa): Now takes reg and offset directly.
8343
        (reg_save): Likewise.
8344
        (dwarf2out_reg_save): Now takes offset.
8345
        (initial_return_save): Grok INCOMING_RETURN_ADDR_RTX.
8346
        Replaces dwarf2out_return_save.
8347
        (dwarf2out_cfi_label): New fn.
8348
        (add_fde_cfi): Use it.
8349
        (dwarf2out_frame_debug): New fn.
8350
        * mips.h (DWARF_FRAME_REGNUM): Tweak r31.
8351
        (INCOMING_RETURN_ADDR_RTX): Define.
8352
        * mips.c (mips_expand_prologue): Set RTX_FRAME_RELATED_P as needed.
8353
        (save_restore_insns): Likewise.
8354
        * i386.c (ix86_expand_prologue): Likewise.
8355
        * i386.h (INCOMING_RETURN_ADDR_RTX): Define.
8356
        (DWARF_FRAME_RETURN_COLUMN): Define.
8357
 
8358
        * dwarf2out.c (add_AT_long_long): Renamed from add_AT_double fo
8359
        clarity.
8360
        (print_die): Adjust.
8361
        (add_AT_float): New fn.
8362
        (add_const_value_attribute): Support fp values.
8363
        (size_of_die): Use blocks for long_long and fp values.
8364
        (value_format, output_die): Likewise.
8365
        (output_loc_operands): Don't support DW_OP_const8?.
8366
 
8367
Thu Dec 12 19:49:09 1996  Ian Lance Taylor  
8368
 
8369
        * varasm.c (CONSTANT_POOL_BEFORE_FUNCTION): Define if not
8370
        defined.
8371
        (assemble_start_function): Check CONSTANT_POOL_BEFORE_FUNCTION
8372
        to decide whether to call output_constant_pool.
8373
        (assemble_end_function): Likewise.
8374
 
8375
        * calls.c: Check SMALL_REGISTER_CLASSES at run time, not just
8376
        compile time.
8377
        * combine.c, cse.c, function.c, jump.c, local-alloc.c: Likewise.
8378
        * loop.c, reload.c, reload1.c: Likewise.
8379
        * dsp16xx.h (SMALL_REGISTER_CLASSES): Define with value.
8380
        * h8300.h (SMALL_REGISTER_CLASSES): Likewise.
8381
        * i386.h (SMALL_REGISTER_CLASSES): Likewise.
8382
        * pdp11.h (SMALL_REGISTER_CLASSES): Likewise.
8383
        * sh.h (SMALL_REGISTER_CLASSES): Likewise.
8384
 
8385
Thu Dec 12 15:25:39 1996  Michael Meissner  
8386
 
8387
        * rs6000.md (sysv call insns): If flag_pic add @plt suffix.
8388
 
8389
        * rs6000.md (fix_truncdfsi2_store): Fix offsets > 32k.
8390
 
8391
        * rs6000/t-ppccomm: New file for common parts of embedded and
8392
        System V target Makefile support.
8393
 
8394
        * rs6000/t-ppcos: New file for System V OS target Makefile
8395
        support.
8396
 
8397
        * rs6000/t-solaris: Delete, merge into rs6000/t-ppcos.
8398
 
8399
        * rs6000/t-{ppc,ppcgas}: Only keep the multilib specific parts,
8400
        moving the rest to rs6000/t-ppccomm.
8401
 
8402
        * configure (powerpc*-*-*): For embedded and System V
8403
        configurations, add rs6000/t-ppccomm.
8404
        For GNU/Linux and Solaris, use t-ppcos.
8405
 
8406
        * ginclude/ppc-asm.h (cr*, f*): Add new macros for register names.
8407
 
8408
        * rs6000/sol-c0.c (_start): Fix uninitialized data bug.
8409
 
8410
        * rs6000.md (init_v4_pic): Add @local to call.
8411
        (icbi,dcbst,sync,isync): Delete PowerPC cache control insns.
8412
 
8413
        * rs6000/sysv4.h (ASM_SPEC): On explicit -mcall-solaris, pass
8414
        -msolaris to the assembler.
8415
 
8416
        * rs6000.c (rs6000_sync_trampoline): Delete.
8417
        (rs6000_trampoline_template): Aix & System V don't need template now.
8418
        (rs6000_initialize_trampoline): For System V, call the function
8419
        __trampoline_setup to set up the trampoline.
8420
 
8421
        * rs6000.h (TRAMPOLINE_TEMPLATE): Delete here.
8422
        * rs6000/win-nt.h (TRAMPOLINE_TEMPLATE): Add it here.
8423
 
8424
        * rs6000/tramp.asm: New file, setup trampolines properly on System
8425
        V systems, properly flushing the caches.
8426
 
8427
Thu Dec 12 10:53:10 1996  Jeffrey A Law  (law@cygnus.com)
8428
 
8429
        * reorg.c (fill_slots_from_thread): Don't call eligible_for_delay
8430
        with an insn with asm operands.
8431
 
8432
        * expmed.c (emit_store_flag_force): Fix typos/thinkos.
8433
 
8434
Thu Dec 12 08:09:20 1996  J"orn Rennecke 
8435
 
8436
        * i386.c (i386_return_pops_args): Libcalls ignore TARGET_RTD.
8437
 
8438
Thu Dec 12 07:56:03 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8439
 
8440
        * tree.h (maybe_get_identifier): New declaration.
8441
 
8442
        * calls.c (emit_library_call): Don't pass VOIDmode to type_for_mode.
8443
 
8444
        * va-alpha.h: Add definitions for VMS; they differ from Unix.
8445
 
8446
        * Makefile.in (stamp-objlist): Handle first character of object
8447
        file being a digit.
8448
 
8449
        * 1750a.h (function_arg, {movcnt,mod}_regno_adjust): Add decls.
8450
        (branch_or_jump): Likewise.
8451
        (FUNCTION_ARG): Remove cast of function_arg result to rtx.
8452
        * 1750a.md: Remove unneeded casts to char *.
8453
 
8454
Thu Dec 12 05:55:27 1996  Richard Earnshaw (rearnsha@armltd.co.uk)
8455
 
8456
        * arm.c (arm_gen_constant, case [IX]OR): Don't invert constant if
8457
        loading into temporary.
8458
 
8459
Wed Dec 11 18:57:21 1996  Brendan Kehoe  
8460
 
8461
        * toplev.c (rest_of_compilation): Make sure unwinder RTL is saved.
8462
 
8463
        * collect2.c (write_c_file): Wrap the ctor/dtor lists and fns
8464
        with `extern "C" { ... }'.
8465
 
8466
Wed Dec 11 17:46:48 1996  John F. Carr  
8467
 
8468
        * tree.h (tree_decl): Reorder field declarations to reduce size
8469
        on 64 bit machines.
8470
 
8471
        * combine.c (try_combine): When splitting an insn, check for the
8472
        new I2 setting a SUBREG.
8473
 
8474
Wed Dec 11 17:00:47 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8475
 
8476
        * alpha.c (print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of
8477
        using "%ld".
8478
        (output_prolog): Don't print useless comment for VMS.
8479
 
8480
        * alpha.c (output_prolog): SIZE is now HOST_WIDE_INT.
8481
        * alpha.md (mov[hq]i unnamed): Split up for TARGET_BYTE_OPS and not.
8482
 
8483
        * function.c (fixup_var_refs_1, case ZERO_EXTRACT): Don't call
8484
        fixup_memory_subreg if no longer SUBREG of MEM.
8485
 
8486
Wed Dec 11 14:10:48 1996  Jeffrey A Law  (law@cygnus.com)
8487
 
8488
        * mn10300.c: New file for Matsushita MN10300 port.
8489
        * mn10300.h, mn10300.md, t-mn10300, xm-mn10300.h: Likewise.
8490
        * config.sub: Recognize mn10300 as a basic machine type.
8491
        * configure: Similarly.
8492
        * ginclude/stdarg.h: mn10300 is little endian.
8493
        * ginclude/varargs.h: Likewise.
8494
 
8495
Wed Dec 11 09:09:10 1996  Nagai Takayuki 
8496
 
8497
        * libgcc2.c (cacheflush): Add SONY NEWS-OS 4.2 version.
8498
 
8499
Wed Dec 11 09:01:39 1996  J"orn Rennecke 
8500
 
8501
        * calls.c (emit_library_call, emit_library_call_value):
8502
        Don't pass an identifier node as function type for
8503
        library functions, but rather build a function type that
8504
        has a return type with the correct mode.
8505
        * i386.c (i386_return_pops_args): Don't test for IDENTIFIER_NODE.
8506
        * i386/isc.h (obsolete RETURN_POPS_ARGS): Test first argument
8507
        for IDENTIFIER_NODE.
8508
        * i386/next.h (RETURN_POPS_ARGS): Likewise.
8509
        * i386/sco.h (RETURN_POPS_ARGS): Likewise.
8510
        * i386/sco5.h (RETURN_POPS_ARGS): Likewise.
8511
        * i386/scodbx.h (RETURN_POPS_ARGS): Likewise.
8512
        * m68k.h (RETURN_POPS_ARGS): Likewise.
8513
        * ns32k.h (RETURN_POPS_ARGS): Likewise.
8514
        * pyr.h (RETURN_POPS_ARGS): Likewise.
8515
        * gmicro.h (RETURN_POPS_ARGS): Likewise; fix typo.
8516
 
8517
Tue Dec 10 17:36:47 1996  J.T. Conklin  
8518
 
8519
        * Add optimizations from John Vickers (john@rhizik.demon.co.uk)
8520
        * m68k.h (TARGET_CPU32): New macro.
8521
        * m68k.md (add[hs]i3): Only use two addq.w or subq.w instructions
8522
        when adding or subtracting constants 8 < N < 16 on TARGET_CPU32.
8523
        Use lea instead of add.w when adding 16 bit constants to address
8524
        registers on all but TARGET_68040.
8525
        * m68k.c (output_function_{pro,epi}logue): Use lea instead of add.w
8526
        when adjusting stack pointer on all but TARGET_68040.
8527
 
8528
Tue Dec 10 15:55:23 1996  Ian Lance Taylor  
8529
 
8530
        * optabs.c (emit_unop_insn): Treat ZERO_EXTEND like SIGN_EXTEND.
8531
 
8532
Tue Dec 10 13:47:24 1996  Joern Rennecke 
8533
 
8534
        * combine.c (combinable_i3pat): Bring back to sync with can_combine_p.
8535
 
8536
        * sh.h (ADJUST_INSN_LENGTH): Don't break from loop when LOOP_BEG found.
8537
        Calculate padding in new variable pad.
8538
 
8539
Mon Dec  9 18:00:38 1996  Jason Merrill  
8540
 
8541
        * dwarf2out.c (output_uleb128): Output value in human-readable comment.
8542
        (output_sleb128): Likewise.
8543
        (various): Adjust.
8544
        (output_call_frame_info): Only output info if it's interesting.
8545
        (add_src_coords_attributes): New fn.
8546
        (add_name_and_src_coords_attributes): Split out from here.
8547
        (gen_enumeration_type_die): Add src coordinates.
8548
        (gen_struct_or_union_type_die): Likewise.
8549
        (dwarf2out_finish): Call output_call_frame_info for all targets.
8550
 
8551
Thu Dec  5 11:25:30 1996  Jason Merrill  
8552
 
8553
        * dwarf2out.c (add_pure_or_virtual_attribute): Only add
8554
        AT_containing_type if -g2 or higher.
8555
 
8556
        * dwarf2out.c (gen_struct_or_union_type_die): Make sure that
8557
        the type for AT_containing_type has been generated.
8558
        (gen_decl_die): Likewise.
8559
 
8560
        * dwarf2out.c (type_tag): Check DECL_IGNORED_P.
8561
        (add_pure_or_virtual_attribute): Check DECL_VINDEX instead.
8562
        (scope_die_for): Likewise.
8563
        * dwarfout.c (type_tag): Likewise.
8564
 
8565
Wed Dec  4 22:51:38 1996  Jason Merrill  
8566
 
8567
        * dwarf2out.c (decode_cfi_rtl): Support getting a CONST_INT.
8568
        (dwarf2out_begin_function): Adjust.
8569
        (reg_save): Divide offset by the alignment.
8570
        (output_cfi): Support having more than one advance_loc.
8571
        (output_call_frame_info): Re-initialize current_label.
8572
        (dwarf2out_begin_prologue): Initialize current_label to NULL.
8573
        (lookup_cfa, lookup_cfa_1): New fns.
8574
        (dwarf2out_def_cfa): Call lookup_cfa.
8575
        (dwarf2out_finish): Don't generate CIE CFIs.
8576
        (dwarf2out_init): Generate them here.
8577
        (DWARF_FRAME_RETURN_COLUMN): Use PC_REGNUM.
8578
 
8579
        (add_pure_or_virtual_attribute): Note virtual context.
8580
        (gen_formal_parameter_die): Return the die.
8581
        (gen_formal_types_die): Set AT_artificial on `this'.
8582
        (gen_subprogram_die): Add AT_accessibility.
8583
        (gen_variable_die): Likewise.
8584
        (gen_field_die): Likewise.  Don't generate location attribute for
8585
        union members.
8586
        (gen_struct_or_union_type_die): Note where our vtable lives.
8587
        (gen_decl_die): Handle anonymous union fields.
8588
        (dwarf2out_decl): Always output `bool'.
8589
 
8590
Mon Dec  2 03:55:15 1996  Jason Merrill  
8591
 
8592
        * final.c (final_end_function): Don't call dwarf2out_end_function.
8593
 
8594
        * dwarf2out.c (output_line_info): Emit special opcodes for each line
8595
        entry, even if the line number doesn't change.
8596
        (pend_type, output_pending_types_for_scope): New fns.
8597
        (gen_struct_or_union_type_die): Use them to defer generating member
8598
        dies if we're in the middle of some other context.
8599
        (gen_type_die): Still put nested types in the right place.
8600
        (dwarf2out_decl): Call output_pending_types_for_scope.
8601
 
8602
        * dwarf2out.c (dw_fde_struct): Replace end_prologue, begin_epilogue
8603
        with current_label.
8604
        (DWARF_CIE_INSN_SIZE, DWARF_CIE_SIZE): Remove.
8605
        (DWARF_CIE_HEADER_SIZE): The size without the initial insns.
8606
        (size_of_cfi): Revert.
8607
        (decode_cfi_rtl, add_fde_cfi, dwarf2out_def_cfa, reg_save,
8608
        dwarf2out_reg_save, dwarf2out_return_save): New fns.
8609
        (dwarf2out_begin_function): Use them to generate CFIs.
8610
        (dwarf2out_finish): Use them to generate E CFIs.
8611
        Don't set next_fde_offset.
8612
        (calc_fde_sizes): Initialize cie_size.
8613
        (output_call_frame_info): Don't generate CIE CFIs.
8614
        (dwarf2out_end_function): Remove.
8615
 
8616
        * tree.c (maybe_get_identifier): New fn.
8617
        * varasm.c (assemble_name): Use it instead of get_identifier.
8618
 
8619
Fri Nov 29 15:13:39 1996  Stan Cox  
8620
 
8621
        * jump.c (jump_optimize): Don't move initialization if there is a
8622
        label between it and the jump for if (foo) bar++ to bar += (foo !=0)
8623
 
8624
Wed Nov 27 16:21:14 1996  Stan Cox  
8625
 
8626
        * Remove change of Oct 4.
8627
        * i386.h (outer_function_chain): Remove.
8628
        (current_function_calls_alloca): Remove.
8629
        (rtx_equal_function_value_matters): Remove.
8630
        (N_REGS_USED, N_ALLOCATABLE_REGISTERS): Remove.
8631
        * i386.md (adddi3_1, subdi3_1): Remove.
8632
        (adddi3, subdi3): Revert.
8633
        (movsf, movsf_mem, movsf_normal, movdf, movdf_mem, movdf_mem+1):
8634
        Likewise.
8635
        (movxf, movxf_mem, movxf_mem+1, addsidi3_1, addsidi3_2): Likewise.
8636
        (adddi3_1, subsidi3, subdi3_1): Likewise.
8637
        (addsidi3_1, addsidi3_2, subsidi3): Likewise.
8638
        (addsidi3_1, addsidi3_2, adddi3, subsidi3): Disable the problem
8639
        reload alternatives.
8640
 
8641
Wed Nov 27 16:21:14 1996  J"orn Rennecke 
8642
 
8643
        * i386.md (ashldi3_non_const_int, ashrdi3_non_const_int):
8644
        Use a hidden branch to handle shifts > 32 bit.
8645
        (lshrdi3_non_const_int): Likewise.
8646
        (floatdixf2): Don't use unnecessary XFmode operation.
8647
 
8648
Wed Nov 27 15:23:41 1996  Jason Merrill  
8649
 
8650
        * varasm.c (assemble_variable): Don't emit DWARF.
8651
 
8652
        * toplev.c (rest_of_type_compilation): Don't emit DWARF.
8653
        (main): Just let -gdwarf mean DWARF v1; remove -gdwarf-1.
8654
 
8655
        * dwarfout.c (decl_class_context): New fn.
8656
        (output_global_subroutine_die): Fix declaration case.
8657
        (output_global_variable_die): Likewise.
8658
        (output_type): Note when we are in a class defn.  If we're a nested
8659
        type and our context hasn't been written, do that.  Do early exit
8660
        for nested types.
8661
        (output_decl): Output the class context for fns and vars.
8662
        Don't emit detailed parm info for a fn declaration.
8663
        Use TYPE_DECL_IS_STUB, is_redundant_typedef.
8664
        (type_ok_for_scope): Support emitting nested types later.
8665
        (is_redundant_typedef): New fn.
8666
        (TYPE_DECL_IS_STUB): New macro.
8667
        (output_compile_unit_die): Check use_gnu_debug_info_extensions.
8668
        (output_local_subroutine_die, output_global_subroutine_die,
8669
        dwarfout_begin_function, dwarfout_end_function, dwarfout_line,
8670
        generate_macinfo_entry, dwarfout_init, dwarfout_finish): Likewise.
8671
 
8672
        * dwarf2out.c (decl_class_context): Static.
8673
        (lookup_type_die): Use TYPE_SYMTAB_POINTER.
8674
        (equate_type_number_to_die): Likewise.
8675
        (gen_subprogram_die): If we're in class context, it's a decl.
8676
        (gen_variable_die): Likewise.
8677
        (gen_decl_die): Output the containing type.
8678
        (dwarf2out_init): Lose type_die_table code.
8679
 
8680
Wed Nov 27 08:30:54 1996  Brendan Kehoe  
8681
 
8682
        * Makefile.in (DRIVER_DEFINES): New macro, with the macro
8683
        definitions for the driver.
8684
        (gcc.o): Make rule use $(DRIVER_DEFINES).
8685
        * gcc.c (process_command) [LANG_SPECIFIC_DRIVER]: Call
8686
        lang_specific_driver, passing along the addr of FATAL for errors
8687
        along with our ARGC and ARGV.
8688
 
8689
Wed Nov 27 08:21:13 1996  Philippe De Muyter  
8690
 
8691
        * m68k.md (iorsi_zexthi_ashl16): New pattern.
8692
        (ashrsi_16): New name for old unnamed pattern.
8693
 
8694
        * objc/misc.c (stdlib.h): Define __USE_FIXED_PROTOTYPES__ before
8695
        including stdlib.h.
8696
 
8697
Wed Nov 27 08:17:34 1996  Joern Rennecke 
8698
 
8699
        * i386.md (decrement_and_branch_until_zero+[3-8]): Add missing
8700
        CC_STATUS_INIT.
8701
        (decrement_and_branch_until_zero+[5-8]): Delete redundant assignment.
8702
 
8703
Wed Nov 27 07:56:27 1996  J.T. Conklin  
8704
 
8705
        * m68k.md ({and,ior,xor}si3_internal): Removed !TARGET_5200 from
8706
        conditionals now that entire insn is disabled when !TARGET_5200.
8707
 
8708
Wed Nov 27 07:52:32 1996  Oliver Kellogg  
8709
 
8710
        * 1750a.md (movhi pattern):  Fixed MEM to MEM move problem.
8711
 
8712
Tue Nov 26 14:50:54 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8713
 
8714
        * expr.c (move_by_pieces): Abort only if length positive at end.
8715
        * function.c (frame_offset, get_frame_size): Make HOST_WIDE_INT.
8716
        * function.h (struct function): Make frame_offset be HOST_WIDE_INT.
8717
        (get_frame_size): Add definition.
8718
        * reload1.c (reload): Make starting_frame_size be HOST_WIDE_INT.
8719
 
8720
Mon Nov 25 16:55:14 1996  Jason Merrill  
8721
 
8722
        * dwarf2out.c (dwarf2out_finish): Don't emit call frame info
8723
        for non-MIPS targets.
8724
        (is_redundant_typedef): New fn.
8725
        (modified_type_die): Refer to typedef DIEs where appropriate.
8726
        (gen_typedef_die): Support DECL_ORIGINAL_TYPE.
8727
        (gen_type_die): Likewise.  Use is_redundant_typedef.
8728
        (gen_subprogram_die): Don't force a spec DIE for local class methods.
8729
 
8730
Mon Nov 25 15:09:12 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8731
 
8732
        * gcc.c (handle_braces): Rework last change.
8733
 
8734
Mon Nov 25 13:49:51 1996  Jim Wilson  
8735
 
8736
        * configure (build_exeext, exeext): New variables.  Use sed to insert
8737
        build_exeext value into Makefile exeext rule.
8738
        (*-*-cygwin32): Set exeext.
8739
        * i386/x-cygwin32 (exeext): Delete.
8740
        * rs6000/x-cygwin32 (exeext): Delete.
8741
 
8742
        * dwarf.h (enum dwarf_location_atom): Add OP_MULT.
8743
        * dwarfout.c (output_mem_loc_descriptor, case MULT): Add.
8744
        * dwarfout2.c (mem_loc_descriptor, case MULT): Add.
8745
 
8746
        * dwarfout.c (dwarf_fund_type_name, case FT_unsigned_int64): Fix typo.
8747
 
8748
Sun Nov 24 21:42:01 1996  J.T. Conklin  
8749
 
8750
        * m68k.md (andsi3): Changed into define_expand.
8751
        (andsi3_internal): Rename from old andsi3, changed condition
8752
        to !TARGET_5200.
8753
        (andsi2_5200): New insn.
8754
        (iorsi3): Change into define_expand.
8755
        (iorsi2_internal): Rename from old iorsi3, changed condition
8756
        to !TARGET_5200.
8757
        (iorsi2_5200): New insn.
8758
        (xorsi3): Change into define_expand.
8759
        (xorsi2_internal): Rename from old xorsi3, changed condition
8760
        to !TARGET_5200.
8761
        (xorsi2_5200): New insn.
8762
 
8763
Sun Nov 24 21:31:32 1996  John F. Carr  
8764
 
8765
        * i386.h (N_ALLOCATABLE_REGISTERS): Remove extra backslash at
8766
        end of macro definition.
8767
 
8768
        * cpplib.c (LOCAL_INCLUDE_DIR): Remove default definition.
8769
        (include_defaults_array): Do not use LOCAL_INCLUDE_DIR or
8770
        TOOL_INCLUDE_DIR if they are not defined.
8771
        * cccp.c: Likewise.
8772
 
8773
        * Makefile.in (cppmain.o): New rule.
8774
 
8775
Sun Nov 24 19:14:50 1996  Andreas Schwab  
8776
 
8777
        * fold-const.c (merge_ranges): In (+,-) case, if lower bounds are
8778
        the same the result is always false.
8779
 
8780
Sun Nov 24 18:48:31 1996  Richard Kenner  
8781
 
8782
        * c-typeck.c (build_indirect_ref): Don't give warning for
8783
        dereferencing void * if evaluation is being skipped.
8784
 
8785
        * c-decl.c (poplevel): Don't call output_inline_function if
8786
        DECL_SAVED_INSNS is not set.
8787
 
8788
        * gcc.c (give_switch): Add new arg, INCLUDE_BLANKS.
8789
        (handle_braces): All callers changed.
8790
        Add support for new construct: %{S*^}.
8791
 
8792
Sun Nov 24 18:44:48 1996  Paul Eggert  
8793
 
8794
        * c-parse.in (unary_expr, expr_no_commas): Increment skip_evaluation
8795
        when analyzing an expression that is known not to be evaluated.
8796
        (sizeof, alignof): New rules.
8797
        * c-tree.h (skip_evaluation): New variable.
8798
        * c-common.c (skip_evaluation): Likewise.
8799
        (overflow_warning, unsigned_conversion_warning): Don't warn about
8800
        potential runtime errors when skipping evaluation.
8801
        * c-typeck.c (build_binary_op): Likewise.
8802
        (build_conditional_expr): op1 now always nonnull.
8803
 
8804
Sun Nov 24 17:06:58 1996  Bernd Schmidt  (crux@Pool.Informatik.RWTH-Aachen.DE)
8805
 
8806
        * toplev.c (rest_of_compilation): Call regscan before each
8807
        jump threading pass.
8808
 
8809
Sun Nov 24 16:37:18 1996  Dave Love  
8810
 
8811
        * configure (objc_thread_file): Set conditionally in each case so
8812
        may be overridden with `--enable-objcthreads=posix'.
8813
        Change GNU/Linux default to `single'.
8814
 
8815
Fri Nov 22 17:53:15 1996  Jason Merrill  
8816
 
8817
        * varasm.c (assemble_variable): Output DWARF in the third case, too.
8818
 
8819
        * dwarf2out.c (decls_for_scope): Only add DIEs with no parents to
8820
        our scope.
8821
        (gen_subroutine_type_die): Parm types go under the fn type DIE.
8822
 
8823
        * Makefile.in ($(T)crt{begin,end}.o): Move CRTSTUFF_T_CFLAGS after
8824
        general flags.
8825
 
8826
        * mips/t-iris6 (CRTSTUFF_T_CFLAGS): Define.
8827
        * mips.c (compute_frame_size): Fix fp_save_offset.
8828
 
8829
        * dwarf2out.c (new_die): If we get a NULL parent, inc limbo_die_count.
8830
        (decls_for_scope): Decrement limbo_die_count as appropriate.
8831
        (dwarf2out_finish): Check for good limbo_die_count.
8832
        (size_of_cfi): If regno too big for DW_CFA_offset, use offset_extended
8833
        instead.
8834
        (output_call_frame_info): Add disabled code for specifying ABI.
8835
        (dwarf2out_begin_function): Note all saved regs.
8836
 
8837
        * dwarf2out.c (gen_subprogram_die): Have a DIE for each fn at
8838
        toplevel.
8839
        (scope_die_for): Only use the NULL for fns and tags.
8840
 
8841
Tue Nov 21 15:53:51 1996  Joern Rennecke 
8842
 
8843
        * sh.c (output_stack_adjust): New argument TEMP.  Changed all callers.
8844
        If the adjust cannot be done with one, but can be done with two
8845
        CONST_OK_FOR_I constants, do it that way.
8846
 
8847
Thu Nov 21 14:25:55 1996  Ian Lance Taylor  
8848
 
8849
        * fixincludes: Include  in  even if not C++ if
8850
        stderr needs to be defined.
8851
 
8852
Wed Nov 20 15:38:13 1996  Jason Merrill  
8853
 
8854
        * toplev.c (rest_of_type_compilation): Do output function-scope tags
8855
        for DWARF 2.
8856
        * c-decl.c (pushtag): Set TYPE_CONTEXT on the tag.
8857
        * toplev.c, varasm.c: s/dwarf2out_file_scope_decl/dwarf2out_decl/g.
8858
        * dwarf2out.c (add_prototyped_attribute): Use a value of 1.
8859
        (gen_subprogram_die): Support AT_static_link.
8860
        (dwarf2out_decl): Rename from dwarf2out_file_scope_decl.
8861
        Give nested fns and tags a die_parent of NULL.
8862
        (decls_for_scope): Fix the die_parent for nested fns and tags.
8863
        (scope_die_for): If we get a context of NULL, just return it.
8864
 
8865
Tue Nov 19 18:21:11 1996  Jason Merrill  
8866
 
8867
        * dwarf2out.c (gen_subprogram_die): Support block extern decls.
8868
        (gen_variable_die): Likewise.
8869
        (gen_decl_die): Emit block extern function decls.
8870
 
8871
        * c-decl.c (implicitly_declare): Set DECL_ARTIFICIAL.
8872
 
8873
Tue Nov 19 16:50:32 1996  Michael Meissner  
8874
 
8875
        * configure (powerpc*-{sysv,elf,eabi{,aix,sim}}): Set
8876
        extra_headers to ppc-asm.h.
8877
        (powerpc*-{linux,solaris,rtems,vxworks}): Likewise.
8878
        (powerpc*-{winnt,pe,cygwin32}): Likewise.
8879
 
8880
        * rs6000/t-{ppc,ppcgas,solaris,winnt} (EXTRA_HEADERS): Don't set here.
8881
 
8882
Mon Nov 18 14:51:46 1996  Jason Merrill  
8883
 
8884
        * dwarf2out.c (DWARF_CIE_INSN_SIZE): New macro.
8885
        (DWARF_CIE_HEADER_SIZE): Use it.
8886
        (DWARF_FRAME_RETURN_COLUMN, DWARF_FRAME_REGNUM): New macros.
8887
        (output_call_frame_info, dwarf2out_begin_function): Use them.
8888
        For the MIPS, output the first CFA insn in the CIE.
8889
        * dwarf2.h (enum dwarf_call_reg_usage): Lose.
8890
        (dwarf_macinfo_record_type): Fix spelling.
8891
        * mips/mips.h (DWARF_FRAME_REGNUM, DWARF_FRAME_RETURN_COLUMN): Define.
8892
 
8893
        * dwarf2out.c (base_type_die): Just generate the DIEs as needed,
8894
        rather than building up some table.
8895
        (init_base_type_table): Lose.
8896
        (add_subscript_info): Use add_type_attribute.  Don't give an upper
8897
        bound for an array of unknown size.
8898
        (gen_unspecified_parameters_die): Remove DWARF-1 kludge.
8899
        (dwarf2out_init): Lose call to init_base_type_table.
8900
        (is_c_family, is_fortran): New fns.
8901
        (gen_compile_unit_die): Recognize GNU F77.
8902
        (gen_array_type_die): Use AT_declaration for an array of unknown size.
8903
        (modified_type_die): Take TYPE_MAIN_VARIANT before passing it
8904
        to build_type_variant, so we ignore named variants.
8905
        (dwarf2out_file_scope_decl): Don't generate DIEs for built-in structs,
8906
        either; they will be emitted if they are used.
8907
        From wilson:
8908
        (gen_array_type_die): Force the element type out first on IRIX 6.
8909
 
8910
Sun Nov 17 20:23:11 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8911
 
8912
        * expr.c (get_inner_reference): Fix error in previous change.
8913
 
8914
Sat Nov 16 06:08:27 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8915
 
8916
        * emit-rtl.c (operand_subword): Avoid confusion if sizeof (float)
8917
        is less than a full word.
8918
 
8919
        * alpha.h (MASK_BYTE_OPS): Now define as 1024.
8920
        * alpha/vms.h (TARGET_DEFAULT): Use symbolic values.
8921
 
8922
        * expr.c (get_inner_reference): Add new arg PALIGNMENT and compute it.
8923
        (expand_assignment, do_jump): Pass new arg to get_inner_reference.
8924
        (expand_expr, case COMPONENT_REF): Likewise.
8925
        * fold-const.c (optimize_bit_field_compare, decode_field_reference):
8926
        Likewise.
8927
        * tree.h (get_inner_reference): Add new arg.
8928
 
8929
        * Add support for Alpha/VMS, mostly from
8930
        Klaus Kaempf (kkaempf@progis.de)
8931
        * configure (alpha-dec-vms*): New target.
8932
        * alpha.c (override_options): Handle VAX format floating-point.
8933
        (print_operand, case ',', '-'): New cases.
8934
        (alpha_builtin_saveregs): Handle VMS convention.
8935
        (alpha_sa_{mask,size}, alpha_pv_save_size, alpha_using_fp):
8936
        New versions for VMS.
8937
        (output_{pro,epi}logue, function_arg): Likewise.
8938
        (direct_return): Never true on VMS.
8939
        (check_float_value): Return 0 for VMS.
8940
        (vmskrunch, alpha_{need,write}_linkage): New function.
8941
        * alpha.h ({MASK,TARGET}_{OPEN_VMS,FLOAT_VAX}): New macros.
8942
        (TARGET_SWITCHES): Add float-vax and float-ieee.
8943
        ({FUNCTION,LIBCALL}_VALUE, FUNCTION_VALUE_REGNO_P): R1 and R33
8944
        are also return registers.
8945
        (ASM_OUTPUT_DOUBLE): Support both floating-point formats.
8946
        (PRINT_OPERAND_FUNCT_VALID_P): Add ',' and '-'.
8947
        * alpha.md ({div,mod}[sd]i3): Only for VMS.
8948
        (fp operations): Add modifiers for multiple floating-point formats.
8949
        (call patterns): Handle new calling sequence for VMS.
8950
        (tablejump): Make new pattern for VMS.
8951
        (nonlocal_goto_receiver, arg_home): New patterns.
8952
        * alpha/t-vms, alpha/vms.h, alpha/xm-vms.h: New files.
8953
 
8954
Fri Nov 15 17:38:20 1996  Doug Evans  
8955
 
8956
        * sdbout.c (current_file): New global.
8957
        (PUT_SDB_SRC_FILE): New PUT_SDB_FOO macro.
8958
        (sdbout_init): Initialize current_file ifdef MIPS_DEBUGGING_INFO.
8959
        (sdbout_{start_new,resume_previous}_source_file): New functions.
8960
        * toplev.c (debug_{start,end}_source_file): Call them if SDB_DEBUG.
8961
        * mips.h (PUT_SDB_SRC_FILE): Define.
8962
 
8963
Fri Nov 15 16:11:25 1996  Jason Merrill  
8964
 
8965
        * dwarfout.c (dwarfout_line): Don't emit line number info for
8966
        functions outside of .text.
8967
 
8968
Fri Nov 15 15:52:42 1996  Stan Cox  
8969
 
8970
        * i386/386bsd.h (COMMENT_BEGIN): Delete.
8971
        * i386/freebsd.h (COMMENT_BEGIN): Likewise.
8972
        * i386/netbsd.h (COMMENT_BEGIN): Likewise.
8973
        * i386/unix.h (COMMENT_BEGIN): Likewise.
8974
 
8975
Fri Nov 15 13:22:42 1996  Jim Wilson  
8976
 
8977
        * fold-const.c (unextend): Rewrite type conversions to avoid overflow.
8978
 
8979
Fri Nov 15 12:11:28 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8980
 
8981
        * combine.c (try_combine): Properly copy an rtvec.
8982
        * emit-rtl.c (gen_rtvec_vv): New function.
8983
        (copy_rtx_if_shared): Call it.
8984
        * integrate.c (copy_for_inline): Likewise.
8985
        * reload1.c (eliminate_regs): Likewise.
8986
        * rtl.h (gen_rtvec_vv): Declare.
8987
        * genattrtab.c (simplify_cond): Make TESTS an array of rtunions.
8988
        * genextract.c (main): Use loop, not bcopy, to set recog_operands
8989
        from an rtvec.
8990
        * rtl.c (rtvec_alloc): Clear rtwint instead of rtvec.
8991
 
8992
        * machmode.h (HOST_PTR_PRINTF): Handle char * wider than long.
8993
        (HOST_WIDE_INT_PRINT_{DEC,UNSIGNED,HEX,DOUBLE_HEX}): New macros.
8994
        * final.c (asm_fprintf): Use "ll" prefix for a long long HOST_WIDE_INT.
8995
        (output_{asm_insn,addr_const}): Use HOST_WIDE_INT_PRINT_*.
8996
        * print-tree.c (print_node{,_brief}, case INTEGER_CST): Likewise.
8997
        * print-rtl.c (print_rtx, case 'w'): Use HOST_WIDE_INT_PRINT_DEC.
8998
 
8999
        * unroll.c (iteration_info): Fix code so that it knows iteration_var
9000
        is a HOST_WIDE_INT, not a long.
9001
 
9002
        * fold-const.c (operand_equal_p): Do comparison with REAL_VALUES_EQUAL.
9003
        (make_range): Properly decide when to get TREE_TYPE of arg0.
9004
        Handle EXP being an INTEGER_CST at end.
9005
        (fold_range_test): Handle return of 0 from make_range.
9006
        (fold, case TRUTH_AND_EXPR): Handle first arg of 0.
9007
        (fold, case TRUTH_OR_EXPR): Handle first arg of 1.
9008
 
9009
        * c-common.c (decl_attributes, case A_ALIAS): Add missing parens.
9010
 
9011
Fri Nov 15 06:37:54 1996  Andreas Schwab  
9012
 
9013
        * fold-const.c (range_binop): Set SNG1 to zero if ARG1 is a
9014
        not a lower or upper bound.
9015
 
9016
Thu Nov 14 23:08:25 1996  Jason Merrill  
9017
 
9018
        * flags.h (debug_info_type): Add DWARF2_DEBUG.
9019
        * toplev.c (main): Support DWARF2_DEBUG.  Add -gdwarf-1, -gdwarf-2
9020
        options.  Check debug level after choosing type.
9021
        (debug_{start,end}_source_file, debug_{define,undef}): New functions.
9022
        (compile_file): Support dwarf2 separately from dwarf1.
9023
        (rest_of_type_compilation, rest_of_compilation): Likewise.
9024
        * final.c (final_start_function): Likewise.
9025
        (final_end_function, final_scan_insn, output_source_line): Likewise.
9026
        * varasm.c (assemble_variable): Likewise.
9027
        * dwarfout.c: Don't check DWARF_VERSION.
9028
        * dwarf2out.c: s/dwarfout/dwarf2out/g.  Check DWARF2_DEBUGGING_INFO.
9029
        * c-lex.c (check_newline): Use debug_* instead of calling *out
9030
        functions directly.
9031
        * svr4.h (DWARF2_DEBUGGING_INFO): Define.
9032
        * mips/iris6.h (PREFERRED_DEBUGGING_TYPE): DWARF2_DEBUG.
9033
        (DWARF2_DEBUGGING_INFO): Define instead of DWARF_DEBUGGING_INFO.
9034
        (LINK_SPEC): Pass -w through.
9035
        * mips.h (PREFERRED_DEBUGGING_TYPE): Don't check `len'.
9036
 
9037
Thu Nov 14 17:25:47 1996  Jeffrey A Law  (law@cygnus.com)
9038
 
9039
        * h8300.c (dosize): Don't clobber static chain reg if needed by
9040
        current function.
9041
 
9042
Wed Nov 13 17:05:19 1996  Jason Merrill  
9043
 
9044
        * Makefile.in (stage?-start): Keep a copy of EXTRA_MULTILIB_PARTS
9045
        in the build directory.
9046
 
9047
Tue Nov 12 23:17:17 1996  Jeffrey A Law  (law@cygnus.com)
9048
 
9049
        * pa.c (print_operand, case 'Y'): Fix comparisons to handle
9050
        NaNs properly in all cases.
9051
 
9052
Tue Nov 12 18:47:24 1996  Jim Wilson  
9053
 
9054
        * expr.c (emit_group_store): For REG case, call gen_lowpart if
9055
        modes are different.
9056
 
9057
Tue Nov 12 18:24:40 1996  Doug Rupp  (rupp@gnat.com)
9058
 
9059
        * gcc.c (exit): If VMS, define as __posix_exit.
9060
        (option_map): Add define-macro and undefine-macro.
9061
 
9062
Tue Nov 12 17:55:10 1996  Torbjorn Granlund  
9063
 
9064
        * alpha.c (input_operand): If TARGET_BYTE_OPS accept HImode and QImode.
9065
        * alpha.h (MASK_BYTE_OPS): New define.
9066
        (TARGET_BYTE_OPS): New define.
9067
        (TARGET_SWITCHES): Handle -mbyte.
9068
        (LOAD_EXTEND_OP): When MODE is not SImode, return ZERO_EXTEND.
9069
        * alpha.md (zero_extendqidi2): Handle TARGET_BYTE_OPS.
9070
        (zero_extend{hidi,qisi,hisi}2): Likewise.
9071
        (extendqisi2): Use extendqidi2x if TARGET_BYTE_OPS.
9072
        (extendqidi2): Likewise.
9073
        (extendqidi2x): New pattern.
9074
        (extendhisi2): Use extendhidi2x if TARGET_BYTE_OPS.
9075
        (extendhidi2): Likewise.
9076
        (extendhidi2x): New pattern.
9077
        (movhi): Handle TARGET_BYTE_OPS.
9078
        (movhi matcher): Output ldwu and stw.
9079
        (movqi): Handle TARGET_BYTE_OPS.
9080
        (movqi matcher): Output ldbu and stb.
9081
 
9082
Tue Nov 12 16:53:37 1996  Rob Savoye  
9083
 
9084
        * configure (hppa1.1-pro*, i960-*-coff*,m68k-*-aout*): Add libgloss.h.
9085
        (m68k-*-coff*, mips*-*-elf*, sparc*-*-aout*, sparc*-*-coff*): Likewise.
9086
        * config/libgloss.h: New file.
9087
 
9088
Tue Nov 12 16:21:45 1996  Joern Rennecke 
9089
 
9090
        * jump.c (jump_optimize): Fix bug in Sep 23 change.
9091
 
9092
Tue Nov 12 16:15:31 1996  Andrew Cagney  (cagney@tpgi.com.au)
9093
 
9094
        * global.c (prune_references): Add missing symmetic CONFLICTP call.
9095
 
9096
Tue Nov 12 14:34:40 1996  Philippe De Muyter  
9097
 
9098
        * m68k.c (output_function_{pro,epi}logue): Save and restore
9099
        fp-registers only if TARGET_68881.
9100
 
9101
        * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Prefix labels with "L%".
9102
        (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_CASE_LABEL): Likewise.
9103
        (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
9104
 
9105
        * m68k/mot3300.h (TARGET_DEFAULT): Use MASK_68040_ALSO, not MASK_68040.
9106
        * m68k/next.h, m68k/ccur-GAS.h (TARGET_DEFAULT): Likewise.
9107
 
9108
        * fixproto (std_files): Add sys/socket.h.
9109
 
9110
        * m68k.md (movqi): Emit 'st' for INTVAL & 255 == 255, not INTVAL == -1.
9111
        (seq,sne,sgt,sgtu,slt,sltu,sge,sgeu,sle,sleu): Allow "m" as operand 0.
9112
 
9113
Tue Nov 12 14:17:45 1996  Paul Eggert  
9114
 
9115
        * c-decl.c (grokdeclarator): Generate a warning if -Wimplicit,
9116
        unless a warning was already generated by -Wreturn-type.
9117
 
9118
Tue Nov 12 14:11:02 1996  Pat Rankin  
9119
 
9120
        * Make qsort callback routines conform to the ANSI/ISO standard.
9121
        * c-decl.c (field_decl_cmp): Use `const void *' arguments.
9122
        * global.c (allocno_compare): Likewise.
9123
        * reload1.c (hard_reg_use_compare, compare_spill_regs): Likewise.
9124
        (reload_reg_class_lower): Likewise.
9125
        * stupid.c (stupid_reg_compare): Likewise.
9126
        * local-alloc.c (qty_compare_1, qty_sugg_compare_1): Likewise.
9127
        (QTY_CMP_PRI, QTY_CMP_SUGG): New macros.
9128
        (qty_compare_1, qty_sugg_compare_1): Use them.
9129
 
9130
Tue Nov 12 13:20:25 1996  Jim Wilson  
9131
 
9132
        * fold-const.c (merge_ranges): In (+,-) case, treat subset specially
9133
        if lower bounds are the same.
9134
 
9135
Tue Nov 12 13:10:01 1996  J.T. Conklin  
9136
 
9137
        * m68k.md (addsi3): If TARGET_5200, use the lea insn to add small
9138
        constants to address registers.
9139
        (negsi2): Change into define_expand.
9140
        (negsi2_internal): Rename from old negsi2, changed condition
9141
        to !TARGET_5200.
9142
        (negsi2_5200): New insn.
9143
        (one_cmplsi2): Change into define_expand.
9144
        (one_cmplsi2_internal): Rename from old one_cmplsi2, changed
9145
        condition to !TARGET_5200.
9146
        (one_cmplsi2_5200): New insn.
9147
        (negdi2_5200): Corrected constraints.
9148
        (one_cmpldi2): Changed condition to !TARGET_5200.
9149
 
9150
        * m68k.c (m68k_align_loops_string, m68k_align_jumps_string): New vars.
9151
        (m68k_align_funcs_string, m68k_align_loops): Likewise.
9152
        (m68k_align_jumps, m68k_align_funcs): Likewise.
9153
        (override_options): New function.
9154
        * m68k.h (TARGET_OPTIONS): Added alignment options.
9155
        (MAX_CODE_ALIGN, ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
9156
        New macros.
9157
        (FUNCTION_BOUNDARY): Use value derrived from  m68k_align_funcs
9158
        instead of constant.
9159
 
9160
        * m68k.c (output_function_{pro,epi}logue): Fix typo in last change.
9161
 
9162
Tue Nov 12 09:26:51 1996  Torbjorn Granlund  
9163
 
9164
        * i386.md (parallel inc/dec and branch-if-zero/nonzero): Use `+' in
9165
        constraint.
9166
 
9167
Mon Nov 11 15:12:22 1996  Jason Merrill  
9168
 
9169
        * libgcc2.c: Also define WEAK_ALIAS if ASM_OUTPUT_WEAK_ALIAS.
9170
        * mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS): Define.
9171
        * varasm.c (assemble_alias): Use ASM_OUTPUT_WEAK_ALIAS.
9172
 
9173
        * dwarf2out.c (TYPE_USED_FOR_FUNCTION): Lose.
9174
        (gen_compile_unit_die): Only append -g with -g2 or better.
9175
        (scope_die_for): Don't emit any type info with -g1.
9176
        (gen_subprogram_die): Likewise.
9177
        (gen_decl_die): Likewise.
9178
        (dwarfout_file_scope_decl): Likewise.
9179
        (dwarfout_init): Likewise.
9180
 
9181
        * mips/iris6.h (TYPE_ASM_OP): Define.
9182
        (SIZE_ASM_OP): Define.
9183
        (ASM_WEAKEN_LABEL): Define.
9184
        (BSS_SECTION_ASM_OP): Define.
9185
        (ASM_OUTPUT_ALIGNED_LOCAL): Don't use ASM_DECLARE_OBJECT_NAME.
9186
        (ASM_OUTPUT_ALIGNED_BSS): Define.
9187
        (ASM_DECLARE_OBJECT_NAME): Redefine to emit .size directive.
9188
        (ASM_FINISH_DECLARE_OBJECT): Define.
9189
        (ASM_OUTPUT_DEF): Don't define.
9190
 
9191
Fri Nov  8 20:38:51 1996  Jim Wilson  
9192
 
9193
        * function.c (expand_function_end): Handle BLKmode structures returned
9194
        in registers.
9195
 
9196
Fri Nov  8 20:27:07 1996  Jason Merrill  
9197
 
9198
        * stor-layout.c (layout_record): Check for VAR_DECL instead
9199
        of TREE_STATIC.
9200
 
9201
        * varasm.c (assemble_variable): Do write out DWARF for
9202
        record-scope variables.
9203
        * toplev.c (rest_of_type_compilation): Do write out DWARF for
9204
        record-scope types.
9205
 
9206
        * dwarf2out.c (gen_enumeration_type_die): Set TREE_ASM_WRITTEN on a
9207
        complete enum type.
9208
        (gen_struct_or_union_type_die): Don't recurse between nested classes.
9209
        (gen_type_die): Write out nested classes by writing out their context.
9210
 
9211
Fri Nov  8 17:40:27 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9212
 
9213
        * emit-rtl.c (change_address): If MEMREF isn't changing,
9214
        return the old one.
9215
 
9216
        * expr.c (expand_assignment): Remove bogus resetting of alignment
9217
        to inner alignment.
9218
        (expand_expr, case COMPONENT_REF): Likewise.
9219
 
9220
Fri Nov  8 16:31:31 1996  Stan Cox  
9221
 
9222
        * reg-stack.c (compare_for_stack_reg, subst_stack_regs_pat):
9223
        Add support for float conditional move.
9224
 
9225
Thu Nov  7 07:46:07 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9226
 
9227
        * stor-layout.c (layout_record): Treat constant size as variable if
9228
        it overflows.
9229
        * fold-const.c (const_binop, case *_DIV_EXPR): Don't do special
9230
        sizetype case if a constant overflows.
9231
        (size_binop): Use integer_{zero,one}p instead of explicit test.
9232
        * tree.c (integer_{zero,one,all_ones,pow2}p, real_{zero,one,two}p):
9233
        Return 0 if TREE_CONSTANT_OVERFLOW.
9234
 
9235
Wed Nov  6 17:53:33 1996  Torbjorn Granlund  
9236
 
9237
        * i386.md (parallel inc and branch-if-zero/nonzero): Add two
9238
        new pattern variants.  Change incrementing pattern to use incl/jnz.
9239
 
9240
Wed Nov  6 09:46:10 1996  Stan Cox  
9241
 
9242
        * i386.c (override_options): Set defaults for -march and -mcpu.
9243
        (output_float_compare): Use cc_status.flags to mark if this
9244
        comparison can be done with fcomi.
9245
        (output_fp_cc0_set): A conditional move may be in a PARALLEL.
9246
 
9247
        * i386.h (CC_FCOMI): Define
9248
 
9249
        * i386.md (sgt,sgtu,sge,sle,bgt,blt,bge,ble): Use CC_FCOMI
9250
        (movsicc_1,movhicc_1): Use correct size suffix.
9251
        (movsfcc_1,movdfcc_1): Cleanup default move case.
9252
 
9253
Wed Nov  6 09:46:10 1996  J"orn Rennecke 
9254
 
9255
        * i386.h (HARD_REGNO_MODE_OK): If long double isn't XFmode, can't
9256
        allow XFmode.
9257
 
9258
Tue Nov  5 22:49:56 1996  J"orn Rennecke 
9259
 
9260
        * sh.md (define_split for and_shl_scratch):
9261
        Use rtx_equal_p on the operands to find out which alternative is used.
9262
        * sh.c (gen_shl_and): Try to generate shorter constant for and.
9263
 
9264
Mon Nov  4 19:13:52 1996  Jason Merrill  
9265
 
9266
        * dwarf2out.c: Clean up unused variables.
9267
        Use ASM_{GENERATE,OUTPUT}_INTERNAL_LABEL, shorten label names.
9268
        (loc_descriptor): Use reg_loc_descriptor.
9269
        (TYPE_DECL_IS_STUB): New macro.
9270
        (gen_decl_die): Use it.
9271
        (dwarfout_file_scope_decl): Use it.
9272
 
9273
Mon Nov  4 10:23:46 1996  Michael Meissner  
9274
 
9275
        * ginclude/va-ppc.h (__va_regsave_t,va_start,va_end): Wrap macro
9276
        and structures inside #ifndef __VA_PPC_H__ to allow reinclusion.
9277
 
9278
        * rs6000.h (LEGITIMATE_SMALL_DATA_P): Don't allow -fpic or TARGET_TOC.
9279
        (LEGITIMATE_LO_SUM_ADDRESS_P, LEGITIMIZE_ADDRESS): Likewise.
9280
 
9281
        * rs6000.md (movsi): Don't call elf_{high,low} if -fpic.
9282
 
9283
        * rs6000/cygwin32.h (STARTFILE_SPEC): Eliminate empty %{}.
9284
 
9285
Sun Nov  3 15:56:35 1996  Michael Meissner  
9286
 
9287
        * rs6000/sysv4.h (TARGET_TOC): Plain -fpic does not require a TOC.
9288
        ({MINIMAL_TOC,CONST}_SECTION_ASM_OP): -fpic should be treated like
9289
        -mrelocatable in these cases.
9290
        (ASM_OUTPUT_INT, ASM_OUTPUT_SECTION_NAME): Likewise.
9291
        (ASM_OUTPUT_ALIGNED_LOCAL): Use sdata_section, not sbss_section.
9292
 
9293
Fri Nov  1 19:57:13 1996  Jason Merrill  
9294
 
9295
        * dwarf2out.c (based_loc_descr): Use DBX_REGISTER_NUMBER.  The
9296
        "frame base" is just the frame or stack reg without an offset.
9297
        (gen_subprogram_die): Likewise.
9298
        (dwarfout_begin_function): Use DBX_REGISTER_NUMBER.
9299
 
9300
Fri Nov  1 09:50:05 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9301
 
9302
        * fold-const.c (make_range): Don't merge unsigned case with range
9303
        containing upper bound; instead merge just with zero and convert
9304
        a range with no upper bound to opposite one with no lower bound.
9305
        (merge_ranges): In (+,-) case, don't treat subset specially if
9306
        the upper bounds are the same; fix typo in others case here.
9307
 
9308
Thu Oct 31 20:12:13 1996  Jeffrey A Law  (law@cygnus.com)
9309
 
9310
        * fold-const.c (make_range, case PLUS_EXPR): Correct
9311
        normalization of an unsigned range that wraps around zero.
9312
 
9313
Thu Oct 31 21:06:37 1996  Jason Merrill  
9314
 
9315
        * mips/t-iris6 (EXTRA_MULTILIB_PARTS): Define.
9316
        (EXTRA_PARTS): Don't define.
9317
 
9318
        * dwarf2out.c (gen_struct_or_union_type_die): Use AT_specification
9319
        for nested types defined outside their containing class.  Lose
9320
        is_complete.
9321
        (gen_enumeration_type_die): Lose is_complete.
9322
        (gen_type_die): Lose is_complete.
9323
        (add_name_and_src_coords_attributes): Tweak.
9324
        (gen_subroutine_type_die): Use scope_die_for.
9325
        (gen_ptr_to_mbr_type_die): Likewise.
9326
        (gen_subprogram_die): Support AT_artificial.
9327
        (gen_variable_die): Likewise.
9328
        (dwarfout_file_scope_decl): Lose finalizing.
9329
 
9330
Thu Oct 31 18:43:18 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9331
 
9332
        * pa.c (emit_move_sequence): Refine previous change.
9333
 
9334
Thu Oct 31 13:25:32 1996  Jim Wilson  
9335
 
9336
        * crtstuff.c: Put HAS_INIT_SECTION ifdefs around Irix6 support.
9337
 
9338
        * tree.c (decl_function_context): Handle QUAL_UNION_TYPE.
9339
 
9340
        * calls.c (expand_call): Disable special handling for const calls
9341
        that return a PARALLEL rtx.
9342
        * expr.c (expand_expr, case CONSTRUCTOR): Don't use a PARALLEL
9343
        target.
9344
 
9345
Thu Oct 31 11:45:00 1996  Michael Meissner  
9346
 
9347
        * rs6000/t-{ppcgas,ppc,solaris} (EXTRA_MULTILIB_PARTS): Add
9348
        {e,s}crt{i,n,0}.o.
9349
        ({stmp,install}-crt): Delete, no longer used.
9350
        ({,INSTALL_}LIBGCC): Remove {stmp,install}-crt rule.
9351
 
9352
Thu Oct 31 02:49:58 1996  Torbjorn Granlund  
9353
 
9354
        * i386.md (parallel inc and branch-if-zero/nonzero):
9355
        Check for -1, not zero.
9356
 
9357
Wed Oct 30 15:50:49 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9358
 
9359
        * fold-const.c (range_binop): Strip NOPs from result and
9360
        verify it's an INTEGER_CST.
9361
        (make_range, case BIT_NOT_EXPR): Fix typo in constant for PLUS_EXPR.
9362
 
9363
        * stor-layout.c (layout_record): Use HOST_WIDE_INT for size.
9364
 
9365
        * stmt.c (expand_asm_operands): Disallow matching constraints
9366
        on output and validate the numbers on inputs.
9367
 
9368
Tue Oct 29 16:21:59 1996  Michael Meissner  
9369
 
9370
        * gcc.c (process_command,main): Process -specs=file and -specs
9371
        file after reading the main specs file to allow the user to
9372
        override the default.
9373
        (DEFAULT_WORD_SWITCH_TAKES_ARG): Add specs to list.
9374
        (option_map): Likewise.
9375
 
9376
Tue Oct 29 15:49:18 1996  Jason Merrill  
9377
 
9378
        * Makefile.in (stmp-multilib): Pass $flags to s-m-sub in
9379
        MULTILIB_CFLAGS.
9380
        (stmp-multilib-sub): Build EXTRA_MULTILIB_PARTS.
9381
        ($(T)crt*.o): Add $(T), lose stamp-crt rule, use MULTILIB_CFLAGS.
9382
        (install-multilib): Install EXTRA_MULTILIB_PARTS.
9383
 
9384
Mon Oct 28 20:09:39 1996  J"orn Rennecke 
9385
 
9386
        * sh.md (shl_sext_ext): Don't accept simple left/right shift variant.
9387
        * sh.c (EXT_SHIFT_SIGNED): New macro.
9388
        (shl_sext_kind, gen_shl_sext): try left shift - sign extend -
9389
        left shift - arithmetic right shift in case 2.
9390
 
9391
Mon Oct 28 14:55:42 1996  Jim Wilson  
9392
 
9393
        * configure (sh-*-*): Set float_format to sh.
9394
        * config/float-sh.h: New file.
9395
 
9396
Mon Oct 28 14:26:08 1996  Ian Lance Taylor  
9397
 
9398
        * mips/mips.h (RTX_COSTS): Add cases for SIGN_EXTEND and ZERO_EXTEND.
9399
 
9400
        * m68k/lb1sf68.asm: Change # to IMM in udivsi3 __mcf5200__.
9401
 
9402
        * combine.c (simplify_rtx): Add some optimizations for TRUNCATE.
9403
        (expand_compound_operation): Add some optimizations for ZERO_EXTEND.
9404
 
9405
Mon Oct 28 14:11:20 1996  Gavin Koch  
9406
 
9407
        * varasm.c (make_decl_rtl,assemble_variable):
9408
        Allow named sections for uninitialized variables.
9409
 
9410
Mon Oct 28 13:08:51 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9411
 
9412
        * pa.c (emit_move_sequence): If reload in progress, replace
9413
        reference to pseudo with reference to corresponding MEM.
9414
 
9415
        * c-typeck.c ({un,}signed_type): If can't do anything, call
9416
        signed_or_unsigned_type.
9417
        (signed_or_unsigned_type): If already right signedness, return.
9418
 
9419
Mon Oct 28 13:05:26 1996  Stephen Williams (steve@icarus.com)
9420
 
9421
        * i960.h: Add specification for -Jx types.
9422
        * i960/t-960bare: Include multilib support for Jx types.
9423
 
9424
Mon Oct 28 10:06:00 1996  Michael Meissner  
9425
 
9426
        * rs6000/t-{ppc{,gas},solaris} (install-crt): Depend on
9427
        installdirs, not install-dir.
9428
 
9429
        * rs6000/sysv4.h (TARGET_TOC): -fpic does not use a TOC area.
9430
 
9431
Mon Oct 28 09:07:42 1996  J"orn Rennecke 
9432
 
9433
        * reload1.c (delete_output_reload): Don't use delete_insn
9434
        when deleting all stores into a replaced pseudo.
9435
 
9436
        * sh.md (movsf_ieq, movsf_ie): Merged the former into the latter.
9437
        Changed matching define_split appropriately.
9438
        (movsf): Changed appropriately.
9439
        (reload_insf) Define.
9440
        * sh.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
9441
 
9442
Mon Oct 28 08:38:23 1996  J"orn Rennecke 
9443
 
9444
        * dsp16xx.h (ASM_OUTPUT_BYTE): Adjust definition to actual type of
9445
        VALUE, which is HOST_WIDE_INT.
9446
 
9447
Mon Oct 28 07:36:07 1996  Ulrich Drepper  
9448
 
9449
        * ginclude/stddef.h: Make sure file is processed if some of the
9450
        known __need_* macros is defined.
9451
 
9452
Sun Oct 27 21:37:59 1996  J.T. Conklin  
9453
 
9454
        * m68k.c (output_function_prologue): Adjust SP then use movmel with
9455
        plain address indirect mode for TARGET_5200.
9456
        (output_function_epilogue): Disable moveml and use several movel's
9457
        instead for TARGET_5200.
9458
        (output_function_{pro,epi}logue): Use lea instruction to adjust
9459
        stack pointer for short displacements for TARGET_5200.
9460
 
9461
Sun Oct 27 15:27:45 1996  Jeffrey A Law  (law@cygnus.com)
9462
 
9463
        * fold-const.c (merge_ranges): Fix thinko/typo.
9464
 
9465
Sat Oct 26 22:07:04 1996  Ian Lance Taylor  
9466
 
9467
        * expr.c (convert_modes): Before returning a const_double for a
9468
        large unsigned value, zero extend an integer value if necessary.
9469
 
9470
Sat Oct 26 15:24:55 1996  Philippe De Muyter  
9471
 
9472
        * m68k/x-mot3300 (XCFLAGS): Disable native assembler's jump
9473
        optimization for expr.o and cp/decl.o.
9474
 
9475
Sat Oct 26 14:04:09 1996  Ben Harris  
9476
 
9477
        * m68k.c (output_function_prologue): Add REGISTER_PREFIX to stack
9478
        probe instruction.
9479
 
9480
Sat Oct 26 13:59:05 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9481
 
9482
        * explow.c (allocate_dynamic_stack_space): Delete reference to
9483
        nonexistent macro ALLOCATE_OUTGOING_ARGS.
9484
 
9485
        * next.h (CPP_PREDEFINES): Add -D_NEXT_SOURCE.
9486
 
9487
Sat Oct 26 13:50:49 1996  Mark Mitchell  (mitchell@centerline.com)
9488
 
9489
        * configure (i486-ncr-sysv4*): Use i386/sysv4gdb if stabs and gas.
9490
 
9491
Sat Oct 26 12:20:35 1996  John F. Carr  
9492
 
9493
        * configure: Support --with-cpu=* for SPARC.  Or target default
9494
        values instead of adding them.
9495
        * sparc.c (cpu_default): Add entries for v8 and supersparc.
9496
        * sparc.h: Define TARGET_CPU values for v8 and supersparc.
9497
 
9498
Sat Oct 26 11:38:01 1996  Kamil Iskra  
9499
 
9500
        * collect2.c (dump_file): Call fclose for opened files.
9501
 
9502
Sat Oct 26 11:29:29 1996  J"orn Rennecke  (amylaar@cygnus.co.uk)
9503
 
9504
        * jump.c (jump_optimize): Fix second error in last change.
9505
 
9506
        * svr3.h: Fix typo which makes comment text be non-comment.
9507
 
9508
Fri Oct 25 16:18:39 1996  Michael Meissner  
9509
 
9510
        * rs6000/t-winnt (LIBGCC1): Don't build libgcc1.
9511
        (EXTRA_PARTS): Build crti.o, crtn.o.
9512
        (stmp-crt): Remove old multilib support.
9513
 
9514
Thu Oct 24 15:09:14 1996  Jim Wilson  
9515
 
9516
        * fold-const.c (make_range, case PLUS_EXPR): Normalize an unsigned
9517
        range that wraps around 0.
9518
 
9519
Thu Oct 24 14:37:17 1996  Ian Lance Taylor  
9520
 
9521
        * mips.md: Change predicates for 64 bit arithmetic operations
9522
        so that they accept sign extended registers as operands.
9523
        (extendsidi2): Accept hi or lo as input.
9524
        * mips.c (movdi_operand, se_register_operand,
9525
        se_reg_or_0_operand, se_uns_arith_operand, se_arith_operand,
9526
        se_nonmemory_operand, se_nonimmediate_operand): New functions.
9527
        (mips_move_2words): Handle a SIGN_EXTEND source.
9528
        (print_operand): Handle a SIGN_EXTEND operand.
9529
        (mips_secondary_reload_class): Handle a SIGN_EXTEND rtx.
9530
        * mips.h: Declare new mips.c functions.
9531
        (PREDICATE_CODES): Add new functions.
9532
 
9533
Thu Oct 24 07:41:14 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9534
 
9535
        * fold-const.c (make_range, comparison cases): When making range
9536
        for unsigned to merge in, use full range.
9537
 
9538
        * stor-layout.c (GET_MODE_ALIGNMENT): Delete definition; duplicate.
9539
 
9540
Thu Oct 24 07:28:53 1996  J"orn Rennecke 
9541
 
9542
        * reload1.c (emit_reload_insns): Check for second_reloadreg
9543
        in SECONDARY_OUTPUT_RELOAD_CLASS / PRESERVE_DEATH_INFO_REGNO_P case.
9544
 
9545
Wed Oct 23 14:27:43 1996  Mike Stump  
9546
 
9547
        * crtstuff.c (__do_global_dtors_aux): Allow finalization code to
9548
        be run more than once.
9549
        * libgcc2.c (__do_global_dtors): Ditto.
9550
 
9551
Wed Oct 23 20:42:23 1996  Joern Rennecke 
9552
 
9553
        * sh.c (dump_table): handle SFmode and DFmode.
9554
        (broken_move): handle simple PARALLEL.
9555
        (machine_dependent_reorg, pc-relative move generation): Likewise.
9556
        * sh.h (CONST_DOUBLE_OK_FOR_LETTER_P): always true for 'F' .
9557
        (LEGITIMATE_CONSTANT_P): accept SFmode and DFmode.
9558
        * sh.md (movdf_k, movsf_i, movsf_ie): new alternative for
9559
        pc-relative load.
9560
        (movsf_ieq): new define_insn with matching define_split.
9561
        (movsf): use it where appropriate.
9562
        (consttable_sf, consttable_df): new define_insns.
9563
 
9564
Wed Oct 23 17:48:32 1996  Andreas Schwab  
9565
 
9566
        * svr4.h (MAKE_DECL_ONE_ONLY): Fix typo in use of macro parameter.
9567
 
9568
Wed Oct 23 17:46:13 1996  Pat Rankin  
9569
 
9570
        * cexp.y (yylex): Cast string literal to U_CHAR* for lookup() call.
9571
 
9572
Wed Oct 23 14:50:04 1996  Jason Merrill  
9573
 
9574
        * stmt.c (expand_return): Expand cleanups.  Make sure we get pseudo
9575
        and provide target in non-BLKmode case.  Get proper return type of fn.
9576
 
9577
Wed Oct 23 14:16:06 1996  Ian Lance Taylor  
9578
 
9579
        * reload.c (find_reloads): Handle any unary operator.
9580
        * recog.c (constrain_operands): Likewise.
9581
 
9582
        * mips.md: Remove extendsidi2 define_expand.
9583
        Rename extendsidi2_internal define_insn to extendsidi2, and add a
9584
        register to register case.
9585
 
9586
Wed Oct 23 14:08:31 1996  Jim Wilson  
9587
 
9588
        * a29k.c (a29k_makes_calls): New global variable.
9589
        (compute_regstack_size, a29k_compute_reg_names): New functions.
9590
        (output_prolog): Much code moved to two new functions.
9591
        Use a29k_makes_calls instead of makes_calls.
9592
        * a29k.h (ASM_DECLARE_FUNCTION_NAME): Call a29k_compute_reg_names.
9593
 
9594
        * calls.c (expand_call): In target code, move PARALLEL case above
9595
        target != case.
9596
 
9597
        * mips.c (block_move_load_store, block_move_sequence): Delete.
9598
        (block_move_loop): New parameter orig_dest.  Call change_address to
9599
        create new MEM instead of gen_rtx.
9600
        (expand_block_move): New local orig_dest.  Pass it to block_move_loop.
9601
        Call change_address to create new MEM instead of gen_rtx.
9602
 
9603
Wed Oct 23 10:30:32 1996  J"orn Rennecke 
9604
 
9605
        * loop.c (combine_givs): When combining a DEST_REG giv with its
9606
        only use, always set the benefit of the combined giv to that of
9607
        the DEST_REG giv.
9608
 
9609
        * emit-rtl (gen_lowpart_common): When converting a floating
9610
        point value into an integer, use WORD as (first) word.
9611
 
9612
        * combine.c (can_combine_p): When SMALL_REGISTER_CLASSES is defined,
9613
        avoid substituting a return register into I3.
9614
 
9615
        * optabs.c (emit_libcall_block): Before adding an REG_EQUAL note,
9616
        check that it will really apply to a single instruction.
9617
        (expand_binop, expand_fix): Likewise.
9618
 
9619
Wed Oct 23 10:20:52 1996  Stephen L Moshier  (moshier@world.std.com)
9620
 
9621
        * real.c (exact_real_inverse): New function, if REAL_ARITHMETIC.
9622
        * fold-const.c (exact_real_inverse): Likewise, if no REAL_ARITHMETIC.
9623
        (fold, case RDIV_EXPR): Turn divide by constant into multiplication
9624
        by the reciprocal, if optimizing and result is exact.
9625
        * real.h (exact_real_inverse): Declare.
9626
 
9627
Wed Oct 23 00:12:52 1996  Torbjorn Granlund  
9628
 
9629
        * expr.h (emit_store_flag_force): Declare.
9630
 
9631
Tue Oct 22 18:32:20 1996  Jim Wilson  
9632
 
9633
        * unroll.c (unroll_loop): Always reject loops with unbalanced blocks.
9634
 
9635
Tue Oct 22 18:27:06 1996  Ian Lance Taylor  
9636
 
9637
        * config/fp-bit.c (float_to_usi): Correct thinko: avoid negative shift.
9638
        (df_to_sf): Remember any discarded nonzero bits in the low order
9639
        guard bit.
9640
 
9641
        * ginclude/va-mips.h: Add support for -mips1 and -msoft-float when
9642
        using -mabi=eabi.
9643
        * mips/abi64.h (SETUP_INCOMING_VARARGS): When MIPS EABI, handle
9644
        TARGET_SINGLE_FLOAT or ! TARGET_FLOAT64 correctly when saving
9645
        floating point registers to the stack.
9646
        * mips/mips.c (mips_function_value): If TARGET_SINGLE_FLOAT, use
9647
        GP_RETURN for floating point types larger than 4 bytes.
9648
 
9649
Tue Oct 22 09:43:49 1996  Geoffrey Noer  
9650
 
9651
        * rs6000/cygwin32.h (LIB_SPEC): Add -lkernel32 all of the time,
9652
        and {user,gdi,comdlg}32 if -mwindows.
9653
 
9654
Tue Oct 22 05:24:05 1996  Jason Merrill  
9655
 
9656
        * dwarf2out.c (scope_die_for): Don't skip lexical blocks.
9657
        (gen_lexical_block_die): Call push_decl_scope.
9658
        (gen_subprogram_die): Never refer to the function symbol.
9659
        (dwarfout_begin_prologue): Likewise.
9660
 
9661
Mon Oct 21 20:22:49 1996  Torbjorn Granlund  
9662
 
9663
        * expmed.c (emit_store_flag_force): New function.
9664
        * optabs.c (expand_binop): Use it.
9665
 
9666
        * expr.c (do_store_flag): Don't check if target is 0 in code
9667
        emitting store flag as compare-branch.
9668
 
9669
Mon Oct 21 17:58:33 1996  Ian Lance Taylor  
9670
 
9671
        * mips.c (override_options): Correct typo (MASK_64BIT should
9672
        have been TARGET_64BIT).
9673
 
9674
Mon Oct 21 13:58:54 1996  Jim Wilson  
9675
 
9676
        * unroll.c (loop_comparison_code): New static variable.
9677
        (unroll_loop): Add check for loop_comparison_code
9678
        (loop_iterations): Set loop_comparison_code.
9679
 
9680
        * sh.c (gen_shl_sext): Add missing parameter to shl_sext_kind call.
9681
 
9682
        * mips.h (INITIAL_FRAME_POINTER_OFFSET): Delete.
9683
 
9684
        * loop.c (strength_reduce): Add check for ! bl->reversed to
9685
        auto_inc_opt code.
9686
 
9687
Mon Oct 21 12:28:15 1996  J"orn Rennecke  
9688
 
9689
        * jump.c (jump_optimize): Fix bug in Oct. 14 change.
9690
 
9691
Mon Oct 21 07:59:16 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9692
 
9693
        * expr.c (store_expr): Disable optimization of using convert
9694
        if exp's type is a subtype.
9695
 
9696
        * c-typeck.c (build_array_ref): If -Wchar-subscripts, also warn
9697
        in case when pointer is being indexed.
9698
 
9699
Mon Oct 21 07:39:31 1996  J"orn Rennecke  
9700
 
9701
        * jump.c (jump_optimize): Use emit_store_flag even if branches
9702
        are cheap, if the store is even cheaper.
9703
 
9704
Sun Oct 20 20:01:09 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9705
 
9706
        * reload1.c (reload_reg_free_p, reloads_conflict): RELOAD_OTHER
9707
        and RELOAD_FOR_OTHER_ADDRESS conflict.
9708
 
9709
        * i386.md (ffs[sh]i2): Add missing CC_STATUS_INIT.
9710
 
9711
Fri Oct 18 13:32:13 1996  Michael Meissner  
9712
 
9713
        * rs6000.md (float conversion insns): Generate correct code
9714
        if the bit 15 of rs6000_fpmem_offset is nonzero.
9715
 
9716
Thu Oct 17 23:22:03 1996  Jason Merrill  
9717
 
9718
        * dwarfout.c (data_member_location_attribute): Support binfos.
9719
        (output_inheritance_die): New fn.
9720
        (output_type): Use it.
9721
 
9722
        * dwarf2out.c (value_format): Split out from...
9723
        (output_value_format): Here.
9724
        (build_abbrev_table): Use value_format.
9725
        (size_of_locs): New fn.
9726
        (size_of_die): Don't assume a loc needs a 2-byte length.
9727
        (value_format, output_die): Likewise.
9728
 
9729
Thu Oct 17 14:46:14 1996  Ian Lance Taylor  
9730
 
9731
        * mips.c (override_options): In 64 bit EABI mode, set TARGET_LONG64.
9732
 
9733
Thu Oct 17 11:34:51 1996  Bob Manson  
9734
 
9735
        * expr.c (do_jump): Conditionalize cleanups for the COND_EXPR case,
9736
        similarly to the way TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR are
9737
        handled.
9738
 
9739
Thu Oct 17 01:20:16 1996  Jim Wilson  
9740
 
9741
        * m68k.h (MASK_68040_ALSO): New macro.
9742
        (TARGET_SWITCHES): Option -m68020-40 includes MASK_68040_ALSO.
9743
 
9744
Wed Oct 16 16:25:38 1996  Jason Merrill  
9745
 
9746
        * dwarf2out.c (scope_die_for): Also support decls, add asserts.
9747
        (modified_type_die): Modified types all go under comp_unit_die.
9748
        (add_type_attribute): Just pass context_die through.
9749
        (various): Revert useless lookup_type_die change.
9750
        (gen_subprogram_die): Use scope_die_for.  Call push_decl_scope.
9751
        (gen_inlined_subroutine_die): Call push_decl_scope.
9752
        (gen_struct_or_union_type_die): Likewise.
9753
        (gen_decl_die): Don't call push_decl_scope.
9754
 
9755
        * mips/iris6.h (*_SPEC): Replace enumeration of !mabi= with !mabi*.
9756
        (ASM_OUTPUT_{CON,DE}STRUCTOR): Enable.
9757
        (STARTFILE_SPEC): Support -mips4, -shared.
9758
        (ENDFILE_SPEC): Likewise.
9759
        (LIB_SPEC): Support -shared, avoid warning 84.
9760
        (LIBGCC_SPEC): Define.
9761
        (LINK_SPEC): Support -shared, remove -woff 84.
9762
        * mips/t-iris6 (EXTRA_PARTS): Add crtstuff.
9763
        * crtstuff.c: Support Irix 6.
9764
        * configure: Don't use collect2 for Irix 6.
9765
        * libgcc2.c (__main): Don't use any of this stuff if HAS_INIT_SECTION.
9766
 
9767
Wed Oct 16 11:46:37 1996  Mike Stump  
9768
 
9769
        * elxsi.h (CHECK_FLOAT_VALUE): Removed.
9770
 
9771
Wed Oct 16 14:19:38 1996  Jim Wilson  
9772
 
9773
        * iris6.h (CPP_PREDEFINES): Add -D_LONGLONG.
9774
        (CPP_SPECS): Remove -D_LONGLONG.
9775
 
9776
Wed Oct 16 03:34:42 1996  Torbjorn Granlund  
9777
 
9778
        * i386.md (parallel inc/dec and branch-if-zero/nonzero): New patterns.
9779
 
9780
Tue Oct 15 22:28:11 1996  Ian Lance Taylor  
9781
 
9782
        * mips.h (enum mips_abi_type): Add ABI_EABI.
9783
        (CPP_SPEC): Define __mips_soft_float if -msoft-float, and
9784
        __mips_eabi if -mabi=eabi.
9785
        (INITIAL_ELIMINATION_OFFSET, CUMULATIVE_ARGS,
9786
        GO_IF_LEGITIMATE_ADDRESS, CONSTANT_ADDRESS_P, LEGITIMATE_CONSTANT,
9787
        LEGITIMIZE_ADDRESS): Add support for MIPS EABI.
9788
        * mips/abi64.h (STACK_BOUNDARY, MIPS_STACK_ALIGN,
9789
        FUNCTION_ARG_PADDING, RETURN_IN_MEMORY, SETUP_INCOMING_VARARGS):
9790
        Add support for MIPS EABI.
9791
        (FUNCTION_ARG_PASS_BY_REFERENCE): Define.
9792
        (FUNCTION_ARG_CALLEE_COPIES): Define.
9793
        * mips.c (mips_const_double_ok, function_arg_advance,
9794
        function_arg, function_arg_partial_nregs, override_options,
9795
        compute_frame_size): Add support for MIPS EABI.
9796
        (function_arg_pass_by_reference): New function.
9797
        * ginclude/va-mips.h: Add support for MIPS EABI.
9798
 
9799
Tue Oct 15 19:10:08 1996  Jason Merrill  
9800
 
9801
        * toplev.c (rest_of_type_compilation): Don't write out
9802
        DWARF for function-scope types yet.
9803
        (compile_file): Do send vars with no RTL to the DWARF code.
9804
 
9805
Tue Oct 15 17:54:43 1996  Doug Evans  
9806
 
9807
        * loop.c (strength_reduce): Avoid taking PATTERN of a label.
9808
 
9809
Tue Oct 15 16:52:33 1996  Ian Lance Taylor  
9810
 
9811
        * mips/iris6.h: (SUBTARGET_CPP_SIZE_SPEC): Define.
9812
        (SUBTARGET_CPP_SPEC): Remove definitions of __SIZE_TYPE__ and
9813
        __PTRDIFF_TYPE__, now in SUBTARGET_CPP_SIZE_SPEC.
9814
 
9815
Tue Oct 15 11:19:17 1996  Lee Iverson  
9816
 
9817
        * mips.h (CPP_SPEC): Restore -D_LANGUAGE_C for Objective-C.
9818
 
9819
Mon Oct 14 18:03:35 1996  Jason Merrill  
9820
 
9821
        * dwarf2out.c (gen_decl_die): Do generate dies for classes with -g1.
9822
        (dwarfout_file_scope_decl): Likewise.
9823
 
9824
Mon Oct 14 16:31:44 1996  Joern Rennecke 
9825
 
9826
        * jump.c (jump_optimize): Check for if (...) { x = a; goto l; } x = b;
9827
 
9828
Mon Oct 14 14:19:49 1996  Jason Merrill  
9829
 
9830
        * dwarf2out.c (modified_type_die): Don't bother with AT_address_class.
9831
        (add_data_member_location_attribute): Handle getting a binfo.
9832
        (add_location_or_const_value_attribute): Handle a decl with no RTL.
9833
        (add_pure_or_virtual_attribute): Add AT_vtable_elem_location.
9834
        (add_name_and_src_coords_attributes): Only use DECL_ASSEMBLER_NAME
9835
        for staticp things.
9836
        (gen_subprogram_die): Set up AT_inline for abstract decls.
9837
        (gen_inheritance_die): New fn.
9838
        (gen_member_die): Also emit info for base classes.
9839
 
9840
Sat Oct 12 00:07:00 1996  Doug Evans  
9841
 
9842
        * fold-const.c (make_range): Handle NULL operand 0 like in BIND_EXPRs.
9843
 
9844
Fri Oct 11 15:42:22 1996  Jason Merrill  
9845
 
9846
        * toplev.c (rest_of_compilation): If we did a
9847
        save_for_inline_copying, reset DECL_ABSTRACT_ORIGIN for the
9848
        function when we're done.
9849
 
9850
        * toplev.c (main): DWARF works with C++ now.
9851
 
9852
        * dwarf2out.c (gen_subprogram_die): Disable MIPS_AT_has_inline
9853
        support for now.
9854
 
9855
Fri Oct 11 14:31:10 1996  Torbjorn Granlund  
9856
 
9857
        * dwarfout.c: (output_bound_representation): Fix typo in prototype.
9858
 
9859
Fri Oct 11 12:19:21 1996  Ian Lance Taylor  
9860
 
9861
        * mips.h ({,SUBTARGET_}MIPS_AS_ASM_SPEC): Define.
9862
        ({GAS,TARGET,SUBTARGET}_ASM_SPEC): Define.
9863
        (SUBTARGET_ASM_{OPTIMIZING,DEBUGGING}_SPEC): Define.
9864
        (ASM_SPEC): Rewrite to use above specs.
9865
        (SUBTARGET_CPP{,_SIZE}_SPEC): Define.
9866
        (CPP_SPEC): Use above specs.  Don't define _LANGUAGE_C if C++ or
9867
        Objective-C.
9868
        ({,SUBTARGET_}EXTRA_SPECS): Define.
9869
        * mips/dec-bsd.h ({CPP,ASM}_SPEC): Don't define.
9870
        * mips/dec-osf1.h (CPP_SPEC): Don't define.
9871
        (SUBTARGET_CPP_SIZE_SPEC): Define.
9872
        * mips/elf64.h (CPP_SPEC): Don't define.
9873
        (SUBTARGET_CPP_SPEC): Define.
9874
        * mips/gnu.h (TARGET_DEFAULT): Define.
9875
        (ASM_SPEC): Don't define.
9876
        * mips/iris3.h (CPP_SPEC): Don't define.
9877
        (SUBTARGET_CPP_SPEC): Define.
9878
        * mips/iris4loser.h (ASM_SPEC): Don't define.
9879
        (SUBTARGET_MIPS_AS_ASM_SPEC): Define.
9880
        (SUBTARGET_ASM_OPTIMIZING_SPEC): Define.
9881
        * mips/iris5.h (CPP_SPEC): Don't define.
9882
        (SUBTARGET_CPP_SPEC): Define.
9883
        * mips/iris6.h ({CPP,ASM}_SPEC): Don't define.
9884
        (SUBTARGET_{CPP,ASM,MIPS_AS_ASM,ASM_DEBUGGING}_SPEC): Define.
9885
        * mips/netbsd.h ({CPP,ASM}_SPEC): Don't define.
9886
        (SUBTARGET_CPP_SPEC): Define.
9887
        * mips/osfrose.h ({CPP,ASM,ASM_FINAL}_SPEC): Don't define.
9888
        (SUBTARGET_CPP{,_SIZE}_SPEC): Define.
9889
        * mips/sni-svr4.h (CPP_SPEC): Don't define.
9890
        (SUBTARGET_CPP_SIZE_SPEC): Define.
9891
 
9892
Thu Oct 10 17:58:49 1996  Jason Merrill  
9893
 
9894
        * mips/iris6.h (ASM_OUTPUT_SECTION_NAME): Define.
9895
        (DWARF_OFFSET_SIZE): Define.
9896
 
9897
        * dwarf2out.c (most everywhere): Support SGI/MIPS -mabi=64 by fixing
9898
        code which assumed pointers are 4 bytes long, parameterizing many
9899
        sizes on DWARF_OFFSET_SIZE and using DELTA instead of DELTA4,
9900
        DATA instead of DATA4, FORM_ref instead of FORM_ref4.
9901
        (DWARF_ROUND, UNALIGNED_DOUBLE_INT_ASM_OP): New macros.
9902
        (UNALIGNED_WORD_ASM_OP, ASM_OUTPUT_DWARF_DELTA): Likewise.
9903
        (ASM_OUTPUT_DWARF_DATA, DW_FORM_data, DW_FORM_ref): New macros.
9904
        (gen_variable_die): Only equate_decl_number_to_die if
9905
        decl is TREE_STATIC.
9906
        (get_AT): Fix thinko.
9907
 
9908
        * dwarf2out.c (constant_size): New fn.
9909
        (size_of_die): Use it instead of assuming 4 bytes.
9910
        (output_value_format, output_die): Likewise.
9911
        (build_abbrev_table): Need new abbrev if size of constant differs.
9912
        (dwarf_attr_name): Add new SGI/MIPS extensions.
9913
        (gen_subprogram_die): Support DW_AT_MIPS_has_inlines.
9914
        (gen_inlined_subroutine_die): Likewise.
9915
 
9916
Thu Oct 10 16:38:58 1996  Ian Lance Taylor  
9917
 
9918
        * mips.md (mov[sd]fcc): Use register_operand, not reg_or_0_operand,
9919
        for source predicates.
9920
 
9921
Thu Oct 10 15:19:38 1996  Michael Meissner  
9922
 
9923
        * rs6000.md (floatsidf2_load): For large stack frames, do not
9924
        generate an illegal memory reference.
9925
        (movdi, movdf define_splits): Fix code so that it works for either
9926
        big or little endian hosts generating code for either big or
9927
        little endian targets.
9928
 
9929
        (from Jim Wilson)
9930
        * rs6000.c (rs6000_save_toc_p): Delete global variable.
9931
        (rs6000_{save,restore}_machine_status): Do not save/restore it.
9932
        (rs6000_init_expanders): Do not initialize it.
9933
        (rs6000_stack_info): Always create TOC save space.
9934
 
9935
        * rs6000.md (NT indirect call insns): Do not set
9936
        rs6000_save_toc_p.
9937
 
9938
        * rs6000.h (rs6000_save_toc_p): Delete declaration.
9939
 
9940
Wed Oct  9 18:06:54 1996  Ian Lance Taylor  
9941
 
9942
        * mips.h (EMPTY_FIELD_BOUNDARY): Define as 32.
9943
        * mips/abi64.h (EMPTY_FIELD_BOUNDARY): Don't define.
9944
 
9945
        * mips/abi64.h (TARGET_DEFAULT, TARGET_LONG64, CPP_PREDEFINES,
9946
        CPP_SPEC): Move from here...
9947
        * mips/iris6.h: ...to here.
9948
 
9949
Wed Oct  9 16:43:51 1996  Jim Wilson  
9950
 
9951
        * configure (i[3456]86-dg-dgux): Use install-headers-cpio.
9952
 
9953
        * expr.c (store_constructor): Delete unnecessary increment.
9954
 
9955
Wed Oct  9 16:29:22 1996  Gavin Koch 
9956
 
9957
        * cccp.c (do_include): Treat ENOTDIR like ENOENT when an open fails.
9958
 
9959
Wed Oct  9 16:26:57 1996  Paul Eggert  
9960
 
9961
        * gcc.c (default_compilers): -ansi no longer implies -$ to cpp.
9962
        * c-lex.c (yylex): Treat `$' just like `_', except issue a
9963
        diagnostic if !dollars_in_ident or if pedantic.
9964
        * c-decl.c (dollars_in_ident): DOLLARS_IN_IDENTIFIERS is now Boolean.
9965
        (c_decode_option): -fdollars-in-identifiers is now independent
9966
        of -ansi, of -traditional, and of DOLLARS_IN_IDENTIFIERS.
9967
        * cexp.y (initialize_random_junk): Ignore DOLLARS_IN_IDENTIFIERS.
9968
        * cccp.c (dollars_in_ident): Remove; replaced by is_idchar['$'].
9969
        (main): Initialize is_idchar and is_idstart directly when given -$.
9970
        Ignore DOLLARS_IN_IDENTIFIERS.
9971
        (rescan): Diagnose $ in identifier if pedantic.
9972
        (initialize_char_syntax): Assume $ is allowed in identifier;
9973
        `main' will change this if -$ is given.
9974
        * cpplib.h (DOLLARS_IN_IDENTIFIERS): Remove.
9975
        * cpplib.c (cpp_options_init): Ignore DOLLARS_IN_IDENTIFIERS.
9976
        (parse_name): Diagnose $ in identifier if pedantic.
9977
        (cpp_handle_options): -traditional no longer messes with
9978
        dollars_in_ident.
9979
        * i386/dgux.h, m68k/apollo68.h (DOLLARS_IN_IDENTIFIERS): Remove.
9980
        * m88k.h, mips.h, nextstep.h, pa.h (DOLLARS_IN_IDENTIFIERS): Remove.
9981
        * vax/ultrix.h, vax/vms.h (DOLLARS_IN_IDENTIFIERS): Remove.
9982
        * convex.h (OVERRIDE_OPTIONS): Don't need to set
9983
        dollars_in_ident any more, since -ansi doesn't change it.
9984
 
9985
Wed Oct  9 07:35:47 1996  Doug Evans  
9986
 
9987
        * Allow prefix attributes in more places.
9988
        * c-parse.in: Update number of shift/reduce conflicts.
9989
        ({typed_declspecs,reserved_declspecs,declmods}_no_prefix_attr): New.
9990
        (current_declspecs): Initialize to NULL_TREE.
9991
        (fndef): Pass current_declspecs, not $1, to start_function.
9992
        (old_style_parm_decls): Renamed from xdecls.
9993
        (datadecl, declmods): Add references to new rules.
9994
        (setspecs): Call split_specs_attrs.
9995
        (absdcl1): Remove case with setattrs.
9996
        * c-common.c (split_specs_attrs): New function.
9997
 
9998
Wed Oct  9 05:48:43 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9999
 
10000
        * sdbout.c: Include defaults.h.
10001
        * Makefile.in (sdbout.o): Make dependency list match included files.
10002
 
10003
        * fold-const.c (range_test): Function deleted.
10004
        (range_binop, make_range, build_range_check): New functions.
10005
        (merge_ranges, fold_range_test): Likewise.
10006
        (fold_truthop): No longer call range_test.
10007
        (fold, case TRUTH_{AND,OR}{,IF}_EXPR): Call fold_range_test.
10008
 
10009
Tue Oct  8 22:03:32 1996  Torbjorn Granlund  
10010
 
10011
        * configure: Set cpu_type for pyramid.
10012
 
10013
Tue Oct  8 21:54:04 1996  Jason Merrill  
10014
 
10015
        * final.c (final_start_function): Call dwarfout_begin_prologue.
10016
 
10017
        * dwarf2out.c (pubname_*, arange_*): New data for .debug_pubnames
10018
        and .debug_aranges sections.
10019
        (add_pubname): New fn.
10020
        (size_of_pubnames): Reimplement.
10021
        (output_pubnames): Likewise.
10022
        (add_arange): New fn.
10023
        (size_of_aranges): Include function sections.
10024
        (output_aranges): Likewise.
10025
        (gen_variable_die): Call add_pubname.
10026
        (add_name_and_src_coords_attributes): Use DECL_ASSEMBLER_NAME for now.
10027
        (decl_start_label): Renamed from function_start_label.
10028
        (gen_subprogram_die): If weak or one_only, use a local label for
10029
        AT_low_pc.  Call add_pubname and add_arange.
10030
        (dwarfout_begin_prologue): New fn.  Start up FDE here.
10031
        (dwarfout_begin_function): Not here.
10032
        (get_AT): Split out.  Look in specification and abstract_origin DIEs.
10033
        (get_AT_low_pc, get_AT_string, get_AT_flag, get_AT_unsigned,
10034
        get_AT_hi_pc): Use it.
10035
        (dwarfout_finish): Variables can produce pubnames, too.
10036
 
10037
Tue Oct  8 19:35:40 1996  Torbjorn Granlund  
10038
 
10039
        * m88k/dgux.h (CPP_SPEC): Avoid newline in the string.
10040
 
10041
        * final.c (final): Update insn_current_address before calling
10042
        final_scan_insn.
10043
 
10044
Tue Oct  8 17:52:02 1996  Jim Wilson  
10045
 
10046
        * unroll.c (unroll_loops): Set local_regno only if set_dominates_use
10047
        returns true.
10048
        (set_dominates_use): New function.
10049
 
10050
Tue Oct  8 16:01:37 1996  Doug Evans  
10051
 
10052
        * c-typeck.c (decl_constant_value): Delete test for ! TREE_PUBLIC.
10053
 
10054
Tue Oct  8 10:36:44 1996  Jeffrey A Law  (law@cygnus.com)
10055
 
10056
        * pa.c (hppa_legitimize_address): Remove test code accidentally left
10057
        in during last change.
10058
 
10059
Mon Oct  7 19:55:02 1996  Jim Wilson  
10060
 
10061
        * sched.c (schedule_block): Before scheduling, add code to make all
10062
        call used regs not fixed or global live when we see a CALL_INSN.
10063
        During scheduling, change existing code to use same test.
10064
 
10065
        * varasm.c (bss_section): Delete unused parameters.
10066
 
10067
Mon Oct  7 16:24:21 1996  Jason Merrill  
10068
 
10069
        * dwarf2.h: Add new SGI/MIPS attributes.
10070
 
10071
        * dwarf2out.c (*_separate_line_info_*): Parallel line number
10072
        information for functions defined in sections other than .text.
10073
        (size_of_line_info): Support it.
10074
        (output_line_info, dwarfout_line): Likewise.
10075
        (gen_compile_unit_die): Don't add high/low_pc or stmt_list
10076
        attributes here.
10077
        (dwarfout_finish): Add them here if appropriate.
10078
        (remove_AT): Free removed attribute properly.
10079
        (gen_type_die): Don't assume a nested type is complete.
10080
        (dwarfout_finish): Don't emit line info if it would be empty.
10081
 
10082
        * dwarfout.c (output_block): Don't emit a DIE for a body block.
10083
        (output_decls_for_scope): Don't increment next_block_number for the
10084
        outer block.
10085
        (output_decl): Start from the outer block, not
10086
        the first inner block since there can be more than one in C++.
10087
        (type_tag): Handle C++ TYPE_NAME.
10088
        (output_type): Fix handling of TYPE_METHODS.
10089
        (output_decl): Don't output a DIE for artificial typedefs.
10090
 
10091
Mon Oct  7 15:47:29 1996  Michael Meissner  
10092
 
10093
        * rs6000.md (movdi define_splits): Fix previous change to work
10094
        on both little and big endian hosts.
10095
 
10096
Sun Oct  6 16:52:34 1996  Jeffrey A Law  (law@cygnus.com)
10097
 
10098
        * pa.h (combinable_fsub): Don't return without a value.
10099
 
10100
Sun Oct  6 14:05:39 1996  Michael Meissner  
10101
 
10102
        * rs6000.md (mov{df,di} define_splits): Use split_double to
10103
        properly split CONST_DOUBLEs.
10104
        (movdi): Likewise.
10105
 
10106
Sat Oct  5 08:43:14 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
10107
 
10108
        * i386/cygwin32.h (LIB_SPEC): Add support for -mwindows.
10109
        Always pass -lkernel32.
10110
        (LIBGCC_SPEC): Don't delete.
10111
        (STARTFILE_SPEC): Remove always-true conditionalization.
10112
        (LONG_DOUBLE_TYPE_SIZE): Use default.
10113
 
10114
Fri Oct  4 17:22:53 1996  Jason Merrill  
10115
 
10116
        * toplev.c (rest_of_type_compilation): Don't emit DWARF for member
10117
        types of a type we haven't emitted yet.
10118
        (compile_file): Still emit DWARF for pending tagged types.
10119
 
10120
        * final.c (final_scan_insn): Do emit DWARF labels for level 1 blocks.
10121
 
10122
        * dwarf2out.c (gen_subprogram_die): Start from the outer block, not
10123
        the first inner block since there can be more than one in C++.
10124
        (gen_lexical_block_die): Keep track of the block depth.
10125
        (gen_block_die): Don't emit a DIE for a body block.
10126
        (gen_inlined_subroutine_die): Don't emit anything for an
10127
        abstract instance.
10128
        (decls_for_scope): Don't increment next_block_number for the
10129
        outer block.
10130
 
10131
Fri Oct  4 15:27:55 1996  J"orn Rennecke 
10132
 
10133
        * sh.h (PRESERVE_DEATH_INFO_REGNO_P): Define.
10134
 
10135
        * sh.c (sfunc_uses_reg): New function.
10136
        (noncall_uses_reg, machine_dependent_reorg, final_prescan_insn):
10137
        Handle special functions like function calls for purposes of relaxing.
10138
        (noncall_uses_reg): Added some missing cases of registers
10139
        being used in non-call instructions.
10140
 
10141
Fri Oct  4 10:51:40 1996  Jason Merrill  
10142
 
10143
        * dwarf2out.c: Tear out backchaining brain damage.
10144
        (remove_AT, remove_children): New functions.
10145
        (modified_type_die): Call gen_type_die instead of backchaining.
10146
        (gen_subprogram_die): Don't generate a new specification DIE for
10147
        member functions defined in the class; use the declaration DIE instead.
10148
        (gen_struct_or_union_type_die): Support DW_AT_declaration.
10149
        (gen_type_die): Don't set TREE_ASM_WRITTEN on incomplete structs.
10150
        (gen_decl_die): Revert previous change; it's much simpler to emit
10151
        the class from rest_of_type_compilation.
10152
 
10153
Fri Oct  4 09:54:21 1996  J"orn Rennecke 
10154
 
10155
        * Make sure we have enough registers for the insns we recognize.
10156
        * i386.h (flag_omit_frame_pointer, outer_function_chain): Declare.
10157
        (current_function_calls_alloca): Likewise
10158
        (rtx_equal_function_value_matters): Likewise
10159
        (N_REGS_USED, N_ALLOCATABLE_REGISTERS): Define.
10160
 
10161
        * i386.md (adddi3_1, subdi3_1): Insns renamed from adddi3 and subdi3;
10162
        added missing earlyclobbers.
10163
        (adddi3_1): Removed duplicates from commutativity.
10164
        (adddi3, subdi3): New define_expands.
10165
        (movsf, movsf_mem, movsf_normal, movdf, movdf_mem , movdf_mem+1): Take
10166
        number of used vs. available registers into account.
10167
        (movxf, movxf_mem, movxf_mem+1, addsidi3_1, addsidi3_2): Likewise.
10168
        (adddi3_1, subsidi3, subdi3_1): Likewise.
10169
        (addsidi3_1, addsidi3_2, subsidi3): Need no generate function.
10170
 
10171
        * i386.c (asm_output_function_prefix): Don't use
10172
        ASM_DECLARE_FUNCTION_NAME if it is not defined.
10173
 
10174
Fri Oct  4 07:01:55 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
10175
 
10176
        * stor-layout.c (layout_decl): Don't turn off DECL_BIT_FIELD
10177
        if DECL's alignment is less than its type.
10178
 
10179
Thu Oct  3 19:42:30 1996  Jason Merrill  
10180
 
10181
        * toplev.c (rest_of_type_compilation): Also do this for DWARF.
10182
        (compile_file): Don't try to write out DWARF for vars with no RTL.
10183
 
10184
Thu Oct  3 18:31:28 1996  Doug Evans  
10185
 
10186
        * ginclude/{stdarg.h,varargs.h}: Use #include "", not #include <>.
10187
 
10188
Wed Oct  2 17:29:53 1996  Ian Lance Taylor  
10189
 
10190
        * fixincludes: Add a hack to the big sed script to work around a
10191
        bug in the sed implementation on HP/UX 10.20.
10192
 
10193
Wed Oct  2 16:53:56 1996  Jason Merrill  
10194
 
10195
        * dwarf2out.c (modified_type_die): Don't generate redundant DIEs.
10196
        (gen_{array,pointer,reference,ptr_to_mbr}_type_die): Likewise.
10197
        (gen_{subroutine,string,set}_type_die): Likewise.
10198
 
10199
        * dwarf2out.c: Undo text_end_label, add_src_coords changes.
10200
        (addr_const_to_string): Fix typos.
10201
        (decl_class_context, get_AT_unsigned): New functions.
10202
        (gen_subprogram_die): Only emit src coords info for a specification
10203
        if they changed.
10204
        (gen_variable_die): Support DW_AT_declaration and DW_AT_specification.
10205
        (gen_decl_die): Avoid generating redundant DIEs for member functions
10206
        and variables.
10207
 
10208
Wed Oct  2 11:22:50 1996  Jeffrey A Law  (law@cygnus.com)
10209
 
10210
        * pa.h (EXTRA_CONSTRAINT): Loosen conditions for match of
10211
        'Q' and 'T' while reload is running.
10212
        * pa.c (hppa_legitimize_address): Rework to generate more
10213
        indexed and scaled indexed addressing.
10214
        * pa.md (scaled indexed store): Add define_splits to undo
10215
        pessimizations created by hppa_legitimize_address for integer stores.
10216
 
10217
        * pa.c (remove_useless_addtr_insns): New function.
10218
        (pa_reorg): Delete code to remove useless add,tr insns.
10219
        Instead call remove_useless_addtr_insns.
10220
        (output_function_prologue): Call remove_useless_addtr_insns
10221
        to catch any add,tr insns created by reorg.
10222
 
10223
        * pa.c (secondary_reload_class): Remove duplicate/useless code.
10224
 
10225
        * pa.h (PARSE_LDD_OUTPUT): Handle output from hpux10.20 "chatr".
10226
 
10227
Tue Oct  1 17:23:32 1996  Jason Merrill  
10228
 
10229
        * dwarf2out.c (text_end_label): New static.
10230
        (size_of_line_info): The final entry is smaller.
10231
        (output_aranges): Use TEXT_SECTION instead of TEXT_BEGIN_LABEL and
10232
        text_end_label instead of TEXT_END_LABEL.
10233
        (gen_compile_unit_die): Likewise.
10234
        (output_line_info): Likewise.  Use a fixed advance for the last entry.
10235
        (dwarfout_init): Don't output starting labels.
10236
        (dwarfout_finish): Set up text_end_label.  Don't output ending labels.
10237
 
10238
        (add_pure_or_virtual_attribute): Don't say pure virtual for now.
10239
        (type_tag): Handle C++ TYPE_NAME.
10240
        (gen_formal_parameter_die): Support DW_AT_artificial.
10241
        (gen_formal_types_die): Do emit the type for 'this'.
10242
        (gen_member_die): Fix handling of TYPE_METHODS.
10243
        (gen_decl_die): Do output a DIE for member function declarations.
10244
        Don't output a DIE for artificial typedefs.
10245
 
10246
        (add_member_attribute): Remove, not in DWARF-II.
10247
        (gen_array_type_die): Remove ref to add_member_attribute.
10248
        (gen_set_type_die, gen_entry_point_die, gen_enumeration_type_die,
10249
        gen_subprogram_die, gen_variable_die, gen_field_die,
10250
        gen_pointer_type_die, gen_reference_type_die, gen_ptr_to_mbr_type_die,
10251
        gen_string_type_die, gen_struct_or_union_type_die,
10252
        gen_subroutine_type_die, gen_typedef_die): Likewise.
10253
 
10254
        (get_AT_flag): New fn.
10255
        (add_src_coords_attributes): Split out...
10256
        (add_name_and_src_coords_attributes): From here.
10257
        (gen_subprogram_die): Support DW_AT_declaration and
10258
        DW_AT_specification.
10259
 
10260
        (gen_compile_unit_die): Don't emit full pathname for source file;
10261
        comment claimed that SGI required it, but they don't emit it either.
10262
        Append -g to producer rather than replacing it.
10263
 
10264
Tue Oct  1 14:19:23 1996  Jim Wilson  
10265
 
10266
        * gcc.c (used_arg): When call xmalloc for mswitches, pass 1 if
10267
        n_switches is zero.
10268
 
10269
Mon Sep 30 17:46:26 1996  J"orn Rennecke 
10270
 
10271
        * sh.c (gen_shl_and, gen_shl_sext): Use gen_lowpart to
10272
        generate rtx in the appropriate mode for zero/sign-extension.
10273
        Don't generate a zero bit shift.
10274
        (gen_shl_sext) Directly use gen_ashift instead of gen_ashrsi3.
10275
 
10276
Mon Sep 30 17:17:56 1996  Ian Lance Taylor  
10277
 
10278
        * fixinc.svr4: In math.h, redefine exception to __math_exception
10279
        for C++, to avoid conflict with .
10280
        * fixincludes: Likewise.
10281
        Fix check for class in math.h to not match fp_class.
10282
 
10283
Mon Sep 30 17:15:19 1996  Jim Wilson  
10284
 
10285
        * iris6.h (ASM_SPEC): Add -w.
10286
        (STARTFILE_SPEC): Add mips3 to n32 pathnames.
10287
        Add -L/usr/lib32/mips for n32 cases.
10288
        (ENDFILE_SPEC): Add mips3 to n32 pathnames.
10289
 
10290
Mon Sep 30 13:20:31 1996  Ian Lance Taylor  
10291
 
10292
        * genopinit.c (gen_insn): Look through the modes in reverse order,
10293
        to avoid stopping early on CC when EXTRA_CC_MODES is used.
10294
 
10295
        * fixincludes: Add extern "C" to  on HP/UX.
10296
 
10297
Sun Sep 29 12:39:18 1996  Michael Meissner  
10298
 
10299
        * c-typeck.c (pointer_diff): Do not do default conversions when
10300
        doing the minus expression, in case restype is a short type.
10301
 
10302
Sun Sep 29 11:22:10 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
10303
 
10304
        * tree.c (build_complex): Add new argument, TYPE.
10305
        * tree.h (build_complex): Likewise.
10306
        * c-lex.c (yylex): Add new arg, TYPE, to call to build_complex.
10307
        * fold-const.c (const_binop): Likewise.
10308
        (fold, case CONJ_EXPR, COMPLEX_EXPR): Likewise.
10309
        * varasm.c (copy_constant, case COMPLEX_CST): Likewise.
10310
        * expr.c (expand_expr, case COMPONENT_REF): Don't try to directly
10311
        load a complex.
10312
        * recog.c (register_operand): Don't reject subreg of complex mode.
10313
        * emit-rtl.c (mark_user_reg): New function.
10314
        * function.c (assign_parms): Use it.
10315
        * stmt.c (expand_decl): Likewise, and simplify code.
10316
 
10317
        * tree.c (contains_placeholder): Return 1 for PLACEHOLDER_EXPR.
10318
 
10319
        * expr.c (store_expr): memset/bzero gets ptr_mode, not Pmode.
10320
 
10321
        * stmt.c (expand_asm_operands): Fix errors in previous patches.
10322
 
10323
        * x-linux: Simplify, but ensure headers aren't changed.
10324
 
10325
        * getpwd.c: No longer include direct.h for _WIN32.
10326
 
10327
        * configure (i[3456]86-*-isc*): Remove bogus echo.
10328
        (m68k-apple-aux*): a-ux.h renamed from aux.h.
10329
        (CC): Escape "$" char in "no-symlink" case for bash/cygwin32 bug.
10330
 
10331
        * Makefile.in (installdirs): Renamed from install-dir.
10332
        Create $(prefix) and $(exec_prefix) if doesn't exist.
10333
        (install-float): Reflect new name for installdirs.
10334
        (install-{common,info,man,libgcc,multilib,libobjc}): Likewise.
10335
        (install-{include-dir,assert-h,collect2}): Likewise.
10336
 
10337
        * reload1.c (gen_reload): Handle SUBREG in PLUS specially too.
10338
        Change calls to emit_move_insn to recursive calls.
10339
 
10340
        * stmt.c (fixup_gotos): When running undefined labels, if no cleanup
10341
        actions for this block, don't clear BEFORE_JUMP.
10342
 
10343
Fri Sep 27 13:48:21 1996  Michael Meissner  
10344
 
10345
        * c-decl.c (init_decl_processing): Create short int types before
10346
        creating size_t in case a machine description needs to use
10347
        unsigned short for size_t.
10348
 
10349
Fri Sep 27 12:28:54 1996  Stan Cox  
10350
 
10351
        * gcc.c (do_spec_1): Allow -A in %[Spec].
10352
 
10353
        * i386.h (CPP_CPU_SPEC): New. Added for defining the submodel.
10354
 
10355
        * i386.c (asm_output_function_prefix, function_prologue,
10356
        ix86_expand_prologue): Make the routine that sets the GOT (when pic
10357
        is enabled) a function, to assist debugging.
10358
 
10359
        * i386.md (gen_prologue_get_pc): Call the function created above.
10360
        (divdf3): Added.
10361
 
10362
        * i386/dgux.h (CPP_PREDEFINES, CPP_SPEC): Reference CPP_CPU_SPEC.
10363
        Use svr4 assembler directive .backalign instead of .align.
10364
        (align to x bytes if it takes no more than y bytes to do so.)
10365
 
10366
        * i386/{aix386ng.h,dgux.h} (CPP_SPEC): Use %[cpp_cpu].
10367
        * i386/{freebsd-elf,gas,isc,linux-aout}.h: Likewise.
10368
        * i386/{linux-oldld,linux,osfelf,osfrose,sco,sco4}.h: Likewise.
10369
        * i386/{sco4dbx,sco5,sol2,sysv3}.h: Likewise.
10370
 
10371
Thu Sep 26 17:58:34 1996  Torbjorn Granlund  
10372
 
10373
        * m68k.md (mulsidi3 matcher): Change predicate const_int_operand
10374
        to const_sint32_operand.  Get rid of bogus range condition.
10375
 
10376
Thu Sep 26 17:12:00 1996  Jim Wilson  
10377
 
10378
        * Makefile.in (stmp-int-hdrs): Don't cd to srcdir before copying
10379
        header files to objdir.
10380
 
10381
Wed Sep 25 21:22:57 1996  Jeffrey A Law  (law@cygnus.com)
10382
 
10383
        * h8300.h (FIRST_PSEUDO_REGISTER, ARG_POINTER_REGNUM): Bump up by one.
10384
        (FIXED_REGISTERS): Add entry for MAC register.
10385
        (CALL_USED_REGISTERS, REG_ALLOC_ORDER): Likewise.
10386
        (HARD_REGNO_NREGS): Handle MAC register.
10387
        (HARD_REGNO_MODE_OK, REGNO_OK_FOR_BASE_P, REGISTER_NAMES): Likewise.
10388
        (enum reg_class): New MAC_REGS register class.
10389
        (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Corresponding changes.
10390
        (REG_CLASS_FROM_LETTER): Likewise.
10391
        (REGISTER_MOVE_COST): Make copies to/from MAC register expenseive.
10392
        (CONDITIONAL_REGISTER_USAGE): Define.
10393
        * h8300.md (movsi_h8300hs): Renamed from movsi_h8300h.
10394
        Handle moves to/from the MAC register.
10395
        (mac): Two new patterns to use the mac instruction.
10396
 
10397
        * h8300.c (notice_update_cc): Fix CC_SET case.
10398
        (restore_compare_p): Remove unused function.
10399
        * h8300.md: Handle "set" vs "set_zn_c0" correctly.
10400
        (bCC patterns): No longer need to call restore_compare_p.
10401
 
10402
        * h8300.c (get_shift_alg): Fix HImode ASHIFTRT by 13 or 14 bits.
10403
 
10404
Wed Sep 25 18:52:19 1996  Joern Rennecke 
10405
 
10406
        * sh.md (insv): New pattern.
10407
 
10408
Wed Sep 25 16:47:26 1996  Doug Evans  
10409
 
10410
        * sparc/t-sunos41 (MULTILIB_{OPTIONS,DIRNAMES,MATCHES}): Create
10411
        multilib versions of -fpic and -fPIC.
10412
        (TARGET_LIBGCC2_CFLAGS): Comment out.
10413
 
10414
        * sparc.c (print_operand): Handle new codes H/L.
10415
        * sparc.md (lo_sum_di_sp32): Add little endian support.
10416
        (adddi3_sp32,subdi3_sp32,mulsidi3_sp32,const_mulsidi3): Likewise.
10417
        (umulsidi3_sp32,const_umulsidi3,smacdi,umacdi,anddi3_sp32): Likewise.
10418
        (iordi3_sp32,xordi3_sp32,negdi2_sp32): Likewise.
10419
 
10420
Wed Sep 25 15:32:35 1996  Jim Wilson  
10421
 
10422
        * expmed.c (store_bit_field): Don't make flag_force_mem disable insv
10423
        for memory operands.
10424
 
10425
        * function.c (instantiate_decl): Always store addr back into x.
10426
 
10427
Tue Sep 24 19:37:00 1996  Jim Wilson  
10428
 
10429
        * reload.c (push_secondary_reload): Do strip paradoxical SUBREG
10430
        even if reload_class is CLASS_CANNOT_CHANGE_SIZE.  Change reload_mode
10431
        to mode in SECONDARY_MEMORY_NEEDED and get_secondary_mem calls.
10432
 
10433
        * reload1.c (emit_reload_insns): For output part of RELOAD_OTHER,
10434
        emit after RELOAD_FOR_OUTPUT, in reverse order of reload number,
10435
        but not separately.
10436
 
10437
Tue Sep 24 18:13:07 1996  Michael Meissner  
10438
 
10439
        * expr.c (emit_group_load): Allow target to be smaller than source.
10440
 
10441
Tue Sep 24 17:40:39 1996  Doug Evans  
10442
 
10443
        * m68k/a-ux.h: Renamed from aux.h because of MSDOS.
10444
 
10445
Tue Sep 24 08:33:53 1996  David S. Miller  (davem@caip.rutgers.edu)
10446
 
10447
        * tree.c (copy_node): Fix error in last change.
10448
 
10449
Tue Sep 24 08:29:03 1996  James G. Smith  
10450
 
10451
        * gcc.c (used_arg): Fix multilib_matches parsing to not corrupt
10452
        entry parameter.
10453
 
10454
Tue Sep 24 08:22:18 1996  J"orn Rennecke 
10455
 
10456
        * loop.c (get_condition): Use rtx_equal_p to compare rtx.
10457
 
10458
Tue Sep 24 08:14:01 1996  Christian Iseli  
10459
 
10460
        * integrate.c (expand_inline_function): Avoid creating paradoxical
10461
        subreg wider than BITS_PER_WORD as inlined function result.
10462
 
10463
Tue Sep 24 08:00:15 1996  Paul Eggert  
10464
 
10465
        * cccp.c (struct directive, directive_table, handle_directive):
10466
        pass_thru now 1 for #define and 2 for #pragma.
10467
        (handle_directive): When deciding whether to suppress comment at end
10468
        of directive, ignore tabs and spaces after comment.  Remove redundant
10469
        limit test.  With -dD -C, copy comment when isolating definition.
10470
        (skip_to_end_of_comment): With -C, don't copy newline at end
10471
        of C++ comment.
10472
 
10473
        * fixinc.ptx, fixinc.svr4, fixincludes: Insert newlines just before
10474
        end of 'sed' command strings if last 'sed' command is 'a' or 'i'.
10475
 
10476
Tue Sep 24 07:28:58 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
10477
 
10478
        * toplev.c (PREFERRED_DEBUGGING_TYPE): If no debugging formats are
10479
        supported, set to NO_DEBUG.
10480
        (main): Don't do setting of PREFERRED_DEBUGGING_TYPE here.
10481
 
10482
Mon Sep 23 22:45:15 1996  Sean McNeil  
10483
 
10484
        * rs6000/vxppc.h, sparc/vxsim.h: New files.
10485
        * configure (powerpc-*-vxworks*, sparc-*-vxsim*): New targets.
10486
        * objc/objc.h (BOOL): Define BOOL as int for VxWorks.
10487
 
10488
Mon Sep 23 21:23:27 1996  Klaus K"ampf  (kkaempf@progis.de)
10489
 
10490
        * explow.c (promote_mode, case REFERENCE_TYPE): New case.
10491
 
10492
Mon Sep 23 21:15:43 1996  Andreas Schwab  
10493
 
10494
        * c-decl.c (finish_struct): Check PCC_BITFIELD_TYPE_MATTERS value.
10495
 
10496
        * dbxout.c (dbxout_symbol): Fix forgotten case in last change:
10497
        check DECL_ARTIFICIAL also when using the short cut way.
10498
 
10499
Mon Sep 23 15:55:24 1996  David S. Miller  (davem@caip.rutgers.edu)
10500
 
10501
        * tree.c (copy_node): Abort if don't know size of node.
10502
 
10503
        * tree.c (build1): Clean up initialization of OBSTACK.
10504
 
10505
Mon Sep 23 15:35:33 1996  Jason Merrill  
10506
 
10507
        * Makefile.in (stmp-multilib): Depend on $(LANG_LIB2FUNCS).
10508
 
10509
        * dbxout.c (dbxout_function): Don't check DECL_SECTION_NAME before
10510
        calling dbxout_function_end.
10511
 
10512
Mon Sep 23 14:41:12 1996  J"orn Rennecke 
10513
 
10514
        * combine.c (can_combine_p): Even if SMALL_REGISTER_CLASSES,
10515
        know lifetime not extended if all_adjacent set.
10516
 
10517
        * stmt.c (expand_asm_operands): Handle '+' constraint.
10518
        * cse.c (fold_rtx): Fold inside ASM_OPERANDS.
10519
 
10520
        * expr.c (expand_increment): If postincrement for MEM can't use add
10521
        directly, load address in reg and enqueue increment and store of reg.
10522
 
10523
        * loop.c (check_dbra_loop): Don't assume label must be second part of
10524
        if_then_else in condjump.
10525
 
10526
        * jump.c (jump_optimize): In no-nop move deletion, don't test
10527
        PRESERVE_DEATH_INFO_REGNO_P; instead test if optimization is performed.
10528
        Check for REG_UNUSED note on to-be deleted insn before searching for
10529
        preceding instruction to delete note from.
10530
        If PRESERVE_DEATH_INFO_REGNO_P is true for SREG, replace INSN with USE.
10531
 
10532
        * reload1.c (reload): Initialize the previous_offset fields
10533
        in reg_eliminate before calling setup_save_areas.
10534
 
10535
        * reload1.c (emit_reload_insns): Declare and set this_reload_insn.
10536
 
10537
        * expr.c (var_rtx): New function.
10538
        (expand_expr, case COND_EXPR): Also use target if same as singleton.
10539
 
10540
Mon Sep 23 14:22:34 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
10541
 
10542
        * recog.c (constrain_operands): Don't test clobbered constraints.
10543
 
10544
        * reload1.c (emit_reload_insns): For output part of RELOAD_OTHER,
10545
        put in front of anything previous for that output, but not separately.
10546
 
10547
Sun Sep 22 21:06:46 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
10548
 
10549
        * c-common.c (decl_attribtes, case A_SECTION): Allow for static
10550
        local variable.
10551
 
10552
Sun Sep 22 11:30:27 1996  Christian Iseli  (christian.iseli@di.epfl.ch)
10553
 
10554
        * expr.c (convert_move): Replace explicit checks for FP extend ops
10555
        with use of can_extend_p.
10556
        Add missing tests for FP trunc operations.
10557
 
10558
Sun Sep 22 11:20:02 1996  Pat Rankin  
10559
 
10560
        * dwarfout.c (DWARF_VERSION): Define as 1 if not already defined.
10561
        * dwarf2out.c (DWARF_VERSION): Likewise.
10562
 
10563
Sun Sep 22 11:12:20 1996  Joern Rennecke 
10564
 
10565
        * c-decl.c (pushdecl): Check new declaration actually conflicts before
10566
        warning about implicit external vs. static declarations.
10567
 
10568
        * loop.c (combine_givs): Improve combining DEST_REG giv with only use.
10569
 
10570
Sun Sep 22 10:50:03 1996  Scott Christley 
10571
 
10572
        * Create consistent mechanism for memory allocation and release
10573
        so that garbage collection routines can be easily subsititued
10574
        for the ANSI standard malloc, realloc, free, etc.
10575
        * objc/archive.c: Replace use of __objc_xmalloc and free
10576
        with objc_malloc and objc_free.
10577
        * objc/hash.c: Replace use of __objc_xcalloc and free
10578
        with objc_calloc and objc_free.
10579
        * objc/init.c: Replace use of free with objc_free.
10580
        * objc/misc.c (objc_malloc): Renamed from __objc_xmalloc.
10581
        (objc_realloc): Renamed from __objc_realloc.
10582
        (objc_atomic_malloc, objc_valloc): New functions.
10583
        (objc_calloc): Renamed from __objc_calloc.
10584
        (objc_free): New function.
10585
        * objc/objc-api.h (_objc_malloc): New function pointer.
10586
        (_objc_atomic_malloc, _objc_valloc): Likewise.
10587
        (_objc_realloc, _objc_calloc, _objc_free): Likewise
10588
        * objc/objc-list.h: Replace use of __obj_xmalloc and free
10589
        with objc_malloc and objc_free.
10590
        * objc/objects.c: Likewise.
10591
        * objc/sarray.c: Replace use of __objc_xmalloc and free
10592
        with objc_malloc and objc_free.
10593
        * objc/sarray.h (__objc_xmalloc, __objc_xrealloc): Delete.
10594
        * objc/selector.c: Replace use of __objc_xcalloc, __objc_xrealloc,
10595
        and __objc_xmalloc with objc_calloc, objc_realloc, and objc_malloc.
10596
        * objc/thr-decosf1.c: Replace use of __objc_xmalloc and free
10597
        with objc_malloc and objc_free.
10598
        * objc/thr-irix.c, objc/thr-mach.c, objc/thr-os2.c: Likewise.
10599
        * objc/thr-posix.c, objc/thr-pthreads, objc/thr-single: Likewise.
10600
        * objc/thr-solaris.c, objc/thr-win32.c, objc/thr.c: Likewise.
10601
 
10602
Sun Sep 22 05:26:01 1996  Jason Merrill  
10603
 
10604
        * configure: Set up LANG_LIB2FUNCS and LANG_EXTRA_HEADERS.
10605
        * Makefile.in (libgcc2.a): Include LANG_LIB2FUNCS.
10606
        (USER_H): Add LANG_EXTRA_HEADERS.
10607
        (LANG_LIB2FUNCS): New macro.
10608
        (LANG_EXTRA_HEADERS): New macro.
10609
        (stmp-int-hdrs): Don't hardwire ginclude.
10610
        (stamp-objlist): Don't depend on Makefile.
10611
 
10612
Sat Sep 21 18:00:10 1996  Stephen L Moshier  (moshier@world.std.com)
10613
 
10614
        * alpha.md (alpha_swapped_comparison_operator pattern): Fix asm
10615
        operand typo in last change.
10616
 
10617
Sat Sep 21 07:11:51 1996  J"orn Rennecke 
10618
 
10619
        * defaults.h (ASM_OUTPUT_LABELREF): Provide default definition
10620
        if not already defined.
10621
        * 1750a.h (USER_LABEL_PREFIX): Define instead of ASM_OUTPUT_LABELREF.
10622
        * a29k.h, alpha.h, convex.h, dsp16xx.h, elxsi.h, fx80.h: Likewise.
10623
        * gmicro.h, h8300.h, i386/sun386.h, i860.h, i960.h, ns32k.h: Likewise.
10624
        * pdp11.h, pyr.h, romp.h, sh.h, sparc.h, spur.h, tahoe.h: Likewise.
10625
        * vax.h, we32k.h: Likewise.
10626
        * i386/att.h (USER_LABEL_PREFIX): Redefine, not ASM_OUTPUT_LABELREF.
10627
        * i386/bsd.h, i386/lynx.h, i386/sco5.h, i860/fx2800.h: Likewise.
10628
        * m68k/3b1.h, m68k/mot3300.h, m68k/tower-as.h, m68k/tower.h: Likewise.
10629
        * ptx4.h, sparc/pbd.h, svr3.h, svr4.h: Likewise.
10630
        * i386/osfrose.h, m88k.h (USER_LABEL_PREFIX): Redefine.
10631
        * nextstep.h (USER_LABEL_PREFIX): Redefine.
10632
        (ASM_OUTPUT_LABELREF) Use USER_LABEL_PREFIX.
10633
        * arm/aout.h, mips.h (ASM_OUTPUT_LABELREF): Delete.
10634
        * rs6000/lynx.h (USER_LABEL_PREFIX): Undefine.
10635
        * rs6000.h, rs6000/win-nt.h (USER_LABEL_PREFIX): Define.
10636
 
10637
Thu Sep 19 00:05:53 1996  Jason Merrill  
10638
 
10639
        * configure: Move i[3456]86-*-gnu* case after linux and don't
10640
        treat linux-gnu like other gnu systems.
10641
 
10642
Wed Sep 18 20:51:09 1996  Jason Merrill  
10643
 
10644
        * cplus-dem.c (demangle_template): Fix handling of address args.
10645
        (gnu_special): Handle type_info stuff.
10646
 
10647
Wed Sep 18 17:57:55 1996  Patrik Lantto (patrik@opq.se)
10648
 
10649
        * jump.c (jump_optimize): Insert conditional move after jump
10650
        insn instead of before.
10651
 
10652
Wed Sep 18 17:33:36 1996  Richard Henderson  
10653
 
10654
        * alpha.h (PREDICATE_CODES): Add alpha_swapped_comparison_operator.
10655
        * alpha.c (alpha_swapped_comparison_operator): New function.
10656
        (print_operand): Support unsigned codes for %D, %c, and %d.
10657
        * alpha.md: Add pattern for b%c with swapped comparisons with 0.
10658
        Delete three unnamed cmp patterns that are strict subsets of it.
10659
 
10660
        * alpha.c (alpha_emit_set_long_const): Save one instruction
10661
        when -O2 and high word == low word.
10662
 
10663
Tue Sep 17 22:46:15 1996  Jason Merrill  
10664
 
10665
        * i386/unix.h (ASM_OUTPUT_MI_THUNK): Handle functions
10666
        returning an aggregate.
10667
 
10668
        * varasm.c (supports_one_only): New function.
10669
        (make_decl_one_only): Likewise.
10670
        * svr4.h (MAKE_DECL_ONE_ONLY): Define.
10671
        * tree.h (DECL_ONE_ONLY): New macro.
10672
 
10673
        * varasm.c (assemble_variable): Fix setting of
10674
        first_global_object_name.
10675
        (assemble_start_function): Likewise.
10676
 
10677
Tue Sep 17 19:42:39 1996  Doug Evans  
10678
 
10679
        * i386/t-cygwin32 (winnt.o): Compile properly.
10680
 
10681
Tue Sep 17 15:47:20 1996  Ian Lance Taylor  
10682
 
10683
        * Add support for R5000, and finish MIPS4 support.
10684
        * mips.h (enum processor_type): Add PROCESSOR_R5000.
10685
        (gen_conditional_move): Declare.
10686
        (CONDITIONAL_REGISTER_USAGE): Mark ST_REGS as fixed if not
10687
        HARD_FLOAT, or if mips_isa < 4.
10688
        (FIRST_PSEUDO_REGISTER): Change to 76.
10689
        (FIXED_REGISTERS): Add condition code registers.
10690
        (CALL_USED_REGISTERS): Likewise.
10691
        (ST_REG_LAST): Change to 74.
10692
        (RAP_REG_NUM): Change to 75.
10693
        (ST_REG_P): Look for any condition code register.
10694
        (REG_CLASS_CONTENTS): Update for new condition code registers.
10695
        (RTX_COSTS): Add cases for R5000.
10696
        (REGISTER_MOVE_COST): Add cases for condition code registers.
10697
        (PREDICATE_CODES): Add "const_float_1_operand".
10698
        (EXTRA_CC_{MODES,NAME}, SELECT_CC_MODE): Remove.
10699
        (REGISTER_NAMES): Add entries for new condition code registers.
10700
        (DEBUG_REGISTER_NAMES): Likewise.
10701
        (ADDITIONAL_REGISTER_NAMES): Remove FPSW_REGNUM.
10702
        * mips.md (cpu attribute): Add R5000.
10703
        (function units): Add cases for the R5000.
10704
        ({madd,msub,nmadd,nmsub}.d): Only available if TARGET_DOUBLE_FLOAT.
10705
        (recip.d, recip.s, rsqrt.d, rsqrt.s): New define_insn patterns.
10706
        (movcc): New pattern to move condition code values.
10707
        (reload_incc, reload_out_cc): New define_expand patterns.
10708
        (lwxc1, ldxc1, swxc1, sdxc1): Several new define_insn patterns.
10709
        (various): Replace CC_FP with CC.
10710
        (branch_fp_ne, branch_fp_eq): Match any condition code register.
10711
        (branch_fp_ne_rev, branch_fp_eq_rev): Remove.
10712
        (seq_df, slt_df, sle_df): Match any condition code register.
10713
        (sgt_df, sge_df, seq_sf, slt_sf, sle_sf, sgt_sf, sge_sf): Likewise.
10714
        (sne_df, sne_sf): Remove.
10715
        (FP conditional moves): Match any condition code register.
10716
        Require TARGET_HARD_FLOAT and, if appropriate, TARGET_DOUBLE_FLOAT.
10717
        (movsicc): Just call gen_conditional_move.
10718
        (movdicc, movsfcc, movdfcc): New define_expand patterns.
10719
        * mips.c (mips_reg_names): Add condition code registers.
10720
        (mips_sw_reg_names, mips_regno_to_class): Likewise.
10721
        (const_float_1_operand): New function.
10722
        (mips_move_1word): Treat CCmode as SImode.  Handle move from
10723
        ST_REG to GR_REG if mips_isa >= 4.  Only permit move from GR_REG
10724
        to ST_REG is mips_isa < 4.
10725
        (gen_conditional_branch): Rewrite.  Just use CCmode, not extra
10726
        condition modes.
10727
        (gen_conditional_move): New function.
10728
        (override_options): Recognize vr5000.  Look for just CCmode, not
10729
        extra condition modes.  If mips_isa >= 4, permit CCmode in GR_REGS
10730
        and FP_REGS.
10731
        (print_operand): Handle %Z.
10732
        (mips_secondary_reload_class): Require a data register to copy a
10733
        value out of a condition code register.  Require a floating point
10734
        register to copy a value into a condition code register.
10735
 
10736
Tue Sep 17 15:10:29 1996  Joern Rennecke 
10737
 
10738
        * sh.md: New define_splits to recombine output from LEGITIMIZE_ADDRESS.
10739
        * sh.h (LEGITIMIZE_ADDRESS): Typo fixes (x -> X).
10740
 
10741
Mon Sep 16 23:00:35 1996  Jim Wilson  
10742
 
10743
        * configure (build_broken_install): Renamed from host_broken_install.
10744
        Set from build not host.
10745
        (build_install_headers): Renamed from host_install_headers.  Set from
10746
        build not host.
10747
 
10748
Mon Sep 16 22:38:55 1996  Stu Grossman  (grossman@critters.cygnus.com)
10749
 
10750
        * configure (m68k-*-coff*): Use dbx debug format by default.
10751
        * gcc.c (link_command_spec): Move -T to end of link command line.
10752
        * m68k/m68kemb.h (LINK_SPEC, SUBTARTGET_SWITCHES): Delete.
10753
        (LIB_SPEC): Define to just -lc.
10754
        (STARTFILE_SPEC): Define to empty.
10755
 
10756
Mon Sep 16 13:12:27 1996  J"orn Rennecke 
10757
 
10758
        * sh.c (ext_shift_insns, ext_shift_amounts): New arrays.
10759
        (gen_ashift_hi, gen_shifty_hi_op, shl_and_kind): New functions.
10760
        (rtx_equal_function_value_matters): Declare.
10761
        (shl_and_length, shl_and_src_length, gen_shl_and): New functions.
10762
        (shl_sext_kind, shl_sext_length, gen_shl_sext): Likewise.
10763
        * sh.md (ashlhi3_k, lshrhi3_m): New patterns.
10764
        (lshrhi3, shl_sext_ext, shl_sext_sub):
10765
        New insn patterns with matching define_split.
10766
        (and_shl_scratch): Likewise, but also with unnamed variants.
10767
 
10768
Sat Sep 14 17:05:07 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
10769
 
10770
        * gcc.c (convert_filename): Don't start looking for '.' until
10771
        after last directory separator.
10772
 
10773
        * i386.md (clrstrsi): Correct check for constant size.
10774
 
10775
        * Based on code by sac@cygnus.com.
10776
        * i386/cygwin32.h (CHECK_STACK_LIMIT): Make consistent with MD file.
10777
        * i386.c ({function,ix86_expand}_prologue): Use __alloca to allocate
10778
        stack if desired and beyond CHECK_STACK_LIMIT in size.
10779
        * i386.h ({MASK,TARGET}_STACK_PROBE): New macros.
10780
        (TARGET_SWITCHES): Add -mstack-arg-probe.
10781
        * i386.md (allocate_stack{,_worker}): New patterns.
10782
 
10783
Fri Sep 13 18:23:18 1996  Joel Sherrill 
10784
 
10785
        * sparc/lb1spc.asm (.div, .rem): Fixed typo so sign is returned
10786
        correctly.  TOPBITS was 2 and should have been 4.
10787
 
10788
Thu Sep 12 21:51:56 1996  Jim Wilson  
10789
 
10790
        * mips.md (call_value_multiple_internal0): Change from define_insn to
10791
        define_expand.
10792
 
10793
Thu Sep 12 19:22:14 1996  Doug Evans  
10794
 
10795
        * sparc.md (move_pic_label_si): Operand one is label_ref now.
10796
        * sparc.c (emit_move_sequence): Pass label_ref to
10797
        gen_move_pic_label_si to not lose flags.
10798
 
10799
Wed Sep 11 12:10:08 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
10800
 
10801
        * Makefile.in (GCC_PASSES): Add $(exeext) to names.
10802
        (FLAGS_TO_PASS): Add CLIB.
10803
        (c-pragma.o): Add dependencies on except.h, function.h, defaults.h.
10804
 
10805
Tue Sep 10 22:25:03 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
10806
 
10807
        * configure (i[3456]86-*-cygwin32): Use xm-cygwin32.h and xm-i386.h.
10808
        Set fixincludes to Makefile.in and objc_thread_file to win32.
10809
        * i386/xm-cywin32.h: Don't include xm-i386.h.
10810
        * i386/x-cygwin32, rs6000/x-cygwin32 (STMP_FIXPROTO, exeext): New defs.
10811
 
10812
        * gcc.c (HAVE_EXECUTABLE_SUFFIX): New macro.
10813
        (convert_filename): New function.
10814
        (process_command, case 'o'): Call it.
10815
        (process_command, default case): Likewise; delete old code.
10816
 
10817
Tue Sep 10 21:08:43 1996  Torbjorn Granlund  
10818
 
10819
        * i386.md (decrement_and_branch_until_zero matcher): Fix typo.
10820
 
10821
Tue Sep 10 19:04:19 1996  Jim Wilson  
10822
 
10823
        * mips.c (mips_move_2words): Rewrite 32 bit shifts as 16 bit shifts.
10824
 
10825
Tue Sep 10 10:39:07 1996  Jeffrey A Law  (law@cygnus.com)
10826
 
10827
        * pa/pa-gas.h (DBX_DEBUGGING_INFO): Remove all #define
10828
        and #undef statements related to debugging information.
10829
        * pa/pa-hpux.h, pa-hpux7.h: Likewise
10830
        * pa.c (override_options): Disable "-g" and issue a warning
10831
        if it's used when !TARGET_GAS.
10832
 
10833
Mon Sep  9 17:57:49 1996  Doug Evans  
10834
 
10835
        * sparc.h ({MASK,TARGET}_FPU_SET): Define.
10836
        (TARGET_SWITCHES): Record if -m{,no-}fpu passed.
10837
        * sparc.c (sparc_override_options): Don't clobber explicit
10838
        -m{,no-}fpu setting with cpu default.
10839
 
10840
Mon Sep  9 15:57:57 1996  Joel Sherrill  
10841
 
10842
        * configure (mips64orion-*-rtems*): New target.
10843
        * mips/rtems64.h: New file.
10844
 
10845
Sat Sep  7 22:07:53 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
10846
 
10847
        * expr.c (store_field): If storing a record on big endian targets,
10848
        set up so we store the high-order bits.
10849
        (expand_expr, case COMPONENT_REF): Likewise for loads.
10850
 
10851
Thu Sep  5 14:59:47 1996  J"orn Rennecke 
10852
 
10853
        * sh.h (LEGITIMIZE_ADDRESS): Define nonempty.
10854
 
10855
Thu Sep  5 10:43:36 1996  Jeffrey A Law  (law@cygnus.com)
10856
 
10857
        * pa.md (mov{si,di,sf}): Handle 'R' constraints as needed.
10858
 
10859
Wed Sep  4 17:13:28 1996  Bob Manson  
10860
 
10861
        * except.c: (add_partial_entry): New routine.
10862
        (expand_start_try_stmts): Moved from cp/except.c.
10863
        (expand_start_all_catch): Move functionality of expand_end_try_stmts
10864
        here.
10865
 
10866
Wed Sep  4 12:30:02 1996  Mike Stump  
10867
 
10868
        * except.c (emit_unwinder): Ensure CLOBBER and USE insns come last,
10869
        if present.
10870
 
10871
Tue Sep  3 12:01:43 1996  Ian Lance Taylor  
10872
 
10873
        * configure (sh-*-elf*): New target.
10874
        * sh/elf.h: New file.
10875
 
10876
Fri Aug 30 17:52:26 1996  Jim Wilson  
10877
 
10878
        * dwarf2out.c (gen_formal_types_die): Delete extra argument from
10879
        gen_type_die call.
10880
 
10881
Fri Aug 30 15:40:40 1996  James G. Smith  
10882
 
10883
        * mips/elf64.h: Allow MULTILIB_DEFAULTS to be defined
10884
        before this file is included.
10885
 
10886
Fri Aug 30 15:00:06 1996  Stan Cox  
10887
 
10888
        * i386.md: (movsicc,movhicc): Allow reload from memory.
10889
 
10890
        * i386.c (override_options): Don't thread the prologue if profiling.
10891
 
10892
Fri Aug 30 15:00:06 1996  James Hawtin  
10893
 
10894
        * i386/t-sol2 (gcrt1.o): Added for profiling Solaris 2
10895
        * i386/sol2.h (STARTFILE_SPEC): New.
10896
        * i386/gmon-sol2.c, i386/sol2-gc1.asm: New files.
10897
 
10898
Thu Aug 29 22:08:03 1996  Jim Wilson  
10899
 
10900
        * except.c (add_eh_table_entry): Multiply realloc size by sizeof int.
10901
 
10902
Thu Aug 29 15:15:31 1996  Jeffrey A Law  (law@cygnus.com)
10903
 
10904
        * pa.md (fcmp patterns): Don't try to eliminate useless add,tr
10905
        insns here.
10906
        * pa.c (pa_reorg): Do elimination of useless add,tr insns here instead.
10907
        (print_operand, case 'y'): Remove this code.
10908
 
10909
Wed Aug 28 16:19:34 1996  Doug Evans  
10910
 
10911
        * toplev.c (print_single_switch): Ultrix fprintf returns 0 for success.
10912
 
10913
        * toplev.c (main): Rewrite -g parsing.
10914
 
10915
Mon Aug 26 16:15:49 1996  Fred Fish  
10916
 
10917
        * Makefile.in (objc-parse.y): Fix typo in name of temp file.
10918
 
10919
Mon Aug 26 14:08:37 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
10920
 
10921
        * function.c (mark_all_temps_used): Fix error in last change.
10922
 
10923
Sun Aug 25 22:27:19 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
10924
 
10925
        * function.c (mark_all_temps_used): New function.
10926
 
10927
Fri Aug 23 11:34:57 1996  Michael Meissner  
10928
 
10929
        * rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Fixes to make -fPIC
10930
        really the same as -mrelocatable.
10931
        (ASM_SPEC): Pass -K PIC to the assembler if -fpic/-fPIC.
10932
 
10933
        * rs6000/sol2.h (ASM_CPU_SPEC): Remove passing -K PIC to the
10934
        assembler if -fpic/-fPIC.
10935
 
10936
        * bi-{arity,opcode,opname}.c (fancy_abort): Define, so that
10937
        -Dabort=fancy_abort works again.
10938
 
10939
Thu Aug 22 11:39:34 1996  Michael Meissner  
10940
 
10941
        * rs6000/t-ppcgas ({stmp,install}-crt): Only build and install the
10942
        eabi ecrt[in].o object files in eabi multilib directories, only
10943
        build and install the solaris scrt[in0].o object files in solaris
10944
        directories.
10945
        (MULTILIB_MATCHES): Remove matches for solaris, linux to other
10946
        switches.
10947
 
10948
Tue Aug 20 18:49:55 1996  Michael Meissner  
10949
 
10950
        * rs6000/sysv4.h (ASM_OUTPUT_SECTION_NAME): If -mrelocatable or
10951
        -mrelocatable-lib, don't make read-only sections.
10952
 
10953
Mon Aug 19 18:42:13 1996  Doug Evans  
10954
 
10955
        * sparc.h ({MASK,TARGET}_LITTLE_ENDIAN): Define.
10956
        (LIBGCC2_WORDS_BIG_ENDIAN): Add little endian support.
10957
        * sparc/sp64-elf.h ({CPP,ASM,LINK}_SPEC): Add little endian support.
10958
        (SUBTARGET_SWITCHES): Recognize -m{big,little}-endian.
10959
        ({BYTES,WORDS}_BIG_ENDIAN): Likewise.
10960
        * sparc/splet.h (SUBTARGET_SWITCHES): Recognize -m{big,little}-endian.
10961
        ({CPP,ASM,LINK}_SPEC): Add little endian support.
10962
        ({BYTES,WORDS}_BIG_ENDIAN): Likewise.
10963
        * sparc/t-splet (MULTILIB_{OPTIONS,DIRNAMES}): Likewise.
10964
 
10965
        * sparc/lynx-ng.h (CPP_SPEC): Use %(cpp_cpu).
10966
 
10967
Sat Aug 17 15:23:39 1996  Geoffrey Noer  
10968
 
10969
        * i386/cygwin32.h (CPP_PREDEFINES): Define _WIN32, not WIN32.
10970
        Define only __CYGWIN32__, not CYGWIN32 or __CYGWIN32.
10971
        * rs6000/cygwin32.h (CPP_PREDEFINES): Likewise.
10972
        * cccp.c (absolute_filename): Drive specifiers make the pathname
10973
        absolute in cygwin32.
10974
        * choose-temp.c: Delete !defined(_WIN32) condition when including
10975
        sys/file.h (NO_SYS_FILE_H is still used).
10976
        * gcc.c: Change ifndef _WIN32 to ifndef NO_SYS_FILE_H when deciding
10977
        whether to include sys/file.h.
10978
        (execute): -pipe is supported for cygwin32.
10979
        * getopt.c: Change win32 test from WIN32 to _WIN32.
10980
        * pexecute.c: Update test for win32 (&& ! cygwin32).
10981
        * protoize.c: Likewise.
10982
        (kill): Delete decl.
10983
        * toplev.c: Update test for win32 (&& ! cygwin32).
10984
        * ginclude/stdarg.h: Change __WIN32__ to _WIN32.
10985
        * ginclude/varargs.h: Likewise.
10986
        * ginclude/va-ppc.h: Likewise.
10987
 
10988
Fri Aug 16 16:02:09 1996  Michael Meissner  
10989
 
10990
        * rs6000.c (rs6000_got_register): Make sure pic_offset_table_rtx
10991
        allocated, even if current_function_uses_pic_offset_table set.
10992
 
10993
Fri Aug 16 15:56:04 1996  J. Kean Johnston  
10994
 
10995
        * i386/sco5.h (CLASS_LIKELY_SPILLED_P): Deleted.
10996
        (STARTFILE_SPEC): Insert crtbegin.o in correct place, and correct
10997
        versions of values-X?.o.
10998
        (SWITCH_TAKES_ARG): Extend DEFAULT_SWITCH_TAKES_ARG, not replace.
10999
        (CPP_SPEC): Add -Di386, and correctly include extra directories.
11000
        Define HAVE_ATEXIT in ELF mode for global destructors.
11001
 
11002
Thu Aug 15 16:42:44 1996  Doug Evans  
11003
 
11004
        * sparc.c (label_ref_operand): New function.
11005
        (emit_move_sequence): Pass label_ref to gen_move_label_di to not
11006
        lose flags.
11007
        * sparc.md (move_label_di): Operand one is label_ref now.
11008
        * genattrtab.c (write_test_expr): Allow label_ref in match_dup.
11009
 
11010
        * sys-protos.h (gethostid): Make return type `int' ifdef __alpha__.
11011
        * gen-protos.c: Delete support for SYS_PROTO_OVERRIDES.
11012
        * alpha.h (SYS_PROTO_OVERRIDES): Delete.
11013
 
11014
Thu Aug 15 17:36:09 1996  Mike Stump  
11015
 
11016
        * libgcc2.c (__throw): New routine.
11017
        (__eh_pc): New data object for exception handling.
11018
 
11019
        * except.c (eh_saved_pc): New object so we can call
11020
        assemble_external.
11021
        (expand_internal_throw_indirect): Call assemble_external for __eh_pc.
11022
        (end_eh_unwinder): Likewise.
11023
        (init_eh): Initialize eh_saved_pc.
11024
 
11025
Thu Aug 15 13:02:42 1996  Mike Stump  
11026
 
11027
        * arm.h (RETURN_ADDR_RTX): Define.
11028
 
11029
        * expr.c (expand_builtin_return_addr): Fix order of parameters.
11030
 
11031
Wed Aug 14 19:48:00 1996  Torbjorn Granlund  
11032
 
11033
        * stmt.c (expand_return): In code for doing scc with jumps,
11034
        stick to default handling if we have corresponding scc pattern.
11035
 
11036
Wed Aug 14 10:31:28 1996  Jeffrey A Law  (law@cygnus.com)
11037
 
11038
        * pa.c (override_options): Treat TARGET_FAST_INDIRECT_CALLS
11039
        just like TARGET_NO_SPACE_REGS.
11040
        (output_millicode_call): Likewise.
11041
        * pa.h (TARGET_FAST_INDIRECT_CALLS): Define.
11042
        (TARGET_SWITCHES): Add "fast-indirect-calls".
11043
        * pa.md (TARGET_FAST_INDIRECT_CALLS): Treat just like
11044
        TARGET_NO_SPACE_REGS in various call/millicode call patterns.
11045
 
11046
        * pa.c (print_operand): Use the right comparison operator
11047
        for reversed EQ and NE comparisons.
11048
 
11049
        * pa.h (OUTPUT_MI_THUNK): Define.
11050
 
11051
Wed Aug 14 11:40:49 1996  Michael Meissner  
11052
 
11053
        * ginclude/va-ppc.h: Add Windows NT support.
11054
        * ginclude/{varargs,stdarg}.h: For PowerPC Windows NT, include
11055
        va-ppc.h, instead of using the default handling.
11056
 
11057
Tue Aug 13 18:30:10 1996  Ian Lance Taylor  
11058
 
11059
        * fixincludes: Remove duplicate volatile from sig_atomic_t in AIX
11060
        sys/signal.h
11061
 
11062
Tue Aug 13 16:51:37 1996  Jim Wilson  
11063
 
11064
        * i960-coff.h (LIB_SPEC): Undef.
11065
 
11066
        * sh.h (PROFILE_BEFORE_PROLOGUE): Define.
11067
 
11068
Tue Aug 13 11:36:02 1996  Michael Meissner  
11069
 
11070
        * gcc.c (set_spec,process_command): Dump and load the compiler
11071
        version number in the specs file.
11072
 
11073
        * rs6000.c (output_toc): Fix last change, so that it doesn't use
11074
        an uninitialized variable if -mminimal-toc.
11075
        (output_prolog): Increment probe_labelno after last use.
11076
 
11077
        * rs6000/t-ppcgas (MULTILIB_*): Build far fewer multilib
11078
        libraries.  Build all libraries with -mrelocatable-lib and
11079
        -mno-eabi.  Build special GNU/Linux and Solaris libraries.
11080
        * rs6000/eabi{,aix,le}.h (MULTILIB_DEFAULTS): Adapt to changes in
11081
        t-ppcgas.
11082
        * rs6000/(linux,sol2,sysv4,sysv4le).h (MULTILIB_DEFAULTS): Likewise.
11083
 
11084
Tue Aug 13 11:36:02 1996  Jeffrey A Law  (law@cygnus.com)
11085
 
11086
        * rs6000.c (handle_mac_pragma): Initialize "psize".
11087
 
11088
Mon Aug 12 18:14:35 1996  Jim Wilson  
11089
 
11090
        * gcc.c (used_arg): Initialize cnt to zero.
11091
 
11092
Mon Aug 12 14:03:16 1996  Jim Wilson  
11093
 
11094
        From Mike Stump:
11095
        * sh.c (regno_reg_class): Change entry 23 from NO_REGS to GENERAL_REGS.
11096
        (initial_elimination_offset): New variable live_regs_mask.  Add
11097
        code to handle RETURN_ADDRESS_POINTER_REGNUM.
11098
        * sh.h (RAP_REG, RETURN_ADDRESS_POINTER_REGNUM): Define.
11099
        (ELIMINABLE_REGS): Add RETURN_ADDRESS_POINTER_REGNUM support.
11100
        (RETURN_ADDR_RTX): Define.
11101
        (REGISTER_NAMES): Add rap.
11102
 
11103
        * iris5.h (DOLLARS_IN_IDENTIFIERS): Undefine.
11104
 
11105
        * m68kemb.h (LIB_SPEC): Always emit -lc.
11106
 
11107
Mon Aug 12 12:30:25 1996  Michael Meissner  
11108
 
11109
        * rs6000.c (rs6000_got_register): Test variable
11110
        current_function_uses_pic_offset_table to see whether or not a GOT
11111
        register has been created already.
11112
 
11113
        * Makefile.in (multilib.h): Move to stamp-mlib.
11114
        (stamp-mlib): Use move-if-change to conditionally update
11115
        multilib.h.  Pass MULTILIB_EXTRA_OPTS to genmultilib.
11116
        (STAGESTUFF): Add stamp-mlib.
11117
        (mostlyclean): Delete tmp-mlib.h.
11118
 
11119
        * genmultilib: Take fifth argument for options to all multilib builds.
11120
        Restructure output so we pass synonym switches and extra arguments
11121
        separately, and not exponentially slow down genmultilib.
11122
 
11123
        * gcc.c (toplevel): Rearrange multilib support so we support passing
11124
        synonyms separately from normal switches.  Add support for passing
11125
        additional switches for all multilib builds.  Dump and restore value
11126
        of MULTILIB_DEFAULTS.
11127
        (setspec, process_command, main): Likewise.
11128
        (used_arg,default_arg,print_multilib_info): Likewise.
11129
 
11130
Mon Aug 12 07:46:47 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
11131
 
11132
        * expr.c (expand_builtin, case BUILT_IN_SETJMP): Add test
11133
        and call for nonlocal_goto_receiver pattern.
11134
        * stmt.c (expand_end_bindings): Likewise.
11135
 
11136
        * stmt.c (expand_asm_operands): Fix off-by-one error when
11137
        scanning constraints.
11138
 
11139
Sun Aug 11 22:48:02 1996  Jason Merrill  
11140
 
11141
        * expr.c (store_expr): Handle COND_EXPR cleanups like expand_expr.
11142
 
11143
Sun Aug 11 22:42:36 1996  J"orn Rennecke  
11144
 
11145
        * optabs.c (expand_abs): When OP0 and TARGET are the same
11146
        pseudo register, it is safe to use TARGET.
11147
 
11148
        * local-alloc.c (reg_equiv_replace): New variable.
11149
        (update_equiv_regs): Set reg_equiv_replacement for all REG_EQUIV
11150
        notes encountered or generated.
11151
 
11152
Sun Aug 11 22:27:14 1996  Scott Christley 
11153
 
11154
        * objc/hash.c (hash_is_key_in_hash): Function somehow got lost.
11155
 
11156
Sun Aug 11 21:43:15 1996  Andreas Schwab  
11157
 
11158
        * ginclude/stddef.h (__need_wint_t): Move #undef to right place.
11159
 
11160
Sun Aug 11 17:46:22 1996  J"orn Rennecke 
11161
 
11162
        * c-decl.c (finish_struct): If pedantic, also warn if struct/union
11163
        has no named members.
11164
 
11165
Sun Aug 11 17:32:52 1996  Joel Sherrill 
11166
 
11167
        * i386/rtems.h: Renamed from i386/i386-rtems.h
11168
        * i960/rtems.h: Renamed from i960/i960-rtems.h
11169
        * m68k/rtems.h: Renamed from m68k/m68k-rtems.h
11170
        * rs6000/rtems.h: Renamed from rs6000/powerpc-rtems.h
11171
        * sparc/rtems.h: Renamed from sparc/sparc-rtems.h
11172
        * config/t-rtems: New file.
11173
        * configure (i386-*-rtems*): Added t-rtems to tmake_file.
11174
        Renamed i386/i386-rtems.h to i386/rtems.h.
11175
        (i960-*-rtems*): Added t-rtems to tmake_file.
11176
        Renamed i960/i960-rtems.h to i960/rtems.h.
11177
        Added original tm.h file and dbxcoff.h.
11178
        (m68k-*-rtems*): Added t-rtems to tmake_file.
11179
        Renamed m68k/m68k-rtems.h to m68k/rtems.h.
11180
        (powerpc-*-rtems*): Added t-rtems to tmake_file.
11181
        Renamed rs6000/powerpc-rtems.h to rs6000/rtems.h.
11182
        (sparc-*-rtems*): Added t-rtems to tmake_file.
11183
        Renamed sparc/sparc-rtems.h to sparc/rtems.h.
11184
 
11185
Fri Aug  9 16:05:13 1996  Stan Cox  
11186
 
11187
        * i386.md: (untyped_call) Avoid SIGFPE.
11188
 
11189
        * i386.c (output_float_compare): Don't try to initialize
11190
        aggregate local variable; use assignment statements instead.
11191
 
11192
        * i386.h (RTX_COSTS): rtx_cost should pass two parameters.
11193
 
11194
        * i386/go32.h (ASM_OUTPUT_SECTION_NAME): New.
11195
 
11196
Fri Aug  9 16:00:11 1996  Jim Wilson  
11197
 
11198
        * winnt.c (gen_stdcall_suffix): Round parameter size to PARM_BOUNDARY.
11199
 
11200
Thu Aug  8 17:42:35 1996  Michael Meissner  
11201
 
11202
        * rs6000.c (output_toc): If we are emitting a reference to a
11203
        vtable, don't put in the section name, just use the symbol.
11204
 
11205
Wed Aug  7 19:03:36 1996  Jim Wilson  
11206
 
11207
        * sh.md (casesi_jump): New pattern.
11208
        (casesi): Generate RTL to match it.
11209
 
11210
Wed Aug  7 14:10:07 1996  Jason Merrill  
11211
 
11212
        * ginclude/stddef.h (NULL): Use __null for G++.
11213
 
11214
Tue Aug  6 17:37:53 1996  Michael Meissner  
11215
 
11216
        * rs6000/sysv4.h (STACK_BOUNDARY): Always define as 64.
11217
        (ABI_STACK_BOUNDARY): Define as 64/128 based on the -mno-eabi
11218
        switch.
11219
 
11220
        * rs6000.c (rs6000_stack_info): Use ABI_STACK_BOUNDARY, not
11221
        STACK_BOUNDARY.  Define ABI_STACK_BOUNDARY as STACK_BOUNDARY #ifndef.
11222
 
11223
Tue Aug  6 14:29:43 1996  Doug Evans  
11224
 
11225
        * gen-protos.c (overrides): New static local.
11226
        (add_hash,parse_fn_proto): New static functions.
11227
        (main): Add prototypes from SYS_PROTO_OVERRIDES to hash table before
11228
        parsing sys-protos.h.  Reserve entry 0 in std_protos.
11229
        * alpha.h (SYS_PROTO_OVERRIDES): Define.
11230
 
11231
Mon Aug  5 16:53:36 1996  Doug Evans  
11232
 
11233
        * sparc/t-splet (MULTILIB_OPTIONS): Add mbroken-saverestore.
11234
        (MULTILIB_DIRNAMES): Add brknsave.
11235
 
11236
        * stor-layout.c (layout_record): Correct overflow test for 0 sized
11237
        fields.
11238
 
11239
Mon Aug  5 16:12:19 1996  Jim Wilson  
11240
 
11241
        * alpha.c (alpha_output_filename): When emitting stabs, don't
11242
        disable them if using GNU as.
11243
        (alpha_output_lineno): Likewise, when not using GNU as.
11244
 
11245
        * sh.c (arith_reg_operand): Reject SUBREG of an invalid hard reg.
11246
 
11247
        * sparc/lite.h (aoutos.h): Don't include it.
11248
        * configure (sparclite-*-aout*): Add aoutos.h to tm_file.
11249
 
11250
Sat Aug  3 23:13:55 1996  Jeffrey A Law  (law@cygnus.com)
11251
 
11252
        * combine.c (rtx_equal_for_field_assignment_p): Check for
11253
        get_last_value returning (CLOBBER (CONST_INT 0)).
11254
 
11255
Sat Aug  3 20:19:14 1996  Jim Wilson  
11256
 
11257
        * i960.md (subsi3+1): Handle case where first operand is constant
11258
        but second operand is not.
11259
 
11260
        * m68k/vxm68k.h (WCHAR_TYPE_SIZE): Undef, then define to 16.
11261
 
11262
Fri Aug  2 15:46:19 1996  Jeffrey A Law  (law@cygnus.com)
11263
 
11264
        * pa/pa-hpux.h (LINK_SPEC): Don't link in PA1.1 specific
11265
        libraries when creating shared libraries.
11266
        * pa/pa-hpux9.h, pa/pa-hpux10.h: Likewise.
11267
 
11268
Fri Aug  2 13:36:42 1996  Stan Cox  
11269
 
11270
        * i386.c (output_float_compare): fcomi should be followed by the
11271
        correct conditional jump instead of fcom/pfstsw/and/jne
11272
        (override_options): Added -mbranch-cost to set BRANCH_COST.
11273
 
11274
        * i386.md (sgt+1,slt+1,sge+1,sle+1,bgt+1,blt+1,bge+1,ble+1,bleu+4)
11275
        Added TARGET_CMOVE check for fcomi.
11276
        (movsicc_1+1,movhicc_1+1): Added to handle the general case.
11277
 
11278
        * i386.h (i386_branch_cost, i386_branch_cost_string): Added.
11279
 
11280
Fri Aug  2 11:53:55 1996  Brendan Kehoe  
11281
 
11282
        * sparc/vxsparc.h (CPP_PREDEFINES): Add `-DCPU=SPARC'.
11283
 
11284
Thu Aug  1 23:56:01 1996  Jeffrey A Law  (law@cygnus.com)
11285
 
11286
        * pa.h (ASM_OUTPUT_INT): Remove all hacks for exception table.
11287
 
11288
Thu Aug  1 10:08:14 1996  Torbjorn Granlund  
11289
 
11290
        * m68k.h (RTX_COSTS, case PLUS): Get operand order right.
11291
 
11292
Wed Jul 31 15:06:46 1996  Doug Evans  
11293
 
11294
        * sparc.md (negtf2,abstf2): Fix v9 case.
11295
 
11296
Wed Jul 31 09:49:25 1996  Jeffrey A Law  (law@cygnus.com)
11297
 
11298
        * pa.h (ASM_OUTPUT_INT): Use an 'E%' prefix for items in
11299
        the exception table if TARGET_GAS && ! TARGET_PORTABLE_RUNTIME.
11300
 
11301
Tue Jul 30 15:37:31 1996  Jim Wilson  
11302
 
11303
        * i386/cygwin32.h (dbxcoff.h): Include.
11304
        (DBX_DEBUGGING_INFO, SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
11305
        Move definitions before include of dbxcoff.h.
11306
        (ASM_OUTPUT_SOURCE_LINE, DBX_OUTPUT_MAIN_SOURCE_FILE_END): Delete.
11307
        (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_FUNCTION_FIRST): Delete.
11308
 
11309
Tue Jul 30 15:03:53 1996  Torbjorn Granlund  
11310
 
11311
        * i960.md (eq reg (const_int 0)): New pattern.
11312
 
11313
Tue Jul 30 11:15:44 1996  Jeffrey A Law  (law@cygnus.com)
11314
 
11315
        * pa.h (RETURN_ADDR_RTX): Offset is -20 from the frame, not +20!
11316
 
11317
Mon Jul 29 12:16:17 1996  Jeffrey A Law  (law@cygnus.com)
11318
 
11319
        * pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix thinko in last change.
11320
 
11321
Fri Jul 26 18:19:47 1996  Doug Evans  
11322
 
11323
        * dwarfout.c (output_bound_representation): Fix typo.
11324
 
11325
Thu Jul 25 16:00:10 1996  Mike Stump  
11326
 
11327
        * expr.c (do_jump, case TRUTH_ORIF_EXPR): Ensure end of an
11328
        exception region comes after its start.
11329
        (do_jump, case TRUTH_ANDIF_EXPR): Likewise.
11330
 
11331
Thu Jul 25 13:36:42 1996  Stan Cox  
11332
 
11333
        * i386.c (output_float_compare): Added support for Pentium Pro
11334
        fcomi instruction which sets EFLAGS instead of FPU Status Word.
11335
 
11336
Wed Jul 24 21:48:08 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
11337
 
11338
        * cse.c (canon_hash, cse_insn): MEM is not unchanging if it is
11339
        in the frame (since the temp slot might be reused).
11340
 
11341
Wed Jul 24 17:34:06 1996  J"orn Rennecke (amylaar@cygnus.com)
11342
 
11343
        * sh.md (branch_true, branch_false, inverse_branch_true): Express
11344
        tests of the T bit as comparisons against zero, rather than one.
11345
        (inverse_branch_false, beq, bne, bgt, blt, ble, bge, bgtu): Likewise.
11346
        (bltu, bgeu, bleu, casesi): Likewise.
11347
 
11348
Wed Jul 24 15:58:06 1996  Stan Cox  
11349
 
11350
        * i386.md: (mov{sf,df,xf}cc{,_1}): New patterns for P6 FP cmove.
11351
        * i386.c (put_condition_code, print_operand, output_fp_cc0_set):
11352
        Support fcmov suffixes.
11353
 
11354
Wed Jul 24 10:53:38 1996  Jeffrey A Law  (law@cygnus.com)
11355
 
11356
        * pa.c (move_operand): Relax "mode" test.  Allow scaled
11357
        indexed addressing modes.
11358
        (output_fp_move_double): Tweak output strings to work with updated
11359
        'F' and 'M' output modifiers.
11360
        (print_operand): Collapse 'F' and 'M' into a single hunk of code.
11361
        For auto-increment modes output "s,ma" and "s,mb".
11362
        For scaled indexing modes output "x,s"
11363
        For other addresses, output nothing for 'M' and "s" for 'F'.
11364
        * pa.h (EXTRA_CONSTRAINT): Don't accept scaled indexed addresses
11365
        for 'Q' and 'T'.  Do accept scaled indexed addresses for 'R'.
11366
        (GO_IF_LEGITIMATE_ADDRESS): Accept scaled indexed addresses
11367
        for SFmode and DFmode.
11368
        * pa.md: Remove all scaled indexed load patterns.
11369
        (movsi patterns): Accept scaled indexed addresses in some
11370
        cases.  Update output strings for updated 'M' and 'F' output modifiers.
11371
        (movhi, movqi, movsf, movdf, movdi patterns): Likewise.
11372
 
11373
Tue Jul 23 23:10:41 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
11374
 
11375
        * tree.h (struct tree_int_cst): Add field for TREE_CST_RTL.
11376
        * varasm.c (decode_addr_const, output_constant_def): AllowINTEGER_CST.
11377
 
11378
Tue Jul 23 16:42:09 1996  Jim Wilson  
11379
 
11380
        * sh.c (reg_unused_after): Handle JUMP_INSN inside a sequence.
11381
 
11382
Tue Jul 23 16:33:25 1996  Mike Stump  
11383
 
11384
        * Make exception handling work better when optimizations are on.
11385
        * except.c, except.h: New files.
11386
        * Makefile.in (OBJS): Add except.o.
11387
        (except.o): Add.
11388
        (stmt.o, final.o): Add except.h.
11389
        * rtl.c (note_insn_name): Add NOTE_INSN_EH_REGION_{BEG,END}.
11390
        * rtl.h: Likewise.
11391
        * arm.h (MASK_RETURN_ADDR): Define.
11392
        * pa.h (MASK_RETURN_ADDR, RETURN_ADDR_RTX): New macros.
11393
        * sparc.h (DOESNT_NEED_UNWINDER): Define if not doing a flat function.
11394
        * mips.h (RETURN_ADDR_RTX): Improve.
11395
        * vax.h (RETURN_ADDR_RTX): Improve.
11396
        * toplev.c (rest_of_compilation): Use find_handler_labels.
11397
        (main, interim_eh{,_hook}): Remove interim_eh_hook support.
11398
        (flag_exceptions): New flag; also add to table.
11399
        (compile_file): Emit the exception table in the backend now.
11400
        * final.c (final_scan_insn): Support ASM_OUTPUT_EH_REGION_{BEG,END}.
11401
        (final_scan_insn): Redo handler labels, implement
11402
        NOTE_INSN_EH_REGION_BEG and NOTE_INSN_EH_REGION_END and use them
11403
        instead of CODE_LABELs.
11404
        (final): Add call to check_handler_labels.
11405
        * libgcc2.c (L_eh): Add support for EH_TABLE_LOOKUP.
11406
        * sparc.md (return): Add a reference to the return address register.
11407
        * flow.c (find_basic_blocks): Add support for handler_labels.
11408
        * loop.c (find_and_verify_loops): Likewise.
11409
        * jump.c (jump_optimize): Likewise.
11410
        Add call to check_handler_labels.  Add call to exception_optimize.
11411
        * sched.c (sched_analyze): Smuggle exception region notes around.
11412
        (unlink_notes, reemit_notes, schedule_block): Likewise.
11413
        (sched_analyze): Add extra element since we remove two at a time.
11414
        * integrate.c (save_for_inline_copying): Add support for exception
11415
        regions.
11416
        (expand_inline_function): Likewise.
11417
        (function_cannot_inline_p): Don't inline functions that have EH
11418
        regions before NOTE_INSN_FUNCTION_BEG.
11419
        (finish_inline): Use FIRST_FUNCTION_INSN, not NEXT_INSN.
11420
        * function.c (expand_start_all_catch): New function.
11421
        * function.h: Add exception handling support information.
11422
        * expr.c (expand_expr, {defer,expand}_cleanups_to, do_jump): Transform
11423
        interim_eh_hook into calls to expand_ehregion_{start,end}.
11424
        * stmt.c (expand_{decl_cleanup,cleanups}): Likewise.
11425
        (init_stmt_for_function): Call init_eh.
11426
        (save_stmt_status): Call save_eh_status.
11427
        (restore_stmt_status): Call restore_eh_status.
11428
        * expr.h (throw_libfunc): Add.
11429
        * optabs.c (throw_libfunc): Initialize.
11430
        * print-rtl.c (print_rtx): Add support for exception regions.
11431
        * rs6000.c (EXCEPTION_SECTION): Define.
11432
        * output.h (exception_section): Declare.
11433
        * varasm.c (exception_section): Define.
11434
        * i386.c, i960.c, rs6000.c: Include except.h for function.h.
11435
        * c-pragma.c, emit-rtl.c, expr.c, final.c, flow.c: Include except.h.
11436
        * function.c, integrate.c, jump.c, loop.c, objc-act.c: Likewise.
11437
        * stmt.c, stor-layout.c, toplev.c, tree.c, varasm.c: Likewise.
11438
 
11439
Tue Jul 23 12:32:54 1996  Michael Meissner  
11440
 
11441
        * rs6000.c (rs6000_replace_regno): Set pic_offset_table_rtx so
11442
        that other phases will use the PIC register instead of the
11443
        placeholder.
11444
 
11445
        * rs6000.md (movsi_got*): Eliminate -fPIC code, keep -fpic code.
11446
        (movsi): Only call movsi_got if -fpic, not -fPIC.
11447
 
11448
        * sysv4.h (OVERRIDE_OPTIONS): Improve error messages.  Always set
11449
        -msdata=data by default, even if -fpic/-fPIC/-mrelocatable.  Treat
11450
        -fPIC the same as -mrelocatable-lib and vica versa.
11451
 
11452
        * t-ppcgas: (MULTILIB_*): Use -mreloctable-lib, instead of
11453
        -mrelocatable.  Map Solaris into mcall-sysv-noeabi case.  Build
11454
        -mrelocatable-lib libraries under non-eabi case.  When linking, if
11455
        -fpic, -fPIC, or -shared, link in the -mrelocatable-lib libraries.
11456
 
11457
Mon Jul 22 19:34:20 1996  Jim Wilson  
11458
 
11459
        * iris6.h (ASM_SPEC): Change {% to %{.
11460
 
11461
        * dwarf2out.c (output_call_frame_info): Change FDE CIE offset to
11462
        be section name rather than 0.
11463
        (gen_subprogram_die): Only emit DW_AT_external if origin is NULL.
11464
        Only call equate_decl_number_to_die if origin is NULL.
11465
        (dwarfout_begin_function): In code that computes offset of frame
11466
        pointer, change 4 to UNITS_PER_WORD.
11467
 
11468
        * combine.c (undo_all): Clear previous_undos field.
11469
 
11470
Mon Jul 22 19:10:45 1996  Ian Lance Taylor  
11471
 
11472
        * configure: Don't change target_alias to target in Makefile.
11473
 
11474
Sat Jul 20 09:28:38 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
11475
 
11476
        * dwarfout.c (output_bound_representation): Treat default case
11477
        as variable bounds, then look inside for SAVE_EXPR.
11478
 
11479
        * mips.h (INITIALIZE_TRAMPOLINE): Use `_flush_cache'; flush data
11480
        cache too.
11481
 
11482
Sat Jul 20 09:24:13 1996  Marco Walther  (Marco.Walther@mch.sni.de).
11483
 
11484
        * configure (mips-sni-sysv4): New target.
11485
        * mips/sni-gas.h, mips/sni-svr4.h, mips/x-sni-svr4: New files.
11486
 
11487
Fri Jul 19 17:44:13 1996  Stan Coxs  
11488
 
11489
        * i386.md: (leave): Clobbers esp and ebp.
11490
 
11491
        * i386.h: (TARGET_USE_Q_REG): Support inline strlen on PentiumPro
11492
 
11493
Fri Jul 19 15:56:18 1996  Ian Lance Taylor  
11494
 
11495
        * m68k/t-m68kbare (MULTILIB_OPTIONS): Add m5200.
11496
        (MULTILIB_EXCEPTIONS): Define.
11497
        * m68k/lb1sf68.asm: Add MCF5200 support.
11498
        * m68k.md (adddi_sexthishl32): Set condition to !TARGET_5200.
11499
        (subdi_sexthishl32, ashrdi3, ashrhi3): Likewise.
11500
        (negdi2): Change into define_expand.
11501
        (negdi2_internal): Rename from old negdi2; condition now !TARGET_5200.
11502
        (negdi2_5200): New insn.
11503
        * m68k.c (output_function_prologue): Don't use add.w if TARGET_5200.
11504
        (output_function_epilogue): Likewise.
11505
 
11506
        * m68k.md (movqi): Remove complex cases which move between address reg
11507
        and memory; rely on secondary reloads instead.
11508
 
11509
Fri Jul 19 12:22:50 1996  Brendan Kehoe  
11510
 
11511
        * fixproto (std_files): Add utime.h.
11512
 
11513
Fri Jul 19 10:59:46 1996  Jeffrey A Law  (law@cygnus.com)
11514
 
11515
        * m68k/m68kemb.h: Remove '\' at EOF.
11516
 
11517
Fri Jul 19 09:59:00 1996  Joel Sherrill 
11518
 
11519
        * m68k/coff.h (STARTFILE_SPEC): Add #undef before definition.
11520
 
11521
Fri Jul 19 09:44:45 1996  J.T. Conklin  
11522
 
11523
        * m68k.h (LEGITIMATE_INDEX_P): Coldfire does not have scale
11524
        by 8 addressing modes.
11525
 
11526
        * m68k-none.h: Use MASK_* macros instead of explicit constants.
11527
 
11528
Fri Jul 19 09:08:53 1996  Philippe De Muyter  
11529
 
11530
        * m68k.md (negdi2): Undo last change: don't apply neg to address regs.
11531
 
11532
Fri Jul 19 09:03:01 1996  Robert Wilhelm  (rwilhelm@Physik.TU-Muenchen.DE)
11533
 
11534
        * toplev.c (main): Correct typo in error message.
11535
 
11536
Thu Jul 18 20:29:33 1996  Jim Wilson  
11537
 
11538
        * Makefile.in (OBJS): Add dwarf2out.o.
11539
        (dwarf2out.o): New rule.
11540
        * dwarf2.h, dwarf2out.c: New files.
11541
        * dwarfout.c: Check DWARF_VERSION macro.
11542
 
11543
        * mips/iris6.h (DWARF_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
11544
        Move after header files are included.
11545
        (iris5.h): Include instead of iris5gas.h.
11546
        (MACHINE_TYPE): Change 5.x to 6.x.
11547
        (DEBUG_SECTION, LINE_SECTION): Add debug_ to name, fix attributes.
11548
        (SFNAMES_SECTION, SRCINFO_SECTION, MACINFO_SECTION, PUBNAMES_SECTION,
11549
        ARANGES_SECTION): Fix attributes.
11550
        (DWARF_VERSION, MIPS_DEBUGGING_INFO, ASM_DECLARE_FUNCTION_NAME,
11551
        ASM_DECLARE_FUNCTION_SIZE, FUNCTION_NAME_ALREADY_DECLARED,
11552
        FRAME_SECTION, ABBREV_SECTION): Define.
11553
        (DBX_DEBUGGING_INFO, SDB_DEBUGGING_INFO, MIPS_DEBUGGING_INFO,
11554
        DWARF_DEBUGGING_INFO, PREFERRED_DEBUGGING_INFO): Delete undefs at
11555
        end of file.
11556
        * mips.c (function_{pro,epi}logue): Use FUNCTION_NAME_ALREADY_DECLARED.
11557
 
11558
Thu Jul 18 19:24:19 1996  David Mosberger-Tang  
11559
 
11560
        * alpha/elf.h (INT_ASM_OP): Change from ".long" to ".quad".
11561
 
11562
Thu Jul 18 19:20:58 1996  Ulrich Drepper  
11563
 
11564
        * stddef.h: Undefine __need_wint_t.
11565
 
11566
Thu Jul 18 19:06:35 1996  J.T. Conklin  
11567
 
11568
        * longlong.h (mc680x0): Define umul_ppmm, udiv_qrnnd, sdiv_qrnnd
11569
        for the '020, '030, '040, and '332.  Define count_leading_zeros
11570
        for the '020, '030, '040, and '060.
11571
 
11572
        * m68k.md: Add TARGET_5200 to conditions which determine whether
11573
        the extbl instruction is emitted.
11574
        (mulsi3): Enable pattern with TARGET_5200.
11575
 
11576
        * m68k.md (add patterns): Don't use two addqw instructions when
11577
        adding small (8 < N <= 16) integers to address registers on 68040.
11578
 
11579
Thu Jul 18 18:06:15 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
11580
 
11581
        * configure: Write target_alias in Makefile.
11582
        (i[3456]86-*-sco3.2v4*): Set truncate_target.
11583
        * Makefile.in (target_alias): New and used for all current uses
11584
        of `target'.
11585
 
11586
Thu Jul 18 17:46:02 1996  Dave Love  
11587
 
11588
        * gcc.c (default_compilers): Extra Fortran extensions.
11589
 
11590
Wed Jul 17 10:28:10 1996  Torbjorn Granlund  
11591
 
11592
        * expmed.c (expand_mult_highpart): Revert last change.
11593
 
11594
Tue Jul 16 12:51:59 1996  Doug Evans  
11595
 
11596
        * sparc/sparc-rtems.h: #include "sparc/sparc-aout.h" -> sparc/aout.h.
11597
 
11598
Mon Jul 15 14:42:06 1996  Jim Wilson  
11599
 
11600
        * mips/iris6.h (LINK_SPEC): Add -woff 84.
11601
 
11602
Fri Jul 12 17:34:01 1996  Michael Meissner  
11603
 
11604
        * rs6000/eabi.asm (__eabi): Convert pointers in the Global Offset
11605
        Table if -mrelocatable.  Move loops into separate subroutines for
11606
        ease of debugging.  Reorganize code somewhat.
11607
 
11608
        * rs6000/rs6000.c (small_data_operand): Allow small data under
11609
        Solaris.
11610
 
11611
        * rs6000/sol-c0.c (_start): Initialize r13 to point to the small
11612
        data operand.
11613
 
11614
        * rs6000/sol-c{i,n}.asm (_init, _fini): Enable shared library
11615
        support.
11616
 
11617
        * rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Default to
11618
        -msdata=data, even if -fpic or -mrelocatable.  Allow -mrelocatable
11619
        and -mno-eabi.
11620
        (CPP_SYSV_SPEC): If -fpic, define __PIC__ and __pic__ to 1.  If
11621
        -fPIC, define them to 2.
11622
        (CPP_ENDIAN_SPEC): Push definition of macros for specific endian
11623
        targets to new specs.
11624
        (CPP_ENDIAN_DEFAULT_SPEC): Define to use CPP_ENDIAN_BIG_SPEC.
11625
        (CPP_ENDIAN_{LITTLE,BIG,SOLARIS}_SPEC): New specs for little
11626
        endian mode, big endian mode, and Solaris, which can't define
11627
        _LITTLE_ENDIAN.  Define __LITTLE_ENDIAN__ in all cases for little
11628
        endian systems.  Define __BIG_ENDIAN__ in all cases for big endian
11629
        systems.
11630
        (SUBTARGET_EXTRA_SPECS): Add new specs.
11631
 
11632
        * rs6000/{eabile,sysv4le}.h (CPP_ENDIAN_DEFAULT_SPEC): Define to
11633
        use CPP_ENDIAN_LITTLE_SPEC.
11634
 
11635
        * rs6000/sol2.h (CPP_ENDIAN_LITTLE_SPEC): Define as
11636
        CPP_ENDIAN_SOLARIS_SPEC so that _LITTLE_ENDIAN is not define.
11637
 
11638
Fri Jul 12 17:34:01 1996  David Edelsohn  
11639
 
11640
        * rs6000.c (function_arg): Add IBM AIX XL compiler broken FP arg
11641
        passing compatibility mode.
11642
        * rs6000.h (TARGET_XL_CALL): Define default.
11643
        * aix3newas.h (TARGET_XL_CALL, SUBTARGET_SWITCHES): Define.
11644
        * aix41.h (TARGET_XL_CALL, SUBTARGET_SWITCHES): Define.
11645
 
11646
Fri Jul 12 15:04:43 1996  Doug Evans  
11647
 
11648
        * arm.h (ASM_OUTPUT_MI_THUNK): Handle fns returning structures.
11649
 
11650
        * ptx4.h ({ASM,LINK}_SPEC): %{V} %{v:%{!V:-V}} -> %{v:-V}.
11651
        * svr4.h ({ASM,LINK}_SPEC): Likewise.
11652
        * dsp16xx/dsp16xx.h ({ASM,LINK}_SPEC): Likewise.
11653
        * i386/dgux.h (LINK_SPEC): Likewise.
11654
        * i386/sol2.h (LINK_SPEC): Likewise.
11655
        * m88k/dgux.h ({LINK,ASM_CPU}_SPEC): Likewise.
11656
        * sparc/sol2.h ({ASM,LINK}_SPEC): Likewise.
11657
        * sparc/sp64-elf.h ({ASM,LINK}_SPEC): Likewise.
11658
        * sparc/sysv4.h (ASM_SPEC): Likewise.
11659
 
11660
Thu Jul 11 17:29:33 1996  Michael Meissner  
11661
 
11662
        * rs6000.h (GOT_TOC_REGNUM): New macro for r2, which is used as a
11663
        marker for the GOT/TOC register to be allocated later.
11664
        (MACHINE_DEPENDENT_REORG): Call rs6000_reorg.
11665
        (rs6000_reorg): Add declaration.
11666
 
11667
        * rs6000.c (rs6000_got_register): Return REG 2, not a pseudo
11668
        register in order to work with inlined functions.
11669
        (rs6000_replace_regno): New function to replace a register with a
11670
        new pseudo register.
11671
        (rs6000_finalize_pic): Loop through all insns, replacing any
11672
        GOT_TOC_REGNUM registers with new pseudo register, and adding
11673
        initialization of GOT register if it was created.
11674
        (rs6000_reorg): New function to check whether the GOT_TOC register
11675
        marker was removed.
11676
 
11677
Thu Jul 11 10:12:50 1996  Jeffrey A Law  (law@cygnus.com)
11678
 
11679
        * h8300.h (OK_FOR_U): If generating H8S code, accept
11680
        SYMBOL_REF and SYMBOL_REF + CONST_INT.
11681
 
11682
        * h8300.c ({shift,rotate}_one): Emit tabs between opcode and
11683
        operands to be consistent with the rest of the compiler.
11684
        (shift_two, rotate_two): Define.
11685
        (get_shift_alg): Accept new argument "assembler2_p" for
11686
        rotate/shift by two insns.  All callers changed.  Rework
11687
        to generate more efficient code on the H8/300, H8/300H, and H8S.
11688
        Try to simplify somewhat.
11689
        (emit_a_shift): Use shift-by-two insns when they're available.
11690
        Emit tabs between opcode and operands to be consistent with
11691
        the rest of the compiler.
11692
 
11693
Wed Jul 10 19:32:17 1996  Jim Wilson  
11694
 
11695
        * mips/iris6.h (ASM_SPEC): Correct typos in Jun 18 change.
11696
 
11697
Wed Jul 10 18:56:38 1996  Ian Lance Taylor  
11698
 
11699
        * sh.c (machine_dependent_reorg): When looking for instruction that
11700
        sets register in LOG_LINKS, skip link if REG_NOTE_KIND is not zero.
11701
 
11702
Wed Jul 10 15:02:18 1996  Michael Meissner  
11703
 
11704
        * rs6000.c (rs6000_got_register): New function to return a pseudo
11705
        register to hold the pic register.  Abort if reload is in progress
11706
        or done.
11707
        (num_insns_constant): Allow SFmode and DFmode.
11708
 
11709
        * rs6000.h (CONST_DOUBLE_OK_FOR_LETTER_P): Redo 'G' so that it
11710
        means a constant that takes exactly two insns.
11711
        (rs6000_got_register): Add declaration.
11712
 
11713
        * rs6000.md (movsi_got): Move setup of pic register to
11714
        rs6000_got_register.
11715
        (movsf): If -msoft-float, don't force constants to memory.
11716
        (mov{sf,df} insns): If soft floating point, allow any constant to
11717
        be loaded.  Add define_splits that allow the 604 to use both
11718
        integer units for loading constants.  Make sure insn length is
11719
        correct.
11720
 
11721
Tue Jul  9 17:05:10 1996  Michael Meissner  
11722
 
11723
        * rs6000.c (easy_fp_constant): All FP constants are considered
11724
        hard for -fpic and hardware floating point, so that the GOT
11725
        register is created.
11726
 
11727
Tue Jul  9 15:21:27 1996  Jim Wilson  
11728
 
11729
        * x-iris6 (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
11730
 
11731
Mon Jul  8 18:00:33 1996  Jim Wilson  
11732
 
11733
        * sh.h (enum reg_class): Add new class GENERAL_FP_REGS.
11734
        (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
11735
 
11736
        * cse.c (note_mem_written): Varying structure memory access with
11737
        AND address can alias scalars.
11738
        * sched.c ({true,anti,output}_dependence): Likewise.
11739
 
11740
        * sh.c (calc_live_regs): For pragma_interrupt case, exclude call
11741
        clobbered regs that are fixed, explicitly add MACH_REG and MACL_REG.
11742
 
11743
        * calls.c (expand_call): For assign_stack_temp call in PARALLEL case,
11744
        get mode from type instead of using BLKmode.
11745
        * function.c (aggregate_value_p): If hard_function_value returns
11746
        a non-REG, then return 0.
11747
 
11748
        * mips.c (function_arg): Add explicit checks for FIELD_DECLs.
11749
        (mips_function_value): Add explicit checks for FIELD_DECLs, and save
11750
        them in the array FIELDS.  When returning structure with 1 float field,
11751
        enclose it in a PARALLEL and set the PARALLEL mode correctly.
11752
        * mips.md (call_value): Call gen_call_value_multiple_internal0
11753
        only if there are multiple return values.  Strip the PARALLEL off
11754
        if there there is only one return value.
11755
 
11756
Mon Jul  8 16:27:33 1996  Jeffrey A. Law  
11757
 
11758
        * First cut at support for the H8S.
11759
        * h8300.c (h8300_init_once): Handle the H8S (treat it
11760
        like the H8/300H).
11761
        (dosize, adds_subs_operand, one_insn_adds_subs_operand): Likewise.
11762
        (output_adds_subs, const_costs, print_operand): Likewise.
11763
        (output_simode_bld, h8300_adjust_insn_length): Likewise.
11764
        (push_order, pop_order): Reverse.
11765
        (function_prologue): Try to use ldm.l and stm.l insns
11766
        on the H8S.  Minor cleanups.
11767
        (function_epilogue): Likewise.
11768
        (asm_file_start): Emit ".h8300s" when compiling for the H8S.
11769
        * h8300/h8300.h (CPP_SPEC): Handle the H8S.
11770
        (TARGET_H8300S): New target.
11771
        (TARGET_SWITCHES): Add "-ms" and "-mno-s".
11772
        (BITS_PER_WORD): Handle the H8S (treat it like the H8/300H).
11773
        (UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY): Likewise.
11774
        (BIGGEST_ALIGNMENT, BIGGEST_FIELD_ALIGNMENT): Likewise.
11775
        (INITIALIZE_TRAMPOLINE, MOVE_MAX, Pmode): Likewise.
11776
        * h8300.md: Handle H8S just like H8/300H
11777
        throughout the entire file.
11778
        * t-h8300 (MULTILIB_OPTIONS): Build "-ms" libraries too.
11779
        (MULTILIB_DIRNAMES): Put H8S libraries in "h8300s" directory.
11780
        * h8300/lib1funcs.asm: Emit ".h8300s" pseudo-op when generating
11781
        h8300s object files.  Otherwise treat the H8S just like the H8/300H.
11782
        * ginclude/stdarg.h: Handle the H8S.
11783
        * ginclude/varargs.h: Likewise.
11784
 
11785
Mon Jul  8 14:50:58 1996  Doug Evans  
11786
 
11787
        * sparc/sol2.h (LINK_SPEC): Don't pass `-z text' if
11788
        -shared -mimpure-text.
11789
 
11790
Sun Jul  7 18:03:46 1996  Torbjorn Granlund  
11791
 
11792
        * m68k/lb1sf68.asm (__udivsi3): Use faster tstw instead of btst.
11793
 
11794
Thu Jul  4 11:44:39 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
11795
 
11796
        * expr.c (get_inner_reference): Delete using alternate mode for
11797
        bitfield; we don't make bitfields anymore if not needed.
11798
 
11799
Wed Jul  3 18:23:17 1996  Stephen L Moshier  (moshier@world.std.com)
11800
 
11801
        * c-common.c (record_function_format): Define as static.
11802
 
11803
        * collect2.c (at SUNOS4_SHARED_LIBRARIES): Fix reference to unistd.h.
11804
 
11805
Wed Jul  3 17:35:20 1996  Gavin Koch  
11806
 
11807
        * c-typeck.c (default_conversion): Add bitfield promotions.
11808
 
11809
Wed Jul  3 17:09:22 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
11810
 
11811
        * gcc.c (default_compilers): Add null entries for languages we
11812
        heard of.
11813
        (main): If found one of those entries, say compiler not installed.
11814
 
11815
Wed Jul  3 12:52:53 1996  Jeffrey A. Law  
11816
 
11817
        * pa.c (fmpy_operands): Define.
11818
        (combinable_{fmpy,add,fsub}): New function.
11819
        * pa.md (parallel_addb, parallel_movb): New patterns.
11820
        (fmpyadd, fmpysub): New patterns.
11821
 
11822
        * pa.c (fmpy{add,sub}operands): Tighten checks.  Allow SFmode.
11823
 
11824
Tue Jul  2 18:57:15 1996  Jeffrey A. Law  
11825
 
11826
        * pa.c (ireg_or_int5_operand): New function.
11827
        (output_parallel_movb, output_parallel_addb): Likewise.
11828
        (combinable_copy, combinable_add, following_call): Likewise.
11829
        (pa_adjust_insn_length): Handle parallel unconditional branches.
11830
        (output_movb): Handle case were destination is %sar.
11831
        * pa.h: Declare new functions.
11832
        * pa.md (parallel_branch): New "type" attribute.
11833
        (delay slot descriptions): Don't allow "parallel_branches" in
11834
        delay slots.  Fill "parallel_branches" like "branch" insns.
11835
        (movb patterns): Handle %sar as destination register.
11836
 
11837
        * expr.c (compare): If function pointers need canonicalization
11838
        before comparisons, canonicalize them.
11839
        (do_store_flag): Do not use an sCC insn for a function pointer
11840
        comparison if function pointers need canonicalization before
11841
        comparing.
11842
 
11843
Tue Jul  2 17:56:37 1996  Michael Meissner  
11844
 
11845
        * rs6000/sysv4.h ({START,END}FILE_LINUX_SPEC): If -mnewlib is not
11846
        used, use the crtbegin/crtend that 2.7.2 used.
11847
 
11848
Sat Jun 29 07:10:02 1996  Michael Meissner  
11849
 
11850
        * rs6000.h (INIT_EXPANDERS): Define, call rs6000_init_expanders.
11851
        (RS6000_VARARGS_OFFSET): fpmem area no longer next to outgoing
11852
        argument area.
11853
        (STARTING_FRAME_OFFSET, STACK_DYNAMIC_OFFSET): Likewise.
11854
        (frame_pointer_needed): Add external declaration.
11855
        (rs6000_{save,restore}_machine_status): Ditto.
11856
        (rs6000_init_expanders): Likewise.
11857
 
11858
        * rs6000.c (rs6000_{save,restore}_machine_status): New functions
11859
        to save and restore the globals needed on a per function basis.
11860
        (rs6000_init_expanders): Initialize globals needed on a per
11861
        function basis, and set up so the above save/restore functions are
11862
        called when processing nested functions.
11863
        (output_epilog): Don't initialize per function globals here.
11864
        (rs6000_stack_info): Change where fpmem save area is to below local
11865
        variables, and not just below the outgoing argument area.
11866
 
11867
        * rs6000.md (floatsidf2*, fix_truncdfsi2*): Rewrite conversion
11868
        routines to track new location of the fpmem save area.  Allocate a
11869
        new base register temp for the routines in case the stack frame is
11870
        more than 32k in size.
11871
 
11872
Sat Jun 29 05:44:37 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
11873
 
11874
        * explow.c (convert_memory_address, case PLUS): Fix error in
11875
        last change.
11876
 
11877
Fri Jun 28 23:30:48 1996  Jeffrey A. Law  
11878
 
11879
        * reload1.c (choose_reload_regs): Properly mark spill registers
11880
        as in use for inherited reloads.
11881
 
11882
Fri Jun 28 18:37:20 1996  Stephen L Moshier  
11883
 
11884
        * objc/sarray.c (ifdef __alpha__): Don't declare `free'.
11885
        * objc/thr-decosf1.c (objc_thread_id): Use pthread_getunique_np
11886
        to obtain a thread ID value.
11887
        (objc_mutex_allocate): Cast mutex->owner to _objc_thread_t.
11888
        (objc_mutex_{deallocate,unlock}): Likewise.
11889
        (objc_mutex_{try,un,}lock):  Declare thread_id as _objc_thread_t.
11890
 
11891
        * real.c (asctoeg): `0.0eX' is zero, regardless of the exponent X.
11892
 
11893
Fri Jun 28 18:33:13 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
11894
 
11895
        * vax.md (rotl): Remove extraneous `$'.
11896
 
11897
        * combine.c (previous_num_undos): Deleted variable.
11898
        (MAX_UNDO): Deleted macro.
11899
        (struct undo): New field, next.
11900
        (struct undobuf): Deleted num_undos and undo.
11901
        New fields undos, frees, and previous_undos.
11902
        (SUBST, SUBST_INT): Rework to allocate memory and chain undo entries.
11903
        (combine_instructions): Initialize undobuf.{undos,previous_undos},
11904
        not undobuf.num_undo and previous_num_undos.
11905
        (try_combine): Likewise.
11906
        (undo_all, gen_rtx_combine): Rework to use new data structures.
11907
 
11908
Fri Jun 28 16:48:25 1996  Scott Christley 
11909
 
11910
        * objc/sendmsg.c (__objc_block_forward): New function.
11911
        (get_imp, objc_msg_lookup): Use different forwarding function
11912
        when the returning a floating point value.
11913
 
11914
Fri Jun 28 16:25:25 1996  Andreas Schwab  
11915
 
11916
        * configure: Allow multiple makefile frags.
11917
        (i[3456]86-*-linux*oldld*): Add i386/t-crtstuff as target frag.
11918
        (i[3456]86-*-linux*aout*, i[3456]86-*-linux*): Likewise.
11919
        (m68k-*-linux*aout*): Add t-linux-aout as target frag.
11920
        (m68k-*-linux*): Add t-linux as target frag.
11921
        * Makefile.in (Makefile): xmake_file and tmake_file now already
11922
        contain the $(srcdir)/config prefix.
11923
 
11924
        * config/t-linux (BOOT_CFLAGS): Removed, no longer necessary.
11925
        (CRTSTUFF_T_CFLAGS): Don't define.
11926
        (CRTSTUFF_T_CFLAGS_S): Define this instead.
11927
        * config/t-linux-aout (BOOT_CFLAGS): Removed.
11928
        * m68k/t-linux: Remove variables now in t-linux.
11929
 
11930
Fri Jun 28 15:06:05 1996  John F. Carr  
11931
 
11932
        * alpha.c (alpha_emit_conditional_move): Emit correct code when
11933
        incoming comparison code is NE.
11934
 
11935
Fri Jun 28 14:35:45 1996  J.T. Conklin  
11936
 
11937
        * c-decl.c (init_decl_processing): Register __builtin_memset
11938
        and memset as builtin functions.
11939
        * expr.c (expand_builtin, case BUILTIN_MEMSET): Open code memset
11940
        where val == 0.
11941
 
11942
Fri Jun 28 14:10:03 1996  Richard Henderson  
11943
 
11944
        * alpha/linux.h (FUNCTION_PROFILER): _mcount has non-standard linkage.
11945
        * alpha/elf.h (LINK_SPEC): Bring emulation name into sync
11946
        with Cygnus snapshot.
11947
 
11948
        * alpha.h ({MASK,TARGET}_BUILD_CONSTANTS): New macros.
11949
        (TARGET_SWITCHES): New target option build-constants.
11950
        * alpha.c (alpha_emit_set_long_const): New function.
11951
        * alpha.md (movdi): Call it.
11952
        * expmed.c (expand_mult_highpart): Use op1 not wide_op1 in
11953
        expansion of mul_highpart.
11954
 
11955
        * alpha.c (output_{pro,epi}log): Flag_inhibit_size_directive
11956
        should supress .ent, .end, and accompanying directives.
11957
        (alpha_output_lineno): Fix polarity on GAS test.
11958
        * alpha.h (NO_DBX_FUNCTION_END): New macro.
11959
        * dbxout.c (dbxout_function): Respect NO_DBX_FUNCTION_END.
11960
        * alpha/elf.h: New file.
11961
        * alpha/linux.h (INITIALIZE_TRAMPOLINE): New definition.
11962
        * alpha/xm-linux.h (HAVE_STRERROR): Define.
11963
        * configure (alpha*-linux*ecoff*): New target, was alpha-*-linux*.
11964
        (alpha-*-linux*): Use elf.h.
11965
        * crtstuff.c (init_dummy): Only i386-linux (at most)
11966
        needs ___brk_addr hack.
11967
 
11968
Thu Jun 27 20:23:30 1996  Jon Buller  (jonb@metronet.com)
11969
 
11970
        * ns32k.c (split_di): New; from i386.c.
11971
        * ns32k.md (adddi3, subdi3, negdi3): New patterns.
11972
 
11973
Thu Jun 27 19:42:50 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
11974
 
11975
        * combine.c (force_to_mode, case NE): Fix typo and logical error.
11976
        (simplify_comparison): Don't swap args if op1 is CONST_INT.
11977
 
11978
Thu Jun 27 18:49:35 1996  Jim Wilson  
11979
 
11980
        * expmed.c (extract_bit_field): Check TRULY_NOOP_TRUNCATION before
11981
        making a SUBREG of a REG.
11982
 
11983
Thu Jun 27 11:03:59 1996  Ian Lance Taylor  
11984
 
11985
        * mips.h (CC1_SPEC): Put spaces between the -mips* cases.
11986
        * mips/osfrose.h (CC1_SPEC): Likewise.
11987
 
11988
        * sh.c (output_branch): Don't call ADJUST_INSN_LENGTH if insn is
11989
        inside sequence.
11990
 
11991
Wed Jun 26 19:09:43 1996  Jeffrey A. Law  
11992
 
11993
        * pa.h (CMP_PSI): Delete.
11994
        (FUNCTION_POINTER_COMPARISON_MODE): Likewise.
11995
        * pa.md (cmppsi): Delete expander.
11996
        (canonicalize_funcptr_for_compare): Renamed from plabel_dereference,
11997
        turned into an expander + anonymous pattern.
11998
 
11999
Tue Jun 25 22:36:11 1996  Doug Evans  
12000
 
12001
        * gcc.c (PEXECUTE_VERBOSE): Define.
12002
        (execute): Pass PEXECUTE_VERBOSE to pexecute if -v.
12003
 
12004
Tue Jun 25 12:23:54 1996  Michael Meissner  
12005
 
12006
        * rs6000.h (FINALIZE_PIC): Define to call rs6000_finalize_pic.
12007
        (rs6000_finalize_pic): Add declaration.
12008
        (svr4_traceback): Delete unused declaration.
12009
 
12010
        * rs6000.md (movsi_got): Don't emit gen_init_v4_pic insn.
12011
        (V.4 call insns): Do not use @plt for PIC calls.
12012
 
12013
        * rs6000.c (print_operand_address): Handle LABEL_REF just like
12014
        SYMBOL_REF.
12015
        (rs6000_finalize_pic): Define, emit the gen_init_v4_pic insn
12016
        before all other insns if needed for V.4 PIC calls.
12017
 
12018
        * eabi-ci.asm (_GLOBAL_OFFSET_TABLE_): Do not provide a default
12019
        definition, since it interferes with the linker generated version.
12020
 
12021
Tue Jun 25 01:17:50 1996  Jeffrey A. Law  
12022
 
12023
        * h8300.c (function_prologue): Update "monitor" prologues.
12024
        (function_epilogue): Similarly.
12025
 
12026
        * pa.h (PARSE_LDD_OUTPUT): Handle dynamic libraries that are
12027
        loaded "statically".
12028
 
12029
Mon Jun 24 19:48:36 1996  Joel Sherrill  
12030
 
12031
        * configure ({i386,i960,m68k,powerpc,sparc}-rtems): New targets.
12032
        * i386/go32-rtems.h, i386/i386-rtems.h: New files.
12033
        * i960/i960-rtems.h: New file.
12034
        * m68k/m68k-rtems.h: New file.
12035
        * rs6000/powerpc-rtems.h: New file.
12036
        * sparc/sparc-rtems.h: New file.
12037
 
12038
Mon Jun 24 23:09:22 1996  Paul Eggert  
12039
 
12040
        * cccp.c: (create_definition): Diagnose `#define #' only once.
12041
 
12042
Mon Jun 24 11:42:58 1996  Jim Wilson  
12043
 
12044
        * i386/cygwin32.h, rs6000/cygwin32.h (CPP_PREDEFINES): For consistency,
12045
        change to define WIN32, WINNT, and CYGWIN32.
12046
 
12047
Mon Jun 24 10:46:50 1996  Michael Meissner  
12048
 
12049
        * rs6000.md (floatsidf2*): Move the xor of the argument into the
12050
        define_insn, since it confuses inline function expands.
12051
 
12052
Fri Jun 21 20:40:17 1996  Jim Wilson  
12053
 
12054
        * mips.md (call_internal1, call_value_internal1): Delete obsolete code.
12055
        (call_internal2, call_value_internal2, call_value_multiple_internal2):
12056
        Delete obsolete code.  Explicitly load SYMBOL_REF into register.
12057
        (call_value): Change Pmode to SImode in gen_call_value_internal0 call.
12058
 
12059
Thu Jun 20 12:20:33 1996  Michael Meissner  
12060
 
12061
        * configure (*-aix*): If building a cross compiler, use t-xnewas
12062
        instead of t-newas.
12063
 
12064
        * rs6000.c (num_insns_constant_wide): Fix typo if HOST_WIDE_INT
12065
        has more than 32 bits.
12066
 
12067
Wed Jun 19 17:50:33 1996  Richard Henderson  
12068
 
12069
        * combine.c (move_deaths): New parameter maybe_kill_insn.
12070
        Don't move note if reg killed by maybe_kill_insn.
12071
        (try_combine): Pass new arg to move_deaths.
12072
 
12073
Wed Jun 19 10:44:47 1996  Brendan Kehoe  
12074
 
12075
        * toplev.c (flag_keep_static_consts): Define.
12076
        (f_options): Add "keep-static-consts" entry.
12077
        (compile_file): Check it in addition to !optimize for emitting
12078
        static const variables.
12079
 
12080
Tue Jun 18 23:37:20 1996  Doug Evans  
12081
 
12082
        * i386/cygwin32.h (ASM_OUTPUT_SOURCE_LINE): Local symbols begin with L.
12083
 
12084
Tue Jun 18 12:00:11 1996  Jason Merrill  
12085
 
12086
        * varasm.c (asm_output_aligned_bss): Don't emit a skip of size 0.
12087
 
12088
Tue Jun 18 06:24:28 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
12089
 
12090
        * integrate.c (expand_inline_function): Add missing call to
12091
        force_operand when getting structure_value_addr into reg.
12092
 
12093
        * alpha.c (override_options): Allow EV4/5 or 21064/21164 for cpu.
12094
        Clean up handling of floating-point options.
12095
        * alpha.h (TARGET_SWITCHES): Have all -mieee options turn
12096
        on MASK_IEEE_CONFORMANT.
12097
        (TARGET_DEFAULT): Use symbolic value.
12098
        * alpha.md: When not involving named pattern, update condition
12099
        to include alpha_tp != ALPHA_TP_INSN.
12100
        Don't do float_extend as part of other pattern when ALPHA_TP_INSN.
12101
        (extendsfsd2): Split into two patterns, depending on
12102
        value of alpha_tp.
12103
 
12104
        * mips/iris6.h (ASM_SPEC): Treat -o32 as -32 and -n64 same as -64.
12105
        * mips.c (override_options): Likewise.
12106
 
12107
        * genattrtab.c (fatal): Declare A1 and A2 as char *.
12108
 
12109
        * function.c (find_temp_slot_from_address): Check for overlap
12110
        from BASE_OFFSET if X is PLUS of virtual_stack_vars_rtx and const.
12111
 
12112
        * flow.c (flow_analysis): Fix typo in last change.
12113
 
12114
        * expr.c (expand_builtin, case BUILT_IN_{SET,LONG}JMP): Properly
12115
        handle case when ptr_mode != Pmode.
12116
 
12117
        * combine.c (try_combine): Don't use split if dest of new I2
12118
        is used between I2 and I3.
12119
 
12120
        * c-typeck.c (pointer_int_sum): Convert integer to both signedness
12121
        and precision of sizetype.
12122
        * explow.c (convert_memory_address, case PLUS, MULT): Don't commute
12123
        operation with extension if not adding small integer.
12124
 
12125
        * Makefile.in (BOOT_LANGUAGES): New variable.
12126
        (bootstrap): Use it to select languages for stage1.
12127
        * configure (extra_host_objs): New variable.
12128
        Separate files needed for target and host and concatenate list.
12129
        (extra_gcc_objs): Use setting for host, not target.
12130
        (objc_thread_file): Start with it as null, then don't include "thr-".
12131
        Print name of file after others and in same format.
12132
        (alpha-*-winnt*, i[3456]86-*-winnt): oldnames.o is in extra_host_objs.
12133
        (all_boot_languages): New variable.
12134
        Set from boot_language variable in config-lang.in.
12135
        Defines value of BOOT_LANGUAGES in Makefile.
12136
        (Makefile): Set target to the canonical form of target.
12137
 
12138
Mon Jun 17 22:37:07 1996  Mike Meissner  
12139
 
12140
        * rs6000/win-nt.h (ASM_DECLARE_FUNCTION_NAME): Put function
12141
        descriptor in .reldata, not .text.
12142
 
12143
Mon Jun 17 16:05:34 1996  Brendan Kehoe  
12144
 
12145
        * ginclude/stddef.h (wint_t): Don't wrap with #ifndef __cplusplus.
12146
 
12147
Mon Jun 17 15:03:20 1996  Jim Wilson  
12148
 
12149
        * mips.c (mips_split_addresses): New variable.
12150
        (simple_memory_operand): Add comment about mode check.  Add check
12151
        for LO_SUM.
12152
        (call_insn_operand): OP is now an addresses instead of a MEM.
12153
        (move_operand, mips_check_split): New functions.
12154
        (mips_count_memory_refs): Add check for LO_SUM.
12155
        (mips_move_1word): Add HIGH support.
12156
        (mips_address_cost): Delete check for HIGH.
12157
        (output_block_move): Handle LO_SUM addresses.
12158
        (override_options): Set mips_split_addresses.
12159
        (print_operand_address): Add LO_SUM support.
12160
        * mips.h (mips_split_addresses, mips_check_split, move_operand):
12161
        New declarations
12162
        (GO_IF_LEGITIMATE_ADDRESS): Reject constant addresses when
12163
        mips_split_addresses is TRUE.  Add LO_SUM support.
12164
        (LEGITIMIZE_ADDRESS): Add LO_SUM support.
12165
        (PREDICATE_CODES): Modify call_insn_operand support.  Add
12166
        move_operand.
12167
        * mips.md (memory): Change r4100/r4300 support.
12168
        (imuldiv): Add r4300 support.
12169
        (high, low): New patterns.
12170
        (movsi, movdi): Add LO_SUM support.
12171
        (movsi_internal1, movsi_internal2): Use move_operand instead of
12172
        general_operand.
12173
        (movstrsi_internal, movstrsi_internal2): Delete R constraint.
12174
        (call, call_value): Pass address instead of MEM to call_insn_operand.
12175
        Call gen_call_{value_}internal0 instead of internal1.
12176
        (call_internal0, call_value_internal0, call_multiple_internal0):
12177
        New patterns.
12178
        (call_internal1, call_internal2, call_value_internal1,
12179
        call_value_internal2, call_value_multiple_internal2): Add explicit
12180
        MEM before target address.
12181
 
12182
Sun Jun 16 23:05:16 1996  Jeffrey A. Law  
12183
 
12184
        * configure (hppa*-hp-hpux10*): Use new pa-hpux10 configuration file.
12185
        (hppa*-hp-hpux*): Use hpux9 configuration files by default.
12186
        * pa/pa-hpux10.h: New file.
12187
        * pa/pa-ghpux9.h: Deleted.  No longer used.
12188
 
12189
Sat Jun 15 04:35:51 1996  Roland McGrath  
12190
 
12191
        * i386/gnu.h (LINK_SPEC): Remove -rpath /lib/ option.
12192
        Ignore -ibcs option.
12193
 
12194
Thu Jun 13 14:49:41 1996  Jim Wilson  
12195
 
12196
        * gen-protos.c (main): Change argv[i] to argv[0][i].
12197
 
12198
Thu Jun 13 10:46:24 1996  Doug Evans  
12199
 
12200
        * gcc.c (pfatal_pexecute): Delete code to check errno < sys_nerr.
12201
 
12202
Wed Jun 12 21:47:10 1996  Eliot Dresselhaus  
12203
 
12204
        * alpha.c (alpha_cpu, alpha_cpu_string): New variables.
12205
        (override_options): Process -mcpu= value.
12206
        (alpha_adjust_cost): Handle adjustments for EV5.
12207
        * alpha.h (enum processor_type): New enum.
12208
        (alpha_cpu, alpha_cpu_string): New declarations.
12209
        (target_options): Add "cpu=".
12210
        (RTX_COSTS): Adjust values for EV5.
12211
        * alpha.md: Add scheduling rules for EV5.
12212
 
12213
Tue Jun 11 17:51:03 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
12214
 
12215
        * c-common.c (check_format_info): Change text of message about use
12216
        of `0' with precision.
12217
 
12218
Tue Jun 11 15:14:10 1996  Stan Cox  
12219
 
12220
        * i386.h (TARGET_SCHEDULE_PROLOGUE): New. Allows prologue to
12221
        be emitted as asm or rtl.
12222
 
12223
        * i386.c (function_prologue): Emit prologue as asm.
12224
        (override_options): Don't emit rtl for prologue if -fpic.
12225
 
12226
Tue Jun 11 14:41:01 1996  Michael Meissner  
12227
 
12228
        * rs6000/eabi.asm (__eabi): Fix normal code so that it properly
12229
        loads up r2/r13 if needed again.
12230
 
12231
        * rs6000/sysv4.h (CPP_ENDIAN_SPEC): Call cpp_endian_default, not
12232
        cpp_endian_default_spec.
12233
 
12234
Mon Jun 10 15:10:56 1996  Jeffrey A. Law  
12235
 
12236
        * local-alloc.c (update_equiv_regs): Ignore insns that read or
12237
        write registers that are likely to be spilled.
12238
 
12239
        * pa.h (cmp_type): Add CMP_PSI.
12240
        (FUNCTION_POINTER_COMPARISON_MODE): Define.
12241
        * pa.md (cmppsi): New expander.
12242
        (plabel_dereference): New pattern
12243
 
12244
Mon Jun 10 14:56:14 1996  Michael Meissner  
12245
 
12246
        * rs6000/sol2.h (SKIP_ASM_OP): Delete, Solaris accepts .space,
12247
        like rest of PowerPC V4 ports.
12248
 
12249
        * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Emit .lcomm if not
12250
        using the .sbss area.  If using the .sbss area, put out
12251
        appropriate .size directive.
12252
 
12253
Mon Jun 10 14:53:38 1996  Doug Evans  
12254
 
12255
        * Move fork/exec/wait handling into file of its own.
12256
        * pexecute.c: New file.
12257
        * Makefile.in (pexecute.o): Add rule.
12258
        (xgcc): Link in pexecute.o.
12259
        (protoize,unprotoize): Likewise.
12260
        * gcc.c (_WIN32): Don't include process.h or declare spawnv{,p}.
12261
        (pexecute,pwait): Add prototypes.
12262
        (PEXECUTE_{FIRST,LAST,SEARCH}): Define.
12263
        (execv,execvp): Delete decls.
12264
        (perror_exec): Delete.
12265
        (pfatal_pexecute): New function.
12266
        (pexecute support): Delete.
12267
        (execute): -pipe not supported if _WIN32 or OS2.
12268
        Update call to pexecute.  Fatal error if pexecute fails.  Call pwait.
12269
        * protoize.c: Include gansidecl.h.
12270
        (my_execvp): Delete.
12271
        (choose_temp_base,pexecute,pwait): Declare.
12272
        (PEXECUTE_{FIRST,LAST,SEARCH}): Define.
12273
        (execvp): Delete decl.
12274
        (usage): Fix typo.
12275
        (gen_aux_info_file): Rewrite to use pexecute/pwait.
12276
 
12277
        * gcc.c (do_spec_1): Allow leading text in version string.
12278
        Delete support for default minor number = 0.
12279
 
12280
Mon Jun 10 11:49:53 1996  Scott Christley 
12281
 
12282
        * objc/Makefile (libobjc.a): Don't delete the library.
12283
 
12284
        * objc/thr.h (objc_set_thread_callback): New function.
12285
        (objc_thread_callback): Typedef for the hook function.
12286
        * objc/thr.c (__objc_thread_detach_function): Clear thread storage.
12287
        Call the thread hook function when first becoming multi-threaded.
12288
        (objc_set_thread_callback): New function.
12289
 
12290
        * objc/selector.c (__sel_register_typed_name): Additional parameter
12291
        that indicates whether name and type parameters are constant or not.
12292
        * objc/runtime.h (__sel_register_typed_name): Likewise.
12293
        * objc/init.c (__sel_register_typed_name): Likewise.
12294
 
12295
        * objc/init.c (__objc_init_protocols): Need to unlock mutex.
12296
 
12297
Mon Jun 10 11:44:44 1996  Kaveh R. Ghazi  
12298
 
12299
        * sparc/t-sol2 (gmon.o): Depend on stmp-int-hdrs.
12300
        (crt1.o, crti.o, crtn.o, gcrt1.o): Depend on $(GCC_PASSES).
12301
 
12302
Mon Jun 10 11:29:46 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
12303
 
12304
        * flow.c (flow_analysis, find_basic_blocks): Ignore
12305
        nonlocal_label_list for CALL_INSN that has a REG_RETVAL.
12306
 
12307
        * c-common.c (decl_attributes, case A_T_UNION): Don't look at fields
12308
        of union if there aren't any.
12309
 
12310
Sat Jun  8 22:13:33 1996  Stan Cox 
12311
 
12312
        * i386.c (ix86_expand_prologue): Keep pic register load ahead
12313
        of reference which may use a pic register.
12314
 
12315
Sat Jun  8 22:13:33 1996  Jim Wilson 
12316
 
12317
        * i386.md (strlensi_unroll4, strlensi_unroll5): Use + not =& for
12318
        constraint for input/output operand 2.
12319
 
12320
Sat Jun  8 22:13:33 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)
12321
 
12322
        * i386.h (CONST_COSTS): Even integer constants have a cost.
12323
        (RTX_COSTS): Take costs of subexpressions into account.
12324
        If a multiply is actually a shift, use the cost of the shift.
12325
        * i386/unix.h (SHIFT_DOUBLE_OMITS_COUNT): New macro.
12326
        * i386/{gas, next, seq-gas}.h (SHIFT_DOUBLE_OMITS_COUNT): Redefine
12327
        as zero.
12328
        * i386.c (print_operand): new letter 's'.
12329
 
12330
Sat Jun  8 15:13:33 1996  Jim Wilson  
12331
 
12332
        * mips.c (override_options): Add vr4100 and vr4300 support.
12333
        * mips.h (enum processor_type): Likewise.
12334
        (MASK_4300_MUL_FIX, TARGET_4300_MUL_FIX): New macros.
12335
        (TARGET_SWITCHES): Add -mfix4300 option.
12336
        * mips.md (cpu, memory, imuldiv, adder, mult, divide): Add
12337
        vr4100 and vr4300 support.
12338
        (muldf3, mulsf3): Add vr4300 support.
12339
        (muldf3_internal, muldf_r4300, mulsf3_internal, mulsf_r4300): New
12340
        patterns.
12341
 
12342
Sat Jun  8 14:35:23 1996  David Edelsohn  
12343
 
12344
        * toplev.c (main): Re-enable -gxcoff+.
12345
 
12346
Sat Jun  8 14:20:14 1996  J.T. Conklin  
12347
 
12348
        * m68k/lb1sf68.asm (__{eq,ne,gt,lt,ge,le}{df,sf}2): Removed
12349
        extraneous comments, constants, labels, etc.
12350
 
12351
        * m68k/altos3068.h (TARGET_DEFAULT): Use MASK_* macros
12352
        instead of explicit constants in definitions or conditionals.
12353
        * m68k/{apollo68, aux, ccur-GAS, dpx2, hp320, hp3bsd}.h: Likewise.
12354
        * m68k/{hp3bsd44, isi-nfp, isi, linux-aout, linux}.h): Likewise.
12355
        * m68k/{lynx-ng, lynx, m68k-none, m68k-psos, m68kv4}.h): Likewise.
12356
        * m68k/{mot3300, netbsd, news, next, pbb, plexus, sun2o4}.h): Likewise.
12357
        * m68k/{sun3, sun3n, tower}.h): Likewise.
12358
 
12359
Sat Jun  8 13:55:23 1996  Matthias Pfaller  (leo@marco.de)
12360
 
12361
        * ns32k.md (define_insns for ffs[qhs]i2): Deleted.
12362
        (define_expand for ffssi2): New pattern.
12363
 
12364
Sat Jun  8 13:44:14 1996  Stephen L Moshier  (moshier@world.std.com)
12365
 
12366
        * reload.c (find_equiv_reg): Set need_stable_sp if GOAL is the
12367
        stack pointer.
12368
 
12369
Sat Jun  8 13:36:05 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
12370
 
12371
        * function.c (fixup_var_refs_1, case SIGN_EXTEND): Handle
12372
        paradoxical SUBREGs as first operand.
12373
        (fixup_var_regs_1, case SET): Handle paradoxical SUBREGs as
12374
        first operand of a ZERO_EXTRACT in SET_DEST.
12375
 
12376
        * c-common.c (enum attrs): Add A_FORMAT_ARG.
12377
        (init_attribute): Initialize it.
12378
        (decl_attributes, case A_FORMAT): Clean up error messages.
12379
        (decl_attributes, case A_FORMAT_ARG): New case.
12380
        (struct international_format_info): New structure and typedef.
12381
        (international_format_list): New variable.
12382
        (record_international_format): New function.
12383
        (init_format_info): Call it for gettext, dcgettext, and dcgettext.
12384
        (check_format_info): See if format arg is call to
12385
        internationalization function.
12386
 
12387
Fri Jun  7 20:04:40 1996  Jim Wilson  
12388
 
12389
        * gcc.c (MULTILIB_SELECT): Delete definition.
12390
        (multilib_select): Delete static initializer.
12391
        (multilib_obstack, multilib_raw): New global variables.
12392
        (multilib.h): Include inside multilib_raw definition.
12393
        (main): Set multilib_select from multilib_raw.
12394
        * genmultilib: Change output to be a sequence of short strings
12395
        separated by commas rather than a single long macro definition.
12396
 
12397
        * cse.c (simplify_binary_operation, case MULT): Check for case
12398
        where width is larger than HOST_BITS_PER_WIDE_INT, and upper most
12399
        bit is set.  We can not generate a simple shift in this case.
12400
 
12401
        * gsyms.h (enum sdb_type): Add T_LNGDBL if EXTENDED_SDB_BASIC_TYPES.
12402
        (enum sdb_masks): Add EXTENDED_SDB_BASIC_TYPES masks.
12403
        * sdbout.c (gsyms.h): Include if CROSS_COMPILE is defined.
12404
        (plain_type_1): Use TYPE_PRECISION instead of TYPE_SIZE.
12405
        Add check for LONG_DOUBLE_TYPE_SIZE if EXTENDED_SDB_BASIC_TYPES.
12406
        * i960.h (EXTENDED_SDB_BASIC_TYPES): Define.
12407
        (PUT_SDB_TYPE): Delete now unnecessary shifting and masking.
12408
 
12409
        * i960.h (i960_output_move_{double,quad}): Declare.
12410
 
12411
Fri Jun  7 19:22:09 1996  Scott Christley 
12412
 
12413
        * Makefile.in (OBJC_THREAD_FILE): New variable.
12414
        * configure (objc_thread_file): Set new variable to appropriate
12415
        values based upon target operating system; default is `thr-single'.
12416
        * objc/Makefile (OBJC_THREAD_FILE): Add target and dependency.
12417
        (thr.o): Remove OS specific thread files as dependencies.
12418
        * objc/thr-decosf1.c: Now compiles as a separate source file, so
12419
        include appropriate Objective-C headers.
12420
        * objc/thr-{mach,os2,posix,irix,single,solaris,win32}.c: Likewise.
12421
        * objc/thr.c: Remove inclusion of source files.
12422
        * objc/thr.h (__objc_thread_exit_status): Declare global variable.
12423
        * objc/thr-pthreads.c: New file.
12424
 
12425
Fri Jun  7 19:04:04 1996  J.T. Conklin  
12426
 
12427
        * m68k.h (TARGET_SWITCHES): Treat -m68302 like -m68000 and -m68332
12428
        like -m68020; remove -mno-68302 and -mno-68332.
12429
 
12430
Fri Jun  7 12:06:12 1996  Per Bothner  
12431
 
12432
        * expr.c (safe_from_p):  Allow Chill-style variable-sized arrays.
12433
 
12434
Thu Jun  6 23:11:11 1996  Jeffrey A. Law  
12435
 
12436
        * h8300.c (h8300_monitor_function_p): New function.
12437
        (h8300_os_task_function_p): Likewise.
12438
        (os_task, monitor): Variables to note if the current
12439
        function is an os_task or monitor.
12440
        (function_prologue): Set monitor and/or os_task as needed.  Handle
12441
        os_task and monitor functions.
12442
        (function_epilogue): Clear monitor and os_task.  Handle os_task and
12443
        monitor functions.
12444
        (h8300_valid_machine_decl_attribute): Accept "OS_Task" and
12445
        "monitor".
12446
 
12447
Thu Jun  6 20:01:54 1996  Per Bothner  
12448
 
12449
        * gen-protos.c (progname):  New variable (needed by cppalloc.c).
12450
        (main):  Set progname.
12451
 
12452
        * cpplib.h (struct parse_file):  Removed.
12453
        (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, CPP_OUT_BUFFER):  New macros.
12454
        * cpphash.c (cpp_lookup):  Change struct parse_file -> cpp_reader.
12455
 
12456
        * cpplib.c (init_parse_option):  Renamed to cpp_options_init.
12457
        (push_parse_file):  Renamed to ...
12458
        (cpp_start_read):  Change to return 1 on success, 0 on failure.
12459
        (init_parse_file):  Renamed to cpp_reader_init.
12460
        * cppmain.c (main):  Use CPP_SET_WRITTEN and cpp_fatal.
12461
        Use renamed function names, and return protocols.
12462
        * fix-header.c (read_scan_file):  Likewise.
12463
 
12464
        * cpperror.c (cpp_message):  Generalize for "fatal" errors.
12465
        (cpp_fatal):  New function (just calls cpp_message).
12466
        * cpplib.c (cpp_start_read, cpp_handle_options, cpp_finish,
12467
        parse_goto_mark, parse_move_mark):  Use cpp_fatal rather than fatal.
12468
 
12469
        * fix-header.c (check_macro_names):  Fix struct parse_file->cpp_reader.
12470
        * cpplib.c (newline_fix):  Remove unused function.
12471
 
12472
Thu Jun  6 19:47:26 1996  Jim Wilson  
12473
 
12474
        Changes to support parameters and return values in multiple
12475
        non-contiguous locations.
12476
        * calls.c (expand_call): Handle NIL in PARALLEL.  Handle PARALLEL
12477
        parameter in REG.  Handle PARALLEL return value in VALREG.
12478
        (emit_library_call, emit_library_call_value): Abort for PARALLEL.
12479
        (store_one_arg): Delete code for handling EXPR_LIST.
12480
        * expr.c (emit_group_load, emit_group_store): New functions.
12481
        (use_group_regs): New function.
12482
        (emit_push_insn): Handle PARALLEL parameter in REG.
12483
        (expand_assignment): Handle PARALLEL to_rtx.
12484
        (store_expr): Handle PARALLEL target.
12485
        * expr.h (emit_group_load, emit_group_store, use_group_regs): New
12486
        declarations.
12487
        * function.c (assign_parms): Handle PARALLEL parameter in ENTRY_PARM.
12488
        * stmt.c (expand_value_return): Handle PARALLEL return_reg.
12489
 
12490
        * mips/abi64.h (TYPE_DEPENDENT_REG): Delete.
12491
        * mips.c (function_arg): Return PARALLEL for structure with
12492
        aligned double fields.
12493
        (type_dependent_reg): Delete.
12494
        (mips_function_value): Return PARALLEL for structure
12495
        with two floating point fields.
12496
        * mips/mips.md (call_value): Handle PARALLEL in operands[0].
12497
        (call_value_multiple_internal2): New pattern.
12498
        * pa.h (FUNCTION_ARG): General PARALLEL instead of EXPR_LIST.
12499
        * rs6000.c (init_cumulative_args): Change EXPR_LIST to PARALLEL
12500
        in comments.
12501
        (function_arg): Generate PARALLEL instead of EXPR_LIST.
12502
 
12503
Thu Jun  6 18:21:27 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
12504
 
12505
        * function.c (assign_parms): Tighten up code that makes REG_EQUIV
12506
        notes for parms.
12507
 
12508
        * fold-const.c (fold): Don't do anything with evaluated SAVE_EXPR.
12509
 
12510
Thu Jun  6 17:54:07 1996  J.T. Conklin  
12511
 
12512
        * m68k.h (TARGET_SWITCHES): Group all floating point options.
12513
        When an fp option is selected, unset bits used for other mutually
12514
        exclusive fp options.
12515
        (OVERRIDE_OPTIONS): Remove special case for SUPPORT_SUN_FPA;
12516
        bits used for 68881 and SKY are now cleared by TARGET_SWITCHES.
12517
 
12518
        * m68k.md (movsi_const0, movhi): Favor clr with TARGET_5200.
12519
        (add[qhs]3): Don't use two addqw/subqw insns to add small integers to
12520
        an address register with TARGET_68060.
12521
        (stack push peephole): Use moveq.l with TARGET_5200 (when appropriate).
12522
 
12523
        * m68k.h (MASK_5200, TARGET_5200): New macros.
12524
        (TARGET_SWITCHES): Add "m5200".
12525
        (LEGITIMATE_INDEX_P): Add TARGET_5200 to conditional expression.
12526
        * m68k.c (const_method): Do not synthesize long constants
12527
        with byte or word operations with TARGET_5200.
12528
        * m68k.md: Disable byte and word arithmetic, rotate, integer
12529
        divide, dbcc, etc. insns for TARGET_5200.
12530
        * m68k-none.h: (CPU_FPU_SPEC, CPP_SPEC, ASM_SPEC): Support m5200.
12531
 
12532
Thu Jun  6 17:32:32 1996  Paul Eggert  
12533
 
12534
        * fixproto (subdirs): Work around Solaris 2.5
12535
        /usr/xpgr/bin/sed problem with \+\+.
12536
 
12537
Thu Jun  6 15:06:27 1996  Jim Wilson  
12538
 
12539
        * c-decl.c (grokdeclarator): Call pop_obstacks after creating
12540
        TYPE_DECL.
12541
 
12542
        * loop.c (strength_reduce): If HAVE_cc0 defined, disable auto_inc_opt
12543
        if it would put an insn between a cc0 setter/user pair.
12544
 
12545
Thu Jun  6 13:06:54 1996  Michael Meissner  
12546
 
12547
        * rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): If __sun__ is
12548
        defined, treat that as little endian.
12549
 
12550
Wed Jun  5 20:04:53 1996  Jim Wilson  
12551
 
12552
        * i960.h (ROUND_TYPE_ALIGN): Add check for TYPE_PACKED.
12553
 
12554
        * sh.h (SHORT_IMMEDIATES_SIGN_EXTEND): Define.
12555
        * sh.md (branch_true): Add comment about T-bit compares.
12556
 
12557
Tue Jun  4 23:08:34 1996  Per Bothner  
12558
 
12559
        * cpplib.h, cpplib.c:  Remove support for !STATIC_BUFFERS.
12560
        * cpplib.h:  Use unsigned char rather than U_CHAR.
12561
        * cpplib.h (cpp_reader):  Add destructor #ifdef __cplusplus.
12562
        (cpp_cleanup):  New prototype.
12563
        * cpplib.c (special_symbol, do_once, do_include, cpp_get_token):
12564
        Compare cpp_buffer against CPP_NULL_BUFFER, not NULL.
12565
 
12566
        * cpplib.c (dump_special_to_buffer):  New function.
12567
        (initialize_builtins):  Use it.
12568
 
12569
Wed Jun  5 19:10:22 1996  Jeffrey A. Law  
12570
 
12571
        * pa/pa.h (TEXT_SPACE_P): Fix thinko in last change.
12572
 
12573
Wed Jun  5 16:25:51 1996  Michael Meissner  
12574
 
12575
        * rs6000.h (ASM_DEFAULT_SPEC): Default to "", not -mpwr.
12576
 
12577
        * sysv4.h (SUBTARGET_SWITCHES): Add -mshlib.
12578
        (LINK_PATH_SPEC): Add -compat-bsd support from Solaris.
12579
        (LINK_SPEC): Eliminate %{b} and %{G}, since they conflict with GCC
12580
        switches.  Defer shared library support to LINK_SHLIB_SPEC.  Defer
12581
        target selection to LINK_TARGET_SPEC.
12582
        (LINK_SHLIB_SPEC): Provide two different versions, depending on
12583
        whether shared libraries are default or not.  Make shared
12584
        libraries not default until linker is fixed.
12585
        (LINK_OS_*_SPEC): New specs for OS specific linker switches.
12586
        (SUBTARGET_EXTRA_SPECS): Add new specs.
12587
 
12588
        * {sol2,sysv4}.h (LINK_SPEC): Move Solaris link into general link spec.
12589
 
12590
        * {sysv4,sysv4le,eabile}.h (LINK_TARGET_SPEC): Only pass -oformat
12591
        to the linker if the user is changing the default endian format.
12592
 
12593
        * {sol2,linux,eabisim,eabilesim}.h (LINK_OS_DEFAULT_SPEC): Define
12594
        to use the appropriate OS link spec.
12595
 
12596
Wed Jun  5 16:35:10 1996  Ian Lance Taylor  
12597
 
12598
        * ginclude/stddef.h: Fix typo: TYPE_ptrdiff_t to _TYPE_ptrdiff_t.
12599
 
12600
Wed Jun  5 15:52:57 1996  Per Bothner  
12601
 
12602
        * varasm.c (output_constructor):  Handle RANGE_EXPR in array index.
12603
 
12604
Wed Jun  5 13:45:54 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
12605
 
12606
        * sparc.md (*call_{address,symbolic}_struct_value_sp32): Allow
12607
        operand 2 to be const0_rtx.
12608
 
12609
Tue Jun  4 16:43:44 1996  Jason Merrill  
12610
 
12611
        * varasm.c (make_decl_rtl): Don't update DECL_ASSEMBLER_NAME for
12612
        local statics.
12613
 
12614
        * c-decl.c (start_decl): Always set DECL_COMMON on statics.
12615
        * varasm.c (assemble_variable): Only treat vars with DECL_COMMON
12616
        as common.
12617
 
12618
Tue Jun  4 14:55:49 1996  Jeffrey A. Law  
12619
 
12620
        * pa.c (reloc_needed): New function.
12621
        * pa.h (TEXT_SPACE_P): Variables/constants with initializers
12622
        requiring relocs never live in the text space.
12623
 
12624
Tue Jun  4 14:10:46 1996  Ian Lance Taylor  
12625
 
12626
        * sh.c (fp_zero_operand): Do not accept minus zero.
12627
 
12628
        * sh.h (ASM_OUTPUT_LOOP_ALIGN): Define.
12629
        (ASM_OUTPUT_ALIGN_CODE): Define.
12630
        (ADJUST_INSN_LENGTH): Add in bytes that may be added by
12631
        alignment.
12632
        * sh.c (output_branch): Run ADJUST_INSN_LENGTH in reverse to get
12633
        correct length.  Just call abort rather than returning "bad".
12634
        (find_barrier): Adjust limits for possible alignment.
12635
 
12636
Tue Jun  4 09:35:05 1996  Michael Meissner  
12637
 
12638
        * rs6000/t-solaris: New target config file for PowerPC Solaris
12639
        without gas.
12640
 
12641
        * rs6000/t-ppc: Eliminate all multilib varients except for
12642
        software floating point.
12643
 
12644
        * configure (powerpcle-*-solaris*): If not --with-gnu-as, use
12645
        t-solaris, not t-ppc.
12646
 
12647
        * rs6000/sol2.h (MULTILIB_DEFAULTS): Add correct defaults for
12648
        Solaris.
12649
 
12650
        * rs6000/sysv4.h (ASM_OUTPUT_SECTION_NAME): Clone from svr4.h, omit
12651
        @progbits, since Solaris assembler doesn't like it.
12652
        (LIB_SOLARIS_SPEC): If -msolaris-cclib, add libabi.a.
12653
        ({START,END}FILE_SOLARIS_SPEC): If -msolaris-cclib, use explicit
12654
        pathnames for the Solaris compiler start/end files.
12655
        (ASM_SPEC): Pass -mno-regnames to the assembler.
12656
 
12657
Mon Jun  3 19:40:10 1996  Jim Wilson  
12658
 
12659
        * mips/abi64.h (CPP_SPEC): Make -mabi=n32 the default.
12660
        * mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT, MULTILIB_DEFAULTS,
12661
        ASM_SPEC, STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
12662
        * mips.md (tablejump_internal4+1): Fix typo in condition.
12663
        * mips/x-iris6 (CC, OLDCC): Define to be `cc -32'.
12664
 
12665
Mon Jun  3 07:57:35 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
12666
 
12667
        * tree.def ([LR]SHIFT_EXPR): Remove `a' from printed names.
12668
 
12669
        * sparc.md (call): Mask unimp operand to 12 bits, just like Sun.
12670
 
12671
        * expr.c (store_field): Fix typo in last change; update TARGET addr.
12672
 
12673
        * c-decl.c (start_struct): Set TYPE_PACKED from flag_pack_struct.
12674
        (start_enum): Likewise but from flag_short_enums.
12675
        (finish_enum): Test TYPE_PACKED, not flag_short_enums.
12676
        * stor-layout.c (layout_decl): Test DECL_PACKED and TYPE_PACKED
12677
        instead of flag_pack_struct.
12678
        (layout_record): Likewise.
12679
 
12680
Sun Jun  2 19:41:14 1996  Jim Wilson  
12681
 
12682
        * mips.md (tablejump_internal3, tablejump_internal4): New patterns.
12683
        (tablejump): Use them for PIC code.
12684
 
12685
Fri May 31 17:26:53 1996  Stan Cox  
12686
 
12687
        * i386.c (ix86_expand_epilogue): Don't generate references to an
12688
        exposed vacated stack.
12689
        * i386.md (epilogue_set_stack_ptr): New.
12690
 
12691
Fri May 31 15:07:49 1996  Jim Wilson  
12692
 
12693
        * mips/abi64.h: Add -mabi=n32 support.
12694
        (ABI_64BIT): Delete.
12695
        (TARGET_LONG64, CPP_SPEC, STACK_BOUNDARY, MIPS_STACK_ALIGN,
12696
        GP_ARG_LAST, FP_ARG_LAST, SUBTARGET_CONDITIONAL_REGISTER_USAGE,
12697
        MAX_ARGS_IN_REGISTER, FUNCTION_ARG_PADDING, RETURN_IN_MEMORY,
12698
        SETUP_INCOMING_VARARGS): Modify.
12699
        (REG_PARM_STACK_SPACE): Ifdef out.
12700
        (TARGET_DEFAULT, SUBTARGET_TARGET_OPTIONS): Define.
12701
        * mips/iris6.h: Add -mabi=n32 support.
12702
        (TARGET_DEFAULT, ASM_OUTPUT_INTERNAL_LABEL,
12703
        ASM_GENERATE_INTERNAL_LABEL): Delete.
12704
        (MULTILIB_DEFAULTS, ASM_SPEC, EXTRA_SECTION_FUNCTIONS,
12705
        ASM_OUTPUT_ALIGNED_LOCAL, STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
12706
        Modify.
12707
        (MIPS_ABI_DEFAULT, LOCAL_LABEL_PREFIX): Define.
12708
        * mips.c: Add -mabi=n32 support.
12709
        (mips_const_double_ok, mips_move_1word, mips_move_2words,
12710
        function_arg, override_options, mips_asm_file_start,
12711
        compute_frame_size, save_restore_insns, function_prologue,
12712
        mips_expand_prologue, function_epilogue, mips_function_value): Modify.
12713
        (mips_abi, mips_abi_string): Define
12714
        * mips.h: Add -mabi=n32 support.
12715
        (ABI_64BIT): Delete.
12716
        (TARGET_OPTIONS, INITIAL_ELIMINATION_OFFSET, GO_IF_LEGITIMATE_ADDRESS,
12717
        CONSTANT_ADDRESS_P, LEGITIMATE_CONSTANT_P, LEGITIMIZE_ADDRESS,
12718
        ASM_OUTPUT_ADDR_DIFF_ELT): Modify.
12719
        (enum mips_abi_type, SUBTARGET_TARGET_OPTIONS): Define.
12720
        (mips_abi, mips_abi_string): Declare.
12721
        * mips.md (jump, tablejump_internal1, tablejump_internal2): Add
12722
        -mabi=n32 support.
12723
        * mips/t-iris6 (MULTILIB_OPTIONS): Add -mabi=n32 support.
12724
        * mips/xm-irix6.h (HOST_BITS_PER_LONG): Use _MIPS_SZLONG not 64.
12725
        * ginclude/va-mips.h (va_start): Add -mabi=n32 support.
12726
 
12727
Fri May 31 14:45:30 1996  Michael Meissner  
12728
 
12729
        * rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -msolaris-cclib to use
12730
        the Sun compiler's crt files instead of ours.
12731
        ({START,END}FILE_SOLARIS_SPEC): If -msolaris-cclib, use the Sun
12732
        compiler's crt files instead of ours.
12733
        (SUBTARGET_OVERRIDE_OPTIONS): Don't set -msdata=data for Solaris.
12734
        (SBSS_SECTION_ASM_OP): For Solaris, don't use @nobits.
12735
        (CPP_OS_SOLARIS_SPEC): Remove -Asystem(unix) and -Asystem(svr4).
12736
 
12737
        * rs6000/t-ppc{,gas} (MULTILIB*): Add Solaris specific multilibs.
12738
 
12739
        * rs6000/eabi{,le}sim.h (*_DEFAULT_SPEC): Rather than using
12740
        duplicate definitions, just use %(...) so that there is only one
12741
        place in the specs file where the switches are defined.
12742
        * rs6000/{linux,sol2}.h (*_DEFAULT_SPEC): Ditto.
12743
 
12744
        * rs6000/sol2.h (CPP_PREDEFINES): Use the standard one in sysv4.h.
12745
        (RS6000_ABI_NAME): Default is solaris.
12746
        (ASM_OUTPUT_ALIGNED_LOCAL): Don't redefine.
12747
 
12748
        * rs6000/sol-c{i.asm,n.asm,c0.c}: Provide more things that Solaris
12749
        needs for program startup.
12750
 
12751
Thu May 30 21:57:34 1996  Mike Stump  
12752
 
12753
        * tree.def (OFFSET_REF): Remove.
12754
        * expr.c (expand_expr, case OFFSET_REF): Likewise.
12755
        * tree.c (substitute_in_expr): Remove OFFSET_REF code.
12756
 
12757
Wed May 29 14:54:44 1996  Michael Meissner  
12758
 
12759
        * rs6000/eabi.asm (__eabi): If not -mrelocatable, don't assemble
12760
        relocatable functions, so that it can be assembled with the
12761
        Solaris assembler.
12762
 
12763
        * rs6000/sysv4.h (CPP_SYSV_SPEC): Define _RELOCATABLE if
12764
        -mrelocatable-lib as well as -mrelocatable.
12765
 
12766
        * rs6000.c (rs6000_file_start): New function to print some more
12767
        information to the asm file.
12768
        * rs6000/{sysv4,win-nt,rs6000}.h (ASM_FILE_START): Call it.
12769
 
12770
Tue May 28 15:21:24 1996  Michael Meissner  
12771
 
12772
        * rs6000.h (FIRST_PSEUDO_REGISTER): Bump to 77.
12773
        ({FIXED,CALL_USED}_REGISTERS): Add support for fpmem pseudo register.
12774
        (REG_ALLOC_ORDER, HARD_REGNO_{NREGS,MODE_OK}): Likewise.
12775
        (REGISTER_MOVE_COST, reg_class, REG_CLASS_{NAMES,CONTENTS}): Likewise.
12776
        (REGNO_REG_CLASS, PREFERRED_RELOAD_CLASS): Likewise.
12777
        (CLASS_{MAX_NREGS,CANNOT_CHANGE_SIZE,MAX_NREGS}): Likewise.
12778
        (rs6000_stack, {,DEBUG_}REGISTER_NAMES): Ditto.
12779
        (FPMEM_{REGNO_P,REGNUM}): New macros for fpmem register.
12780
        (rs6000_fpmem_{offset,size}): New global variables.
12781
        (RS6000_VARARGS_OFFSET): Fpmem temporary storage is located
12782
        between outgoing arg area and varargs save area.
12783
        (STARTING_FRAME_OFFSET, STACK_DYNAMIC_OFFSET): Likewise.
12784
        (PREDICATE_CODES): Add fpmem_operand.
12785
        ({count_register,fpmem}_operand): Add declarations.
12786
 
12787
        * rs6000.c ({rs6000,alt}_reg_names): Add support for fpmem 'register'.
12788
        (rs6000_fpmem_{offset,size}): New global variables.
12789
        (fpmem_operand): Return true for fpmem registers.
12790
        (gpc_reg_operand): The fpmem register is not general purpose.
12791
        (includes_rshift_p): Add casts to silence warnings from Solaris
12792
        PowerPC host compiler.
12793
        (print_operand): Add 'v' operand type for the upper 16 bits of
12794
        signed constants, to placate the Solaris assembler.
12795
        ({rs6000,debug}_stack_info): Add support for fpmem 'register'.
12796
        (output_epilog): Likewise.
12797
 
12798
        * rs6000.md (addsi3,movsi,movsf,movdi): Use %v for constants with
12799
        the upper 16 bits, to get the sign correct for PowerPC Solaris.
12800
        (float{,uns}sidf2,fix_truncdfsi2): Rewrite to use 'register' 76
12801
        for the memory location used to convert between float and integer.
12802
 
12803
        * sysv4.h (ASM_OUTPUT_{CON,DE}STRUCTOR): Use code laid down in
12804
        .init and .fini for making constructors and destructors under
12805
        Solaris.
12806
        (ASM_SPEC): Do not pass -u to the assembler.
12807
        (CC1_SPEC): -mrelocatable implies -meabi.
12808
 
12809
        * sol2.h (RS6000_ABI_NAME): Default ABI is Solaris, not System V.4.
12810
        (ASM_OUTPUT_ALIGNED_LOCAL): Don't define Solaris specific method.
12811
 
12812
Mon May 27 06:39:13 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
12813
 
12814
        * expr.c (expand_builtin, case BUILT_IN_{LONG,SET}JMP):
12815
        Convert block address from ptr_mode to Pmode.
12816
 
12817
Sun May 26 20:05:43 1996  Doug Evans  
12818
 
12819
        * gcc.c (MSDOS pexecute): Call xmalloc, not malloc.
12820
 
12821
Sun May 26 08:31:54 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
12822
 
12823
        * configure (vax-*-{sysv}): tm_file and xm_file now list.
12824
        (vax-*-ultrix): tm_file is now list.
12825
        (we32k-att-sysv*): xm_file now list.
12826
        * vax/xm-netbsd.h: Deleted.
12827
        * vax/netbsd.h: No longer include vax.h and config/netbsd.h.
12828
        * vax/ultrix.h, vax/vaxv.h: No longer include vax.h.
12829
        * vax/xm-vaxv.h: No longer include xm-vax.h.
12830
        * xm-we32k.h: No longer include xm-svr3.h.
12831
 
12832
        * configure: Separately set target_cpu_default for two
12833
        case statements and then combine if both set.
12834
        (alpha-*-winnt3): tm_file and xm_file are now list.
12835
        Set target_cpu_default to 64.
12836
        * winnt/config-nt.bat: Make .h files properly for Alpha.
12837
        * alpha.h (WINDOWS_NT): No longer defined and used.
12838
        (MASK_WINDOWS_NT, TARGET_WINDOWS_NT): New macros.
12839
        (ASM_OUTPUT_ADDR_DIFF_ELT): Use TARGET_WINDOWS_NT.
12840
        * alpha.c (output_prolog): Test TARGET_WINDOWS_NT, not WINDOWS_NT.
12841
        * alpha.md: Likewise.
12842
        * alpha/config-nt.sed: Properly set tm_file and {build,host}_xm_file.
12843
        * alpha/win-nt.h: Don't include alpha.h
12844
        (WINDOWS_NT): No longer define.
12845
        * alpha/xm-winnt.h: Don't include xm-alpha.h and winnt/xm-winnt.h.
12846
 
12847
Fri May 24 12:34:22 1996  Doug Evans  
12848
 
12849
        * configure (cpu_type): Add case for arm.
12850
        (sparclet-*-aout*): Delete extra_headers.
12851
 
12852
        * varasm.c (asm_output_bss): New argument DECL.
12853
        Use ASM_DECLARE_OBJECT_NAME if defined.
12854
        (asm_output_aligned_bss): Likewise.
12855
        (assemble_variable): Pass DECL to ASM_OUTPUT{,_ALIGNED}_BSS.
12856
        * arm/aout.h (ASM_OUTPUT_ALIGNED_BSS): Update.
12857
        * h8300.h (ASM_OUTPUT_BSS): Update.
12858
        * i386/linux.h (ASM_OUTPUT_ALIGNED_BSS): Update.
12859
        * i386/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Update.
12860
        * m68k/coff.h (ASM_OUTPUT_ALIGNED_BSS): Update.
12861
        * m68k/linux.h (ASM_OUTPUT_ALIGNED_BSS): Update.
12862
        * m68k/m68k-aout.h (ASM_OUTPUT_BSS): Update.
12863
        * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Update.
12864
        * rs6000/win-nt.h (ASM_OUTPUT_ALIGNED_BSS): Update.
12865
        * sparc/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Update.
12866
 
12867
Thu May 23 19:55:52 1996  Jim Wilson  
12868
 
12869
        * combine.c (set_nonzero_bits_and_sign_copies): Set reg_sign_bit_copies
12870
        to one not zero to indicate value is unknown.
12871
 
12872
Thu May 23 18:39:24 1996  J.T. Conklin  
12873
 
12874
        * config/netbsd.h (SWITCH_TAKES_ARG): Add -R.
12875
        (LINK_SPEC): Add %{R*}.
12876
 
12877
        * m68k/lb1sf68.asm: Construct exception masks at compile time
12878
        instead of or'ing in bits at run time.
12879
 
12880
Thu May 23 15:53:06 1996  Ian Lance Taylor  
12881
 
12882
        * sh.md: Add new instruction types fp and fpdiv.  Set new
12883
        instruction types where appropriate.  Add function unit fp.
12884
        Claim that store instructions use function unit memory.
12885
 
12886
Thu May 23 00:36:19 1996  Jeffrey A. Law  
12887
 
12888
        * h8300.h (CONSTANT_ADDRESS_P): Don't accept CONST or HIGH on H8/300H.
12889
        * h8300.md: Use "m" rather than "o" constraint everywhere appropriate.
12890
        Cleanup use of "i" and "n" constraints.
12891
 
12892
Wed May 22 17:43:37 1996  Jim Wilson  
12893
 
12894
        * fixincludes (pthread.h): Add extern to __page_size* declarations
12895
        for AIX 4.1.x.
12896
 
12897
        * combine.c (nonzero_bits): Don't assume arg pointer has same
12898
        alignment as stack pointer.
12899
 
12900
Wed May 22 16:09:05 1996  Michael Meissner  
12901
 
12902
        * rs6000/sysv4.h (LINK_START_DEFAULT_SPEC): Spell macro correctly.
12903
        (LIB_DEFAULT_SPEC): Provide default version.
12904
 
12905
Wed May 22 11:23:57 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)
12906
 
12907
        * i386.md (return_pop_internal): new pattern.
12908
        (pop): disable emitting of bogus move instruction.
12909
        * i386.c (ix86_expand_epilogue): use gen_return_pop_internal to
12910
        simultanously return and pop args; removed stray semicolon.
12911
        * config/linux-aout.h, config/linux.h (SET_ASM_OP): Added for
12912
        __attribute__ ((alias ())) support.
12913
 
12914
Wed May 22 08:06:42 1996  Richard Kenner  
12915
 
12916
        * combine.c (init_reg_last_arrays, setup_incoming_promotions):
12917
        Correct prototypes.
12918
 
12919
Tue May 21 13:42:17 1996  Jeffrey A. Law  
12920
 
12921
        * h8300.md (div and mode patterns): Rewrite.
12922
 
12923
        * pa.c (basereg_operand): Never accept a CONST_INT.
12924
 
12925
Tue May 21 12:26:40 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
12926
 
12927
        * pa/pa-hpux9.h, pa-osf.h (LINK_SPEC): Provide version for Snake.
12928
 
12929
Tue May 21 07:20:48 1996  Pat Rankin  
12930
 
12931
        * vax.h (TARGET_NAME): Define unless already defined.
12932
        (TARGET_VERSION): Print TARGET_NAME.
12933
        * vax/vms.h (TARGET_NAME): Always redefine.
12934
        (TARGET_VERSION): Delete; retain vax.h definition.
12935
 
12936
Mon May 20 14:00:44 1996  Jim Wilson  
12937
 
12938
        * sh.c (output_file_start): Delete misplaced semicolon.
12939
 
12940
Mon May 20 11:58:15 1996  Jeffrey A. Law  
12941
 
12942
        * reorg.c (relax_delay_slots): Call update_block before
12943
        redirecting a branch past a redundant insn.
12944
 
12945
Sun May 19 16:40:53 1996  Philippe De Muyter  
12946
 
12947
        * Makefile.in (libobjc.a, sublibobjc.a): 'specs' added to
12948
        dependencies.
12949
 
12950
Sun May 19 12:25:48 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
12951
 
12952
        * configure: Add new switch to provide default for cpu_type;
12953
        delete numerous settings of it in main switch.
12954
        (hppa): Reflect rerrangements below; use new configure features.
12955
        * pa/pa-gas.h, pa/pa-pro-end.h: New files.
12956
        * pa/pa1.h, pa/pa1-osf.h, pa/pa1-ghpux.h, pa/pa1-oldas.h: Deleted.
12957
        * pa/pa1-ghpux9.h, pa/pa1-hpux9.h, pa/pa1-hpux.h: Deleted.
12958
        * pa/pa1-ghiux.h, pa/pa1-hiux.h, pa/pa-ghpux.h: Deleted.
12959
        * pa/pa-gux7.h, pa/pa-ghiux.h: Deleted.
12960
        * pa/pa-hiux.h: No longer include pa-hpux.h.
12961
        * pa/pa-hpux.h: No longer include pa.h.
12962
        (TARGET_DEFAULT): Unset before setting.
12963
        (LINK_SPEC): Provide option for pa1.
12964
        * pa/pa-hpux7.h: No longer include pa.h.
12965
        (HP_FP_ARG_DESCRIPTOR_REVERSED): Don't define here.
12966
        * pa/pa-hpux9.h, pa/pa-oldas.h: No longer include pa-hpux.h.
12967
        (TARGET_DEFAULT): Don't need to set here.
12968
        * pa/pa-osf.h: No longer include pa.h.
12969
        (TARGET_DEFAULT): Don't define; identical to default.
12970
        * pa/pa-pro.h: No longer include pa.h.
12971
        Move definitions after include to new file pa-pro-end.h.
12972
        * pa.h (TARGET_SWITCHES): Include TARGET_CPU_DEFAULT.
12973
        (TARGET_CPU_DEFAULT): Provide default value.
12974
        (CPP_SPEC): Test TARGET_CPU_DEFAULT too.
12975
 
12976
        * Makefile.in (function.o): Includes bc-emit.h.
12977
        (reg-stack.o): Includes insn-flags.h.
12978
        * expr.h (function_value): Deleted; no such function.
12979
        (bc_build_calldesc, bc_runtime_type_code): New declarations.
12980
        * c-decl.c: Add prototypes for all static functions.
12981
        * c-iterate.c: Likewise.
12982
        * dbxout.c: Likewise.
12983
        (adspath): Delete; never used and has numerous parse errors.
12984
        * dwarfout.c: If not GNUC, make `inline' null; otherwise, leave alone.
12985
        Add `static' to inline functions.
12986
        Add prototypes for static function.
12987
        * expr.c (bc_runtime_type_code): Delete redundant declaration.
12988
        * function.c: Include bc-emit.h.
12989
        ({save,restore}_machine_status): Add prototype for args.
12990
        (bc_runtime_type_code, bc_build_calldesc): Delete redundant decls.
12991
        (bc_emit_trampoline, bc_end_function): Likewise.
12992
        * reg-stack.c: Include insn-flags.h.
12993
        Add prototypes for static functions.
12994
        (gen_jump, gen_movdf, gen_movxf): Delete redundant declarations.
12995
        (find_regno_note, emit_jump_insn_before, emit_label_after): Likewise.
12996
        (swap_rtx_condition): Now static.
12997
        * sdbout.c: Add prototypes for static functions.
12998
        (sdbout_parms, sdbout_reg_parms): Delete extra parm to plain_type.
12999
 
13000
Sun May 19 11:50:10 1996  John Carr 
13001
 
13002
        * alpha.c (alpha_emit_conditional_move): Compare to 0 in correct mode.
13003
 
13004
Sat May 18 20:17:27 1996  Jim Wilson  
13005
 
13006
        * sh.c (prepare_move_operands): If source is r0, and dest is reg+reg
13007
        MEM, then copy source to a pseudo-reg.
13008
        * sh.md (untyped_call): New pattern.
13009
 
13010
        * unroll.c (copy_loop_body): When update split DEST_ADDR giv,
13011
        check to make sure it was split.
13012
        (find_splittable_givs): Fix reversed test of verify_addresses result.
13013
 
13014
Sat May 18 10:26:04 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
13015
 
13016
        * tree.c (unsave_expr_now): Avoid use of NULL_RTX since no rtl.h.
13017
 
13018
        * configure: Set cpu_default, tm_file, and xm_file early.
13019
        Remove redundant settings of those, tmake_file, and xmake_file.
13020
        Use ${tm_file} and ${xm_file} to refer to the main files.
13021
        Sort some entries for consistency and reformat some others.
13022
        (rs6000, powerpc): Remove bogus test on host == target.
13023
        (alpha-*-linux): xm-linux.h no longer includes xm-alpha.
13024
        (alpha-*-osf*): Remove redundant setting of target_cpu_default.
13025
        (*-convex-*): Use target_cpu_default instead of separate .h files.
13026
        (clipper-intergraph-clix*): clix.h no longer includes any files.
13027
        (i860, i960, pdp11): Reflect removal of includes listed below.
13028
        * alpha/xm-linux.h: No longer include xm-alpha.h.
13029
        * clipper/clix.h: No longer include clipper.h and svr3.h.
13030
        * convex.h: Provide a default for TARGET_DEFAULT.
13031
        Take "or" of TARGET_DEFAULT and TARGET_CPU_DEFAULT everywhere.
13032
        * convex/convex{1,2,32,34,38}.h: Deleted.
13033
        * i860/bsd-gas.h: No longer include bsd.h.
13034
        * i860/bsd.h: No longer include i860.h.
13035
        * i860/fx2800.h: No longer include i860/sysv4.h.
13036
        (OUTPUT_TDESC): No longer define.
13037
        (ASM_FILE_END): Move redefinition to here.
13038
        * i860/mach.h: No longer include i860.h.
13039
        * i860/paragon.h, i860/sysv3.h: No longer include i860.h and svr3.h.
13040
        * i860/sysv4.h: No longer include i860.h and svr4.h.
13041
        (ASM_FILE_END): Delete redefinition from here.
13042
        * i860/xm-fx2800.h: No longer include xm-i860.h.
13043
        * i860/xm-paragon.h, i860/xm-sysv{3,4}.h: Deleted.
13044
        * i960/i960-coff.h: No longer include i960.h and dbxcoff.h.
13045
        * i960/vx960-coff.h: No longer include i960-coff.h.
13046
        * i960/vx960.h: No longer include i960.h.
13047
        * pdp11/2bsd.h: No longer include pdp11.h.
13048
 
13049
        * i370/i370.h: Renamed from mvs.h.
13050
        * i370/i370.c: Renamed from mvs370.c.
13051
        * i370/t-i370: Renamed from t-mvs.
13052
        * i370/xm-i370.h: Renamed from xm-mvs.h.
13053
        * configure (i370-*-mvs*): Use default names for all files.
13054
 
13055
        * c-parse.in: Update number of shift/reduce conflicts for objc.
13056
 
13057
Sat May 18 08:20:17 1996  Dennis Glatting  (dennisg@plaintalk.bellevue.wa.us)
13058
 
13059
        * m68k/next.h (FINALIZE_TRAMPOLINE): Add missing backslashes.
13060
 
13061
Fri May 17 19:57:20 1996  Pat Rankin  
13062
 
13063
        * vax/xm-vms.h (dbxout_resume_previous_source_file): New macro.
13064
 
13065
Fri May 17 14:20:13 1996  Mike Stump  
13066
 
13067
        * expr.c (expand_expr, cond TARGET_EXPR): Make TARGET_EXPRs
13068
        redoable for UNSAVE_EXPR.
13069
        * stmt.c (expand_decl_cleanup): Wrap the cleanup in an UNSAVE_EXPR
13070
        to that we can redo it.
13071
        * tree.c (unsave_expr_now): Handle TARGET_EXPRs fully now.
13072
        * tree.def (TARGET_EXPR): Add a fourth field so that TARGET_EXPRs
13073
        are redoable.
13074
 
13075
        * expr.c (expand_expr, cond UNSAVE_EXPR): Move from the C++
13076
        frontend to the backend where it belongs.
13077
        * tree.c (unsave_expr{,_now}): Likewise.
13078
        * tree.def (UNSAVE_EXPR): Likewise.
13079
        * tree.h (unsave_expr{,_now}): Likewise.
13080
 
13081
Fri May 17 15:04:40 1996  Michael Meissner  
13082
 
13083
        * rs6000.md (lshrsi3 insns): Add special case code for shifting by
13084
 
13085
 
13086
Fri May 17 13:50:55 1996  Jason Merrill  
13087
 
13088
        * i386/unix.h (ASM_OUTPUT_MI_THUNK): Define.
13089
        * i386/{att.h,bsd.h,sun386.h} (ASM_OUTPUT_MI_THUNK): Delete.
13090
 
13091
Fri May 17 13:34:28 1996  Ian Lance Taylor  
13092
 
13093
        * fp-bit.c (_fpdiv_parts): Correct sign handling when
13094
        dividing zero or infinity by something.
13095
 
13096
Fri May 17 12:36:36 1996  Doug Evans  
13097
 
13098
        Standardize option output in assembler files.
13099
        * Makefile.in (toplev.o): Pass -DTARGET_NAME.
13100
        * arm/aout.h (ASM_OUTPUT_OPTIONS): Delete.
13101
        (ASM_FILE_START): Delete option output support.
13102
        * arm.c (output_option, output_options, m_options): Delete.
13103
        * m88k.c (output_file_start): Delete option output support.
13104
        * m88k.h (ASM_COMMENT_START): Define.
13105
        * mips.c (target_switches, print_options): Delete.
13106
        (mips_asm_file_start): Put output of -G,Cpu,ISA here.
13107
        * mips.h (ASM_COMMENT_START): Change from "\t\t#" to " #".
13108
        * rs6000.c (output_option, m_options, output_options): Delete.
13109
        * rs6000.h (ASM_OUTPUT_OPTIONS): Delete.
13110
        (ASM_COMMENT_START): Define.
13111
        (ASM_FILE_START): Delete option output support.
13112
        * rs6000/sysv4.h (ASM_FILE_START): Likewise.
13113
        * rs6000/win-nt.h (ASM_FILE_START): Likewise.  Delete duplicate.
13114
        * sh.c (output_option, m_options, output_options): Delete.
13115
        (output_file_start): Delete option output support.
13116
        * sh.h (ASM_FILE_START): Likewise.
13117
        (ASM_COMMENT_START): Define.
13118
        * dwarfout.c (*): flag_verbose_asm renamed to flag_debug_asm.
13119
        * flags.h (flag_debug_asm): Declare.
13120
        * toplev.c (print_version): New function.
13121
        (print_single_switch): New arguments pos, max, indent, sep, term.
13122
        (print_switch_values): New arguments pos, max, indent, sep, term.
13123
        Update call to print_single_switch.  Output options passed and
13124
        options enabled.
13125
        (MAX_LINE): New macro.
13126
        (flag_debug_asm): Define.
13127
        (compile_file): Output options to assembler file.
13128
        (main): Recognize -dA.  Call print_version.  Update call to
13129
        print_switch_values.
13130
        (line_position): Deleted.
13131
 
13132
Fri May 17 10:50:44 1996  Stan Cox  (coxs@dg-rtp.dg.com)
13133
 
13134
        * i386.c (function_prologue, ix86_expand_prologue,
13135
        function_epilogue, ix86_expand_epilogue): Generate prologue and
13136
        epilogue as RTL (prior to scheduling) instead of emitting asm.
13137
        (override_options): If only -march is given, make it the default -mcpu.
13138
        * i386.h (FUNCTION_BEGIN_EPILOGUE): Renamed from FUNCTION_EPILOGUE.
13139
        * i386.md (return, return_internal, prologue, prologue_set_got,
13140
        prologue_get_pc, epilogue, leave, pop): New patterns for emitting
13141
        asm from prologue and epilogue RTL.
13142
        * m88k/t-dgux (T_CFLAGS): Delete.
13143
        * m88k/x-dgux (X_CFLAGS): New.
13144
 
13145
Fri May 17 09:54:23 1996  Jim Meyering  (meyering@asic.sc.ti.com)
13146
 
13147
        * Makefile.in (stamp-crt{,S}): Use -o to avoid conflicts if
13148
        both of these are built in parallel.
13149
 
13150
Fri May 17 08:55:19 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
13151
 
13152
        * expmed.c (store_split_bit_field): Don't assume the alignment
13153
        of VALUE is the same as the record.
13154
 
13155
        * configure: Write #define TARGET_CPU_DEFAULT into tm.h
13156
        instead of defining MAYBE_TARGET_DEFAULT in Makefile.
13157
        (alpha-*-linux): Set target_cpu_default to 4 and xmake_file to none.
13158
        (alpha-*-osf*): Set target_cpu_default to 4 if --gas.
13159
        * Makefile.in (gcc.o, toplev.o, $(out_object_file)):
13160
        Remove MAYBE_TARGET_DEFAULT.
13161
 
13162
        * combine.c (insn_cuid): New function.
13163
        (INSN_CUID): Sometimes call it.
13164
 
13165
Fri May 17 08:12:37 1996  Scott Christley 
13166
 
13167
        * objc/sendmsg.c (objc_get_uninstalled_dtable): New function.
13168
        * objc/objc-api.h (objc_get_uninstalled_dtable): New declaration.
13169
 
13170
        * objc/thr-os2.c, objc/thr-posix.c, objc/thr-mach.c: New files.
13171
        * objc/THREADS.MACH: New file.
13172
 
13173
        * objc/sendmsg.c (nil_method): Deleted from here.
13174
        * objc/nil_method.c: New file.
13175
        * Makefile (OBJC_O): Add dependency for nil_method.c.
13176
 
13177
        * objc/hash.c (hash_is_key_in_hash): New function.
13178
        * objc/hash.h: Include objc/objc.h here instead of in objc/hash.c
13179
        to get BOOL typedef.
13180
 
13181
Fri May 17 08:01:48 1996  Doug Rupp  (rupp@gnat.com)
13182
 
13183
        * msdos/configur.bat: If Ada subdirectory present, adjust Makefile.
13184
 
13185
Fri May 17 07:40:04 1996  Ulrich Drepper  (drepper@cygnus.com)
13186
 
13187
        * stddef.h: If need_wint_t defined, nothing in this file is needed.
13188
        (_WINT_T, __WINT__TYPE__, wint_t): Define under certain circumstances.
13189
 
13190
Thu May 16 18:53:25 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
13191
 
13192
        * fold-const.c (fold, case EQ_EXPR): When folding VAR++ = CONST,
13193
        mask the new const if VAR is a bitfield reference; also for VAR--.
13194
 
13195
Thu May 16 18:29:03 1996  Doug Evans  
13196
 
13197
        * varasm.c (function_section): Delete flag_function_sections support.
13198
        (assemble_start_function): Put it here.  Use UNIQUE_SECTION if defined.
13199
 
13200
Wed May 15 13:35:11 1996  Michael Meissner  
13201
 
13202
        * rs6000.{h,c,md} (rs6000_pic_register): Delete all uses, use
13203
        pic_offset_table_rtx instead.
13204
 
13205
        * rs6000.md (move_to_float): Rewrite so that it uses the register
13206
        allocator to allocate the stack temp, instead of calling
13207
        rs6000_stack_temp.
13208
        (fix_truncdfsi2): Likewise.
13209
 
13210
        * rs6000.c (rs6000_stack_temp): Delete, no longer used.
13211
 
13212
Wed May 15 10:39:27 1996  Jeffrey A. Law  
13213
 
13214
        * h8300.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Define.
13215
 
13216
Sat May 11 07:42:59 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
13217
 
13218
        * expr.c (store_field): Support BLKmode bitfield if aligned on
13219
        byte boundary using emit_block_move.
13220
        (expand_expr, case COMPONENT_REF): Likewise.
13221
 
13222
Fri May 10 18:33:39 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
13223
 
13224
        * configure (alpha-*-linux): Reverse order in tm_file list.
13225
        Delete xmake_file.
13226
        * alpha/x-linux: Deleted.
13227
        * alpha/linux.h (ASM_FINAL_SPEC): Add #undef.
13228
        * alpha/xm-linux.h: Remove bogus trailing #endif.
13229
 
13230
        * loop.c (maybe_eliminate_biv_1): Disable all but two cases
13231
        of biv elimination with givs and restrict those two cases to
13232
        an ADD_VAL that is an address.
13233
 
13234
        * flow.c (mark_set_1, mark_used_regs): Clean up usages
13235
        of ALL_NEEDED; change to SOME_NOT_NEEDED and set properly.
13236
 
13237
Fri May 10 11:37:38 1996  Jason Merrill  
13238
 
13239
        * toplev.c (compile_file): Don't warn about artificial functions
13240
        declared static and not defined.
13241
 
13242
Thu May  9 22:03:28 1996  Doug Evans  
13243
 
13244
        * varasm.c (assemble_start_function): ASM_DECLARE_FUNCTION_NAME
13245
        needn't consider bytecodes.
13246
        (assemble_variable): ASM_DECLARE_OBJECT_NAME needn't
13247
        consider bytecodes.
13248
        * toplev.c (rest_of_decl_compilation): Likewise with
13249
        ASM_FINISH_DECLARE_OBJECT.
13250
        * arm/aof.h (ASM_DECLARE_{FUNCTION,OBJECT}_NAME): Delete bytecode
13251
        support.
13252
        * vax/vms.h (ASM_DECLARE_OBJECT_NAME): Likewise.
13253
 
13254
Thu May  9 19:36:13 1996  Jim Wilson  
13255
 
13256
        * sh.h (SET_ASM_OP): Define.
13257
 
13258
Thu May  9 13:31:58 1996  Michael Meissner  
13259
 
13260
        * rs6000/sysv4.h (SUBTARGET_{SWITCHES,OPTIONS}): Add support for
13261
        finer grain control on -msdata, so that eabi people can specify to
13262
        compile sdata code to only use r13 instead of r2/r13.  Make
13263
        -mrelocatable-lib turn off -msdata, just like -m relocatable does.
13264
        (SUBTARGET_OVERRIDE_OPTIONS): Ditto.
13265
        (ENCODE_SECTION_INFO): Move to rs6000.c.
13266
        (ASM_SPEC): -msdata=eabi sets -memb also.
13267
        (CC1_SPEC): -mno-sdata gets converted to -msdata=none.
13268
 
13269
        * rs6000.c (rs6000_sdata{,_name}): Add support for finer grain
13270
        control on -msdata.
13271
        (output_options, small_data_operand, print_operand): Likewise.
13272
        (rs6000_select_section): Likewise.
13273
        (rs6000_encode_section_info): Move here from sysv4.h, section
13274
        names are stored as STRING nodes, not IDENTIFIER.
13275
 
13276
Wed May  8 21:04:49 1996  Doug Evans  
13277
 
13278
        * function.c (aggregate_value_p): Return 1 if TREE_ADDRESSABLE.
13279
        * pa.h (RETURN_IN_MEMORY): No longer test for TREE_ADDRESSABLE.
13280
 
13281
Tue May  7 13:42:57 1996  Jeffrey A. Law  
13282
 
13283
        * h8300.c: Include obstack.h.
13284
        (bit_memory_operand): New function.
13285
        (print_operand): Append ":16" to a memory reference to
13286
        the tiny data area.
13287
        (h8300_tiny_data_p): New function.
13288
        (h8300_valid_machine_decl_attribute): Accept "tiny_data".  Fix typo.
13289
        (h8300_encode_label): New function.
13290
        (h8300_adjust_insn_length): References to the tiny data section
13291
        are two bytes shorter than normal accesses on the H8/300H.
13292
        * h8300.h (OK_FOR_U): Fix thinko.
13293
        (ENCODE_SECTION_INFO): Encode info for tiny data variables.
13294
        (STRIP_NAME_ENCODING): Define.
13295
        * h8300.md (movqi insn): Fix length for a constant load.
13296
        (movstrictqi, movhi, movstricthi): Likewise.
13297
        (memory btst patterns): Add register to the constraints to keep
13298
        reload happy.
13299
 
13300
        * h8300.h (OK_FOR_U): (const (plus (symbol_ref) (const_int)))
13301
        is valid U operand if SYMBOL_REF_FLAG is set on SYMBOL_REF.
13302
        * h8300.md (memory btst patterns): New patterns.
13303
 
13304
        * h8300.c (h8300_eightbit_data_p): Renamed from h8300_tiny_data_p.
13305
        (h8300_eightbit_data_p): Check for the "eightbit_data"
13306
        attribute instead of "tiny_data".
13307
        (h8300_valid_machine_decl_attribute): Likewise.
13308
        * h8300.h (ENCODE_SECTION_INFO): Call h8300_eightbit_data_p
13309
        instead of h8300_tiny_data_p.
13310
 
13311
        * h8300.h (READONLY_DATA_SECTION): Define.
13312
        (EXTRA_SECTIONS): Add in_readonly_data.
13313
        (READONLY_DATA_SECTION_ASM_OP): Define.
13314
        (EXTRA_SECTION_FUNCTINOS): Add readonly_data.
13315
 
13316
Tue May  7 09:26:24 1996  Jason Merrill  
13317
 
13318
        * varasm.c (make_decl_rtl): Update DECL_ASSEMBLER_NAME for local
13319
        statics.  Remove reference to flag_no_common.
13320
 
13321
Mon May  6 21:38:36 1996  Paul Eggert  
13322
 
13323
        * cpplib.c (skip_comment, handle_directive): Don't use uninit vars.
13324
 
13325
Mon May  6 18:47:36 1996  Doug Evans  
13326
 
13327
        * dbxout.c (dbxout_function): When deciding to call dbxout_function_end
13328
        change test from flag_function_sections to DECL_SECTION_NAME != NULL.
13329
 
13330
        * varasm.c (named_section): Accept any decl.
13331
 
13332
Mon May  6 16:41:08 1996  Stan Cox  (coxs@dg-rtp.dg.com)
13333
 
13334
        * final.c (final_scan_insn): Modify conditional moves whose cc is
13335
        nonstandard.
13336
 
13337
        * c-common.c (decl_attributes): Chain multiple attributes correctly.
13338
 
13339
Mon May  6 15:41:43 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
13340
 
13341
        * stmt.c (expand_decl): Don't deduce alignment of SIZE from
13342
        DECL_ALIGN; use TYPE_ALIGN instead.
13343
 
13344
        * function.c (assign_parms): Set RTX_UNCHANGING_P in stack_parm
13345
        if parm is read-only.
13346
 
13347
        * c-common.c (truthvalue_conversion, case ADDR_EXPR): Don't
13348
        treat address of external decl as always nonzero.
13349
 
13350
Mon May  6 11:33:57 1996  Jason Merrill  
13351
 
13352
        * c-decl.c (start_decl): Check -fno-common here.
13353
        * varasm.c (assemble_variable): Instead of here.
13354
        * final.c (end_final): Likewise.
13355
        * c-common.c (init_attributes, decl_attributes): Add A_COMMON.
13356
 
13357
Mon May  6 11:12:39 1996  Mike Stump  
13358
 
13359
        * expr.c (expand_increment): Add third parameter to know when to
13360
        ignore the result value.
13361
        (store_constructor): Likewise
13362
        (expand_expr, case {PRE,POST}{INC,DEC}REMENT_EXPR): Likewise.
13363
        * tree.c (stabilize_reference): Always ignore the first operand of
13364
        COMPOUND_EXPRs.
13365
 
13366
Mon May  6 13:14:45 1996  Jim Wilson  
13367
 
13368
        * sh.c (gen_shifty_op): Truncate VALUE to avoid out of bounds array
13369
        access.
13370
 
13371
        * expr.c (expand_expr, case INDIRECT_REF): Delete obsolete code
13372
        to special case a SAVE_EXPR operand.
13373
 
13374
Mon May  6 10:00:12 1996  Pat Rankin  
13375
 
13376
        * vax.h (ASM_OUTPUT_MI_THUNK): Define.
13377
 
13378
Mon May  6 09:49:10 1996  Andreas Schwab  
13379
 
13380
        * m68k/linux.h: Use the new trampoline definition.
13381
        (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Deleted.
13382
        (INITIALIZE_TRAMPOLINE): Changed.
13383
        (FINALIZE_TRAMPOLINE, CLEAR_INSN_CACHE): New.
13384
 
13385
Mon May  6 09:43:55 1996  Patrick J. LoPresti  (patl@lcs.mit.edu)
13386
 
13387
        * rtlanal.c (rtx_addr_varies_p): Scan operands of type `E'.
13388
 
13389
Mon May  6 09:04:40 1996  H.J. Lu  (hjl@gnu.ai.mit.edu)
13390
 
13391
        * x-linux{,-aout} (BOOT_CFLAGS, STMP_FIXPROTO, STMP_FIXPROTO): Deleted.
13392
        * config/t-linux (BOOT_CFLAGS, STMP_FIXPROTO, STMP_FIXPROTO): New,
13393
        moved from x-linux.
13394
        * t-linux-aout: New file.
13395
        * configure (i[3456]86-*-linux*oldld*, i[3456]86-*-linux*aout*):
13396
        Set tmake_file to t-linux-aout.
13397
 
13398
Sun May  5 22:13:22 1996  H.J. Lu  (hjl@gnu.ai.mit.edu)
13399
 
13400
        * Makefile.in (gxx_include_dir): Change to $(prefix)/include/g++.
13401
        (old_gxx_include_dir): New - defined as $(libdir)/g++-include.
13402
        (cccp.o, cpplib.o): Also pass OLD_GPLUSPLUS_INCLUDE_DIR (set
13403
        from $(old_gxx_include_dir)).
13404
        * cccp.c (include_defaults_array): For C++, also search
13405
        OLD_GPLUSPLUS_INCLUDE_DIR.
13406
        * cpplib.c (default_include): Likewise.
13407
        * configure: Remove no-longer-needed support for --gxx-include-dir.
13408
 
13409
Sun May  5 21:59:53 1996  Andreas Schwab  
13410
 
13411
        * c-lex.c (check_newline): Fix #pragma parsing; issue error message
13412
        for directive that starts with `p' but isn't `pragma'.
13413
 
13414
Sun May  5 13:13:40 1996  Jeremy Bettis  
13415
 
13416
        * objc/hash.c (hash_value_for_key): Prevent endless loop when 0 was
13417
        stored in a hashtable.
13418
 
13419
Sun May  5 13:09:54 1996  Satoshi Adachi  (adachi@wisdom.aa.ap.titech.ac.jp)
13420
 
13421
        * m68k/newsgas.h (SET_ASM_OP, ASM_WEAKEN_LABEL): Define.
13422
 
13423
Sun May  5 12:48:08 1996  Stephen L Moshier  (moshier@world.std.com)
13424
 
13425
        * tree.c (build_real_from_int_cst): Remove spurious test for
13426
         REAL_IS_NOT_DOUBLE.
13427
 
13428
Sat May  4 12:17:58 1996  Richard Earnshaw (rearnsha@armltd.co.uk)
13429
 
13430
        * arm.h (ASM_OUTPUT_MI_THUNK): Moved here from aout.h.  Rewrite to be
13431
        independent of the selected assembler, and to use optimal number of
13432
        instructions.
13433
        * arm/aout.h (ASM_OUTPUT_MI_THUNK): Delete.
13434
 
13435
        * arm/aout.h (ASM_OUTPUT_OPTIONS): Define.
13436
        (ASM_FILE_START): Call ASM_OUTPUT_OPTIONS.
13437
        (BSS_SECTION_OP): Define.
13438
        (ASM_OUTPUT_ALIGN): Don't output anything if byte alignment is wanted.
13439
        (ASM_OUTPUT_ALIGNED_BSS): Define.
13440
        * arm.h (target_cpu_name): Delete.
13441
        (TARGET_SWITCHES): Delete "be" and "le".
13442
        (TARGET_OPTIONS): Delete "cpu-", add "tune=".
13443
        (struct arm_cpu_select): New struct.
13444
        (PROCESSOR_DEFAULT, TARGET_CPU_DEFAULT): Define.
13445
        (EXTRA_CC_MODES, EXTRA_CC_NAMES): Add CC_Cmode.
13446
        (CANONICALIZE_COMPARISON): Define.
13447
        * arm.c (arm_select): Declare and initialize.
13448
        (all_procs): Add arm7100.
13449
        (arm_override_options): Parse arm_select structure to determine
13450
        selected architecture and tuning parameters.
13451
        (output_option, output_options): New functions.
13452
        (arm_canonicalize_comparison): New function.
13453
        (arm_gen_movstrqi): Don't add a writeback of the index registers for
13454
        the last instructions.
13455
        (arm_select_cc_mode): Detect case where mode is carry out of unsigned
13456
        arithmetic.
13457
        (output_lcomm_directive): Use bss_section (), and use alignment
13458
        rather than rounding.
13459
        (get_arm_condition_code): Handle CC_Cmode.
13460
        (final_prescan_insn): Avoid boundary case where we would occasionally
13461
        inline MAX_INSNS_SKIPPED+1 insns.  Allow call_insns to be inlined in
13462
        APCS_32 mode if they are the last insn in the block.
13463
        * arm.md (*addsi3_compareneg): Delete potentially unsafe insn.
13464
        (*addsi3_compare_op[12]): New insns.
13465
        (*compare_addsi2_op[01]): New insns.
13466
        (*addsi3_carryin, *addsi3_carryin_alt[12]): New insns.
13467
        (*cmp_ite1): Use arm_add_operand instead of arm_rhs_operand.
13468
        * semi.h (PROCESSOR_DEFAULT): Default to PROCESSOR_ARM6.
13469
 
13470
Fri May  3 10:52:11 1996 1996  Stan Cox  (coxs@dg-rtp.dg.com)
13471
 
13472
        * i386.md (movesicc, movehicc) Pentium Pro conditional move insns.
13473
 
13474
        * i386.h (TARGET_PENTIUMPRO, TARGET_CMOVE, BRANCH_COST,
13475
        ASM_OUTPUT_FUNCTION_PREFIX): New macros for conditional move.
13476
 
13477
        * i386.c (asm_output_function_prefix, function_prologue): Setup
13478
        pic on Pentium Pro so a return will match the call.
13479
        (print_operand, put_condition_code): Output conditional move suffixes.
13480
 
13481
Fri May  3 10:52:11 1996  Jason Merrill  
13482
 
13483
        * i386/{att.h,gas.h,bsd.h,sub386.h} (ASM_OUTPUT_MI_THUNK): Define.
13484
 
13485
Wed May  1 17:54:51 1996  Doug Evans  
13486
 
13487
        * sparc.h (ASM_OUTPUT_MI_THUNK): Fix for sparc64, optimize.
13488
 
13489
Wed May  1 13:28:32 1996  Jason Merrill  
13490
 
13491
        * i386/linux.h (ASM_OUTPUT_ALIGNED_BSS): Define.
13492
        * i386/sysv4.h: Likewise.
13493
        * sparc/sysv4.h: Likewise.
13494
 
13495
Wed May  1 01:44:47 1996  Jeffrey A. Law  
13496
 
13497
        * h8300.c (h8300_adjust_insn_length): Adjust the cost of
13498
        shifts by small constant values.
13499
        * h8300.md: Remove names from many patterns which don't need them.
13500
        (compare insns): Don't underestimate lengths.
13501
        (andqi3 expander): Remove constrains.
13502
        (andhi3): Don't underestimate length.
13503
        (andsi3): Don't underestimate length.  Improve code when upper
13504
        or lower half of destination is being cleared.
13505
        (indirect_jump_h8300, indirect_jump_h8300h): Simplify.
13506
        (shift insns): Remove useless "I" constraint.
13507
 
13508
        * h8300.md (bcs type): Remove "bcs" type attribute and all references.
13509
        (bcs insns): Delete.  No longer needed.
13510
        (setcc from bitfield): Rewrite to use zero_extract.  Provide
13511
        QImode, HImode and SImode variants.
13512
 
13513
Tue Apr 30 18:13:09 1996  Jason Merrill  
13514
 
13515
        * svr4.h (SELECT_SECTION): If RELOC is true, put it in data.
13516
 
13517
Tue Apr 30 17:26:30 1996  Jason Merrill  
13518
 
13519
        * fold-const.c (fold): Don't call convert to recreate tree nodes
13520
        we already have.
13521
 
13522
Tue Apr 30 16:52:41 1996  Jeffrey A. Law  
13523
 
13524
        * h8300.c (one_insn_adds_subs_operand): New function.
13525
        (h8300_adjust_insn_length): New function.
13526
        * h8300.h (ADJUST_INSN_LENGTH): Define.
13527
        * h8300.md: Remove obsolete comments.
13528
        (move patterns): Tweak constraints.
13529
        (tst patterns): Use "register_operand" for predicate.
13530
        (adds pattern): Use one_insn_adds_subs_operand to get length
13531
        computation correct.
13532
        (subs pattern): Similarly.
13533
        (movstrhi): Remove unused expander.
13534
        (fancy*, pxor, and-not patterns): Remove.  No longer needed.
13535
 
13536
Tue Apr 30 13:35:06 1996  Michael Meissner  
13537
 
13538
        * rs6000/sol-c0.c (_start): Temporarily display calling
13539
        __do_global_ctors, since the Solaris linker doesn't handle the
13540
        relocations properly.
13541
 
13542
Mon Apr 29 13:03:12 1996  Doug Evans  
13543
 
13544
        * sparc/vxsparc.h: sparc-aout.h renamed to aout.h.
13545
 
13546
Mon Apr 29 00:35:15 1996  Jeffrey A. Law  
13547
 
13548
        * h8300.c (names_small): Remove "BAD" postfix from %r7 byte registers.
13549
        (rtx_equal_function_value_matters): Remove extra declaration.
13550
        (output_simode_bld): New function.
13551
        * h8300.h (NO_FUNCTION_CSE): Do define this.
13552
        (reg_class): Remove LONG_REGS, SP_REG, SP_AND_G_REGS.
13553
        (REG_CLASS_{NAMES,CONTENTS,FROM_LETTER}): Corresponding changes.
13554
        (REGNO_REG_CLASS): Corresponding changes.
13555
        (output_simode_bld): Declare.
13556
        * h8300.md: Nuke comments for stuff which has been fixed.
13557
        (all patterns): Remove references to register class "a" (SP_REGS)
13558
        which no longer exists.
13559
        (many patterns): Accept auto-inc auto-dec addresses in more cases.
13560
        (zero_extendqisi2): New pattern for the H8/300.
13561
        (zero_extendhisi2): Only use zero_extendhisi2_h8300 when not
13562
        optimizing.
13563
        (extendhisi2): Only use extendhisi2_h8300 when not optimizing.
13564
        (extendqisi2): New pattern for the H8/300.
13565
        (bitfield related patterns): Completely rewrite.
13566
        (fancy_bclr, fancy_btst): Deleted.
13567
        (addhi3 pattern for h8300): Handle case where we can't make matching
13568
        constraints (works around hard to fix reload problem).
13569
        (stack_pointer_manip): Delete.
13570
        (and not patterns): New combiner patterns.
13571
 
13572
        * pa.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Make sure the
13573
        final $CODE$ subspace is in the $TEXT$ space.
13574
 
13575
Sun Apr 28 14:52:21 1996  Jason Merrill  
13576
 
13577
        * svr4.h (ASM_OUTPUT_SECTION_NAME): If no decl is specified,
13578
        make the section read/write data.
13579
 
13580
Sat Apr 27 10:28:59 1996  Michael Meissner  
13581
 
13582
        * rs6000/t-ppcgas (MULTILIB_EXCEPTIONS): Don't allow -mrelocatable
13583
        and -mcall-sysv-noeabi.
13584
 
13585
        * rs6000/sysv.h (SUBTARGET_OVERRIDE_OPTIONS): The -mcall-aix
13586
        option sets -meabi.  Don't allow -mrelocatable without -meabi.
13587
 
13588
Fri Apr 26 16:10:46 1996  Doug Evans  
13589
 
13590
        * sparc.md (*smacsi,*smacdi,*umacdi): Fix constraint on
13591
        operand 0.
13592
 
13593
Fri Apr 26 14:36:33 1996  Michael Meissner  
13594
 
13595
        * i960/t-{960bare,vxworks960} (MULTILIB*): Add
13596
        soft-float multilib support.
13597
 
13598
Fri Apr 26 06:38:56 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
13599
 
13600
        * stor-layout.c (layout_decl): Turn off DECL_BIT_FIELD for BLKmode
13601
        that's properly aligned and a multiple of a byte.
13602
 
13603
Thu Apr 25 22:43:19 1996  Doug Evans  
13604
 
13605
        * i386/gas.h (ASM_OUTPUT_ALIGN): #if 0 out again.
13606
        Undoes change of Apr. 9.
13607
        * i386/go32.h (ASM_OUTPUT_ALIGN): Define.
13608
 
13609
Thu Apr 25 14:05:33 1996  Richard Kenner  (kennervlsi1.ultra.nyu.edu)
13610
 
13611
        * calls.c (expand_call): In inlining case, if BEFORE_CALLS is
13612
        zero, start looking at first insn (one more place).
13613
 
13614
        * expr.c (expand_builtin, case BUILT_IN_SETJMP): CLOBBER the
13615
        static chain after label at setjmp point.
13616
 
13617
Thu Apr 25 09:02:24 1996  Michael Meissner  
13618
 
13619
        * rs6000.c (print_operand{,_address}): Correct compile error if
13620
        TARGET_EABI is not defined.  Also, just call small_data_operand,
13621
        without testing the ABI.
13622
        (rs6000_select_section): Ditto.
13623
 
13624
        * rs6000/sysv4.h (CC1_SPEC): For -mcall-solaris, don't pass
13625
        -mno-main-init.
13626
 
13627
Wed Apr 24 18:26:48 1996  Brendan Kehoe  
13628
 
13629
        * collect2.c (handler): Delete export_file when we get a signal.
13630
 
13631
Wed Apr 24 14:54:44 1996  Jeffrey A. Law  
13632
 
13633
        * pa/pa1-ghpux.h (LINK_SPEC): Define.  Link in PA1.1 libraries
13634
        by default.
13635
        * pa/{pa1-ghpux9.h, pa1-hpux.h, pa1-hpux9.h}: Likewise.
13636
 
13637
Wed Apr 24 11:12:06 1996  Michael Meissner  
13638
 
13639
        * configure (powerpc{,le}-*-eabi*): Use t-ppc{,gas}, instead of
13640
        t-eabi{,gas}.
13641
        (powerpc-*-linux,powerpcle-*-solaris): Add definitions.
13642
        (MULTILIB_DIRNAMES): Pick shorter names for the multilib
13643
        directories.
13644
        (MULTILIB_*): Do not build -msdata versions of the library.  Build
13645
        both system V and eabi versions of the libraries.
13646
 
13647
        * rs6000/t-ppc{,gas} (MULTILIB*): Don't build -msdata versions of
13648
        the libraries.  Split -mcall-sysv libraries into
13649
        -mcall-sysv-{eabi,noeabi} varients.
13650
        (LIB2FUNCS_EXTRA): Add eabi.S, eabi-ctors.c.
13651
        (eabi.S): Use eabi.S, not eabi.s for eabi.asm.
13652
        (crt files): Add support for Solaris crt files.
13653
 
13654
        * rs6000/sol{2.h,-c0.c,-ci.asm,-cn.asm}: New files for Solaris.
13655
 
13656
        * rs6000/linux.h: New file for Linux-based GNU system support.
13657
 
13658
        * rs6000/eabi-ci.asm (ppc-asm.h): Include.
13659
        (.got section): Correct attribute.
13660
 
13661
        * rs6000/eabi-c{i,n}.asm (.init,.finit): Add support for System V
13662
        style .init/.fini sections, that constructors and destructors
13663
        place a bl  in the appropriate section.
13664
 
13665
        * rs6000/eabi-ctors.c (__do_global_{c,d}tors): Call __init, and
13666
        __fini to handle constructors/destructors in the .init, .fini
13667
        sections.
13668
 
13669
        * rs6000/{eabi,sysv}.h: Move most eabi configuration stuff from
13670
        eabi.h to sysv.h.
13671
 
13672
        * rs6000/sysv.h (TARGET_*): Convert -mcall-xxx from switch into option.
13673
        Add -mcall-{solaris,linux,sysv-eabi,sysv-noeabi} options.
13674
        Add -m{,no-}eabi options to control whether we adhere to
13675
        the System V spec or the EABI spec.  Add -m{,no-}regnames to
13676
        control whether registers are printed out as %r0 instead of 0.
13677
        (SUBTARGET_OVERRIDE_OPTIONS): Add support for new -mcall options.
13678
        (FP_ARG_MAX_REG): Use new macros for ABI conformance.
13679
        (RS6000_REG_SAVE): Likewise.
13680
        (STACK_BOUNDARY,BIGGEST_ALIGNMENT): If eabi, align to 8 byte
13681
        boundary, otherwise 16 byte.
13682
        (EXTRA_SECTIONS): Add .init, .fini sections.
13683
        (*_SPEC): Reorganize so that the different targets all have sub
13684
        specs that go in the specs file.  Add support for linux and
13685
        Solaris targets.
13686
 
13687
        * rs6000/{sysv4,eabi}*.h (*_SPECS): Only override the default
13688
        spec, all other specs moved to sysv4.h.
13689
        (RS6000_ABI_NAME): Use RS6000_ABI_NAME to set the default ABI
13690
        name, not TARGET_DEFAULTS.
13691
 
13692
        * rs6000/xm-sysv4.h (alloca): Properly declare alloca if compiler
13693
        is not GCC.
13694
        (DONT_DECLARE_SYS_SIGLIST): Define.
13695
 
13696
        * rs6000.c (rs6000_abi_name): New global for getting the results
13697
        of -mcall-xxx.
13698
        (rs6000_reg_names): New global for holding the normal register names.
13699
        (alt_reg_names): Alternate register names for -mregnames.
13700
        (rs6000_override_options): If -mregnames, copy alt_reg_names into
13701
        rs6000_reg_names.
13702
        (input_operand): Recognize ABI_SOLARIS.
13703
        (small_data_operand, init_cumulative_args): Likewise.
13704
        (function_arg{,_boundary,_advance,_partial_nregs}): Likewise.
13705
        (function_arg_pass_by_reference, setup_incoming_varargs): Likewise.
13706
        ({rs6000,debug}_stack_info, output_{prolog,epilog}): Likewise.
13707
        (print_operand): %$ prints '.' on Solaris, '$' elsewhere.
13708
        (print_operand{,_address}): If not eabi, use @sdarel for small
13709
        data references.
13710
        (rs6000_stack_info): Only emit __eabi call if TARGET_EABI.
13711
 
13712
        * rs6000.h (*_SPECS): Move the System V specs to svr4.h.
13713
        (ABI_SOLARIS): New ABI, mostly like System V.
13714
        (EXTRA_CONSTRAINT): Use ABI_SOLARIS like ABI_V4.
13715
        (RETURN_ADDRESS_OFFSET, (LEGITIMATE_SMALL_DATA_P): Likewise.
13716
        (RETURN_IN_MEMORY): On Solaris, small structures are returned in regs.
13717
        (REGISTER_NAMES): Use rs6000_reg_names array, instead of string
13718
        literals.
13719
        (DEBUG_REGISTER_NAMES): Define.
13720
        (ADDITIONAL_REGISTER_NAMES): Add sp, toc aliases.
13721
        (PRINT_OPERAND_PUNCT_VALID_P): Recognize $ as a punctuation char.
13722
 
13723
        * rs6000.md (got & call patterns): Use ABI_SOLARIS to mean the
13724
        same as ABI_V4.
13725
        (branch patterns): Use %$ for the current location, not just $.
13726
 
13727
        * va-ppc.h: Add Solaris support.
13728
 
13729
Tue Apr 23 20:02:13 1996  Doug Evans  
13730
 
13731
        * sparc.c (output_function_prologue): In -mbroken-saverestore
13732
        case, %sp = %fp - size.
13733
        * sparc/t-splet (TARGET_LIBGCC2_CFLAGS): Delete.
13734
        * sparc.md (isa attribute): Add sparclet.
13735
        (*smacsi,*smacdi,*umacdi): Use match_operand, not match_dup
13736
        for third arg.
13737
        (*mulsidi3_sp32,const_mulsidi3,*umulsidi3_sp32,const_umulsidi3): Use
13738
        smuld,umuld for sparclet.
13739
 
13740
Tue Apr 23 16:28:28 1996  Michael Meissner  
13741
 
13742
        * m68k/m68kemb.h: Add {LINK,STARTFILE,LIB,SUBTARGET}_SPEC, so
13743
        gcc will use libgloss for supported target boards {idp,mvme,bcc}.
13744
 
13745
Tue Apr 23 16:00:28 1996  Per Bothner  
13746
 
13747
        * expr.c (store_constructor):  Fix test for missing array elements.
13748
 
13749
Tue Apr 23 11:21:09 1996  Stephen L Moshier  (moshier@world.std.com)
13750
 
13751
        * i386/sco5.h (BSS_SECTION_ASM_OP): Use `data' directive.
13752
        (ASM_OUTPUT_ALIGNED_LOCAL): Generate an `lcomm' directive.
13753
        (TARGET_DEFAULT): Include TARGET_IEEE_FP.
13754
        (CPP_PREDEFINES): Include Di386.
13755
 
13756
Mon Apr 22 12:00:46 1996  David Edelsohn  
13757
 
13758
        * rs6000.h (BIGGEST_FIELD_ALIGNMENT): Delete.
13759
        (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Define.
13760
        * sysv4.h (BIGGEST_FIELD_ALIGNMENT): Delete.
13761
        (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Undefine.
13762
        * win-nt.h (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Undefine.
13763
 
13764
Sun Apr 21 17:52:36 1996  Jim Wilson  
13765
 
13766
        * m68k/coff.h (ASM_OUTPUT_SECTION): Test DECL before
13767
        dereferencing it.
13768
 
13769
        * cse.c (cse_process_notes): Handle SUBREG like ZERO_EXTEND.
13770
 
13771
Sun Apr 21 12:57:12 1996  Doug Evans  
13772
 
13773
        * arm/aout.h (ASM_OUTPUT_MI_THUNK): Define.
13774
 
13775
Sun Apr 21 09:50:09 1996  Stephen L Moshier  (moshier@world.std.com)
13776
 
13777
        * choose-temp.c: Include sys/types.h before sys/file.h for sco3.2v5.
13778
 
13779
Sun Apr 21 08:42:13 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
13780
 
13781
        * alpha.c (check_float_value): Cast args of bcopy to avoid warnings.
13782
 
13783
Sat Apr 20 21:22:21 1996  David Edelsohn  
13784
 
13785
        * stor-layout.c (layout_record): Use ADJUST_FIELD_ALIGN to modify
13786
        alignment of fields within records.
13787
 
13788
Sat Apr 20 19:55:33 1996  Niels Moller  
13789
 
13790
        * c-parse.in (typespec): Made  equivalent
13791
        to (id ).
13792
        (non_empty_protocolrefs): New nonterminal.
13793
 
13794
Sat Apr 20 08:34:02 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)
13795
 
13796
        * stmt.c (check_for_full_enumeration_handling): Call case_tree2list
13797
        before checking for case expressions not corresponding to enumerators.
13798
        (mark_seen_cases): If SPARSENESS == 2, exploit AVL order.
13799
        Else, convert tree to list.
13800
        Set xlo to -1 if SPARSENESS == 1 search failed.
13801
        (expand_end_case): Avoid calling case_tree2list on list.
13802
 
13803
Fri Apr 19 16:54:57 1996  Michael Meissner  
13804
 
13805
        * rs6000/win-nt.h (BIGGEST_FIELD_ALIGNMENT): Set to 64, not
13806
        32 that AIX uses.
13807
 
13808
Fri Apr 19 16:40:38 1996  Stan Cox  
13809
 
13810
        * i386.md (movqi): Handle QImode values in %si and %di.
13811
 
13812
Thu Apr 18 20:56:56 1996  Jim Wilson  
13813
 
13814
        * sh.md (lshrsi3): Change gen_ashlsi3_d to gen_lshrsi3_d.
13815
 
13816
Thu Apr 18 15:49:28 1996  Per Bothner  
13817
 
13818
        * sparc.h (ASM_OUTPUT_MI_THUNK): Define.
13819
 
13820
Thu Apr 18 15:19:26 1996  Jeffrey A. Law  
13821
 
13822
        * h8300.md: Remove "type" attribute from all patterns except those
13823
        which have varying length branches.  Eliminate obsolete "type"
13824
        attributes.  Add "length" and "cc" attributes to insns without them;
13825
        fix some length computations.  Remove patterns which are commented out.
13826
 
13827
        * h8300.md (zero extension expanders and insns): Simplify, fix various
13828
        length problems, provide optimized versions for the h8300 and h8300h.
13829
        (sign extension expanders and insns): Likewise.  Make them
13830
        nearly identical to zero_extension patterns and insns.
13831
 
13832
Wed Apr 17 18:50:16 1996  Jeffrey A. Law  
13833
 
13834
        * pa.h (SELECT_SECTION): Define.  Never place a something
13835
        into the read-only data section if it requires a reloc.
13836
 
13837
        * pa.md (rotlsi3): Delete unnecessary and incorrect pattern.
13838
 
13839
Wed Apr 17 17:15:40 1996  Michael Meissner  
13840
 
13841
        * rs6000.md (movdi): Never FAIL, even if operand[1] is not a
13842
        general operand, due to being in volatile memory.
13843
 
13844
Wed Apr 17 15:20:10 1996  Brendan Kehoe  
13845
 
13846
        * c-lex.c (check_newline): Rewrite to use tokens.
13847
        (handle_sysv_pragma): Take a token instead of a character.
13848
        * i960.c (process_pragma): Take the IDENTIFIER_POINTER tree
13849
        node instead of a character.
13850
        * sh.c (handle_pragma): Likewise.
13851
        * config/nextstep.c (handle_pragma): Likewise.
13852
        * h8300.c (handle_pragma): Likewise.
13853
        * i960.h (HANDLE_PRAGMA): Expect/pass 2nd arg of NODE, not CH.
13854
        * sh.h (HANDLE_PRAGMA): Likewise.
13855
        * config/nextstep.h (HANDLE_PRAGMA): Likewise.
13856
        * h8300.h (HANDLE_PRAGMA): Likewise.
13857
 
13858
Wed Apr 17 14:28:43 1996  Doug Evans  
13859
 
13860
        * choose-temp.c: Don't include sys/file.h ifdef NO_SYS_FILE_H.
13861
        #include .
13862
        (choose_temp_base): Make tmp,usrtmp, static locals.
13863
 
13864
Wed Apr 17 08:41:02 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
13865
 
13866
        * alpha.c (alpha_emit_conditional_move): Fix some bugs in previous
13867
        change and do some cleanup.
13868
 
13869
Tue Apr 16 18:53:05 1996  Jim Wilson  
13870
 
13871
        * reload.c (push_reload): Add extra reload for inside of SUBREG if
13872
        it is CONSTANT_P.
13873
 
13874
        * expr.c (do_store_flag): Rewrite last change to avoid compiler
13875
        warnings.
13876
 
13877
        * reload.c (push_reload): When reuse an old reload, set the modes
13878
        to be the larger of the old and new modes.
13879
 
13880
        * i960/t-960bare (xp-bit.c): Fix typo in source file name.
13881
 
13882
Tue Apr 16 18:09:16 1996  Jeffrey A. Law  
13883
 
13884
        * h8300.md (andhi3): If 2nd operand is a CONST_INT that meets 'J'
13885
        constraint, then only two bytes are needed for this insn.  Improve
13886
        code generated for the h8300h when both operands are registers.
13887
        (iorhi3, xorhi3): Likewise.  Rework to be nearly identical to andhi3.
13888
        (andsi3): If 2nd operand is a CONST_INT that meets the 'J'
13889
        constraint, then only two bytes are need for this insn.
13890
        Improve code generated for the h8300h regardless of the
13891
        type of the 2nd operand.  Make this pattern work on the h8300 too.
13892
        (iorsi3, xorsi3): Likewise.  Rework to be nearly identical to andsi3.
13893
        (iorqi3_internal): Make this pattern look more like andqi3_internal.
13894
        (one_cmplhi2, one_cmplsi2): Fix length computation for H8300H.
13895
 
13896
Tue Apr 16 17:43:25 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)
13897
 
13898
        * i386.md (addsidi3_2): Handle non-MEM overlap case.
13899
 
13900
Tue Apr 16 16:59:49 1996  Richard Henderson  
13901
 
13902
        * function.c (expand_function_end): Allow TRAMPOLINE_TEMPLATE
13903
        to be omitted on systems for which it is not cost effective.
13904
        * varasm.c (assemble_trampoline_template): No such function
13905
        if no TRAMPOLINE_TEMPLATE.
13906
        * m68k.h: Greatly simplify the run-time trampoline code:
13907
        (TRAMPOLINE_TEMPLATE, TRANSFER_FROM_TRAMPOLINE): Delete define.
13908
        (TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Changed.
13909
        (TRAMPOLINE_ALIGN): No point aligning to cache line.
13910
        (FINISH_INIT_TRAMPOLINE): New define.
13911
        * m68k/next.h: Instead of redefining INITIALIZE_TRAMPOLINE,
13912
        make use of the new FINISH_INIT_TRAMPOLINE.
13913
        * m68k/{m68k.h,next.h,aux.h} (FINISH_INIT_TRAMPOLINE):
13914
        Rename to FINALIZE_TRAMPOLINE.
13915
        * m68k/{linux.h,m68kv4.h}: Override trampoline macros.
13916
 
13917
Tue Apr 16 16:02:50 1996  David Edelsohn  
13918
 
13919
        * combine.c (make_field_assignment): Allow XOR in final case.
13920
 
13921
Tue Apr 16 11:33:53 1996  J.T. Conklin  
13922
 
13923
        * m68k.h (TARGET_SWITCHES): Don't remove MASK_68060 with -msoft-float.
13924
 
13925
        * m68k.h (MULL_COST, MULW_COST, RTX_COSTS): Add costs for TARGET_68060.
13926
        * m68k.md (ashlsi_16, lshrsi_16): Disable pattern for TARGET_68060;
13927
        this special case is not faster for that cpu.
13928
 
13929
Tue Apr 16 10:54:55 1996  Eliot Dresselhaus  
13930
 
13931
        * alpha.c (alpha_emit_conditional_move): New function.
13932
        * alpha.h (alpha_emit_conditional_move): Declare it.
13933
        * alpha.md (cmov* define_expands): Use it.
13934
 
13935
Tue Apr 16 09:06:17 1996  Andreas Schwab  
13936
 
13937
        * function.h (struct function): New field returns_pointer.
13938
        * function.c (push_function_context_{to,from}): Save and restore
13939
        current_function_returns_pointer.
13940
 
13941
        * config/svr4.h (ENDFILE_SPEC): Add missing `%s'.
13942
 
13943
        * configure (m68k-*-linux*aout*): Set tmake_file to m68k/t-linux-aout.
13944
        (m68k-*-linux*): Set extra_parts.
13945
        * m68k/t-linux (INSTALL_ASSERT_H): New definition.
13946
        (CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): New definitions.
13947
        * m68k/t-linux-aout: New file.
13948
        * m68k/linux.h (LIB_SPEC): Deleted.
13949
        (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Define.
13950
 
13951
        * m68k.h (TRAMPOLINE_ALIGNMENT): Specify alignment in bits, not bytes.
13952
 
13953
Tue Apr 16 08:53:17 1996  Philippe De Muyter  
13954
 
13955
        * final.c (final_scan_insn): Allow removal of redundant test and
13956
        compare instructions that use clobbers.
13957
 
13958
Tue Apr 16 06:22:00 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
13959
 
13960
        * c-decl.c (clear_limbo_values): New function.
13961
        (pushdecl): Call it for function body blocks.
13962
 
13963
        * objc/thr-decosf1.c (_objc_thread_id): Correct return type from
13964
        int to _objc_thread_id.
13965
 
13966
        * expr.c (expand_builtin, case BUILT_IN_LONGJMP): Make a decl
13967
        for __dummy, so we can call make_function_rtl on it.
13968
 
13969
        * expr.c (expand_assignment): Don't pre-evaluate RHS if a CALL_EXPR
13970
        with a variable-size return.
13971
 
13972
Mon Apr 15 17:38:45 1996  Ian Lance Taylor  
13973
 
13974
        * fixincludes: Fix undefined VOIDFUNCPTR in VxWorks 5.2 .
13975
 
13976
Mon Apr 15 15:12:16 1996  Jim Wilson  
13977
 
13978
        * expr.c (do_store_flag): Before calling exact_log2, remove any
13979
        sign extension bits.
13980
 
13981
        * reload1.c (emit_reload_insns): Call reload_reg_reaches_end_p for
13982
        every reg of multi-reg spill register.  Invalidate old info for multi
13983
        reg spill registers when only part survives to the end.
13984
 
13985
Mon Apr 15 14:49:12 1996  Mike Stump  
13986
 
13987
        * function.c (preserve_temp_slots): Only preserve temporaries that
13988
        happen to be at the current level.
13989
 
13990
Mon Apr 15 14:08:12 1996  Doug Evans  
13991
 
13992
        * gansidecl.h: New file.
13993
        * choose-temp.c: New file.
13994
        * Makefile.in (xgcc): Depend on and link in choose-temp.o.
13995
        (collect2): Likewise.
13996
        (choose-temp.o): Add rule for.
13997
        * collect2.c: #include "gansidecl.h".
13998
        (const,PROTO): Delete.
13999
        (P_tmpdir): Delete.
14000
        (choose_temp_base): Declare as extern, delete internal copy.
14001
        (main): Update call to choose_temp_base.
14002
        * cpphash.c: #include "gansidecl.h".
14003
        (NULL,const,volatile): Delete.
14004
        * demangle.h: #include "gansidecl.h".
14005
        (PROTO,PTR,const): Delete.
14006
        * expr.h (const): Delete.
14007
        * fix-header.c: #include "gansidecl.h".
14008
        (const): Delete.
14009
        * gcc.c: #include "gansidecl.h".
14010
        (PROTO,VPROTO,PVPROTO,VPROTO,VA_START,NULL): Delete.
14011
        (GENERIC_PTR,NULL_PTR,P_tmpdir): Delete.
14012
        (choose_temp_base): Declare as extern, delete internal copy.
14013
        (concat): Rewrite to take a variable number of arguments.
14014
        (choose_temp_base_try,concat[346]): Delete.
14015
        (translate_options,set_spec,process_command,do_spec_1,
14016
        is_directory,main): Always use concat, not concat[346].  Pass
14017
        NULL_PTR as trailing arg to concat.
14018
        * genattr.c (main): Delete printing of "#define PROTO".
14019
        * machmode.h: #include "gansidecl.h".
14020
        (PROTO): Delete.
14021
        (HAVE_MACHINE_MODES): Move definition to standard place.
14022
        * recog.h: #include "gansidecl.h".
14023
        (PROTO,const): Delete.
14024
        * rtl.h: #include "gansidecl.h".
14025
        (PROTO,VPROTO,PVPROTO,VPROTO,VA_START,STDIO_PROTO): Delete.
14026
        (NULL,GENERIC_PTR,NULL_PTR): Delete.
14027
        * tree.h: Likewise.
14028
 
14029
Mon Apr 15 08:49:20 1996  Tom May  (ftom@netcom.com)
14030
 
14031
        * cse.c (invalidate_skipped_set): Ignore CLOBBER after calling
14032
        note_mem_written, not before.
14033
 
14034
Mon Apr 15 08:22:03 1996  Philippe De Muyter  
14035
 
14036
        * m68k.md (tstdi): Optimized for "d" case.
14037
        (movqi): Allow moving "i" into "a".
14038
        (zero_extendsidi2): Alternatives merged.
14039
        (extendplussidi): Fixed when operands 0 and 1 share a register.
14040
        (adddi_sexthishl32): Constraints reordered for better reload.
14041
        (adddi3,subdi_sexthishl32,subdi3,negdi2): Likewise.
14042
        (ashldi_sexthi): Accept "m" as operand 0.
14043
        (ashldi_const32): Alternatives merged.
14044
        (ashift patterns): Output "lsl" instead of "asl".
14045
        (beq0_di): If condition codes already set, output only branch insn.
14046
        (bne0_di,bge0_di,blt0_di): Likewise.
14047
        * m68k.c (notice_update_cc, case ASHIFT{,RT}, LSHIFTRT, ROTATE{,RT}):
14048
        Don't set CC_NO_OVERFLOW.
14049
        * m68k.h (TARGET_SWITCHES): Fix typo in "c68000" entry.
14050
 
14051
Mon Apr 15 08:06:17 1996  Stephen L Moshier  (moshier@world.std.com)
14052
 
14053
        * real.c (eadd1): Check for overflow on X plus X.
14054
 
14055
Mon Apr 15 08:02:24 1996  J.T. Conklin  
14056
 
14057
        * i386/netbsd.h (HAVE_SYSV_PRAGMA): Removed definition.
14058
        * config/netbsd.h (HAVE_SYSV_PRAGMA): Define.
14059
        (SET_ASM_OP): Define.
14060
 
14061
Mon Apr 15 07:28:54 1996  Fila Kolodny 
14062
 
14063
        * configure: Add definition for host= into Makefile.
14064
        * build-make (CC): Pass -b $(host), not target.
14065
 
14066
Mon Apr 15 05:12:39 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
14067
 
14068
        * expr.c (bc_expand_increment): Change declaration to return void.
14069
 
14070
        * toplev.c (max_label_num_after_reload): New variable.
14071
        (rest_of_compilation): Set it.
14072
        * reorg.c (find_dead_or_set_registers): Only kill spill regs after
14073
        label made before jump2.
14074
 
14075
        * combine.c (expand_field_assignment): Take SUBREG_WORD into
14076
        account when have STRICT_LOW_PART.
14077
        (make_extraction): Make a STRICT_LOW_PART at any low-order word.
14078
 
14079
Mon Apr 15 03:43:11 1996  Jeffrey A. Law  
14080
 
14081
        * flags.h (flag_function_sections): Declare.
14082
        * toplev.c (flag_function_sections): Define.
14083
        (compile_file): Add warnings when -ffunction-sections is
14084
        used with -g, or profiling.  Disable -ffunction-sections
14085
        when profiling is used.  Add warning when -ffunction-sections
14086
        is used on a target that doesn't support it.
14087
        * varasm.c (named_section): Make a copy of the section name
14088
        in case the original is in temporary storage.
14089
        (function_section): Set DECL_SECTION_NAME for each function
14090
        if flag_function_sections is on and the target supports it.
14091
        * dbxout.c (dbxout_function_end): New function.
14092
        (dbxout_function): Call dbxout_function_end if using extensions
14093
        and flag_function_sections is on.
14094
        * sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Prefix a function
14095
        section's name with ".text%" when -ffunction-sections.
14096
 
14097
Sun Apr 14 19:37:43 1996  Doug Evans  
14098
 
14099
        * toplev.c (main): Delete redundant test for -p used with -fbytecode.
14100
 
14101
Sun Apr 14 19:01:59 1996  John F. Carr 
14102
 
14103
        * c-decl.c (finish_enum): Don't crash if no type can represent all
14104
        enumeration values.
14105
 
14106
Sun Apr 14 18:56:40 1996  J.T. Conklin  
14107
 
14108
        * m68k.md (ftruncdf2): Enable for m68060 systems.
14109
 
14110
Sun Apr 14 18:49:30 1996  David L. Reese  (david.reese@east.sun.com)
14111
 
14112
        * fold-const.c (range_test):  Don't convert hi_cst or lo_cst
14113
        to unsigned when folding signed range tests.
14114
 
14115
Sun Apr 14 08:56:27 1996  Stephen L Moshier  
14116
 
14117
        * real.h (ereal_from_{int,uint}): Add new arg, MODE.
14118
        (REAL_VALUE_FROM{,_UNSIGNED}_INT): New arg, MODE.
14119
        * real.c (ereal_from_{int,uint}): New arg, MODE.
14120
        * cse.c (simplify_unary_operation): Add new arg to REAL_VALUE_FROM_INT.
14121
        * fold-const.c (fold_convert): Likewise.
14122
        * tree.c (real_value_from_int_cst): New arg, TYPE.
14123
        Pass mode to REAL_VALUE_FROM_INT.
14124
        (build_real_from_int_cst): Properly deal with truncation.
14125
 
14126
Sun Apr 14 08:21:29 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
14127
 
14128
        * combine.c (try_combine): When substituting in output of I2,
14129
        ensure dest isn't clobbered in I2.
14130
 
14131
        * combine.c (combine_instructions): In initial scan of insns,
14132
        handle a REG_INC note's affect on sign bit copies and nonzero bits.
14133
        (set_nonzero_bits_and_sign_copies): Treat a zero SET arg as a CLOBBER.
14134
 
14135
Sun Apr 14 07:52:28 1996  Manor Askenazi  
14136
 
14137
        * objc/encoding.c (objc_skip_typespec): Don't abort for _C_UNDEF.
14138
 
14139
Sat Apr 13 20:35:36 1996  Richard Henderson  (richard@atheist.tamu.edu)
14140
 
14141
        * configure (m68k-apple-aux*): Rework to take advantange
14142
        of list of tm.h files and support all four gas/gld options.
14143
        * m68k/auxas.h, m68k/auxgas.h, m68k/auxgld.h, m68k/auxld.h: New files.
14144
        * m68k/auxstd.h, m68k/auxgnu.h: Deleted.
14145
 
14146
Sat Apr 13 20:18:11 1996  Stephen L Moshier  
14147
 
14148
        * alpha.c (check_float_value): New function.
14149
        * alpha.h (CHECK_FLOAT_VALUE): Define.
14150
        (ASM_OUTPUT_FLOAT): Print the value in hex.
14151
 
14152
Sat Apr 13 15:08:45 1996  Doug Evans  
14153
 
14154
        * configure: New target arm{,el}-*-coff*.
14155
        (cpu_default): Sort alphabetically.
14156
        * arm/coff.h: New file.
14157
        * arm/t-bare: New file.
14158
        * arm/arm.c (use_return_insn): Don't use return for naked functions.
14159
        (arm_valid_machine_decl_attribute): New function.
14160
        (arm_naked_function_p): New function.
14161
        (output_func_prologue): Naked functions don't have prologues.
14162
        (arm_expand_prologue): Likewise.
14163
        (output_func_epilogue): Likewise with epilogues.
14164
 
14165
Sat Apr 13 11:31:32 1996  Jeffrey A. Law  
14166
 
14167
        * h8300.c (adds_subs_operand): Fix thinko in last change.
14168
 
14169
        * h8300.md (subhi3): Turn into a define_expand.
14170
        (subhi3 using adds_subs): New pattern.
14171
        (H8300 subhi): Derived from old subhi pattern.  Simplified.
14172
        (H8300H subhi): Likewise.
14173
        (subsi using adds_subs): New pattern.  Only used on H8300H.
14174
        (subsi_h8300): Allow "a" registers as destination.
14175
        (subsi_h8300h): Allow "a" registers as destination.  Simplify.
14176
 
14177
        * h8300.md (bcs_qiqi, bcs_hihi, bs_hiqi): Fix thinkos
14178
        in last change.
14179
 
14180
Sat Apr 13 08:59:48 1996  Fila Kolodny 
14181
 
14182
        * i370/mvs.h (ASM_DECLARE_FUNCTION_NAME): Don't write anything to
14183
        asm file, because everything is handled in FUNCTION_PROLOGUE.
14184
 
14185
Sat Apr 13 07:55:38 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
14186
 
14187
        * alpha.c (alpha_emit_set_const_1): Renamed from
14188
        alpha_emit_set_const and static.
14189
        Remove change of Nov 26; again use normal mechanism for SImode.
14190
        (alpha_emit_set_const): New function.
14191
 
14192
Fri Apr 12 18:19:39 1996  Jeffrey A. Law  
14193
 
14194
        * h8300.c (adds_subs_operand, output_adds_subs): New functions.
14195
        * h8300.md (addhi3): Turn into a define_expand.
14196
        (addhi3 using adds_subs): New pattern.
14197
        (H8300 addhi): Derived from old addhi pattern.  Simplified.
14198
        (H8300H addhi): Likewise.
14199
        (addsi using adds_subs): New pattern.  Only used on H8300H.
14200
        (addsi_h8300): Allow "a" registers as destination.
14201
        (addsi_h8300h):  Simplify.  Allow "a" registers as destination.
14202
 
14203
        * h8300.md (bcs): New attribute type.
14204
        (default_length): Compute correct length for bcs insns.
14205
        (bcs_qiqi, bcs_hihi, bs_hiqi): Use new type and update
14206
        to account for correct length computation.
14207
 
14208
        * h8300.md (movhi_internal): Demand at least one operand to be reg.
14209
        (movsi_h8300{{,h}): Optimize loading certain constants.
14210
 
14211
        * h8300.h (NO_FUNCTION_CSE): Comment out.
14212
        (FUNCTION_ARG_REGNO_P): Properly define for TARGET_QUICKCALL.
14213
        (RETURN_IN_MEMORY): Don't return small structs in regs.
14214
 
14215
        * h8300.c (const_costs): -4 and 4 are cheap on the h8300h.
14216
        (notice_update_cc): Remove references to "value2" field.
14217
 
14218
        * h8300.c (dosize): Remove unused "fped" argument.  All callers
14219
        changed.  Handle add/sub of 5-8 bytes efficiently on the h8300h.
14220
 
14221
        * h8300.c (print_operand): Handle new 'R' case for accessing
14222
        the 8-bit area.  Make code for 'Y' fall into code for 'R' when
14223
        operand is not a register.  Update some comments.
14224
        (h8300_tiny_data_p): New function.
14225
        (h8300_valid_machine_decl_attribute): Handle "tiny_data" attribute.
14226
        * h8300.h (OK_FOR_U): Handle memory references into 8-bit area.
14227
        (ENCODE_SECTION_INFO): Mark SYMBOL_REFs which refer to 8-bit area.
14228
        * h8300.md (many patterns): Use 'R' rather than 'X' for
14229
        operands that may be memory accesses into the 8-bit area.
14230
        (btst pattern): New pattern to set the cc0 (zbit) based on
14231
        data in the 8-bit area.
14232
 
14233
        * h8300.md (one_cmplsi2): Fix length computation for h8300h.
14234
 
14235
Fri Apr 12 14:34:39 1996  Doug Evans  
14236
 
14237
        * arm.md (*ldmsi,*stmsi): Use (mem (match_operand ...))
14238
        to avoid using indirect_operand (reload problems).
14239
        * arm/semi.h (CPP_PREDEFINES): Define __semi__ instead of semi.
14240
        * arm/aout.h (ASM_GENERATE_INTERNAL_LABEL): Use LOCAL_LABEL_PREFIX.
14241
        (ASM_OUTPUT_ADDR_{VEC,DIFF_ELT}): Likewise.
14242
 
14243
Fri Apr 12 09:43:30 1996  Jason Merrill  
14244
 
14245
        * dbxout.c (dbxout_typedefs): Don't emit incomplete types yet.
14246
        (dbxout_symbol): Use DECL_ARTIFICIAL to recognize C++ implicit
14247
        typedefs.
14248
 
14249
Thu Apr 11 21:56:26 1996  Doug Evans  
14250
 
14251
        * i386/t-winnt (winnt.o): Rewrite based on .c.o rule.
14252
        (oldnames.o,spawnv.o): Add rules for.
14253
 
14254
Thu Apr 11 07:25:06 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
14255
 
14256
        * calls.c (expand_call): In inlining case, if BEFORE_CALLS is
14257
        zero, start looking at first insn.
14258
 
14259
        * expr.c (preexpand_calls, case CALL_EXPR): Rework to properly
14260
        avoid expanding functions returning variable size objects.
14261
 
14262
        * integrate.c (expand_inline_function): When comparing types
14263
        of formal and actual, use TYPE_MAIN_VARIANT.
14264
 
14265
Thu Apr 11 00:48:29 1996  Jeffrey A. Law  
14266
 
14267
        * h8300/lib1funcs.asm (modnorm): New function(s).  Like divnorm,
14268
        but gets the sign bit right for modulo operations.
14269
        (__modhi3, modsi3): Use modnorm.
14270
 
14271
        * h8300.c (dosize): On h8300h, do 4 byte adjusts using adds and subs.
14272
        * h8300.h (LONG_LONG_TYPE_SIZE): Always make this 32bits.
14273
        Reverses change from Apr 2, 1996.
14274
 
14275
Wed Apr 10 18:39:52 1996  Doug Evans  
14276
 
14277
        * sparc.h (ASM_OUTPUT_INTERNAL_LABELREF): Delete.
14278
        (FUNCTION_PROFILER): Use ASM_GENERATE_INTERNAL_LABEL instead.
14279
 
14280
        * sparc.c (sparc_override_options): 90c701 renamed to tsc701.
14281
        (eligible_for_epilogue_delay_slot): Don't allow anything if
14282
        -mbroken-saverestore.
14283
        (output_function_prologue): Only use trivial save's if
14284
        -mbroken-saverestore.
14285
        * sparc.h (CPP_SPEC): Handle -mcpu={sparclet,tsc701}.
14286
        (ASM_SPEC): Likewise.
14287
        ({MASK,TARGET}_BROKEN_SAVERESTORE): Define.
14288
        (enum processor_type): 90C701 renamed to TSC701.
14289
        * sparc.md (attr cpu): 90c701 renamed to tsc701.
14290
        * sparc/splet.h (SUBTARGET_SWITCHES): Recognize -mbroken-saverestore.
14291
 
14292
Wed Apr 10 17:56:02 1996  Stan Cox  
14293
 
14294
        * m88k/dgux.h (EXTRA_SPECS): Define.
14295
        (ASM_SPEC,CPP_SPEC,STARTFILE_SPEC): Use EXTRA_SPECS.
14296
        * m88k/dguxbcs.h (ASM_SPEC,CPP_SPEC,STARTFILE_SPEC): Use EXTRA_SPECS.
14297
        * m88k/m88k.c (output_ascii) Output literal HT.
14298
 
14299
Wed Apr 10 17:28:37 1996  James Carlson  (carlson@xylogics.com)
14300
 
14301
        * configure: Work around AIX bug when defining SUBDIRS.
14302
 
14303
Wed Apr 10 17:22:42 1996  Paul Eggert  
14304
 
14305
        * cexp.y (parse_number): Don't reject long long constants unless
14306
        pedantic.
14307
 
14308
Wed Apr 10 17:19:56 1996  Stephen L. Moshier  (moshier@world.std.com)
14309
 
14310
        * real.c (e64toe): Properly distinguish between NaN and infinity
14311
        bit patterns for real-words-big-endian targets.
14312
 
14313
Wed Apr 10 17:17:26 1996  Richard Earnshaw  (rearnsha@armltd.co.uk)
14314
 
14315
        * real.c (endian): Add two explicit casts.
14316
        (e64toe): Support ARM extended precision fp format.
14317
        Check negative infinities properly for NaNs.
14318
        (toe64): Support ARM extended precision fp format.
14319
 
14320
Tue Apr  9 12:53:31 1996  Doug Evans  
14321
 
14322
        * i386/gas.h (ASM_OUTPUT_ALIGN): Define and use .balign.
14323
 
14324
Tue Apr  9 12:48:45 1996  Stephen L Moshier  (moshier@world.std.com)
14325
 
14326
        * sparc.c (fp_zero_operand): Exclude -0.0.
14327
 
14328
Tue Apr  9 07:11:24 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
14329
 
14330
        * alpha.c: Fix typo in last change.
14331
 
14332
        * tree.c (substitute_in_expr): Don't return new expression if
14333
        nothing changed.
14334
        (substitute_in_type): Deleted, not used.
14335
        * tree.h (substitute_in_type): Delete declaration.
14336
 
14337
Mon Apr  8 16:30:18 1996  Jeffrey A. Law  
14338
 
14339
        * flow.c (find_auto_inc): Also make sure there aren't
14340
        any sets of the incremented register between the memory
14341
        reference and increment insn.
14342
 
14343
Mon Apr  8 15:41:14 1996  John Polstra  (jdp@polstra.com)
14344
 
14345
        * configure (i[3456]86-*-freebsdelf*): New target.
14346
        * i386/freebsd-elf.h: New file.
14347
        * i386/x-freebsd (USER_H): New define; to null.
14348
 
14349
Mon Apr  8 14:44:41 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
14350
 
14351
        * c-decl.c (finish_function): Always warn if main doesn't return int.
14352
 
14353
Mon Apr  8 13:01:37 1996  Michael Meissner  
14354
 
14355
        * rs6000.c (got_operand): New function, returns true if the
14356
        operand can go in V.4's GOT.
14357
        (rs6000_pic_register): New variable.
14358
        (output_epilog): Reset rs6000_pic_register.
14359
 
14360
        * rs6000.h (rs6000_pic_register, got_operand, flag_pic): Add decls.
14361
        (PREDICATE_CODES): Add got_operand.
14362
 
14363
        * rs6000.md (movsi): Add support for V.4's -fpic and -FPIC.
14364
        (init_v4_pic): Initialize the V4 pic register if needed.
14365
        (call patterns): If -fpic/-fPIC, call function with @plt suffix.
14366
 
14367
        * t-eabigas (MULTILIB_DIRNAMES): Remove errant pic directory.
14368
 
14369
        * rs6000.c (output_prolog): Correctly store & restore the
14370
        arguments to main in their correct save location, when calling the
14371
        start function.
14372
 
14373
Mon Apr  8 13:01:37 1996  David Reese  
14374
 
14375
        * rs6000.c (print_operand): Use reg_names to print registers.
14376
 
14377
Fri Apr  5 00:40:19 1996  Jeffrey A. Law  
14378
 
14379
        * h8300.c (h8300_valid_machine_decl_attribute): Use underscores,
14380
        not dashes in attributes.
14381
        (h8300_funcvec_function_p): Corresponding changes.
14382
        (h8300_interrupt_function_p): Likewise.
14383
 
14384
        * pa.h (INIT_CUMULATIVE_INCOMING_ARGS): Initialize "indirect"
14385
        field to zero.
14386
 
14387
Thu Apr  4 12:52:11 1996  Jim Wilson  
14388
 
14389
        * loop.c (combine_givs): Use new macro GIV_SORT_CRITERION.
14390
        New variable giv_array.  Loop over giv_array instead of following
14391
        next_iv links.
14392
        (giv_sort): New function.
14393
        * sh.h (GIV_SORT_CRITERION):  Define.
14394
 
14395
        * c-typeck.c (push_init_level): When output alignment for structure
14396
        field, add check to verify it is the next field to be output.
14397
 
14398
Thu Apr  4 12:19:26 1996  David Mosberger-Tang  
14399
 
14400
        * alpha.c: Don't include stamp.h for Linux-based GNU systems.
14401
 
14402
Thu Apr  4 12:17:08 1996  Richardg Kenner  (kenner@vlsi1.ultra.nyu.edu)
14403
 
14404
        * objc/Makefile: Rename thread* to thr*.
14405
        * objc/thread.c: Rename thread-* to thr-*.
14406
        * objc/thr-decosf1.c: Renamed from thread-decosf1.c
14407
        * objc/thr-irix.c: Renamed from thread-irix.c.
14408
        * objc/thr-single.c: Renamed from thread-single.c.
14409
        * objc/thr-solarius.c: Renamed from thread-solaris.c.
14410
        * objc/thr-win32.c: Renamed from thread-win32.c.
14411
        * objc/objc-api.h: Include thr.h, not thread.h.
14412
        * objc/runtime.h, objc/sarray.h: Likewise.
14413
 
14414
        * i386.md (ashldi3_const_int): Don't recognize if won't match
14415
        constraint of operand 2.
14416
 
14417
Thu Apr  4 11:40:55 1996  Michael Meissner  
14418
 
14419
        * config/fp-bit.c (EXTENDED_FLOAT_STUBS): If EXTENDED_FLOAT_STUBS
14420
        is defined, define all of the XF/TF functions that might be
14421
        generated that we don't have code for yet.
14422
 
14423
        * i960/t-(vxworks960,960bare): (LIB2FUNCS_EXTRA): Make and
14424
        compile xp-bits.c that defines EXTENDED_FLOAT_STUBS.
14425
 
14426
        From: steve chamberlain  
14427
        * i386/x-cygwin32 (LANGUAGES): Delete.
14428
        * i386/xm-cygwin32.h (EXECUTABLE_SUFFIX): Set to .exe.
14429
        * rs6000/xm-cygwin32.h (EXECUTABLE_SUFFIX): Set to .exe.
14430
 
14431
Wed Apr  3 14:10:16 1996  Jim Wilson  
14432
 
14433
        * expr.c (emit_push_insn): Clobber register only if it is nonzero.
14434
 
14435
Wed Apr  3 11:31:55 1996  Jeffrey A. Law  
14436
 
14437
        * h8300.h (h8300_funcvec_function_p): Declaration moved here.
14438
        * h8300.c (h8300_funcvec_function_p): Declaration removed from here.
14439
        * h8300.md (tstqi): Tweak to work like other tstXX patterns.
14440
        (cmphi): Turn into a define_expand.  Add two anonymous
14441
        matterns to match the output of the cmphi expander.
14442
        (cmpsi): Accept constants as the second input operand.
14443
 
14444
Tue Apr  2 13:52:30 1996  Jeffrey A. Law  
14445
 
14446
        * h8300.md (movqi_internal): Remove useless alternative(s).  Fix
14447
        lengths and simplify by reordering remaining alternatives.
14448
        (movstrictqi, movhi_internal, movstricthi): Likewise.
14449
        (movsi_h8300h, movsf_h8300h): Likewise.
14450
 
14451
        * h8300/h8300.c (extra_pop): Remove unused variable.
14452
        (current_function_anonymous_args): Likewise.
14453
        (function_prologue): Remove incorrect varargs/stdarg
14454
        related code.
14455
        (function_epilogue): Likewise.
14456
        (function_arg): Never pass unnamed arguments in registers.
14457
        * h8300.h (LONG_LONG_TYPE_SIZE): Use 64bits when ints are 32bits.
14458
        (SETUP_INCOMING_VARARGS): Remove definition.
14459
 
14460
Mon Apr  1 16:59:48 1996  Ian Lance Taylor  
14461
 
14462
        * fixincludes: Fix signal prototype on SunOS to avoid pedantic C++
14463
        error.
14464
 
14465
Mon Apr  1 16:16:34 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
14466
 
14467
        * expr.c (get_inner_reference): When finding mode to access bitfield
14468
        that ends up properly aligned, use mode class of its type unless
14469
        type's mode was BLKmode.
14470
 
14471
Mon Apr  1 13:45:30 1996  Jeffrey A. Law  
14472
 
14473
        * h8300.c (interrupt_handler): Renamed from pragma_interrupt.
14474
        All references changed.
14475
        (function_prologue): Set interrupt_handler if the current
14476
        function has the "interrrupt-handler" attribute.
14477
        (small_call_insn_operand): New function.
14478
        (h8300_interrrupt_function_p): New function.
14479
        (h8300_funcvec_function_p): New function.
14480
        (h8300_valid_machine_decl_attribute): New function.
14481
        * h8300.h (VALID_MACHINE_DECL_ATTRIBUTE): Define.
14482
        * h8300.md (call insns): Handle calls through the
14483
        function vector.  Indirect calls and calls through
14484
        the function vector have a length of two bytes.
14485
 
14486
See ChangeLog.10 for earlier changes.
14487
 
14488
Use a consistent time stamp format in ChangeLog entries.
14489
Not everyone has Emacs 20 yet, so stick with Emacs 19 format for now.
14490
 
14491
Local Variables:
14492
add-log-time-format: current-time-string
14493
End:

powered by: WebSVN 2.1.0

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