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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [ChangeLog-1998] - Blame information for rev 280

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 280 jeremybenn
Wed Dec 30 23:38:55 1998  Jeffrey A Law  (law@cygnus.com)
2
 
3
        * m68k.md (adddi_dilshr32): Allow all operands to be registers too.
4
        (adddi_dishl32): Similarly.
5
 
6
        * cse.c (invalidate_skipped_block): Call invalidate_from_clobbers
7
        for each insn in the skipped block.
8
 
9
        * reload1.c (reload_as_needed): Verify that the insn satisfies its
10
        constraints after replacing a register address with an autoincrement
11
        address for reload inheritance purposes.
12
 
13
        * i386.md (doubleword shifts): Avoid namespace pollution.
14
 
15
Wed Dec 30 23:00:28 1998  David O'Brien  
16
 
17
        * configure.in (FreeBSD ELF): Needs special crt files.
18
 
19
Wed Dec 30 22:50:13 1998  Geoffrey Noer  
20
 
21
        * i386/xm-cygwin.h: Change DIR_SEPARATOR to forward slash.
22
 
23
1998-12-30  Andreas Schwab  
24
 
25
        * loop.c (check_dbra_loop): While reversing the loop, if the
26
        comparison value has a VOID mode use the mode of the other operand
27
        to compute the mask.
28
 
29
Wed Dec 30 22:24:00 1998  Michael Meissner  
30
 
31
        * rs6000.md ({save,restore}_stack_function): Take 2 operands to
32
        avoid warnings in compiling explow.c.
33
 
34
        (patch from Ken Raeburn, raeburn@cygnus.com)
35
        * rs6000.c (rs6000_stack_info): Force 8-byte alignment of
36
        fpmem_offset.  Compute total size after that, and then
37
        rs6000_fpmem_offset using both values.
38
 
39
Mon Dec 28 19:26:32 1998  Gerald Pfeifer  
40
 
41
        * gcc.texi (Non-bugs): ``Empty'' loops will be optimized away in
42
        the future; indeed that already happens in some cases.
43
 
44
Tue Dec 29 11:58:53 1998  Richard Henderson  
45
 
46
        * sparc.c (input_operand): Recognize (const (constant_p_rtx)).
47
        (arith_operand): Remove constant_p_rtx handling.
48
        (const64_operand, const64_high_operand): Likewise.
49
        (arith11_operand, arith10_operand, arith_double_operand): Likewise.
50
        (arith11_double_operand, arith10_double_operand, small_int): Likewise.
51
        (small_int_or_double, uns_small_int, zero_operand): Likewise.
52
        * sparc.h (PREDICATE_CODES): Likewise.
53
 
54
        * rtl.h (CONSTANT_P): Remove CONSTANT_P_RTX.
55
 
56
Tue Dec 29 11:32:54 1998  Richard Kenner  
57
 
58
        * rtl.def (CONSTANT_P_RTX): Clarify commentary.
59
        * expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to
60
        consider constant CONSTRUCTOR constant and to defer some cases
61
        to cse.
62
        * cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX.
63
        * regclass.c (reg_scan_mark_refs, case CONST): Likewise.
64
 
65
Tue Dec 29 11:30:10 1998  Richard Henderson  
66
 
67
        * expr.c (init_expr_once): Kill can_handle_constant_p recognition.
68
        * cse.c (fold_rtx, case 'x'): Remove standalone CONSTANT_P_RTX code.
69
 
70
        * alpha.c (reg_or_6bit_operand): Remove CONSTANT_P_RTX handling.
71
        (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
72
        (sext_add_operand, and_operand, or_operand): Likewise.
73
        (reg_or_cint_operand, some_operand, input_operand): Likewise.
74
        * alpha.h (PREDICATE_CODES): Likewise.
75
 
76
Sat Dec 26 23:26:26 1998  Jeff Law  (law@cygnus.com)
77
 
78
        * version.c: Bump for snapshot.
79
 
80
Sat Dec 26 09:17:04 1998  Jeffrey A Law  (law@cygnus.com)
81
 
82
        * gengenrtl.c (gencode): Always use bzero to clear memory instead
83
        of dangerous casts and stores.
84
 
85
        * Makefile.in (compare, gnucompare): Add missing else true clauses.
86
 
87
Fri Dec 25 23:00:56 1998  Jeffrey A Law  (law@cygnus.com)
88
 
89
        * alpha.md (builtin_longjmp): Add missing "DONE".
90
 
91
Thu Dec 24 10:39:57 1998  Stan Cox  
92
 
93
        * gcc.c (execute): Enable -pipe with win32.
94
 
95
Wed Dec 23 10:27:44 1998  Nick Clifton  
96
 
97
        * config/arm/t-arm-elf: Add multiplib option for leading
98
        underscores.
99
 
100
        * config/arm/thumb.h (ASM_OUTPUT_LABELREF): Use variable
101
        'user_label_prefix' rather than macro USER_LABEL_PREFIX.
102
 
103
        (thumb_shiftable_const): Use macro 'BASE_REG_CLASS' rather
104
        than variable 'reload_address_base_reg_class'.  [Note this
105
        change is unrelated to the others in this patch].
106
 
107
        * config/arm/unknown-elf.h (USER_LABEL_PREFIX): Default to no
108
        leading underscore.
109
 
110
Wed Dec 23 09:51:32 1998  Kaveh R. Ghazi  
111
 
112
        * alias.c (record_alias_subset): Remove ignored `&'.
113
        (init_alias_once): Likewise.
114
 
115
        * c-lex.c (UNGETC): Cast first argument of comma expression to void.
116
 
117
        * config/mips/mips.c (mips_asm_file_end): Cast the result of
118
        fwrite to `int' when comparing against one.
119
 
120
        * config/mips/mips.h (CAN_ELIMINATE): Add parens around && within ||.
121
        (INITIAL_ELIMINATION_OFFSET): Add braces to avoid ambiguous `else'.
122
 
123
        * cse.c (rehash_using_reg): Change type of variable `i' to
124
        unsigned int.
125
 
126
        * dwarf2out.c (initial_return_save): Cast -1 to unsigned before
127
        assigning it to one.
128
 
129
        * except.c (duplicate_eh_handlers): Remove unused variable `tmp'.
130
 
131
        * final.c (final_scan_insn): Likewise for variable `i'.
132
        (output_asm_insn): Cast a char to unsigned char when used as an
133
        array index.
134
 
135
        * gcse.c (compute_pre_ppinout): Cast -1 to SBITMAP_ELT_TYPE when
136
        assigning it to one.
137
 
138
        * loop.c (strength_reduce): Remove unused variables `count' and `temp'.
139
 
140
        * recog.c (preprocess_constraints): Cast a char to unsigned char
141
        when used as an array index.
142
 
143
        * regmove.c (find_matches): Likewise.
144
 
145
        * reload1.c (calculate_needs): Add default case in switch.
146
        (eliminate_regs_in_insn): Initialize variable `offset'.
147
        (set_offsets_for_label): Change type of variable `i' to unsigned.
148
        (reload_as_needed): Wrap variable `i' in macro check on
149
        AUTO_INC_DEC || INSN_CLOBBERS_REGNO_P.
150
 
151
        * scan-decls.c (scan_decls): Mark parameters `argc' and `argv'
152
        with ATTRIBUTE_UNUSED.  Cast variable `start_written' to size_t
153
        when comparing against one.
154
 
155
        * stor-layout.c (layout_decl): Cast maximum_field_alignment to
156
        unsigned when comparing against one.  Likewise for
157
        GET_MODE_ALIGNMENT().
158
        (layout_record): Cast record_align to int when comparing against a
159
        signed value.
160
        (layout_type): Cast TYPE_ALIGN() to int when comparing against a
161
        signed value.
162
 
163
        * tree.c (get_identifier): Cast variable `len' to unsigned when
164
        comparing against one.
165
        (maybe_get_identifier): Likewise
166
 
167
Wed Dec 23 00:10:01 1998  Jeffrey A Law  (law@cygnus.com)
168
 
169
        * toplev.c (rest_of_compilation): Do not set reload_completed.
170
        * reload1.c (reload): Set reload_completed before calling
171
        cleanup_subreg_operands.
172
 
173
Tue Dec 22 23:58:31 1998  Richard Henderson  
174
 
175
        * reload1.c (emit_reload_insns): Check `set' not null before use.
176
 
177
Tue Dec 22 15:15:45 1998  Nick Clifton  
178
 
179
        * rtlanal.c (multiple_sets): Change type of 'found' from 'rtx' to
180
        'int'.
181
 
182
Tue Dec 22 13:55:44 1998  Theodore Papadopoulo  
183
 
184
        * halfpic.c (half_pic_encode): Delete redundant code.
185
 
186
Tue Dec 22 13:02:22 1998  Michael Meissner  
187
 
188
        * toplev.c (main): Delete handling of -dM as a preprocessor
189
        option.
190
 
191
Mon Dec 21 17:39:38 1998  Michael Meissner  
192
 
193
        * toplev.c (main): Don't emit any warnings when using -dD, -dM, or
194
        -dI, which are handled by the preprocessor.
195
 
196
Sun Dec 20 16:13:44 1998  John F. Carr  
197
 
198
        * configure.in: Handle Digital UNIX 5.x the same as 4.x.
199
        * i386/sol2.h: Define LOCAL_LABEL_PREFIX as ".".
200
 
201
Sun Dec 20 07:39:52 1998  Jeff Law  (law@cygnus.com)
202
 
203
        * version.c: Bump for snapshot.
204
 
205
Sat Dec 19 22:24:22 1998  Jeff Law  (law@cygnus.com)
206
 
207
        * version.c: Bump for snapshot.
208
 
209
Sat Dec 19 21:41:32 1998  Jeff Law  (law@cygnus.com)
210
 
211
        * version.c: Bump for snapshot.
212
 
213
Sat Dec 19 09:52:27 1998  Kaveh R. Ghazi  
214
 
215
        * genattr.c (fatal): Qualify a char* with the `const' keyword.
216
 
217
        * genattrtab.c (fatal, attr_printf, attr_string, write_attr_set,
218
        write_unit_name, write_eligible_delay, expand_units,
219
        make_length_attrs, write_attr_case, find_attr,
220
        make_internal_attr): Likewise.
221
        * gencheck.c (tree_codes): Likewise.
222
        * gencodes.c (fatal): Likewise.
223
        * genconfig.c (fatal): Likewise.
224
        * genemit.c (fatal): Likewise.
225
        * genextract.c (fatal, walk_rtx, copystr): Likewise.
226
        * genflags.c (fatal): Likewise.
227
        * genopinit.c (fatal, optabs, gen_insn): Likewise.
228
        * genoutput.c (fatal, error, predicates): Likewise.
229
        * genpeep.c (fatal): Likewise.
230
        * genrecog.c (fatal, decision, pred_table, add_to_sequence,
231
        write_tree_1, write_tree, change_state, copystr, indents): Likewise.
232
 
233
Thu Dec 17 18:21:49 1998  Rainer Orth  
234
 
235
        * configure.in (with-fast-fixincludes): Fix whitespace.
236
        * configure: Rebuilt.
237
 
238
        * fixincludes (c_asm.h): Wrap Digital UNIX V4.0B DEC C specific
239
        asm() etc. function declarations in __DECC.
240
 
241
Thu Dec 17 13:57:23 1998  Nick Clifton  
242
 
243
        * expr.c (emit_move_insn_1): Only emit a clobber if the target
244
        is a pseudo register.
245
 
246
Thu Dec 17 13:50:29 1998  Nick Clifton  
247
 
248
        * gcse.c: Include expr.h in order to get the prototype for
249
        get_condition() which is used in delete_null_pointer_checks().
250
 
251
Thu Dec 17 15:58:26 1998  Kaveh R. Ghazi  
252
 
253
        * hwint.h: New file to consolidate HOST_WIDE_INT (etc) macros.
254
 
255
Thu Dec 17 12:31:12 1998  Jim Wilson  
256
 
257
        * Makefile.in (INTERNAL_CFLAGS): Add SCHED_CFLAGS.
258
        (ALL_CFLAGS): Delete SCHED_CFLAGS.
259
 
260
1998-12-17  Vladimir N. Makarov  
261
 
262
        * config/i60/i960.md (extendqihi2): Fix typo (usage ',' instead of
263
        ';').
264
 
265
1998-12-17  Michael Tiemann  
266
 
267
        * i960.md (extend*, zero_extend*): Don't generate rtl that looks
268
        like (subreg:SI (reg:SI N) 0), because it's wrong, and it hides
269
        optimizations from the combiner.
270
 
271
Thu Dec 17 08:27:03 1998  J"orn Rennecke  
272
 
273
        * loop.c (combine_givs_used_by_other): Don't depend on n_times_set.
274
 
275
Wed Dec 16 17:30:35 1998  Nick Clifton  
276
 
277
        * toplev.c (main): Disable optimize_size if a specific
278
        optimization level is requested.  Always set optimization
279
        level to 2 if -Os is specified.
280
 
281
Wed Dec 16 16:33:04 1998  Dave Brolley  
282
 
283
        * objc/lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with
284
        cpplib.
285
        * cpplib.c (cpp_start_read): If in_fname is not initialized, try to
286
        initialize it using fname.
287
 
288
1998-12-16  Zack Weinberg  
289
 
290
        * cpplib.c (do_include): Treat #include_next in the
291
        primary source file as #include plus warning.  Treat
292
        #include_next in a file included by absolute path as an
293
        error.  fp == CPP_NULL_BUFFER is a fatal inconsistency.
294
 
295
Wed Dec 16 12:28:54 1998  Kaveh R. Ghazi  
296
 
297
        * cccp.c: Don't define MIN/MAX anymore.
298
        * cpplib.c: Likewise.
299
        * machmode.h: Likewise.
300
        * system.h: Provide definitions for MIN/MAX.
301
 
302
Tue Dec 15 23:47:42 1998  Zack Weinberg  
303
 
304
        * fix-header.c: Don't define xstrdup here.
305
 
306
Wed Dec 16 05:11:04 1998  J"orn Rennecke  
307
 
308
        * loop.c (consec_sets_giv): New argument last_consec_insn.
309
        (strength_reduce): Provide / use it.
310
 
311
Wed Dec 16 17:24:07 1998  Michael Hayes  
312
 
313
        * loop.h (loop_info): New field 'vtop'.
314
        * loop.c (check_dbra_loop): Use loop_info->vtop rather than
315
        scanning loop for vtop.
316
        * unroll.c (subtract_reg_term, find_common_reg_term): New functions.
317
        (loop_iterations): Use them to determine if loop has a constant
318
        number of iterations.  Set loop_info->vtop.  Don't subtract
319
        common reg term from initial_value and final_value if have a
320
        do-while loop.
321
 
322
Tue Dec 15 13:49:55 1998  Jeffrey A Law  (law@cygnus.com)
323
 
324
        * mn10200.md (addsi3 expander): Use "nonmemory_operand" for operand 2.
325
 
326
        * mn10300.md (bset, bclr): Operand 0 is a read/write operand.
327
 
328
        * mn10200.md (abssf2, negsf2): New expanders.
329
 
330
        * mn10300.md (absdf2, abssf2, negdf2, negsf2): New expanders.
331
 
332
Tue Dec 15 11:55:30 1998  Nick Clifton  
333
 
334
        * integrate.c (copy_rtx_and_substitute): If a SUBREG is
335
        replaced by a CONCAT whose components do not have the same
336
        mode as the original SUBREG, use a new SUBREG to restore the
337
        mode.
338
 
339
        * emit-rtl.c (subreg_realpart_p): Cope with subregs containing
340
        multiword complex values.
341
 
342
1998-12-15  Zack Weinberg  
343
 
344
        * cppalloc.c: Add xstrdup here.
345
        * cpplib.h: Remove savestring prototype.
346
        * cpplib.c: Remove savestring function. s/savestring/xstrdup/
347
          throughout.
348
        * cppfiles.c: s/savestring/xstrdup/ throughout.
349
 
350
1998-12-15  Zack Weinberg  
351
 
352
        * cpplib.c: Make all directive handlers read their own
353
          arguments.
354
          (struct directive): Remove last two arguments from FUNC
355
          member prototype. Remove `command_reads_line' member
356
          entirely.
357
          (directive_table): Remove initializations of
358
          command_reads_line flag.  Pretty-print.
359
          (eval_if_expression, do_define, do_line, do_include,
360
          do_undef, do_error, do_pragma, do_ident, do_if, do_xifdef,
361
          do_else, do_elif, do_sccs, do_assert, do_unassert,
362
          do_warning): Take only two args.
363
 
364
          (cpp_define): Call do_define with two args and the text to
365
          define stuffed into a buffer.
366
          (make_assertion): Call do_assert with two args.
367
          (handle_directive): Call do_line with two args. Call
368
          kt->func with two args.  Remove command_reads_line
369
          processing.
370
          (do_define, do_undef, do_error, do_warning, do_pragma,
371
          do_sccs): Read the rest of the line here.
372
          (do_ident): Gobble rest of line, as cccp does.
373
          (cpp_undef): New function.
374
          (cpp_start_read): Call cpp_undef instead of do_undef.
375
 
376
1998-12-15  Zack Weinberg  
377
 
378
        * cpphash.h (union hash_value): Remove `keydef' member, add a
379
          `struct hashnode *aschain' member for #assert.
380
 
381
        * cpplib.c (struct tokenlist_list, struct
382
          assertion_hashnode): Delete structure definitions.
383
          (assertion_install, assertion_lookup, delete_assertion,
384
          check_assertion, compare_token_lists, reverse_token_list,
385
          read_token_list, free_token_list): Delete functions.
386
          (parse_assertion): New function.
387
          (cpp_cleanup): Don't destroy the assertion_hashtable.
388
 
389
          (do_assert): Gut and rewrite.  #assert foo (bar) places
390
          entries for `#foo' and `#foo(bar)' in the macro hash table,
391
          type T_ASSERT.  The value union's `aschain' member is used
392
          to chain all answers for a given predicate together.
393
          (do_unassert): Also rewritten.  Take an un-asserted
394
          answer off the chain from its predicate and call
395
          delete_macro on the hashnode, or walk a predicate chain
396
          calling delete_macro on all the entries.
397
          (cpp_read_check_assertion): Simply call parse_assertion to
398
          get the canonical assertion name, and look that up in the
399
          hash table.
400
 
401
        * cpplib.h (ASSERTION_HASHNODE,ASSERTION_HASHSIZE,assertion_hashtab):
402
        Removed.
403
 
404
        * cpphash.c (install): Use bcopy instead of an explicit loop
405
          to copy the macro name.
406
 
407
        * cppexp.c (cpp_lex): Convert the result of
408
          cpp_read_check_assertion to a `struct operation' directly;
409
          don't go through parse_number.
410
 
411
Tue Dec 15 18:27:39 1998  J"orn Rennecke  
412
 
413
        * loop.h (struct induction): Delete times_used member.
414
        * loop.c (n_times_set): Rename to set_in_loop.  Changed all users.
415
        (n_times_used): Rename to n_times_set.  Changed all users.
416
        (scan_loop): Free reg_single_usage before strength reduction.
417
        (record_giv, combine_givs): Remove handling of times_used member.
418
        (combine_givs_used_once): Rename to:
419
        (combine_givs_used_by_other) .  Changed all callers.
420
 
421
Tue Dec 15 01:45:26 1998  Jason Merrill  
422
 
423
        * dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P
424
        instead of TREE_CODE_CLASS == 't'.
425
        (gen_type_die): Likewise.
426
        (scope_die_for): Ignore FUNCTION_TYPE "scopes".
427
 
428
Mon Dec 14 16:23:27 1998  Jim Wilson  
429
 
430
        * real.c (endian): Disable last change unless
431
        HOST_BITS_PER_WIDE_INT is greater than 32.
432
 
433
Mon Dec 14 17:13:36 1998  Andrew MacLeod  
434
 
435
        * output.h (force_data_section): New prototype.
436
        * varasm.c (force_data_section): New function to force the
437
        data section, regardless of what in_section thinks.
438
        * dwarf2out.c (output_call_frame_info): Call force_data_section
439
        since varasm may not realize we've changes sections.
440
 
441
Mon Dec 14 14:09:34 1998  Nick Clifton  
442
 
443
        * reload1.c (reload): Delete REG_RETVAL and REG_LIBCALL notes
444
          after completing reload.
445
 
446
        * rtl.texi: Document that REG_RETVAL and REG_LIBCALL are
447
          deleted after reload.
448
 
449
Mon Dec 14 01:39:28 1998  Jeffrey A Law  (law@cygnus.com)
450
 
451
        * rtl.h (multiple_sets): Fix prototype.
452
        * rtlanal.c (multiple_sets): Fix return type.
453
 
454
Sun Dec 13 12:43:58 1998  Jeff Law  (law@cygnus.com)
455
 
456
        * version.c: Bump for snapshot.
457
 
458
Sun Dec 13 01:05:22 1998  Jeff Law  (law@cygnus.com)
459
 
460
        * version.c: Bump for snapshot.
461
 
462
1998-12-13  Manfred Hollstein  
463
 
464
        * protoize.c (fputs): Wrap extern declaration in #ifndef fputs.
465
 
466
Sun Dec 13 00:24:14 1998  J"orn Rennecke  
467
 
468
        * rtl.h (recompute_reg_usage): Add second argument.
469
        * flow.c (recompute_reg_usage): Likewise.
470
        * toplev.c (rest_of_compilation): Supply second argument to
471
        recompute_reg_usage.
472
 
473
        * reload1.c (compute_use_by_pseudos): Allow reg_renumber[regno] < 0
474
        after reload.
475
 
476
Sat Dec 12 23:39:10 1998  Jeffrey A Law  (law@cygnus.com)
477
 
478
        * m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcpu32.
479
        (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
480
        (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
481
        mcpu32 or m5200.
482
 
483
        * i386/next.h (ASM_OUTPUT_ALIGN): Use 0x90 for fill character.
484
 
485
        * rtlanal.c (multiple_sets): New function.
486
        * rtl.h (multiple_sets): Declare it.
487
        * local-alloc.c (wipe_dead_reg): Use it.
488
        * global.c (global_conflicts): Likewise.
489
 
490
Sat Dec 12 22:13:02 1998  Mark Mitchell  
491
 
492
        * global.c (record_conflicts): Don't use an array of shorts to
493
        store an array of ints.
494
        (global_conflicts): Likewise.
495
 
496
Sat Dec 12 16:49:24 1998  Richard Henderson  
497
 
498
        * alpha.c (alpha_expand_block_move): mode_for_size expects
499
        bits, not bytes.  Infer extra alignment from addressof.
500
 
501
1998-12-11  Michael Meissner  
502
 
503
        * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Put small data in the
504
        .sbss section, not .sdata.
505
 
506
1998-12-11  Manfred Hollstein  
507
 
508
        * cccp.c: Do not #include  here; this is already done
509
        by "system.h".
510
        * collect2.c: Likewise.
511
        * cpplib.h: Likewise.
512
        * gcc.c: Likewise.
513
        * gcov.c: Likewise.
514
        * getpwd.c: Likewise.
515
        * protoize.c: Likewise.
516
        * toplev.c: Likewise.
517
 
518
        * cpplib.h (HOST_WIDE_INT): Get definition from "machmode.h"
519
        and don't try to define it here.
520
        * Makefile.in (cppmain.o): Depend on machmode.h.
521
        (cpplib.o): Likewise.
522
        (cpperror.o): Likewise.
523
        (cppexp.o): Likewise.
524
        (cppfiles.o): Likewise.
525
        (cpphash.o): Likewise.
526
        (cppalloc.o): Likewise.
527
        (fix-header.o): Likewise.
528
        (scan-decls.o): Likewise.
529
 
530
Fri Dec 11 11:02:49 1998  Stan Cox  
531
 
532
        * sh.c (print_operand): Lookup interrupt_handler attribute instead
533
        of relying on static variable.
534
        * (calc_live_regs): Likewise.
535
        * (sh_pragma_insert_attributes): Create interrupt_handler
536
        attribute if a pragma was specified.
537
        * (sh_valid_machine_decl_attribute): Don't set static flag.
538
        * sh.h (PRAGMA_INSERT_ATTRIBUTES): New.
539
 
540
Fri Dec 11 12:56:07 1998  J"orn Rennecke  
541
 
542
        * reload1.c (reload_combine): Use BASIC_BLOCK_LIVE_AT_START
543
        to determine if a register is live at a jump destination.
544
        Everything is dead at a BARRIER.
545
 
546
Thu Dec 10 16:02:06 1998  Jim Wilson  
547
 
548
        * cse.c (simplify_unary_operation): Sign-extend constants when
549
        they have the most significant bit set for the target.
550
        * real.c (endian): Sign-extend 32 bit output values on a 64 bit
551
        host.
552
        * m32r/m32r.c (m32r_expand_prologue): Store pretend_size in
553
        HOST_WIDE_INT temporary before negating it.
554
        * m32r/m32r.md (movsi_insn+1): Use ~0xffff instead of 0xffff0000.
555
 
556
Thu Dec 10 15:05:59 1998  Dave Brolley  
557
 
558
        * objc/objc-act.c (lang_init_options): Enclose cpplib related code in
559
        #if USE_CPPLIB.
560
 
561
Thu Dec 10 13:39:46 1998  Kaveh R. Ghazi  
562
 
563
        * collect2.h: New header file for prototypes.
564
 
565
        * Makefile.in (collect2.o, tlink.o): Depend on collect2.h.
566
 
567
        * collect2.c: Include collect2.h.
568
        * tlink.c: Likewise.
569
 
570
Wed Dec  9 23:55:11 1998  Jeffrey A Law  (law@cygnus.com)
571
 
572
        * flow.c: Update some comments.
573
 
574
Wed Dec  9 15:29:26 1998  Dave Brolley  
575
 
576
        * objc/objc-act.c (cpp_initialized): Removed.
577
        (lang_init_options): Initialize cpplib.
578
        (lang_decode_option): Move initialization of cpplib to
579
        lang_init_options.
580
        * c-lang.c (parse_options,parse_in): Added.
581
        (lang_init_options): Initialized cpplib here.
582
        * c-decl.c (parse_options,cpp_initialized): Removed.
583
        (c_decode_option): Move initialization of cpplib to
584
        lang_init_options.
585
 
586
Wed Dec  9 19:36:57 1998  J"orn Rennecke  
587
 
588
        * reload1.c (reload_combine, reload_combine_note_store):
589
        Make STORE_RUID always valid.
590
        (reload_combine): Check if BASE is clobbered too early.
591
 
592
Wed Dec  9 09:53:58 1998  Nick Clifton  
593
 
594
        * reload.c (find_reloads): Display the insn that cannot be
595
        reloaded.
596
 
597
Wed Dec  9 12:15:26 1998  Dave Brolley  
598
 
599
        * cccp.c (create_definition): Fix end of buffer logic.
600
 
601
Wed Dec  9 10:15:45 1998  Kaveh R. Ghazi  
602
 
603
        * except.c (duplicate_eh_handlers, rethrow_symbol_map): Function
604
        pointer parameters changed to use the PARAMS() macro.
605
 
606
Wed Dec  9 09:12:40 1998  Andrew MacLeod  
607
 
608
        * except.h (struct handler_info): Add handler_number field.
609
        * except.c (gen_exception_label): EH labels no longer need to be
610
        on the permanent obstack.
611
        (get_new_handler): Set the label number field.
612
        (output_exception_table_entry): Regenerate handler label reference
613
        from the label number field.
614
        (init_eh): Remove a blank line.
615
        * integrate.c (get_label_from_map): Labels no longer need to be
616
        on the permanent obstack.
617
 
618
Tue Dec  8 22:04:33 1998  Jim Wilson  
619
 
620
        * i960/i960.h (CONST_COSTS, case CONST_INT): Accept power2_operand
621
        only when OUTER_CODE is SET.
622
 
623
Tue Dec  8 22:47:15 1998  J"orn Rennecke  
624
 
625
        * loop.c (strength_reduce): If scan_start points to the loop exit
626
        test, be wary of subversive use of gotos inside expression statements.
627
        Don't set maybe_multiple for a backward jump that does not
628
        include the label under consideration into its range.
629
        * unroll.c (biv_total_increment): Make use of maybe_multiple field.
630
 
631
Tue Dec  8 22:33:18 1998  J"orn Rennecke  
632
 
633
        * explow.c (plus_constant_wide): Don't immediately return with
634
        result of recursive call.
635
 
636
Tue Dec  8 15:32:56 1998  Andrew MacLeod  
637
 
638
        * eh-common.h (struct eh_context): Add table_index for rethrows.
639
 
640
        * rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes.
641
        (SYMBOL_REF_NEED_ADJUST): New flag indicating symbol needs to be
642
        processed when inlined or unrolled (ie duplicated in some way).
643
 
644
        * rtl.c (reg_note_name): Add strings for new reg_note enums.
645
 
646
        * expr.h (rethrow_libfunc): New library decl.
647
 
648
        * optabs.c (rethrow_libfunc): Initialize.
649
 
650
        * except.h (struct eh_entry): Add new field 'rethrow_label'.
651
        (new_eh_region_entry): No longer exported from except.c.
652
        (duplicate_handlers): Renamed to duplicate_eh_handlers and
653
        different prototype.
654
        (rethrow_symbol_map, rethrow_used): New exported functions.
655
        (eh_region_from_symbol): New exported function.
656
 
657
        * except.c (create_rethrow_ref): New function to create a single
658
        SYMBOL_REF for a rethrow region.
659
        (push_eh_entry): Initialize a rethrow ref.
660
        (func_eh_entry): Add a rethrow_label field.
661
        (new_eh_region_entry): Make static, and initialize the rethrow entry.
662
        (duplicate_eh_handlers): Create a new region, and remap labels/symbols.
663
        (eh_region_from_symbol): Find an EH region based on its rethrow symbol.
664
        (rethrow_symbol_map): Given a label map, maps a rethrow symbol for
665
        a region into an appropriate new symbol.
666
        (rethrow_used): Indicate whether a rethrow symbol has been referenced.
667
        (expand_eh_region_end): Don't issue jump around code for new-exceptions.
668
        (end_catch_handler): Emit a barrier for new-exceptions since
669
        control can never drop through the end of a catch block.
670
        (expand_end_all_catch): new-exceptions never fall through a catch
671
        block.
672
        (expand_rethrow): Use __rethrow routine for new exceptions.
673
        (output_exception_table_entry): Generate rethrow labels, if needed.
674
        (output_exception_table): Generate start and end rethrow labels.
675
        (init_eh): Create rethrow symbols for beginning and end of table.
676
        (scan_region): Don't eliminate EH regions which are the targets of
677
        rethrows.
678
 
679
        * flow.c (make_edges): Add different edges for rethrow calls,
680
        identified by having the REG_EH_RETHROW reg label.
681
        (delete_unreachable_blocks): Don't delete regions markers which are
682
        the target of a rethrow.
683
 
684
        * integrate.c (save_for_inline_eh_labelmap): New callback routine to
685
        allow save_for_inline_copying to call duplicate_eh_handlers.
686
        (save_for_inline_copying): Call duplicate_eh_handlers instead of
687
        exposing internal details of exception regions.
688
        (copy_for_inline): Check if SYMBOL_REFs need adjustment.
689
        (expand_inline_function_eh_labelmap): New callback routine to
690
        allow expand_inline_function to call duplicate_eh_handlers.
691
        (expand_inline_function): Call duplicate_eh_handlers instead of
692
        exposing internal details of exception regions.
693
        (copy_rtx_and_substitute): Adjust SYMBOL_REFS if SYMBOL_REF_NEED_ADJUST
694
        flag is set.
695
 
696
        * libgcc2.c (find_exception_handler): Generalize to enable it to
697
        pick up processing where it left off last time for a rethrow.
698
        (__unwinding_cleanup): New function. debug hook which is called before
699
        unwinding when __throw finds there is nothing but cleanups left.
700
        (throw_helper): Common parts of __throw extracted out for reuse.
701
        (__throw): Common parts moved to throw_helper.
702
        (__rethrow): New function for performing rethrows.
703
 
704
Tue Dec  8 13:11:04 1998  Jeffrey A Law  (law@cygnus.com)
705
 
706
        * reload1.c (current_function_decl): Tweak declaration.
707
 
708
Tue Dec  8 10:23:52 1998  Richard Henderson  
709
 
710
        * c-decl.c (flag_isoc9x): Default off.
711
        (c_decode_option): Kill -std=gnu, add -std=gnu89 and -std=gnu9x.
712
        * cccp.c (print_help, main): Likewise.
713
        * gcc.c (default_compilers): Update for -std=gnu*.
714
 
715
Tue Dec  8 01:14:46 1998  Jeffrey A Law  (law@cygnus.com)
716
 
717
        * Makefile.in (DEMANGLE_H): Change location to shared demangle.h.
718
        * demangle.h: Deleted.
719
 
720
        * reload1.c (current_function_decl): Declare.
721
 
722
Tue Dec  8 11:58:51 1998  Kaveh R. Ghazi  
723
 
724
        * cpplib.c (convert_string): Use `0x00ff', not `0x00ffU'.
725
 
726
Tue Dec  8 09:28:36 1998  Kaveh R. Ghazi  
727
 
728
        * dbxout.c: If USG is defined use gstab.h, even if HAVE_STAB_H is set.
729
 
730
1998-12-08  Ulrich Drepper  
731
 
732
        * configure.in: Test for availability of putc_unlocked, fputc_unlocked,
733
        and fputs_unlocked.
734
        * configure: Rebuilt.
735
        * system.h: If the *_unlocked functions are available use them
736
        instead of the locked counterparts by defining macros.
737
        * config.in: Regenerated.
738
 
739
Tue Dec  8 00:34:05 1998  Mike Stump  
740
 
741
        * i386/bsd.h (ASM_FILE_START): Don't use dump_base_name, it is
742
        wrong and should only be used for dump related things, not
743
        debugging information, instead main_input_filename should be used.
744
        Also, reuse output_file_directive if possible.
745
        * i386/aix386ng.h (ASM_FILE_START): Likewise.
746
        * i386/isc.h (ASM_FILE_START): Likewise.
747
        * i386/win-nt.h (ASM_FILE_START): Likewise.
748
        * i386/sun386.h (ASM_FILE_START): Likewise.
749
 
750
Mon Dec  7 23:56:28 1998  Robert Lipe  
751
 
752
        * configure.in (mips*-*-linux*): Handle big and little endian
753
        systems.
754
        * configure: Rebuilt.
755
 
756
Mon Dec  7 23:14:51 1998  Mike Stump  
757
 
758
        * emit-rtl.c: Fix typo.
759
 
760
Mon Dec  7 23:07:38 1998  Nathan Sidwell  
761
 
762
        * reload1.c (eliminate_regs): Don't do anything, if we're not
763
        generating code.
764
 
765
Mon Dec  7 15:27:09 1998  DJ Delorie  
766
 
767
        * mips/mips.h (ENCODE_SECTION_INFO): Handle TARGET_EMBEDDED_DATA.
768
        Add comment.
769
        * mips/mips.c (mips_select_section): Add comment.
770
 
771
Mon Dec  7 17:55:06 1998  Mike Stump  
772
 
773
        * cccp.c (ignore_escape_flag): Add support for \ as `natural'
774
        characters in file names in #line to be consistent with #include
775
        handling.  We support escape processing in the # 1 "..." version of
776
        the command.  See also support in cp/lex.c.
777
        (handle_directive): Likewise.
778
        (do_line): Likewise.
779
 
780
1998-12-07  Zack Weinberg  
781
 
782
        * cpplib.c (initialize_char_syntax): Use ISALPHA and ISALNUM
783
          so it'll work on non-ASCII platforms.  Always consider $ an
784
          identifier character.  Take no arguments.
785
          (cpp_reader_init): Call initialize_char_syntax with no
786
          arguments.
787
          (cpp_start_read): Don't call initialize_char_syntax again.
788
          Clear is_idchar['$'] and is_idstart['$'] if not
789
          opts->dollars_in_ident.
790
 
791
        * cpplib.h (struct cpp_reader): Replace void *data element by
792
          cpp_options *opts.  Rearrange elements to make gdb printout
793
          less annoying (put buffer stack at end).
794
          (CPP_OPTIONS): Get rid of now-unnecessary cast.
795
 
796
        * cppmain.c: s/data/opts/ when initializing cpp_reader
797
          structure.
798
        * c-decl.c: Likewise.
799
        * objc/objc-act.c: Likewise.
800
        * fix-header.c: Likewise.
801
 
802
1998-12-07  Zack Weinberg  
803
 
804
        * cpplib.h (struct cpp_buffer): Replace dir and dlen members
805
        with a struct file_name_list pointer.
806
        (struct cpp_reader): Add pointer to chain of `actual
807
        directory' include searchpath entries.
808
        (struct file_name_list): Add *alloc pointer for the sake of
809
        the actual-directory chain.
810
 
811
        Move definition of HOST_WIDE_INT here.
812
        (cpp_parse_escape): Change prototype to match changes in
813
        cppexp.c.
814
 
815
        * cppfiles.c (actual_directory): New function.
816
        (finclude): Use it to initialize the buffer's actual_dir
817
        entry.
818
        (find_include_file): We don't need to fix up max_include_len
819
        here.
820
 
821
        * cpplib.c (do_include): Don't allocate a file_name_list on
822
        the fly for current directory "" includes, use the one that's
823
        been preallocated in pfile->buffer->actual_dir.  Hoist out
824
        duplicate code from the search_start selection logic.
825
        (cpp_reader_init): Initialize pfile->actual_dirs.
826
 
827
        Remove definition of HOST_WIDE_INT.  Change calls
828
        to cpp_parse_escape to match changes in cppexp.c (note
829
        hardcoded MASK, which is safe since this is the source
830
        character set).
831
 
832
        * cppexp.c: Bring over changes to cpp_parse_escape from cccp.c
833
        to handle wide character constants in #if directives.  The
834
        function now returns a HOST_WIDE_INT, and takes a third
835
        argument which is a binary mask for all legal values (0x00ff
836
        for 8-bit `char', 0xffff for 16-bit `wchar_t', etc.)  Define
837
        MAX_CHAR_TYPE_MASK and MAX_WCHAR_TYPE_MASK.  Change callers of
838
        cpp_parse_escape to match.  [Fixes c-torture/execute/widechar-1.c]
839
 
840
Mon Dec  7 15:38:25 1998  Dave Brolley  
841
 
842
        * gcc.c (default_compilers): Fix typo in USE_CPPLIB spec for cc1.
843
 
844
Mon Dec  7 15:38:25 1998  Kaveh R. Ghazi  
845
 
846
        * c-aux-info.c (concat): Wrap function definition in !USE_CPPLIB.
847
        * cppalloc.c: Move function `xcalloc' from cpplib.c to here.
848
        * cpplib.c: Move function `xcalloc' from here to cppalloc.c.
849
 
850
Mon Dec  7 11:30:49 1998  Nick Clifton  
851
 
852
        * final.c (output_asm_name): Use tabs to separate comments from
853
        assembly text.
854
 
855
        Include instruction lengths (if defined) in output.
856
 
857
Mon Dec  7 10:53:38 1998  Michael Hayes  
858
 
859
        * loop.c (check_dbra_loop): Fix initial_value and initial_equiv_value
860
        in the loop_info structure.
861
 
862
Mon Dec  7 11:04:40 1998  Catherine Moore  
863
 
864
        * configure.in (arm*-*-ecos-elf): New target.
865
        * configure: Regenerated.
866
        * config/arm/elf.h (ASM_WEAKEN_LABEL): Define.
867
        * config/arm/ecos-elf.h: New file.
868
        * config/arm/unknown-elf.h (TARGET_VERSION): Check
869
        for redefinition.
870
 
871
Mon Dec  7 16:15:51 1998  J"orn Rennecke  
872
 
873
        * sh.c (output_far_jump): Emit braf only for TARGET_SH2.
874
 
875
Sun Dec  6 04:19:45 1998  Jeff Law  (law@cygnus.com)
876
 
877
        * version.c: Bump for snapshot.
878
 
879
Sun Dec  6 05:16:16 1998  Michael Hayes  
880
 
881
        * loop.c (check_dbra_loop): New argument loop_info.  Update fields
882
        as needed.
883
 
884
Sun Dec  6 03:40:13 1998  Jeff Law  (law@cygnus.com)
885
 
886
        * version.c: Bump for snapshot.
887
 
888
Sun Dec  6 07:49:29 1998  Alexandre Oliva  
889
 
890
        * gcc.texi (Bug Reporting): 40Kb is a soft limit, larger
891
        compressed reports are ok and preferred over URLs.
892
 
893
Sun Dec  6 07:45:33 1998  Alexandre Oliva  
894
 
895
        * invoke.texi (Warning Options): Soften the tone of -pedantic.
896
 
897
Sun Dec  6 00:20:44 1998  H.J. Lu  (hjl@gnu.org)
898
 
899
        * print-rtl.c (print_rtx): Add prototype.
900
 
901
        * unroll.c (iteration_info): Make it static.
902
 
903
Sun Dec  6 01:19:46 1998  Richard Henderson  
904
 
905
        * alias.c (memrefs_conflict_p): A second ANDed address
906
        disables the aligned address optimization.
907
 
908
Sat Dec  5 18:48:25 1998  Richard Henderson  
909
 
910
        * alpha.c (alpha_emit_set_const_1): Fix parenthesis error
911
        in -c << n case.
912
 
913
Sat Dec  5 15:14:52 1998  Jason Merrill  
914
 
915
        * i960.h (BOOL_TYPE_SIZE): Define.
916
 
917
Sun Dec  6 00:28:16 1998  Michael Hayes  
918
 
919
        * config/c4x/c4x.c (valid_parallel_load_store): Flog functionality
920
        from old valid_parallel_operands_4.
921
        (valid_parallel_operands_4): Check that operands for 4 operand
922
        parallel insns are valid, excluding load/store insns.
923
        * config/c4x/c4x.h (valid_parallel_load_store): Add prototype.
924
        * config/c4x/c4x.md (*movqf_parallel, *movqi_parallel): Use
925
        valid_parallel_load_store instead of valid_parallel_operands_4.
926
        (*absqf2_movqf_clobber, *floatqiqf2_movqf_clobber,
927
        *negqf2_movqf_clobber, *absqi2_movqi_clobber,
928
        *fixqfqi2_movqi_clobber, *negqi2_movqi_clobber,
929
        *notqi_movqi_clobber): Use valid_parallel_operands_4.
930
        (*subqf3_movqf_clobber, *ashlqi3_movqi_clobber,
931
        *ashrqi3_movqi_clobber, *lshrqi3_movqi_clobber,
932
        *subqi3_movqi_clobber): Use valid_parallel_operands_5.
933
 
934
Sat Dec  5 23:52:01 1998  Michael Hayes  
935
 
936
        * config/c4x/c4x.c (iteration_info): Delete extern.
937
 
938
Fri Dec  4 20:15:57 1998  Bernd Schmidt  
939
 
940
        * tm.texi (SMALL_REGISTER_CLASSES): Make description match reality.
941
 
942
        * final.c (cleanup_subreg_operands): Delete some unused code.
943
 
944
        * recog.h (MAX_RECOG_ALTERNATIVES): New macro.
945
        (struct insn_alternative): New structure definition.
946
        (recog_op_alt): Declare variable.
947
        (preprocess_constraints): Declare function.
948
        * recog.c (recog_op_alt): New variable.
949
        (extract_insn): Verify number of alternatives is in range.
950
        (preprocess_constraints): New function.
951
        * reg-stack.c: Include recog.h.
952
        (constrain_asm_operands): Delete.
953
        (get_asm_operand_lengths): Delete.
954
        (get_asm_operand_n_inputs): New function.
955
        (record_asm_reg_life): Delete OPERANDS, CONSTRAINTS, N_INPUTS and
956
        N_OUTPUTS args.  All callers changed.
957
        Compute number of inputs and outputs here by calling
958
        get_asm_operand_n_inputs.
959
        Instead of constrain_asm_operands, call extract_insn,
960
        constrain_operands and preprocess_constraints.  Use information
961
        computed by these functions throughout.
962
        (record_reg_life): Delete code that is unused due to changes in
963
        record_asm_reg_life.
964
        (subst_asm_stack_regs): Delete OPERANDS, OPERAND_LOC, CONSTRAINTS,
965
        N_INPUTS and N_OUTPUTS args.  All callers changed.
966
        Similar changes as in record_asm_reg_life.
967
        (subst_stack_regs): Move n_operands declaration into the if statement
968
        where it's used.
969
        Delete code that is unused due to changes in subst_asm_stack_regs.
970
        * stmt.c (expand_asm_operands): Verify number of alternatives is in
971
        range.
972
        * Makefile.in (reg-stack.o): Depend on recog.h.
973
 
974
Fri Dec  4 02:23:24 1998  Jeffrey A Law  (law@cygnus.com)
975
 
976
        * except.c (set_exception_version_code): Argument is an "int".
977
 
978
Fri Dec  4 01:29:28 1998  Jeffrey A Law  (law@cygnus.com)
979
 
980
        * configure.in (hppa2*-*-*): Handle like hppa1.1-*-* for now.
981
        * configure: Rebuilt.
982
 
983
Fri Dec  4 01:29:28 1998  Robert Lipe  
984
 
985
        * configure.in (mipsel-*-linux*): New target.
986
        * mips/linux.h: New file, based on other Linux targets.
987
 
988
Thu Dec  3 11:19:50 1998  Mike Stump  
989
 
990
        * gthr-vxworks.h (__ehdtor): Fix memory leak.  The delete hook
991
        runs in the context of the deleter, not the deletee, so we must
992
        use taskVarGet to find the correct memory to free.
993
        (__gthread_key_create): Initialize the task
994
        variable subsystem so that the task variable is still active when
995
        the delete hook is run.
996
 
997
1998-12-03  Joseph S. Myers  
998
 
999
        * pdp11.h: Use optimize_size for space optimizations.
1000
        * pdp11.c: Likewise.
1001
        * pdp11.md: Likewise.
1002
 
1003
        * pdp11.h (TARGET_40_PLUS): Fix typo.
1004
 
1005
Thu Dec  3 11:48:32 1998  Jeffrey A Law  (law@cygnus.com)
1006
 
1007
        * local-alloc.c (block_alloc): Slightly retune heuristic to widen
1008
        qty lifetimes.
1009
 
1010
Thu Dec  3 22:30:18 1998  Michael Hayes  
1011
 
1012
        * alias.c (addr_side_effect_eval): New function.
1013
        (memrefs_conflict_p): Use it.
1014
        * rtl.h (addr_side_effect_eval): Prototype it.
1015
 
1016
1998-12-02  Joseph S. Myers  
1017
 
1018
        * pdp11.md (extendsfdf2): Fix mode mismatch in SET.
1019
 
1020
Wed Dec  2 11:23:07 1998  Jim Wilson  
1021
 
1022
        * reload.c (find_reloads): When force const to memory, put result
1023
        in substed_operand not *recog_operand_loc.
1024
 
1025
1998-12-02  Ulrich Drepper  
1026
 
1027
        * c-lex.c: Fix indentation from last patch.
1028
        Remove trailing whitespace.
1029
        * real.c: Likewise.
1030
 
1031
Wed Dec  2 10:11:12 1998  Jeffrey A Law  (law@cygnus.com)
1032
 
1033
        * flow.c (delete_block): Call set_last_insn after we have reset
1034
        NEXT_INSN (kept_tail).
1035
 
1036
Wed Dec  2 00:47:31 1998  Jeffrey A Law  (law@cygnus.com)
1037
 
1038
        * mips.md (trap_if): Use "$0" for the value zero.
1039
 
1040
Tue Dec  1 20:49:49 1998  Ulrich Drepper  
1041
                          Stephen L Moshier  
1042
                          Richard Henderson  
1043
 
1044
        * c-common.c (declare_function_name): Declare predefined variable
1045
        `__func__'.
1046
 
1047
        * c-decl.c (flag_isoc9x): Set to 1 by default.
1048
        (c_decode_option): Handle -std= option.  Remove -flang-isoc9x.
1049
        (grokdeclarator): Always emit warning about implicit int for ISO C 9x.
1050
 
1051
        * c-parse.in: Allow constructors in ISO C 9x.
1052
        Rewrite designator list handling.
1053
        Allow [*] parameters.
1054
        Don't warn about comma at end of enum definition for ISO C 9x.
1055
 
1056
        * cccp.c (c9x): New variable.
1057
        (rest_extension): New variable.
1058
        (print_help): Document new -std= option.
1059
        (main): Recognize -std= option.  Set c9x appropriately.
1060
        (create_definition): Recognize ISO C 9x vararg macros.
1061
 
1062
        * gcc.c (default_compilers): Adjust specs for -std options.
1063
        (option_map): Add --std.
1064
        (display_help): Document -std.
1065
 
1066
        * toplev.c (documented_lang_options): Add -std and remove
1067
        -flang-isoc9x.
1068
 
1069
        * c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF
1070
        or REAL_VALUE_HTOF based on base of the constants.
1071
        * fold-const.c (real_hex_to_f): New function.  Replacement function
1072
        for hex FP conversion if REAL_ARITHMETIC is not defined.
1073
        * real.c (asctoeg): Add handling of hex FP constants.
1074
        * real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or
1075
        real_hex_to_f.
1076
 
1077
Tue Dec  1 16:45:49 1998  Stan Cox  
1078
 
1079
        * mips.md (divmodsi4*, divmoddi4*, udivmodsi4*, udivmoddi4): Add
1080
        -mcheck-range-division/-mcheck-zero-division checking.  Avoid as macro
1081
        expansion.  Use hi/lo as destination register.
1082
        (div_trap): New.
1083
        (divsi3*, divdi3*, modsi3*, moddi3*, udivsi3*, udivdi3*, umodsi3*,
1084
        umoddi3*): Add -mcheck-range-division/-mcheck-zero-division checking.
1085
        Avoid as macro expansion.  Use hi/lo as destination register.
1086
 
1087
        * mips.h (MASK_CHECK_RANGE_DIV): New.
1088
        (MASK_NO_CHECK_ZERO_DIV): New.
1089
        (ELIMINABLE_REGS): Added GP_REG_FIRST + 31.
1090
        (CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): Allow for getting
1091
        return address for leaf functions out of r31 to support
1092
        builtin_return_address.
1093
 
1094
Tue Dec  1 15:03:30 1998  Herman A.J. ten Brugge  
1095
 
1096
        * jump.c (jump_optimize): Call regs_set_between_p with PREV_INSN(x),
1097
        NEXT_INSN(x) to check insn x.
1098
 
1099
Tue Dec  1 15:20:44 1998  Jeffrey A Law  (law@cygnus.com)
1100
 
1101
        * flow.c (delete_block): Call set_last_insn if we end up deleting the
1102
        last insn in the rtl chain.
1103
 
1104
        * reload1.c (reload): Do not set reload_completed or split insns
1105
        here.  Instead...
1106
        * toplev.c (rest_of_compilation): Set reload_completed after
1107
        reload returns.  Split insns after reload_cse has run.
1108
 
1109
Tue Dec  1 11:55:04 1998  Richard Henderson  
1110
 
1111
        * final.c (final_scan_insn): Abort if block_depth falls below 0.
1112
 
1113
Tue Dec  1 10:23:16 1998  Nick Clifton  
1114
 
1115
        * config/arm/t-arm-elf (LIBGCC2_CFLAGS): Define inhibit_libc.
1116
 
1117
Tue Dec  1 10:22:18 1998  Nick Clifton  
1118
 
1119
        * config/arm/unknown-elf.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove
1120
        use of user-label_prefix.
1121
 
1122
Tue Dec  1 17:58:26 1998  J"orn Rennecke  
1123
 
1124
        * reload1.c (emit_reload_insns): Clear spill_reg_store
1125
        when doing a new non-inherited reload from the same pseudo.
1126
 
1127
        * local-alloc.c (function_invariant_p): New function.
1128
        (update_equiv_regs): Use function_invariant_p instead of CONSTANT_P
1129
        to decide if an equivalence should be recorded.
1130
        * reload1.c (num_eliminable_invariants): New static variable.
1131
        (reload): Set it.  Use function_invariant_p instead of CONSTANT_P
1132
        to decide if an equivalence should be recorded.
1133
        Unshare PLUS.
1134
        (calculate_needs_all_insns): Skip insns that only set an equivalence.
1135
        Take num_eliminable_invariants into account when deciding
1136
        if register elimination should be done.
1137
        (reload_as_needed): Take num_eliminable_invariants into account
1138
        when deciding if register elimination should be done.
1139
        (eliminate_regs): Handle non-constant reg_equiv_constant.
1140
        * rtl.h (function_invariant_p): Declare.
1141
 
1142
Mon Nov 30 02:00:08 1998  Jeff Law  (law@cygnus.com)
1143
 
1144
        * version.c: Bump for snapshot.
1145
 
1146
Mon Nov 30 00:42:59 1998  Jeff Law  (law@cygnus.com)
1147
 
1148
        * version.c: Bump for snapshot.
1149
 
1150
Sun Nov 29 22:59:40 1998  Jason Merrill  
1151
 
1152
        * except.c (add_new_handler): Complain about additional handlers
1153
        after one that catches everything.
1154
 
1155
Sat Nov 28 10:56:32 1998  Jeffrey A Law  (law@cygnus.com)
1156
 
1157
        * configure.in (alpha*-*-netbsd): Fix typo.
1158
        * configure: Rebuilt.
1159
 
1160
Fri Nov 27 12:28:56 1998  Kaveh R. Ghazi  
1161
 
1162
        * system.h: Include libiberty.h.
1163
 
1164
        * c-aux-info.c: Remove prototypes for concat/concat3.  Change
1165
        function `concat' from fixed parameters to variable parameters,
1166
        as is done in libiberty.  All callers of concat/concat3
1167
        changed to use the new `concat' with variable args.
1168
 
1169
        * cccp.c: Remove things made redundant by libiberty.h and/or
1170
        conform to libiberty standards.
1171
        * cexp.y: Likewise.
1172
        * collect2.c: Likewise.
1173
        * config/1750a/1750a.h: Likewise.
1174
        * cppalloc.c: Likewise.
1175
        * cppexp.c: Likewise.
1176
        * cppfiles.c: Likewise.
1177
        * cpphash.c: Likewise.
1178
        * cpplib.c: Likewise.
1179
        * dyn-string.c: Likewise.
1180
        * fix-header.c: Likewise.
1181
        * gcc.c: Likewise.
1182
        * gcov.c: Likewise.
1183
        * genattr.c: Likewise.
1184
        * genattrtab.c: Likewise.
1185
        * gencheck.c: Likewise.
1186
        * gencodes.c: Likewise.
1187
        * genconfig.c: Likewise.
1188
        * genemit.c: Likewise.
1189
        * genextract.c: Likewise.
1190
        * genflags.c: Likewise.
1191
        * gengenrtl.c: Likewise.
1192
        * genopinit.c: Likewise.
1193
        * genoutput.c: Likewise.
1194
        * genpeep.c: Likewise.
1195
        * genrecog.c: Likewise.
1196
        * getpwd.c: Likewise.
1197
        * halfpic.c: Likewise.
1198
        * hash.c: Likewise.
1199
        * mips-tdump.c: Likewise.  Wrap malloc/realloc/calloc prototypes
1200
        in NEED_DECLARATION_* macros.
1201
 
1202
        * mips-tfile.c: Remove things made redundant by libiberty.h and/or
1203
        conform to libiberty standards.
1204
        (fatal): Fix const-ification of variable `format' in
1205
        !ANSI_PROTOTYPES case.
1206
 
1207
        * prefix.c: Remove things made redundant by libiberty.h and/or
1208
        conform to libiberty standards.
1209
 
1210
        * print-rtl.c: Rename variable `spaces' to `xspaces' to avoid
1211
        conflicting with function `spaces' from libiberty.
1212
 
1213
        * profile.c: Remove things made redundant by libiberty.h and/or
1214
        conform to libiberty standards.
1215
        * protoize.c: Likewise.
1216
        * rtl.h: Likewise.
1217
        * scan.h: Likewise.
1218
        * tlink.c: Likewise.
1219
        * toplev.c: Likewise.
1220
        * toplev.h: Likewise.
1221
        * tree.h: Likewise.
1222
 
1223
Thu Nov 26 08:38:06 1998  Kaveh R. Ghazi  
1224
 
1225
        * cppfiles.c (simplify_pathname): Un-ANSI-fy function definition.
1226
 
1227
Thu Nov 26 23:45:37 1998  Michael Hayes  
1228
 
1229
        * README.C4X: Updated URLs.
1230
        * config/c4x/c4x.c (c4x_address_conflict): Fix typo.
1231
        (valid_parallel_operands_5): Remove unused variable.
1232
 
1233
Thu Nov 26 23:40:03 1998  Michael Hayes  
1234
 
1235
        * config/c4x/c4x.h (TARGET_DEFAULT): Fix typo.
1236
 
1237
1998-11-26  Manfred Hollstein  
1238
 
1239
        * Makefile.in (CONFIG_LANGUAGES): New macro taking all languages
1240
        which can be configured.
1241
        (LANGUAGES): Use $(CONFIG_LANGUAGES) instead of @all_languages@
1242
        (Makefile): Pass actual LANGUAGES through the environment when
1243
        re-configuring.
1244
        (cstamp-h): Likewise.
1245
        (config.status): Likewise.
1246
 
1247
        * configure.in (enable_languages): Add new configuration parameter
1248
        "--enable-languages=lang1,lang2,...".
1249
        (${srcdir}/*/config-lang.in): Change handling to configure only
1250
        those directories, that the user might have enabled; default to
1251
        "all" existing languages.
1252
        * configure: Regenerate.
1253
 
1254
Thu Nov 26 00:19:19 1998  Richard Henderson  
1255
 
1256
        * rtlanal.c (regs_set_between_p): New function.
1257
        * rtl.h (regs_set_between_p): Prototype it.
1258
        * jump.c (jump_optimize): Use it instead of modified_between_p
1259
        in the Sep 2 change.
1260
 
1261
Wed Nov 25 23:32:02 1998  Ian Dall  
1262
                          Matthias Pfaller  
1263
 
1264
        * invoke.texi (Option Summary, NS32K Options): Add description
1265
        of NS32K specific options.
1266
 
1267
        * ns32k.md (tstdf, cmpdf, movdf, truncdfsf2, fixdfqi2, fixdfhi2,
1268
        fixdfsi2, fixunsdfqi2, fixunsdfhi2, fixunsdfsi2, fix_truncdfqi2,
1269
        fix_truncdfhi2, fix_truncdfsi2, adddf3, subdf3, muldf3, divdf3,
1270
        negdf2, absdf2): Use l instead of f since the double class and
1271
        float class are no longer the same.
1272
        (cmpsi, truncsiqi2, truncsihi2, addsi3, subsi3, mulsi3, umulsidi3,
1273
        divsi3, modsi3, andsi3, iorsi3, xorsi3, negsi2, one_cmplsi2,
1274
        ashlsi3, ashlhi3, ashlqi3, rotlsi3, rotlhi3, rotlqi3, abssi2,...):
1275
        Use "g" instead of "rmn" since LEGITIMATE_PIC_OPERAND has been
1276
        fixed.
1277
        (cmpsi, cmphi, cmpqi): Use general_operand instead of
1278
        non_immediate_operand. Removes erroneous assumption that can't
1279
        compare constants.
1280
        (movsf, movsi, movhi, movqi,...): New register numbering scheme.
1281
        (movsi, addsi3): Use NS32K_DISPLACEMENT_P instead of hard coded
1282
        constants.
1283
        (movstrsi, movstrsi1, movstrsi2): Completely new block move
1284
        scheme.
1285
        (...): Patterns to exploit multiply-add instructions.
1286
        (udivmodsi4, udivmodsi_internal4, udivmodhi4,
1287
        udivmoddihi4_internal, udivmodqi4, udivmoddiqi4_internal): New
1288
        patterns to exploit extended divide insns.
1289
        (udivsi3, udivhi3, udivqi3): Remove since superseded by udivmodsi
1290
        etc patterns.
1291
 
1292
        * ns32k.h (FUNCTION_VALUE, LIBCALL_VALUE): Use f0 for complex
1293
        float return values as well as simple scalar floats.
1294
        (TARGET_32381, TARGET_MULT_ADD, TARGET_SWITCHES):
1295
        Support new flag to denote 32381 fpu.
1296
        (OVERRIDE_OPTIONS): 32381 is a strict superset of 32081.
1297
        (CONDITIONAL_REGISTER_USAGE): Disable extra 32381 registers if not
1298
        compiling for 32381.
1299
        (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
1300
        REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES, OUTPUT_REGISTER_NAMES,
1301
        REG_ALLOC_ORDER, DBX_REGISTER_NUMBER, R0_REGNUM, F0_REGNUM,
1302
        L1_REGNUM, STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
1303
        LONG_FP_REGS_P, ARG_POINTER_REGNUM, reg_class, REG_CLASS_NAMES,
1304
        REG_CLASS_CONTENTS, SUBSET_P,REGNO_REG_CLASS,
1305
        REG_CLASS_FROM_LETTER, FUNCTION_PROLOGUE, FUNCTION_EPILOGUE,
1306
        REGNO_OK_FOR_INDEX_P, FP_REG_P, REG_OK_FOR_INDEX_P,
1307
        REG_OK_FOR_BASE_P, MEM_REG): New register scheme to include 32381
1308
        fpu registers and special register classes for new 32381
1309
        instructions dotf and polyf.
1310
        (MODES_TIEABLE_P): Allow all integer modes, notably DI and SI, to
1311
        be tieable.
1312
        (INCOMING_RETURN_ADDR_RTX, RETURN_ADDR_RTX,
1313
        INCOMING_FRAME_SP_OFFSET): New macros in case DWARF support is
1314
        required.
1315
        (SMALL_REGISTER_CLASSES): Make dependent on -mmult-add option.
1316
        (MOVE_RATIO): Set to zero because of smart movstrsi implementation.
1317
        (REGISTER_MOVE_COST): Move code to register_move_cost function for
1318
        ease of coding and debugging.
1319
        (CLASS_LIKELY_SPILLED_P): Under new register scheme class
1320
        LONG_FLOAT_REGO is likely spilled but not caught by default
1321
        definition.
1322
        (CONSTANT_ADDRESS_P, CONSTANT_ADDRESS_NO_LABEL_P): Use macro
1323
        instead of hard coded numbers in range check.
1324
        (ASM_OUTPUT_LABELREF_AS_INT): Delete since unused.
1325
        (...): Add prototypes for functions in ns32k.c but disable because
1326
        of problems when ns32k.h is included in machine independent files.
1327
 
1328
        * ns32k.c: Include "system.h", "tree.h", "expr.h", "flags.h".
1329
        (ns32k_reg_class_contents, regcass_map, ns32k_out_reg_names,
1330
        hard_regno_mode_ok, secondary_reload_class,
1331
        print_operand, print_operand_address): New register scheme to
1332
        include 32381 fpu registers and special register classes for new
1333
        32381 instructions dotf and polyf.
1334
        (gen_indexed_expr): Make static to keep namespace clean.
1335
        (check_reg): Remove since never called.
1336
        (move_tail, expand_block_move): Helper functions for "movstrsi"
1337
        block move insn.
1338
        (register_move_cost): Helper function for REGISTER_MOVE_COST macro.
1339
        Increase cost of moves which go via memory.
1340
        * netbsd.h (TARGET_DEFAULT): Set (new) 32381 fpu flag.
1341
        (CPP_PREDEFINES): No longer predefine "unix".
1342
 
1343
        * ns32k.md (movsi, movsi, adddi3, subdi3, subsi3, subhi3, subqi3,...):
1344
        Remove erroneous %$. print_operand() can work out from the rtx is
1345
        an immediate prefix is required.
1346
 
1347
        * ns32k.h (RETURN_POPS_ARGS, VALID_MACHINE_DECL_ATTRIBUTE,
1348
        VALID_MACHINE_TYPE_ATTRIBUTE, COMP_TYPE_ATTRIBUTES,
1349
        SET_DEFAULT_TYPE_ATTRIBUTES): Support for -mrtd calling
1350
        convention.
1351
        (LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST): Correct handling of
1352
        pic operands.
1353
 
1354
        * ns32k.c (symbolic_reference_mentioned_p, print_operand):
1355
        Correct handling of pic operands.
1356
        (ns32k_valid_decl_attribute_p, ns32k_valid_type_attribute_p,
1357
        ns32k_comp_type_attributes, ns32k_return_pops_args): Support for
1358
        -mrtd calling convention.
1359
 
1360
Wed Nov 25 23:42:20 1998  Tom Tromey  
1361
 
1362
        * gcc.c (option_map): Recognize --output-class-directory.
1363
 
1364
Thu Nov 26 18:26:21 1998  Michael Hayes  
1365
 
1366
        * loop.h (precondition_loop_p): Added new mode argument.
1367
        * unroll.c (precondition_loop_p): Likewise.
1368
        (approx_final_value): Function deleted and subsumed
1369
        into loop_iterations.
1370
        (loop_find_equiv_value): New function.
1371
        (loop_iterations): Use loop_find_equiv_value to find increments
1372
        too large to be immediate constants.  Also use it to find terms
1373
        common to initial and final iteration values that can be removed.
1374
 
1375
Thu Nov 26 18:05:04 1998  Michael Hayes  
1376
 
1377
        * loop.h (struct loop_info): Define new structure.
1378
        (precondition_loop_p): Added prototype.
1379
        (unroll_loop): Added new argument loop_info to prototype.
1380
        (final_biv_value, final_giv_value): Added new argument n_iterations
1381
        to prototype.
1382
        * loop.c (strength_reduce): Declare new structure loop_iteration_info
1383
        and new pointer loop_info.
1384
        (loop_n_iterations): Replace global variable by element in
1385
        loop_info structure.
1386
        (check_final_value): New argument n_iterations.
1387
        (insert_bct): New argument loop_info.
1388
        (loop_unroll_factor): Replace global array by element in
1389
        loop_info structure.
1390
        (loop_optimize): Remove code to allocate and initialize
1391
        loop_unroll_factor_array.
1392
        * unroll.c (precondition_loop_p): No longer static since
1393
        used by branch on count optimization.
1394
        (precondition_loop_p, unroll_loop): New argument loop_info.
1395
        (final_biv_value, final_giv_value, find_splittable_regs): New
1396
        argument n_iterations.
1397
        (loop_iteration_var, loop_initial_value, loop_increment,
1398
        loop_final_value, loop_comparison_code, loop_unroll_factor):
1399
        Replaced global variables by loop_info structure.
1400
        (loop_unroll_factor): Replace global array by element in
1401
        loop_info structure.
1402
 
1403
Thu Nov 26 17:49:29 1998  Michael Hayes  
1404
 
1405
        * loop.c (check_dbra_loop): Update JUMP_LABEL field of jump insn
1406
        when loop reversed.
1407
 
1408
        * unroll.c (precondition_loop_p): Return loop_initial_value
1409
        for initial_value instead of loop_iteration_var.
1410
 
1411
Thu Nov 26 17:15:38 1998  Michael Hayes  
1412
 
1413
        * config/c4x/c4x.md: Fix minor formatting problems.  Update docs.
1414
        (*b, *b_rev, *b_noov, *b_noov_rev, *db,
1415
        decrement_and_branch_until_zero, rptb_end): Use c4x_output_cbranch
1416
        to output the instruction sequences.
1417
        (rpts): Delete.
1418
        (rptb_top): Provide alternatives to use any register or memory
1419
        for loop counter.
1420
        (rptb_end): Emit use of operands rather than assigning them
1421
        explicitly to the RS and RE registers.
1422
 
1423
Thu Nov 26 16:37:59 1998  Michael Hayes  
1424
 
1425
        * config/c4x/c4x.c (c4x_modified_between_p, c4x_mem_set_p,
1426
        c4x_mem_set_p, c4x_mem_modified_between_p, c4x_insn_moveable_p,
1427
        c4x_parallel_pack, c4x_parallel_find, c4x_update_info_reg,
1428
        c4x_update_info_regs, c4x_copy_insn_after, c4x_copy_insns_after,
1429
        c4x_merge_notes, c4x_parallel_process,
1430
        c4x_combine_parallel_independent, c4x_combine_parallel_dependent,
1431
        c4x_combine_parallel): Delete.
1432
 
1433
Thu Nov 26 15:16:05 1998  Michael Hayes  
1434
 
1435
        * config/c4x/c4x.c (c4x_override_options): For compatibility
1436
        with old target options clear flag_branch_on_count_reg if
1437
        -mno-rptb specified and set flag_argument_alias is -mno-aliases
1438
        specified.
1439
        (c4x_output_cbranch): Handle a sequence of insns rather than a
1440
        single insn.
1441
        (c4x_rptb_insert): Do not emit a RPTB insn if the RC register
1442
        has not been allocated as the loop counter.
1443
        (c4x_address_conflict): Do not allow two volatile memory references.
1444
        (valid_parallel_operands_4, valid_parallel_operands_5,
1445
        valid_parallel_operands_6): Reject pattern if the register destination
1446
        of the first set is used as part of an address in the second set.
1447
 
1448
Thu Nov 26 14:56:32 1998  Michael Hayes  
1449
 
1450
        * config/c4x/c4x.h (TARGET_DEFAULT): Add PARALEL_MPY_FLAG.
1451
        (TARGET_SMALL_REG_CLASS): Set to 0 so that SMALL_REGISTER_CLASSES
1452
        is no longer enabled if PARALLEL_MPY_FLAG set.
1453
        (HARD_REGNO_CALL_CLOBBERED): Add parentheses to remove ambiguity.
1454
        (REG_CLASS_CONTENTS): Add braces around initializers.
1455
        (HAVE_MULTIPLE_PACK): Define.
1456
        (ASM_OUTPUT_BYTE_FLOAT): Use %lf format specifier with
1457
        REAL_VALUE_TO_DECIMAL.
1458
        (ASM_OUTPUT_SHORT_FLOAT): Use %lf format specifier with
1459
        REAL_VALUE_TO_DECIMAL.
1460
        (ar0_reg_operand): Add prototype.
1461
        (ar0_mem_operand): Likewise.
1462
        (ar1_reg_operand): Likewise.
1463
        (ar1_mem_operand): Likewise.
1464
        (ar2_reg_operand): Likewise.
1465
        (ar2_mem_operand): Likewise.
1466
        (ar3_reg_operand): Likewise.
1467
        (ar3_mem_operand): Likewise.
1468
        (ar4_reg_operand): Likewise.
1469
        (ar4_mem_operand): Likewise.
1470
        (ar5_reg_operand): Likewise.
1471
        (ar5_mem_operand): Likewise.
1472
        (ar6_reg_operand): Likewise.
1473
        (ar6_mem_operand): Likewise.
1474
        (ar7_reg_operand): Likewise.
1475
        (ar7_mem_operand): Likewise.
1476
        (ir0_reg_operand): Likewise.
1477
        (ir0_mem_operand): Likewise.
1478
        (ir1_reg_operand): Likewise.
1479
        (ir1_mem_operand): Likewise.
1480
        (group1_reg_operand): Likewise.
1481
        (group1_mem_operand): Likewise.
1482
        (ir1_reg_operand): Likewise.
1483
        (arx_reg_operand): Likewise.
1484
        (not_rc_reg): Likewise.
1485
        (not_modify_reg): Likewise.
1486
        (c4x_group1_reg_operand): Remove prototype.
1487
        (c4x_group1_mem_operand): Likewise.
1488
        (c4x_arx_reg_operand): Likewise.
1489
 
1490
Wed Nov 25 19:02:55 1998  (Stephen L Moshier)  
1491
 
1492
        * emit-rtl.c (gen_lowpart_common): Remove earlier change.
1493
        * real.c (make_nan): Make SIGN arg actually specify the sign bit.
1494
 
1495
Thu Nov 26 14:12:05 1998  Michael Hayes  
1496
 
1497
        * config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
1498
        during reload.
1499
 
1500
Wed Nov 25 22:05:28 1998  J"orn Rennecke  
1501
 
1502
        * config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1
1503
        unless FMOVD_WORKS is defined.
1504
 
1505
Wed Nov 25 20:11:04 1998  J"orn Rennecke  
1506
 
1507
        * regclass.c (init_reg_sets): Move code that calculates tables
1508
        dependent on reg_class_contents from here...
1509
        (init_reg_sets_1): To here.
1510
 
1511
Wed Nov 25 14:54:46 1998  Zack Weinberg  
1512
 
1513
        * cpplib.h: Delete struct import_file.  Add ihash element to
1514
        struct cpp_buffer.  Delete dont_repeat_files and
1515
        import_hash_table elements from cpp_reader; change
1516
        all_include_files to a hash table.  Delete all foobar_include
1517
        / last_foobar_include elements from struct cpp_options; put
1518
        back four such: quote_include, bracket_include,
1519
        system_include, after_include.  Redo struct file_name_list
1520
        completely.  Add new structure type include_hash.  Add
1521
        prototypes for merge_include_chains and include_hash.  Change
1522
        prototypes for finclude, find_include_file, and
1523
        append_include_chain to match changes below.
1524
 
1525
        * cppfiles.c (simplify_pathname, include_hash,
1526
        remap_filename, merge_include_chains): New functions.
1527
        (add_import, lookup_import, open_include_file): Removed.
1528
        (INO_T_EQ): Define this (copied from cccp.c).
1529
        (hack_vms_include_specification): Remove all calls and #if 0
1530
        out the definition.  It was being called incorrectly and at
1531
        the wrong times.  Until a VMSie can look at this, it's better
1532
        to not pretend to support it.
1533
        (append_include_chain): Change calling convention; now takes
1534
        only one directory at a time, and sets up the data structure
1535
        itself.
1536
        (redundant_include_p): Rewritten - this is now used for all
1537
        include redundancy, whether by #ifndef, #import, or #pragma
1538
        once.  Looks up things in the include hash table.
1539
        (file_cleanup): Decrement pfile->system_include_depth here if
1540
        it's >0.
1541
        (find_include_file): Calling convention changed; now passes
1542
        around a struct include_hash instead of 3 separate parameters.
1543
        Guts ripped out and replaced with new include_hash mechanism.
1544
        (finclude): Calling convention changed as for
1545
        find_include_file.  Error exits pulled out-of-line.  Reformat.
1546
        (safe_read): Return a long, not an int.
1547
        (deps_output): Don't recurse.
1548
 
1549
        * cpplib.c (is_system_include): Deleted.
1550
        (path_include): Fix up call to append_include_chain.
1551
        (do_include): Fix up calls to find_include_file and finclude.
1552
        Clean up dependency output a bit.  Shorten obnoxiously lengthy
1553
        #import warning message.  Don't decrement
1554
        pfile->system_include_depth here.
1555
        (do_pragma): Understand the include_hash structure.  Reformat.
1556
        (do_endif): Correct handling of control macros.  Understand
1557
        the include_hash.
1558
        (cpp_start_read): Fix up calls to finclude.  Call
1559
        merge_include_chains.
1560
        (cpp_handle_option): Fix up calls to append_include_chain.
1561
        Understand the four partial include chains.
1562
        (cpp_finish): Add debugging code (#if 0-ed out) for the
1563
        include_hash.
1564
        (cpp_cleanup): Free the include_hash, not the import hash and
1565
        the all_include and dont_repeat lists which no longer exist.
1566
 
1567
Wed Nov 25 11:26:19 1998  Jeffrey A Law  (law@cygnus.com)
1568
 
1569
        * toplev.c (no_new_pseudos): Define.
1570
        (rest_of_compilation): Set no_new_pseudos as needed.
1571
        * emit-rtl.c (gen_reg_rtx): Abort if we try to create a new pseudo
1572
        if no_new_pseudos is set.
1573
        * rtl.h (no_new_pseudos): Declare it.
1574
        * reload1.c (reload): Update comments.
1575
        * md.texi: Corresponding changes.
1576
 
1577
Wed Nov 25 11:26:17 1998  Bernd Schmidt  
1578
 
1579
        * reload1.c (reg_used_in_insn): Renamed from reg_used_by_pseudo.
1580
        (choose_reload_regs): Rename it here as well.  When computing it,
1581
        also merge in used hardregs.
1582
 
1583
1998-11-25  Zack Weinberg  
1584
 
1585
        * gcc.c: Split out Objective-C specs to...
1586
        * objc/lang-specs.h: here. (New file.) Make the specs cpplib
1587
        aware.
1588
 
1589
        * c-lex.c (init_parse): Always initialize the filename global.
1590
        * objc/objc-act.c (lang_init): Always call check_newline at
1591
        beginning of file.
1592
 
1593
Wed Nov 25 00:48:29 1998  Graham  
1594
 
1595
        * reload1.c (reload): Remove unused variable.
1596
        (reload_reg_free_for_value_p): Add missing parameter definition.
1597
 
1598
        * jump.c (jump_optimize): Remove unused variable.
1599
 
1600
Wed Nov 25 00:07:11 1998  Jeffrey A Law  (law@cygnus.com)
1601
 
1602
        * Makefile.in (graph.o): Depend on $(RTL_H), not rtl.h.
1603
 
1604
        * cse.c (fold_rtx): Make autoincrement addressing mode tests be
1605
        runtime selectable.
1606
        * expr.c (move_by_pieces): Similarly.
1607
        (move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly.
1608
        * flow.c (find_auto_inc): Similarly.
1609
        (try_pre_increment): Similarly.
1610
        * loop.c (strength_reduce): Similarly.
1611
        * regclass.c (auto_inc_dec_reg_p): Similarly.
1612
        * regmove.c (try_auto_increment): Similarly.
1613
        (fixup_match_1): Similarly.
1614
        * rtl.h (HAVE_PRE_INCREMENT): Define if not already defined.
1615
        (HAVE_PRE_DECREMENT): Similarly.
1616
        (HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly.
1617
        * Corresponding changes to all target header files.
1618
        * tm.texi: Update docs for autoinc addressing modes.
1619
 
1620
Tue Nov 24 20:24:59 1998  Jim Wilson  
1621
 
1622
        * configure.in (m68020-*-elf*, m68k-*-elf*): New targets.
1623
        * configure: Rebuild.
1624
        * config/elfos.h: New file.
1625
        * config/m68k/m68020-elf.h, config/m68k/m68kelf.h,
1626
        config/m68k/t-m68kelf: New file.
1627
 
1628
Tue Nov 24 13:40:06 1998  Jeffrey A Law  (law@cygnus.com)
1629
 
1630
        * Makefile.in (HOST_AR): Define.
1631
        (HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Similarly.
1632
        (libcpp.a): Use the host tools explicitly.
1633
        (STAGESTUFF): Add libcpp.a.
1634
 
1635
Tue Nov 24 09:33:49 1998  Nick Clifton  
1636
 
1637
        * config/m32r/m32r.md (movstrsi_internal): Describe changes made
1638
        to source and destination registers.
1639
 
1640
Mon Nov 23 20:28:02 1998  Mike Stump  
1641
 
1642
        * libgcc2.c (top_elt): Remove top_elt, it isn't thread safe.
1643
        The strategy we now use is to pre allocate the top_elt along
1644
        with the EH context so that each thread has its own top_elt.
1645
        This is necessary as the dynamic cleanup chain is used on the
1646
        top element of the stack and each thread MUST have its own.
1647
        (eh_context_static): Likewise.
1648
        (new_eh_context): Likewise.
1649
        (__sjthrow): Likewise.
1650
 
1651
Mon Nov 23 20:25:03 1998  Jason Merrill  
1652
 
1653
        * i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Wrap in do...while.
1654
        * i386.md (prologue_get_pc): Remove unused variable.
1655
 
1656
Mon Nov 23 17:05:40 1998  Geoffrey Noer  
1657
 
1658
        * i386/xm-cygwin.h: Rename cygwin_ path funcs back to cygwin32_.
1659
 
1660
Mon Nov 23 16:40:00 1998  Ulrich Drepper  
1661
 
1662
        * Makefile.in (OBJS): Add graph.o.
1663
        (graph.o): New dependency list.
1664
        * flags.h: Declare dump_for_graph and define graph_dump_types type.
1665
        * print-rtl.c (dump_for_graph): Define new variable.
1666
        (print_rtx): Rewrite to allow use in graph dumping functions.
1667
        * toplev.c: Declare print_rtl_graph_with_bb, clean_graph_dump_file,
1668
        finish_graph_dump_file.
1669
        Define graph_dump_format.
1670
        (compile_file): If graph dumping is enabled also clear these files.
1671
        Finish graph dump files.
1672
        (rest_of_compilation): Also dump graph information if enabled.
1673
        (main): Recognize -dv to enabled VCG based graph dumping.
1674
        * graph.c: New file.  Graph dumping functions.
1675
 
1676
Mon Nov 23 16:39:04 1998  Richard Henderson  
1677
 
1678
        * configure.in: Look for .
1679
        * system.h: Include it before substitute S_ISREG definitions.
1680
 
1681
Mon Nov 23 17:40:37 1998  Gavin Romig-Koch  
1682
 
1683
        * config/mips/abi.h: Use ABI_O64, duplicating ABI_32 usage.
1684
        * config/mips/iris6.h: Same.
1685
        * config/mips/mips.md: Same.
1686
        * config/mips/mips.c: Same; also add "-mabi=o64" option.
1687
        * config/mips/mips.h: Same; also define ABI_O64.
1688
 
1689
Mon Nov 23 17:02:27 1998  Kaveh R. Ghazi  
1690
 
1691
        *  configure.in: Use AC_PREREQ(2.12.1).
1692
 
1693
Mon Nov 23 10:16:38 1998  Melissa O'Neill  
1694
 
1695
        * cccp.c (S_ISREG, S_ISDIR): Delete defines.
1696
        * cpplib.c, gcc.c: Likewise.
1697
        * system.h (S_ISREG, S_ISDIR): Define if not already defined.
1698
 
1699
Mon Nov 23 09:53:44 1998  Richard Henderson  
1700
 
1701
        * local-alloc.c (local_alloc): Use malloc not alloca for
1702
        reg_qty, reg_offset, ref_next_in_qty.
1703
 
1704
Mon Nov 23 16:46:46 1998  J"orn Rennecke  
1705
 
1706
        * caller-save.c (insert_one_insn): Initialize the live_before and
1707
        live_after register sets.
1708
 
1709
        Add SH4 support:
1710
 
1711
        * config/sh/lib1funcs.asm (___movstr_i4_even, ___movstr_i4_odd): Define.
1712
        (___movstrSI12_i4, ___sdivsi3_i4, ___udivsi3_i4): Define.
1713
        * sh.c (reg_class_from_letter, regno_reg_class): Add DF_REGS.
1714
        (fp_reg_names, assembler_dialect): New variables.
1715
        (print_operand_address): Handle SUBREGs.
1716
        (print_operand): Added 'o' case.
1717
        Don't use adj_offsettable_operand on PRE_DEC / POST_INC.
1718
        Name of FP registers depends on mode.
1719
        (expand_block_move): Emit different code for SH4 hardware.
1720
        (prepare_scc_operands): Use emit_sf_insn / emit_df_insn as appropriate.
1721
        (from_compare): Likewise.
1722
        (add_constant): New argument last_value.  Changed all callers.
1723
        (find_barrier): Don't try HImode load for FPUL_REG.
1724
        (machine_dependent_reorg): Likewise.
1725
        (sfunc_uses_reg): A CLOBBER cannot be the address register use.
1726
        (gen_far_branch): Emit a barrier after the new jump.
1727
        (barrier_align): Don't trust instruction lengths before
1728
        fixing up pcloads.
1729
        (machine_dependent_reorg): Add support for FIRST_XD_REG .. LAST_XD_REG.
1730
        Use auto-inc addressing for fp registers if doubles need to
1731
        be loaded in two steps.
1732
        Set sh_flag_remove_dead_before_cse.
1733
        (push): Support for TARGET_FMOVD.  Use gen_push_fpul for fpul.
1734
        (pop): Support for TARGET_FMOVD.  Use gen_pop_fpul for fpul.
1735
        (calc_live_regs): Support for TARGET_FMOVD.  Don't save FPSCR.
1736
        Support for FIRST_XD_REG .. LAST_XD_REG.
1737
        (sh_expand_prologue): Support for FIRST_XD_REG .. LAST_XD_REG.
1738
        (sh_expand_epilogue): Likewise.
1739
        (sh_builtin_saveregs): Use DFmode moves for fp regs on SH4.
1740
        (initial_elimination_offset): Take TARGET_ALIGN_DOUBLE into account.
1741
        (arith_reg_operand): FPUL_REG is OK for SH4.
1742
        (fp_arith_reg_operand, fp_extended_operand): New functions.
1743
        (tertiary_reload_operand, fpscr_operand): Likewise.
1744
        (commutative_float_operator, noncommutative_float_operator): Likewise.
1745
        (binary_float_operator, get_fpscr_rtx, emit_sf_insn): Likewise.
1746
        (emit_df_insn, expand_sf_unop, expand_sf_binop): Likewise.
1747
        (expand_df_unop, expand_df_binop, expand_fp_branch): Likewise.
1748
        (emit_fpscr_use, mark_use, remove_dead_before_cse): Likewise.
1749
        * sh.h (CPP_SPEC): Add support for -m4, m4-single, m4-single-only.
1750
        (CONDITIONAL_REGISTER_USAGE): Likewise.
1751
        (HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, FMOVD_BIT): Define.
1752
        (TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARWARD): Define.
1753
        (TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH4, TARGET_FMOVD): Define.
1754
        (target_flag): Add -m4, m4-single, m4-single-only, -mfmovd.
1755
        (OPTIMIZATION_OPTIONS): If optimizing, set flag_omit_frame_pointer
1756
        to -1 and sh_flag_remove_dead_before_cse to 1.
1757
        (ASSEMBLER_DIALECT): Define to assembler_dialect.
1758
        (assembler_dialect, fp_reg_names): Declare.
1759
        (OVERRIDE_OPTIONS): Add code for TARGET_SH4.
1760
        Hide names of registers that are not accessible.
1761
        (CACHE_LOG): Take TARGET_CACHE32 into account.
1762
        (LOOP_ALIGN): Take TARGET_HARWARD into account.
1763
        (FIRST_XD_REG, LAST_XD_REG, FPSCR_REG): Define.
1764
        (FIRST_PSEUDO_REGISTER: Now 49.
1765
        (FIXED_REGISTERS, CALL_USED_REGISTERS): Include values for registers.
1766
        (HARD_REGNO_NREGS): Special treatment of FIRST_XD_REG .. LAST_XD_REG.
1767
        (HARD_REGNO_MODE_OK): Update.
1768
        (enum reg_class): Add DF_REGS and FPSCR_REGS.
1769
        (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REG_ALLOC_ORDER): Likewise.
1770
        (SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Update.
1771
        (CLASS_CANNOT_CHANGE_SIZE, DEBUG_REGISTER_NAMES): Define.
1772
        (NPARM_REGS): Eight floating point parameter registers on SH4.
1773
        (BASE_RETURN_VALUE_REG): SH4 also passes double values
1774
        in floating point registers.
1775
        (GET_SH_ARG_CLASS): Likewise.
1776
        Complex float types are also returned in float registers.
1777
        (BASE_ARG_REG): Complex float types are also passes in float registers.
1778
        (FUNCTION_VALUE): Change mode like PROMOTE_MODE does.
1779
        (LIBCALL_VALUE): Remove trailing semicolon.
1780
        (ROUND_REG): Round when double precision value is passed in floating
1781
        point register(s).
1782
        (FUNCTION_ARG_ADVANCE): No change wanted for SH4 when things are
1783
        passed on the stack.
1784
        (FUNCTION_ARG): Little endian adjustment for SH4 SFmode.
1785
        (FUNCTION_ARG_PARTIAL_NREGS): Zero for SH4.
1786
        (TRAMPOLINE_ALIGNMENT): Take TARGET_HARWARD into account.
1787
        (INITIALIZE_TRAMPOLINE): Emit ic_invalidate_line for TARGET_HARWARD.
1788
        (MODE_DISP_OK_8): Not for SH4 DFmode.
1789
        (GO_IF_LEGITIMATE_ADDRESS): No base reg + index reg for SH4 DFmode.
1790
        Allow indexed addressing for PSImode after reload.
1791
        (LEGITIMIZE_ADDRESS): Not for SH4 DFmode.
1792
        (LEGITIMIZE_RELOAD_ADDRESS): Handle SH3E SFmode.
1793
        Don't change SH4 DFmode nor PSImode RELOAD_FOR_INPUT_ADDRESS.
1794
        (DOUBLE_TYPE_SIZE): 64 for SH4.
1795
        (RTX_COSTS): Add PLUS case.
1796
        Increase cost of ASHIFT, ASHIFTRT, LSHIFTRT case.
1797
        (REGISTER_MOVE_COST): Add handling of R0_REGS, FPUL_REGS, T_REGS,
1798
        MAC_REGS, PR_REGS, DF_REGS.
1799
        (REGISTER_NAMES): Use fp_reg_names.
1800
        (enum processor_type): Add PROCESSOR_SH4.
1801
        (sh_flag_remove_dead_before_cse): Declare.
1802
        (rtx_equal_function_value_matters, fpscr_rtx, get_fpscr_rtx): Declare.
1803
        (PREDICATE_CODES): Add binary_float_operator,
1804
        commutative_float_operator, fp_arith_reg_operand, fp_extended_operand,
1805
        fpscr_operand, noncommutative_float_operator.
1806
        (ADJUST_COST): Use different scale for TARGET_SUPERSCALAR.
1807
        (SH_DYNAMIC_SHIFT_COST): Cheaper for SH4.
1808
        * sh.md (attribute cpu): Add value sh4.
1809
        (attrbutes fmovd, issues): Define.
1810
        (attribute type): Add values dfp_arith, dfp_cmp, dfp_conv, dfdiv.
1811
        (function units memory, int, mpy, fp): Make dependent on issue rate.
1812
        (function units issue, single_issue, load_si, load): Define.
1813
        (function units load_store, fdiv, gp_fpul): Define.
1814
        (attribute hit_stack): Provide proper default.
1815
        (use_sfunc_addr+1, udivsi3): Predicated on ! TARGET_SH4.
1816
        (udivsi3_i4, udivsi3_i4_single, divsi3_i4, divsi3_i4_single): New insns.
1817
        (udivsi3, divsi3): Emit special patterns for SH4 hardware,
1818
        (mulsi3_call): Now uses match_operand for function address.
1819
        (mulsi3): Also emit code for SH1 case.  Wrap result in REG_LIBCALL /
1820
        REG_RETVAL notes.
1821
        (push, pop, push_e, pop_e): Now define_expands.
1822
        (push_fpul, push_4, pop_fpul, pop_4, ic_invalidate_line): New expanders.
1823
        (movsi_ie): Added y/i alternative.
1824
        (ic_invalidate_line_i, movdf_i4): New insns.
1825
        (movdf_i4+[123], reload_outdf+[12345], movsi_y+[12]): New splitters.
1826
        (reload_indf, reload_outdf, reload_outsf, reload_insi): New expanders.
1827
        (movdf): Add special code for SH4.
1828
        (movsf_ie, movsf_ie+1, reload_insf, calli): Make use of fpscr visible.
1829
        (call_valuei, calli, call_value): Likewise.
1830
        (movsf): Emit no-op move.
1831
        (mov_nop, movsi_y): New insns.
1832
        (blt, sge): Generalize to handle DFmode.
1833
        (return predicate): Call emit_fpscr_use and remove_dead_before_cse.
1834
        (block_move_real, block_lump_real): Predicate on ! TARGET_HARD_SH4.
1835
        (block_move_real_i4, block_lump_real_i4, fpu_switch): New insns.
1836
        (fpu_switch0, fpu_switch1, movpsi): New expanders.
1837
        (fpu_switch+[12], fix_truncsfsi2_i4_2+1): New splitters.
1838
        (toggle_sz): New insn.
1839
        (addsf3, subsf3, mulsf3, divsf3): Now define_expands.
1840
        (addsf3_i, subsf3_i, mulsf3_i4, mulsf3_ie, divsf3_i): New insns.
1841
        (macsf3): Make use of fpscr visible.  Disable for SH4.
1842
        (floatsisf2): Make use of fpscr visible.
1843
        (floatsisf2_i4): New insn.
1844
        (floatsisf2_ie, fixsfsi, cmpgtsf_t, cmpeqsf_t): Disable for SH4.
1845
        (ieee_ccmpeqsf_t): Likewise.
1846
        (fix_truncsfsi2): Emit different code for SH4.
1847
        (fix_truncsfsi2_i4, fix_truncsfsi2_i4_2, cmpgtsf_t_i4): New insns.
1848
        (cmpeqsf_t_i4, ieee_ccmpeqsf_t_4): New insns.
1849
        (negsf2, sqrtsf2, abssf2): Now expanders.
1850
        (adddf3, subdf3i, muldf2, divdf3, floatsidf2): New expanders.
1851
        (negsf2_i, sqrtsf2_i, abssf2_i, adddf3_i, subdf3_i): New insns.
1852
        (muldf3_i, divdf3_i, floatsidf2_i, fix_truncdfsi2_i): New insns.
1853
        (fix_truncdfsi2, cmpdf, negdf2, sqrtdf2, absdf2): New expanders.
1854
        (fix_truncdfsi2_i4, cmpgtdf_t, cmpeqdf_t, ieee_ccmpeqdf_t): New insns.
1855
        (fix_truncdfsi2_i4_2+1): New splitters.
1856
        (negdf2_i, sqrtdf2_i, absdf2_i, extendsfdf2_i4): New insns.
1857
        (extendsfdf2, truncdfsf2): New expanders.
1858
        (truncdfsf2_i4): New insn.
1859
        * t-sh (LIB1ASMFUNCS): Add _movstr_i4, _sdivsi3_i4, _udivsi3_i4.
1860
        (MULTILIB_OPTIONS): Add m4-single-only/m4-single/m4.
1861
        * float-sh.h: When testing for __SH3E__, also test for
1862
        __SH4_SINGLE_ONLY__ .
1863
        * va-sh.h (__va_freg): Define to float.
1864
        (__va_greg, __fa_freg, __gnuc_va_list, va_start):
1865
        Define for __SH4_SINGLE_ONLY__ like for __SH3E__ .
1866
        (__PASS_AS_FLOAT, __TARGET_SH4_P): Likewise.
1867
        (__PASS_AS_FLOAT): Use different definition for __SH4__ and
1868
         __SH4_SINGLE__.
1869
        (TARGET_SH4_P): Define.
1870
        (va_arg): Use it.
1871
 
1872
        * sh.md (movdf_k, movsf_i): Tweak the condition so that
1873
        init_expr_once is satisfied about the existence of load / store insns.
1874
 
1875
        * sh.md (movsi_i, movsi_ie, movsi_i_lowpart, movsf_i, movsf_ie):
1876
        Change m constraint in source operand to mr / mf.
1877
 
1878
        * va-sh.h (__va_arg_sh1): Use __asm instead of asm.
1879
 
1880
        * (__VA_REEF): Define.
1881
        (__va_arg_sh1): Use it.
1882
 
1883
        * va-sh.h (va_start, va_arg, va_copy): Add parentheses.
1884
 
1885
Sun Nov 22 21:34:02 1998  Jeffrey A Law  (law@cygnus.com)
1886
 
1887
        * i386/dgux.c (struct option): Add new "description field".
1888
        * m88k/m88k.c (struct option): Likewise.
1889
 
1890
Sun Nov 22 16:07:57 1998  Jeff Law  (law@cygnus.com)
1891
 
1892
        * version.c: Bump for snapshot.
1893
 
1894
Sun Nov 22 13:40:02 1998  Bernd Schmidt  
1895
 
1896
        * regmove.c (regmove_profitable_p): Use return value of find_matches
1897
        properly.
1898
 
1899
Sun Nov 22 02:47:37 1998  Jeff Law  (law@cygnus.com)
1900
 
1901
        * version.c: Bump for snapshot.
1902
 
1903
Sat Nov 21 22:12:09 1998  Jeffrey A Law  (law@cygnus.com)
1904
 
1905
        * reload1.c (eliminate_regs): Do not lose if eliminate_regs is called
1906
        without reload having been called earlier.
1907
 
1908
        * v850.c (ep_memory_operand): Offsets < 0 are not valid for EP
1909
        addressing modes.
1910
        (v850_reorg): Similarly.
1911
 
1912
        * loop.c (check_dbra_loop): Avoid using gen_add2_insn.
1913
 
1914
Sat Nov 21 02:18:38 1998  J"orn Rennecke  
1915
 
1916
        * loop.c (move_movables): Start of libcall might be new loop start.
1917
 
1918
Fri Nov 20 12:14:16 1998  Kaveh R. Ghazi  
1919
 
1920
        * hash.c (hash_table_init_n): Wrap prototype arguments in PARAMS().
1921
 
1922
Fri Nov 20 08:34:00 1998  Bernd Schmidt  
1923
 
1924
        * function.c (nonlocal_goto_handler_slots): Renamed from
1925
        nonlocal_goto_handler_slot; now an EXPR_LIST chain.
1926
        (push_function_context_to): Adjust for this change.
1927
        (pop_function_context_from): Likewise.
1928
        (init_function_start): Likewise.
1929
        (expand_function_end): Likewise.
1930
        * function.h (struct function): Likewise.
1931
        * calls.c (expand_call): Likewise.
1932
        * explow.c (allocate_dynamic_stack_space): Likewise.
1933
        * expr.h (nonlocal_goto_handler_slots): Rename its declaration.
1934
        * stmt.c (declare_nonlocal_label): Make a new handler slot for each
1935
        label.
1936
        (expand_goto): When doing a nonlocal goto, find corresponding handler
1937
        slot for it.  Don't put the label address in the static chain register.
1938
        (expand_end_bindings): Break out nonlocal goto handling code into
1939
        three new functions.
1940
        (expand_nl_handler_label, expand_nl_goto_receiver,
1941
        expand_nl_goto_receivers): New static functions, broken out of
1942
        expand_end_bindings and adapted to create one handler per nonlocal
1943
        label.
1944
        * function.c (delete_handlers): Delete insn if it references any of
1945
        the nonlocal goto handler slots.
1946
        * i960.md (nonlocal_goto): Comment out code that modifies
1947
        static_chain_rtx.
1948
        * sparc.md (nonlocal_goto): Likewise.
1949
        (goto_handler_and_restore_v9): Comment out.
1950
        (goto_handler_and_restore_v9_sp64): Comment out.
1951
 
1952
Thu Nov 19 23:44:38 1998  Bernd Schmidt  
1953
 
1954
        * expr.c (STACK_BYTES): Delete unused macro.
1955
        * calls.c: Provide default for PREFERRED_STACK_BOUNDARY.
1956
        (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
1957
        (expand_call): Likewise.
1958
        (emit_library_call): Likewise.
1959
        (emit_library_call_value): Likewise.
1960
        * function.c: Provide default for PREFERRED_STACK_BOUNDARY.
1961
        (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
1962
        * explow.c: Provide default for PREFERRED_STACK_BOUNDARY.
1963
        (round_push): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
1964
        (allocate_dynamic_stack_space): Likewise.
1965
        * tm.texi (PREFERRED_STACK_BOUNDARY): Document new macro.
1966
        (STACK_BOUNDARY): Update description to reflect the new situation.
1967
 
1968
Thu Nov 19 22:20:51 1998  Jeffrey A Law  (law@cygnus.com)
1969
 
1970
        * reorg.c (relax_delay_slots): When optimizing for code size, if a
1971
        return with a filled delay slot is followed by a return with an
1972
        unfilled delay slot, delete the first return and reemit the insn
1973
        that was previously in its delay slot.
1974
 
1975
        * i860.c (single_insn_src_p): Add missing parens.
1976
        * ginclude/math-3300.h: Likewise.
1977
 
1978
Thu Nov 19 20:55:59 1998  H.J. Lu  (hjl@gnu.org)
1979
 
1980
        * regclass.c (init_reg_sets_1): Add prototype.
1981
        (init_reg_modes): Likewise.
1982
 
1983
1998-11-19  Zack Weinberg  
1984
 
1985
        * c-common.c: Change warning messages to say `comparison is
1986
        always true' or `comparison is always false' instead of the
1987
        confusing `is always 0', `is always 1'.
1988
 
1989
Thu Nov 19 19:05:49 1998  Per Bothner  
1990
 
1991
        * print-tree.c (print_node): After printing BLOCK or BIND_EXPR,
1992
        break instead of return (which loses closing '>').
1993
 
1994
Thu Nov 19 19:34:13 1998  Jeffrey A Law  (law@cygnus.com)
1995
 
1996
        * i386.h (LEGITIMATE_CONSTANT_P): Reject CONST_DOUBLEs that are not
1997
        standard 387 constants.
1998
 
1999
        * i386.md (jump): Explicitly set "memory" attribute.
2000
        (indirect_jump, prologue_set_stack_ptr): Likewise.
2001
        (prologue_get_pc_and_set_got, pop): Likewise.
2002
        (allocate_stack_worder, blockage, return_internal): Likewise.
2003
        (return_pop_internal, nop): Likewise.
2004
        (epilogue_set_stack_ptr, leave): Likewise.
2005
 
2006
Thu Nov 19 15:42:54 1998  Nick Clifton  
2007
 
2008
        * config/arm/coff.h: Set USER_LABEL_PREFIX to "_".
2009
 
2010
Thu Nov 19 23:20:59 1998  J"orn Rennecke  
2011
 
2012
        * reload1.c (reload_reg_free_for_value_p):
2013
        Early auto_inc reloads don't conflict with outputs.
2014
 
2015
Thu Nov 19 12:58:55 1998  Kaveh R. Ghazi  
2016
 
2017
        * configure.in: Don't do AC_CHECK_HEADERS(wait.h sys/wait.h).
2018
        Instead call AC_HEADER_SYS_WAIT.
2019
 
2020
        * collect2.c: Don't provide defaults for sys/wait.h macros.
2021
        * gcc.c: Likewise.
2022
        * protoize.c: Likewise.  Also, don't include sys/wait.h.
2023
 
2024
        * system.h: Include sys/wait.h and provide macro defaults.
2025
 
2026
1998-11-19  Andreas Schwab  
2027
 
2028
        * Makefile.in (mandir): Set to @mandir@.
2029
        (man1dir): New variable to hold the former value of $(mandir).
2030
        Replace all uses of $(mandir) by $(man1dir).
2031
 
2032
Wed Nov 18 16:31:28 1998  Jim Wilson  
2033
 
2034
        * reload.c (find_reloads_address_part): If have a CONST_INT, create
2035
        a new one before passing it to force_const_mem.
2036
 
2037
        * reload.c (find_reloads_toplev): Pass &x instead of NULL_PTR in
2038
        find_reloads_address call.
2039
 
2040
Wed Nov 18 22:13:00 1998  J"orn Rennecke  
2041
 
2042
        * expr.c (store_expr): Don't generate load-store pair
2043
        if TEMP is identical (according to ==) with TARGET.
2044
 
2045
Tue Nov 17 22:25:16 1998  J"orn Rennecke  
2046
 
2047
        * reload1.c (reload_reg_free_for_value_p): When considered reload
2048
        has an output, matching inputs are not sufficient to avoid conflict.
2049
 
2050
Tue Nov 17 11:51:16 1998  Mark Mitchell  
2051
 
2052
        * hash.h (hash_table_key): New type.
2053
        (hash_entry): Change `string' field to generic `key'.
2054
        (hash_table): Add `comp' and `hash' functions.
2055
        (hash_table_init): Take them as input.
2056
        (hash_table_init_n): Likewise.
2057
        (hash_lookup): Modify for generic keys.
2058
        (hash_newfunc): Likewise.
2059
        (hash_traverse): Likewise.
2060
        (string_hash): New function.
2061
        (string_compare): Likewise.
2062
        (string_copy): Likewise.
2063
        * hash.c (hash_table_init_n): Modify for generic keys.
2064
        (hash_table_init): Likewise.
2065
        (hash_lookup): Likewise.
2066
        (hash_newfunc): Likewise.
2067
        (hash_traverse): Likewise.
2068
        (string_hash): Split out from hash_lookup.
2069
        (string_compare): New function.
2070
        (string_copy): Split out from hash_lookup.
2071
        * tlink.c (symbol_hash_newfunc): Modify for new interfaces to hash
2072
        tables.
2073
        (symbol_hash_lookup): Likewise.
2074
        (file_hash_newfunc): Likewise.
2075
        (file_hash_lookup): Likewise.
2076
        (demangled_hash_newfunc): Likewise.
2077
        (demangled_hash_lookup): Likewise.
2078
        (tlink_int): Likewise.
2079
        (read_repo_file): Likewise.
2080
        (recompile_files): Likewise.
2081
        (demangle_new_symbols): Likewise.
2082
        (scan_linker_output): Likewise.
2083
 
2084
Tue Nov 17 17:13:53 1998  J"orn Rennecke  
2085
 
2086
        * flow.c (insn_dead_p): New argument NOTES.  Changed all callers.
2087
 
2088
Mon Nov 16 17:56:07 1998  David Edelsohn  
2089
 
2090
        * rs6000.c (output_mi_thunk): Improve test for local branch.
2091
 
2092
Mon Nov 16 17:56:07 1998  Franz Sirl  
2093
 
2094
        * rs6000.c (output_mi_thunk): Correct test for aggregate values.
2095
 
2096
Mon Nov 16 21:02:52 1998  J"orn Rennecke  
2097
 
2098
        * reload1.c (reload_reg_free_before_p): Delete.
2099
        Changed all callers to use reload_reg_free_for_value_p instead.
2100
        (reload_reg_free_for_value_p): Handle more reload types.
2101
        A RELOAD_FOR_INPUT doesn't conflict with its
2102
        RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS.
2103
        Add special case for OUT == const0_rtx.
2104
        Added ignore_address_reloads argument.  Changed all callers.
2105
 
2106
Mon Nov 16 02:22:29 1998  Jason Merrill  
2107
 
2108
        * toplev.c (compile_file): Don't pedwarn about undefined static
2109
        functions just because we passed -Wunused.
2110
 
2111
Mon Nov 16 04:41:41 1998  J"orn Rennecke  
2112
 
2113
        * function.c (purge_addressof_1): Unshare rtl created by
2114
        store_bit_field.
2115
 
2116
Mon Nov 16 04:23:06 1998  J"orn Rennecke  
2117
 
2118
        * regmove.c (regmove_optimize): Don't do anything but
2119
        optimize_reg_copy[123] when flag_regmove is not set.
2120
 
2121
Sat Nov 14 15:05:07 1998  Richard Henderson  
2122
 
2123
        * alpha.md (addsi3, subsi3): Revise 5 Nov change to store DImode
2124
        value in paradoxical SImode result, rather than truncating midpoint.
2125
 
2126
Fri Nov 13 22:19:23 1998  Richard Henderson  
2127
 
2128
        * alpha.c (reg_not_elim_operand): New.
2129
        * alpha.h (PREDICATE_CODES): Add it.
2130
        * alpha.md (s48addq, s48subq patterns): Use it as the predicate
2131
        for the multiplicand.
2132
 
2133
Fri Nov 13 22:50:37 1998  David Edelsohn  
2134
 
2135
        * rs6000.md (movsf): Remove explicit secondary-reload-like
2136
        functionality.  Only truncate SFmode store if in FPR.
2137
        (movsf splitters): Combine const_double splitters.
2138
        (movsf_hardfloat): Add GPR support.
2139
 
2140
Fri Nov 13 11:02:11 1998  Stan Cox  
2141
 
2142
        * splet.h (SUBTARGET_OVERRIDE_OPTIONS): New to
2143
        deprecate -mlive-g0 and -mbroken-saverestore.
2144
        * t-splet (MULTILIB_OPTIONS): Likewise.
2145
 
2146
        * sparc.c (sparc_flat_compute_frame_size): Correctly calc args_size
2147
        in a leaf function.  Clarify total_size/extra_size relationship.
2148
 
2149
Thu Nov 12 19:20:57 1998  Geoffrey Noer  
2150
 
2151
        * i386/cygwin32.asm: Delete.
2152
        * i386/cygwin.asm: New file, renamed from cygwin32.asm.
2153
        * i386/cygwin32.h: Delete.
2154
        * i386/cygwin.h: New file, renamed from cygwin32.h.
2155
        * i386/t-cygwin32: Delete.
2156
        * i386/t-cygwin: New file, renamed from t-cygwin32.  Include
2157
        cygwin.asm instead of cygwin32.asm.  Remove "32" from comment.
2158
        * i386/x-cygwin32: Delete.
2159
        * i386/x-cygwin: New file, renamed from x-cygwin32.
2160
        * i386/xm-cygwin32: Delete.
2161
        * i386/xm-cygwin: New file, renamed from xm-cygwin32.  Use newly
2162
        renamed cygwin_ funcs for path translations.
2163
        * i386/win32.h: Define __CYGWIN__ when -mcygwin given.
2164
        * i386/winnt.c: Remove "32" from comment about cygwin.
2165
        * i386/mingw32.h: Fix references to cygwin32.h in light of above.
2166
        * rs6000/cygwin32.h: Delete.
2167
        * rs6000/cygwin.h: New file, renamed from cygwin32.h.  Add
2168
        -D__CYGWIN__ to CPP_PREDEFINES.
2169
        * rs6000/x-cygwin32: Delete.
2170
        * rs6000/x-cygwin: New file, renamed from x-cygwin32.
2171
        * rs6000/xm-cygwin32: Delete.
2172
        * rs6000/xm-cygwin: New file, renamed from xm-cygwin32.
2173
 
2174
        * configure.in: Check for cygwin* instead of cygwin32.  Account
2175
        for the rename of cygwin-related config files to lose the "32"s.
2176
        * configure: Regenerate.
2177
 
2178
        * cccp.c, collect2.c, gcc.c, getpwd.c, libgcc2.c, protoize.c,
2179
        toplev.c: Change all refs to __CYGWIN32__ to __CYGWIN__.
2180
 
2181
Wed Nov 11 12:25:19 1998  Tom Tromey  
2182
 
2183
        * Makefile.in (JAVAGC): New macro.
2184
        * configure: Rebuilt.
2185
        * configure.in: Recognize --enable-java-gc argument.  Subst
2186
        `JAVAGC' variable.
2187
 
2188
Thu Nov 12 03:32:16 1998  J"orn Rennecke  
2189
 
2190
        Handle equivalences that have been obscured by gcse:
2191
 
2192
        * reload1.c (reload): Handle equivalences set up in multiple places.
2193
        * local-alloc.c (reg_equiv_init_insns): New variable.
2194
        (no_equiv): New function.
2195
        (update_equiv_regs): Handle equivalences set up in multiple places.
2196
        Don't ignore an insn just because its destination is likely to be
2197
        spilled.
2198
 
2199
Wed Nov 11 13:46:13 1998  Jim Wilson  
2200
 
2201
        * except.c (expand_eh_return): Readd force_operand call lost in
2202
        Sept 15 change.
2203
 
2204
Tue Nov 10 17:04:11 1998  David Edelsohn  
2205
 
2206
        * rs6000.h (LEGITIMIZE_ADDRESS): Add missing goto on last case.
2207
 
2208
1998-11-09  Andreas Schwab  
2209
 
2210
        * dbxout.c: Check HAVE_STAB_H instead of HAVE_STABS_H.
2211
 
2212
Mon Nov  9 20:15:19 1998  Bernd Schmidt  
2213
 
2214
        * regmove.c (regmove_optimize): Fix error in last change.
2215
 
2216
Mon Nov  9 16:37:52 1998  Andrew Cagney  
2217
 
2218
        * mips.c (function_prologue): When TARGET_MIPS16, adjust the register
2219
        offset in the .mask pseudo to compensate for frame pointer adjustments.
2220
        (mips16_fp_args, build_mips16_call_stub): For little endian, do not
2221
        word swap arguments moved to/from FP registers.
2222
        * mips16.S (DFREVCMP): Reverse arguments to OPCODE.
2223
 
2224
Mon Nov  9 09:47:06 1998  Jeff Law  (law@cygnus.com)
2225
 
2226
        * version.c: Bump for snapshot.
2227
 
2228
Mon Nov  9 02:14:14 1998  Jeff Law  (law@cygnus.com)
2229
 
2230
        * version.c: Bump for snapshot.
2231
 
2232
Mon Nov  9 03:06:24 1998  Jeffrey A Law  (law@cygnus.com)
2233
 
2234
        * reload1.c (delete_output_reload_insn): If a pseudo is set multiple
2235
        times, then it can not be completely replaced.
2236
 
2237
Mon Nov  9 00:39:02 1998  Richard Henderson  
2238
 
2239
        * alpha.md (call, call_value) [OSF]: Correct alt 3 insn length.
2240
 
2241
Sun Nov  8 17:50:30 1998  Kaveh R. Ghazi  
2242
 
2243
        * gansidecl.h: Prepend a "G" to the macro wrapping this file
2244
        (to distinguish it from the macro wrapping ansidecl.h.)
2245
        Include libiberty's ansidecl.h.  Remove all redundant definitions.
2246
        Define the PROTO() style macros in terms of the PARAMS() ones.
2247
 
2248
 
2249
        * calls.c (emit_library_call): Switch on ANSI_PROTOTYPES, not
2250
        __STDC__, when deciding whether to use ANSI variable args.
2251
        (emit_library_call_value): Likewise.
2252
 
2253
        * cccp.c (error): Likewise.
2254
        (warning): Likewise.
2255
        (error_with_line): Likewise.
2256
        (warning_with_line): Likewise.
2257
        (pedwarn): Likewise.
2258
        (pedwarn_with_line): Likewise.
2259
        (pedwarn_with_file_and_line): Likewise.
2260
        (fatal): Likewise.
2261
 
2262
        * cexp.y (error): Likewise.
2263
        (pedwarn): Likewise.
2264
        (warning): Likewise.
2265
 
2266
        * collect2.c (fatal_perror): Likewise.
2267
        (fatal): Likewise.
2268
        (error): Likewise.
2269
 
2270
        * combine.c (gen_rtx_combine): Likewise.
2271
 
2272
        * cpperror.c (cpp_message): Likewise.
2273
        (cpp_fatal): Likewise.
2274
 
2275
        * cpplib.c (cpp_error): Likewise.
2276
        (cpp_warning): Likewise.
2277
        (cpp_pedwarn): Likewise.
2278
        (cpp_error_with_line): Likewise.
2279
        (cpp_warning_with_line): Likewise.
2280
        (cpp_pedwarn_with_line): Likewise.
2281
        (cpp_pedwarn_with_file_and_line): Likewise.
2282
 
2283
        * cpplib.h: Don't define PARAMS() macro.
2284
 
2285
        * demangle.h: Likewise.
2286
 
2287
        * doprint.c (checkit): Switch on ANSI_PROTOTYPES, not __STDC__,
2288
        when deciding whether to use ANSI variable args.
2289
 
2290
        * emit-rtl.c (gen_rtx): Likewise.
2291
        (gen_rtvec): Likewise.
2292
 
2293
        * final.c (asm_fprintf): Likewise.
2294
 
2295
        * fix-header.c (cpp_message): Likewise.
2296
        (fatal): Likewise.
2297
        (cpp_fatal): Likewise.
2298
 
2299
        * gcc.c (concat): Likewise.
2300
        (fatal): Likewise.
2301
        (error): Likewise.
2302
 
2303
        * genattr.c (fatal): Likewise.
2304
 
2305
        * genattrtab.c (attr_rtx): Likewise.
2306
        (attr_printf): Likewise.
2307
        (fatal): Likewise.
2308
 
2309
        * gencodes.c (fatal): Likewise.
2310
 
2311
        * genconfig.c (fatal): Likewise.
2312
 
2313
        * genemit.c (fatal): Likewise.
2314
 
2315
        * genextract.c (fatal): Likewise.
2316
 
2317
        * genflags.c (fatal): Likewise.
2318
 
2319
        * genopinit.c (fatal): Likewise.
2320
 
2321
        * genoutput.c (fatal): Likewise.
2322
        (error): Likewise.
2323
 
2324
        * genpeep.c (fatal): Likewise.
2325
 
2326
        * genrecog.c (fatal): Likewise.
2327
 
2328
        * halfpic.h: Switch on ANSI_PROTOTYPES, not __STDC__, when
2329
        deciding whether to declare `tree_node' and `rtx_def'.
2330
 
2331
        * hash.h: Don't define stuff we get from gansidecl.h.
2332
 
2333
        * mips-tfile.c: Likewise.  Define __proto() in terms of PARAMS().
2334
        (fatal): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
2335
        whether to use ANSI variable args.
2336
        (error): Likewise.
2337
 
2338
        * prefix.c (concat): Likewise.
2339
 
2340
        * scan.h: Likewise.
2341
 
2342
        * system.h: Likewise.
2343
 
2344
        * toplev.c (error_with_file_and_line): Likewise.
2345
        (error_with_decl): Likewise.
2346
        (error_for_asm): Likewise.
2347
        (error): Likewise.
2348
        (fatal): Likewise.
2349
        (warning_with_file_and_line): Likewise.
2350
        (warning_with_decl): Likewise.
2351
        (warning_for_asm): Likewise.
2352
        (warning): Likewise.
2353
        (pedwarn): Likewise.
2354
        (pedwarn_with_decl): Likewise.
2355
        (pedwarn_with_file_and_line): Likewise.
2356
        (sorry): Likewise.
2357
        (really_sorry): Likewise.
2358
 
2359
        * toplev.h: Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
2360
        whether to declare `tree_node' and `rtx_def'.
2361
 
2362
        * tree.c (build): Switch on ANSI_PROTOTYPES, not __STDC__, when
2363
        deciding whether to use ANSI variable args.
2364
        (build_nt): Likewise.
2365
        (build_parse_node): Likewise.
2366
 
2367
Sun Nov  8 13:10:55 1998  Jeff Law  (law@cygnus.com)
2368
 
2369
        * version.c: Bump for snapshot.
2370
 
2371
Sat Nov  7 23:34:01 1998  Kaveh R. Ghazi  
2372
 
2373
        * Makefile.in (libcpp.a): Check RANLIB_TEST before runing RANLIB.
2374
 
2375
Sat Nov  7 22:26:19 1998  David Edelsohn  
2376
 
2377
        * collect2.c (main, case 'b'): Use else if.
2378
 
2379
Sat Nov  7 15:35:25 1998  Kaveh R. Ghazi  
2380
 
2381
        * configure.in (host_xm_file, build_xm_file, xm_file, tm_file):
2382
        Arrange to include gansidecl.h in {ht}config.h & tm.h just
2383
        before the config/ directory headers.
2384
        (tm_file_list, host_xm_file_list, build_xm_file_list): Handle
2385
        gansidecl.h in the list of dependencies.
2386
 
2387
        * Makefile.in (RTL_BASE_H): Don't depend on gansidecl.h.
2388
        (TREE_H, DEMANGLE_H, RECOG_H, REGS_H, libgcc2.a, stmp-multilib,
2389
        mbchar.o, collect2.o, pexecute.o, vfprintf.o, splay-tree.o, gcc.o,
2390
        gencheck.o, choose-temp.o, mkstemp.o, mkstemp.o, prefix.o,
2391
        dyn-string.o, cexp.o, cccp.o, cppmain.o, cpplib.o, cpperror.o,
2392
        cppexp.o, cppfiles.o, cpphash.o, cppalloc.o, scan-decls.o):
2393
        Likewise.
2394
 
2395
        * cccp.c: Don't include gansidecl.h.
2396
        * cexp.y: Likewise.
2397
        * collect2.c: Likewise.
2398
        * config/c4x/c4x.c: Likewise.
2399
        * config/v850/v850.h: Likewise.
2400
        * cppalloc.c: Likewise.
2401
        * cpperror.c: Likewise.
2402
        * cppexp.c: Likewise.
2403
        * cppfiles.c: Likewise.
2404
        * cpphash.c: Likewise.
2405
        * cpplib.c: Likewise.
2406
        * cppmain.c: Likewise.
2407
        * cppulp.c: Likewise.
2408
        * demangle.h: Likewise.
2409
        * doprint.c: Likewise.
2410
        * dyn-string.c: Likewise.
2411
        * eh-common.h: Likewise.
2412
        * fix-header.c: Likewise.
2413
        * frame.c: Likewise.
2414
        * gcc.c: Likewise.
2415
        * gcov.c: Likewise.
2416
        * gen-protos.c: Likewise.
2417
        * gencheck.c: Likewise.
2418
        * halfpic.h: Likewise.
2419
        * hash.c: Likewise.
2420
        * machmode.h: Likewise.
2421
        * mbchar.c: Likewise.
2422
        * prefix.c: Likewise.
2423
        * protoize.c: Likewise.
2424
        * recog.h: Likewise.
2425
        * rtl.h: Likewise.
2426
        * scan-decls.c: Likewise.
2427
        * tree.h: Likewise.
2428
        * varray.h: Likewise.
2429
 
2430
Sat Nov  7 11:37:53 1998  Richard Henderson  
2431
 
2432
        * i386.md (call_value_pop): If we're not popping anything,
2433
        defer to call_value.
2434
        (call_pop): Likewise defer to call.
2435
 
2436
Sat Nov  7 02:49:56 1998  Richard Henderson  
2437
 
2438
        * function.c (purge_addressof): Clear purge_addressof_replacements
2439
        only after processing the whole function.
2440
 
2441
Sat Nov  7 00:54:55 1998  Jeffrey A Law  (law@cygnus.com)
2442
 
2443
        * reload1.c (reload): If we can not perform a particular elimination
2444
        when we thought we could earlier, then we must always iterate through
2445
        the loop at least one more time.
2446
 
2447
Fri Nov  6 19:37:33 1998  Richard Henderson  
2448
 
2449
        * alpha.c (add_operand): Simplify the CONST_INT match.
2450
        (sext_add_operand): Correct typo in comparison by using
2451
        CONST_OK_FOR_LETTER_P.
2452
        * alpha.md (s?addq): Use sext_add_operand to allow the negative
2453
        constant alternatives to be generated.
2454
        (mulsi3, muldi3, umuldi3_highpart): Loosen constraints to allow
2455
        small constants, since the hw instructions do.
2456
 
2457
Fri Nov  6 20:15:19 1998  Bernd Schmidt  
2458
 
2459
        * reload1.c (emit_reload_insns): When rewriting the SET_DEST of a
2460
        previous insn to store directly into our reload register, make sure
2461
        that if the source of the previous insn is a reload register, its
2462
        spill_reg_store and spill_reg_stored_to values are cleared.
2463
 
2464
Fri Nov  6 16:35:10 1998  David Edelsohn  
2465
 
2466
        * rs6000.md (floatunssidf2_internal splitter): Use base register
2467
        operand, not hard-coded SP.
2468
 
2469
Fri Nov  6 04:07:53 1998  David S. Miller  
2470
 
2471
        * jump.c (calculate_can_reach_end): Fix thinko.
2472
 
2473
Fri Nov  6 00:16:04 1998  Jeffrey A Law  (law@cygnus.com)
2474
 
2475
        * reorg.c (fill_simple_delay_slots): Fix typo.
2476
 
2477
        * romp.h (LEGITIMIZE_ADDRESS): Fix typo.
2478
 
2479
Fri Nov  6 00:10:00 1998  Jan Hubicka  (hubicka@freesoft.cz)
2480
 
2481
        * i386.md (extendsidi2): Use # in the output template.
2482
        (extendsidi splitters): New splitters.
2483
 
2484
Thu Nov  5 11:13:27 1998  Nick Clifton  
2485
 
2486
        * configure.in: Use unknown-elf.h as tm_file for arm-elf
2487
        configurations.
2488
        * configure: Regenerate.
2489
 
2490
Thu Nov  5 07:59:05 1998  David S. Miller  
2491
 
2492
        * jump.c (init_label_info, delete_barrier_successors,
2493
        mark_all_labels, delete_unreferenced_labels,
2494
        delete_noop_moves, calculate_can_reach_end): New functions broken
2495
        out of jump_optimize.
2496
        (jump_optimize): Use them.
2497
 
2498
Thu Nov  5 07:57:45 1998  Andrew MacLeod  
2499
 
2500
        * except.c (expand_fixup_region_end): Make sure outer context labels
2501
        are not issued in an inner context during cleanups.
2502
 
2503
Thu Nov  5 04:03:06 1998  Richard Henderson  
2504
 
2505
        * alpha.md (addsi3, subsi3): No new temporaries once cse is
2506
        no longer expected.
2507
 
2508
Thu Nov  5 03:29:19 1998  Richard Henderson  
2509
 
2510
        * alpha.md (addsi3, subsi3): Expand to a DImode temporary so as
2511
        to expose this midpoint to CSE.
2512
 
2513
Thu Nov  5 03:42:54 1998  David S. Miller  
2514
 
2515
        * config/sparc/sparc.md (movdf_const_intreg_sp64): Enable again.
2516
 
2517
Thu Nov  5 10:53:01 1998  Andreas Schwab  
2518
 
2519
        * configure.in: Bring over gcc2 change of Nov 19 1997.
2520
 
2521
Wed Nov  4 23:43:08 1998  Graham  
2522
 
2523
        * toplev.c (output_lang_identify): Make definition dependent on
2524
        ASM_IDENTIFY_LANGUAGE.
2525
 
2526
        * print-rtl.c (spaces): Make static.
2527
 
2528
Wed Nov  4 22:16:36 1998  Hans-Peter Nilsson  
2529
 
2530
        * extend.texi: Clarify proper uses for register clobbers in asms.
2531
 
2532
Wed Nov  4 22:16:36 1998  Bernd Schmidt  
2533
 
2534
        * recog.h (enum op_type): Define.
2535
        (constrain_operands): Adjust prototype.
2536
        (recog_op_type): Declare new variable.
2537
        * recog.c (recog_op_type): New variable.
2538
        (insn_invalid_p): Allow modifying an asm statement after reload.
2539
        (extract_insn): Set up recog_op_type.
2540
        (constrain_operands): Lose INSN_CODE_NUM arg.  All callers changed.
2541
        Don't compute operand types, use recog_op_type.
2542
        Use the information computed by extract_insn instead of the previous
2543
        method of finding it by insn code number.
2544
        * caller-save.c (init_caller_save): Use extract_insn, not insn_extract.
2545
        * reorg.c (fill_slots_from_thread): Likewise.
2546
        * reload1.c (reload_as_needed): Likewise.
2547
        (gen_reload): Likewise.
2548
        (inc_for_reload): Likewise.
2549
        (reload_cse_simplify_operands): Likewise.
2550
        Use the information computed by extract_insn instead of the previous
2551
        method of finding it by insn code number.
2552
        * genattrtab.c (write_attr_case): Generate call to extract_insn, not
2553
        insn_extract.
2554
        * final.c (final_scan_insn): Use extract_insn, not insn_extract.
2555
        (cleanup_operand_subregs): Use extract_insn, not insn_extract.
2556
        Use the information computed by extract_insn instead of the previous
2557
        method of finding it by insn code number.
2558
        * regmove.c (find_matches): Likewise.  Change meaning of the return
2559
        value to be nonzero if the optimization can be performed, zero if
2560
        not.  All callers changed.
2561
        Shorten some variable names to fix formatting problems.
2562
        (regmove_optimize): Shorten some variable names to fix formatting
2563
        problems.
2564
        Use the information computed by extract_insn instead of the previous
2565
        method of finding it by insn code number.
2566
        * regclass.c (scan_one_insn): Likewise.
2567
        (record_reg_classes): Don't compute operand types, use recog_op_type.
2568
        * reload.c (find_reloads): Lose CONSTRAINTS1 variable; use
2569
        recog_constraints instead.
2570
 
2571
Wed Nov  4 21:37:46 1998  Jeffrey A Law  (law@cygnus.com)
2572
 
2573
        * rtl.h (flow2_completed): Declare.
2574
        * flow.c (flow2_completed): Definition.
2575
        * toplev.c (rest_of_compilation): Set and clear flow2_completed
2576
        as necessary.
2577
 
2578
Wed Nov  4 19:15:37 1998  Melissa O'Neill  
2579
 
2580
        * Makefile.in (libcpp.a): Ranlib libcpp.a.
2581
 
2582
        * cppulp.c (user_label_prefix): Initialize.
2583
 
2584
Wed Nov  4 19:07:08 1998  John Wehle  (john@feith.com)
2585
 
2586
        * flow.c (mark_regs_live_at_end): Mark the stack pointer as live
2587
        at a RETURN if current_function_sp_is_unchanging is set.
2588
 
2589
Wed Nov  4 18:16:29 1998  Herman A.J. ten Brugge  
2590
 
2591
        * emit-rtl.c (try_split): Fixed error in Oct 10 patch.
2592
 
2593
Wed Nov  4 15:11:15 1998  Geoffrey Noer  
2594
 
2595
        * i386/cygwin32.h (MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS, MASK_DLL,
2596
        TARGET_WIN32, TARGET_CYGWIN, TARGET_WINDOWS, TARGET_DLL): New.
2597
        (SUBTARGET_SWITCHES): Add -mno-cygwin, -mcygwin, and -mdll options.
2598
        (CPP_PREDEFINES): Don't define __CYGWIN32__ here.
2599
        (STARTFILE_SPEC): Handle -mdll, -mno-cygwin options.
2600
        (CPP_SPEC): Handle -mno-cygwin option.  Define __CYWIN__ in addition
2601
        to __CYGWIN32__.
2602
        (LIB_SPEC): Handle -mno-cygwin option.
2603
        (LINK_SPEC): Handle -mdll.
2604
 
2605
Wed Nov  4 22:56:14 1998  J"orn Rennecke  
2606
 
2607
        * reload.c (find_reloads): Fix test for usage by other reload
2608
        to handle secondary reloads properly.
2609
 
2610
Wed Nov  4 17:25:10 1998  Kaveh R. Ghazi  
2611
 
2612
        * reload1.c (ELIMINABLE_REGS, NUM_ELIMINABLE_REGS): Introduce an
2613
        intermediate structure which has exactly the members provided by
2614
        ELIMINABLE_REGS.  Define NUM_ELIMINABLE_REGS in terms of the
2615
        static intermediate structure.
2616
 
2617
        (init_elim_table): Xmalloc() `reg_eliminate', and initialize it
2618
        from the intermediate structure.  Do the same analogous fix in
2619
        the case where ELIMINABLE_REGS is not defined.
2620
 
2621
Tue Nov  3 20:50:03 1998  Jeffrey A Law  (law@cygnus.com)
2622
 
2623
        * pa.h (SELECT_SECTION): Fix thinko.
2624
 
2625
Tue Nov  3 17:51:36 1998  Jim Wilson  
2626
 
2627
        * dwarf2out.c (output_call_frame_info): Comments on last change.
2628
 
2629
Tue Nov  3 07:51:43 1998  Richard Earnshaw  (rearnsha@arm.com)
2630
 
2631
        * arm.c (add_constant): When taking the address of an item in the
2632
        pool, get the mode of the item addressed.
2633
 
2634
        * arm.c (final_prescan_insn case INSN): If an insn doesn't
2635
        contain a SET or a PARALLEL, don't consider it for conditional
2636
        execution.
2637
 
2638
        Restore ABI compatibility for NetBSD.
2639
        * arm/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Override setting in
2640
        arm.h.
2641
        (RETURN_IN_MEMORY): Likewise.
2642
 
2643
Mon Nov  2 11:46:17 1998  Doug Evans  
2644
 
2645
        * m32r/m32r.c (m32r_expand_block_move): Fix byte count computations.
2646
        (m32r_output_block_move): Rewrite bytes < 4 handling.
2647
 
2648
Mon Nov  2 10:10:35 1998  Kaveh R. Ghazi  
2649
 
2650
        * configure.in: Call AC_FUNC_VFORK.
2651
 
2652
        * collect2.c: Define VFORK_STRING as a printable string for
2653
        error messages (either "vfork" or "fork".)  If HAVE_VFORK_H is
2654
        defined, include vfork.h.  If VMS is defined, define vfork()
2655
        appropriately.  Remove vfork check on USG, we're using autoconf.
2656
        (collect_execute): Pass VFORK_STRING to fatal_perror instead of
2657
        checking locally what string to pass.
2658
        (scan_prog_file): Likewise.
2659
        (scan_libraries): Likewise.
2660
 
2661
        * gcc.c: Remove vfork check on USG, we're using autoconf.
2662
        Besides, no calls to vfork/fork occur in this file.
2663
 
2664
        * protoize.c: Likewise.
2665
 
2666
Mon Nov  2 07:52:28 1998  Alexandre Oliva  
2667
 
2668
        * configure.in (DEFAULT_LINKER): Renamed from LD.
2669
        (DEFAULT_ASSEMBLER): Renamed from AS; reverted Schwab's patch.
2670
        (gcc_cv_as): Try $DEFAULT_ASSEMBLER before $AS.
2671
        * configure: Rebuilt.
2672
 
2673
Mon Nov  2 01:48:10 1998  Alexandre Oliva  
2674
 
2675
        * BUGS: Fix the regexp for `more' to find the appropriate node.
2676
        Reported by Joerg Pietschmann  
2677
 
2678
        * BUGS: Added link to the WWW FAQ.
2679
 
2680
Sun Nov  1 18:27:15 1998  Jeff Law  (law@cygnus.com)
2681
 
2682
        * version.c: Bump for snapshot.
2683
 
2684
Sun Nov  1 11:04:32 1998  Jeffrey A Law  (law@cygnus.com)
2685
 
2686
        * From Christian Gafton:
2687
        * i386/linux.h (CPP_PREDEFINES): Add -D__i386__.
2688
        * sparc/linux.h (CPP_PREDEFINES): Add -D__sparc__.
2689
        * sparc/linux64.h (CPP_PREDEFINES): Add -D__sparc__.
2690
 
2691
Sat Oct 31 21:42:39 1998  Mark Mitchell  
2692
 
2693
        * c-common.c (c_get_alias_set): Allow all type-punning through
2694
        unions.  Don't get confused about the type of a bit-field, despite
2695
        the antics of build_modify_expr.
2696
 
2697
Sat Oct 31 22:35:29 1998  Jean-Pierre Radley  
2698
 
2699
        * fixinc.sco: Parameterize #include_next values.
2700
        * fixinc/fixinc.sco: Likewise.
2701
 
2702
Sat Oct 31 20:39:35 1998  Jeffrey A Law  (law@cygnus.com)
2703
 
2704
        * toplev.c (rest_of_compilation): No longer set reload_completed.
2705
        * reload1.c (reload): Set it here.  Perform instruction splitting
2706
        after reload has completed if we will be running the scheduler
2707
        again.
2708
 
2709
Sat Oct 31 12:30:02 1998  Jeffrey A Law  (law@cygnus.com)
2710
 
2711
        * jump.c (jump_optimize): Initialize mappings from INSN_UID to
2712
        EH region if exceptions are enabled and we're performing cross
2713
        jump optimizations.
2714
        (find_cross_jump): Exit loop if the insns are in different EH regions.
2715
 
2716
Sat Oct 31 10:02:48 1998  Mark Mitchell  
2717
 
2718
        * dwarf2out.c (output_call_frame_info): Use
2719
        ASM_OUTPUT_DWARF_DELTA4 for the CIE offset to match frame.c.
2720
 
2721
Sat Oct 31 10:23:14 1998  Kaveh R. Ghazi  
2722
 
2723
        Reinstall Apr 24th fix, lost during May 6th gcc2 merge:
2724
        * c-common.c (check_format_info): Don't check for the 'x'
2725
        format character twice, instead check for 'x' and 'X'
2726
 
2727
Fri Oct 30 14:50:25 1998  Jeffrey A Law  (law@cygnus.com)
2728
 
2729
        * configure.in (assembler features): Also make gas is configured if
2730
        we find it in the source tree.
2731
 
2732
Fri Oct 30 13:23:20 1998  Richard Henderson  
2733
 
2734
        * i386.c (i386_comp_type_attributes): Compare whether the
2735
        attributes are defined, not their tree nodes.
2736
 
2737
Fri Oct 30 11:39:47 1998  Alexandre Oliva  
2738
 
2739
        * configure.in (gxx_include_dir): Bitten by autoconf quoting
2740
        characters.  :-(
2741
        * configure: Rebuilt.
2742
 
2743
Fri Oct 30 10:43:29 1998  Andreas Schwab  
2744
 
2745
        * configure.in: Ignore non-absolute value in $AS.
2746
 
2747
Fri Oct 30 00:54:25 1998  Peter Jakubek  
2748
 
2749
        * m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko.
2750
 
2751
Fri Oct 30 00:42:34 1998  Mark Elbrecht  
2752
 
2753
        * configure.in (msdosdjgpp): Set exeext and target_alias.
2754
 
2755
Thu Oct 29 23:55:43 1998  Bernd Schmidt  
2756
 
2757
        * flow.c (XNMALLOC): New macro.
2758
        (flow_int_list_blocks, basic_block_succ, basic_block_pred): New
2759
        static variables.
2760
        (add_edge, add_edge_to_label): New static functions.
2761
        (free_bb_memory): New function.
2762
        (flow_delete_insn): Delete function.
2763
        (basic_block_drops_in): Delete variable.
2764
        (find_basic_blocks): Allocate and initialize basic_block_head,
2765
        basic_block_succ.  Don't allocate basic_block_drops_in.
2766
        Call free_bb_memory at the beginning.
2767
        (find_basic_blocks_1): Don't do multiple passes.
2768
        Delete code to compute basic_block_drops_in.
2769
        After calling make_edges, mark blocks reached by current block live.
2770
        Update test for unreachable live blocks.
2771
        (mark_label_ref): Delete args X, CHECKDUP.  Add PRED arg.  All callers
2772
        changed.
2773
        Simplify to call add_edge_to_label when a LABEL_REF is found.
2774
        (make_edges): Simplify to call add_edge_to_label instead of
2775
        mark_label_ref most of the time.
2776
        Compute here whether control drops into the next block.
2777
        (delete_unreachable_blocks): Return void.  All callers changed.
2778
        Delete unreachable blocks in reverse order.
2779
        After deleting all unreachable blocks, renumber the remaining ones
2780
        and update n_basic_blocks.
2781
        (delete_block): Speed up deletion a bit.
2782
        Don't set basic_block_drops_in for deleted blocks.
2783
        (free_basic_block_vars): Don't free basic_block_drops_in.
2784
        (life_analysis_1): Update to use new edge representation.
2785
        (dump_flow_info): Delete code to print basic block info; call
2786
        dump_bb_data instead.
2787
        (compute_preds_succs): Delete code to recompute basic_block_drops_in
2788
        and uid_block_number.
2789
        Simply copy the previously computed cfg.
2790
        (dump_bb_data): New arg LIVE_INFO.  All callers changed.
2791
        Print register lifetime information if LIVE_INFO is nonzero.
2792
        * basic-block.h (dump_bb_data): Adjust prototype.
2793
        * gcse.c (gcse_main): Update call to dump_bb_data.
2794
        * rtl.h (free_bb_memory): Declare.
2795
        * toplev.c (rest_of_compilation): Call free_bb_memory.
2796
 
2797
        * reload1.c (struct elim_table): Delete MAX_OFFSET member.
2798
        (update_eliminable_offsets): Don't compute it.
2799
        (set_initial_elim_offsets): Don't initialize it.
2800
        Break out some code into set_initial_label_offsets so the rest of
2801
        this function can be called from reload_as_needed.
2802
        Assume that INITIAL_FRAME_POINTER_OFFSET is defined when
2803
        ELIMINABLE_REGS isn't.
2804
        (set_initial_label_offsets): New function, broken out of
2805
        set_initial_elim_offsets.
2806
        (set_offsets_for_label): New function, broken out of set_label_offsets
2807
        and reload_as_needed.
2808
        (reload): Call the two new functions.
2809
        (reload_as_needed): Call set_initial_elim_offsets instead of
2810
        duplicating the code.  Likewise for set_offsets_for_label.
2811
 
2812
        * reload1.c (choose_reload_regs): Fix typo in Oct 17 change.
2813
        (emit_reload_insns): Ensure that when we set reg_reloaded_valid for
2814
        any hard reg, reg_reloaded_dead contains valid data.
2815
 
2816
Thu Oct 29 22:30:54 1998  Marcus Meissner  
2817
 
2818
        * i386.c (i386_comp_type_attributes): Return nonzero for mismatched
2819
        "stdcall" and "cdecl" attributes.
2820
 
2821
Thu Oct 29 19:05:17 1998  Jim Wilson  
2822
 
2823
        * sched.c (update_flow_info): Add code to ! found_orig_dest case to
2824
        handle deleted no-op moves of hard registers.
2825
        * haifa-sched.c (update_flow_info): Likewise.
2826
 
2827
Thu Oct 29 18:07:47 1998  Jeffrey A Law  (law@cygnus.com)
2828
 
2829
        * mips.md (reload_{in,out}{si,di}): Emit a USE of HILO at the end
2830
        of the sequences to reload the HILO register which do not actually
2831
        reference HILO.
2832
 
2833
Thu Oct 29 12:39:35 1998  Jim Wilson  
2834
 
2835
        * c-common.c (c_get_alias_set): Handle ARRAY_REF of union field.
2836
 
2837
Thu Oct 29 14:10:22 1998  Andrew MacLeod  
2838
 
2839
        * except.c (emit_eh_context): Make the EH context register stay alive
2840
        at -O0 so stupid.c doesn't get confused.
2841
 
2842
1998-10-29  Herman A.J. ten Brugge  
2843
 
2844
        * emit-rtl.c (try_split): Do not try to split a BARRIER.
2845
 
2846
Thu Oct 29 01:33:54 1998  Jan Hubicka  
2847
                          Jeffrey A Law  (law@cygnus.com)
2848
 
2849
        * i386.md: Change ix86_cpu == PROCESSOR_PENTIUM to TARGET_PENTIUM.
2850
        (zero_extendsidi2): Use # in output template and handle completely by
2851
        splits.
2852
        (zero_extend splitters): New define_splits.
2853
        (ashiftrt_32): New pattern.
2854
 
2855
Wed Oct 28 22:58:35 1998  Jason Merrill  
2856
 
2857
        * tree.c (append_random_chars): New fn.
2858
        (get_file_function_name_long): Use it.
2859
 
2860
Wed Oct 28 22:27:05 1998  Richard Henderson  
2861
 
2862
        * Makefile.in (cc1): Put C_OBJS, and thence @extra_c_objs@ last.
2863
        (LIBCPP_OBJS): New.  Add cppulp.o.
2864
        (cppmain, fix-header): Depend on and use libcpp.a.
2865
        * configure.in (extra_c_objs, extra_cxx_objs): Use libcpp.a instead
2866
        of the individual object files.
2867
        * objc/Make-lang.in (cc1obj): Put OBJC_OBJS, and thence @extra_c_objs@,
2868
        last.
2869
 
2870
        * cccp.c (user_label_prefix): New.
2871
        (main): Set it off -f*leading-underscore.
2872
        (special_symbol): Use it.
2873
        * cpplib.c (special_symbol): Likewise.
2874
        (cpp_handle_option): Handle -f*leading-underscore.
2875
        * cppulp.c: New file.
2876
 
2877
        * output.h (user_label_prefix): Declare it.
2878
        * dwarf2out.c (ASM_NAME_TO_STRING): Prepend user_label_prefix.
2879
        * toplev.c (f_options, main): Handle -f*leading-underscore.
2880
 
2881
        * defaults.h (ASM_OUTPUT_LABELREF): Use asm_fprintf instead of
2882
        referencing USER_LABEL_PREFIX directly.
2883
        * config/nextstep.h (ASM_OUTPUT_LABELREF): Likewise.
2884
        * m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
2885
        * final.c (asm_fprintf): Use user_label_prefix instead.
2886
        * arm/thumb.c (thumb_print_operand): Likewise.
2887
 
2888
        * gcc.c (default_compilers): Pass -f*leading-underscore on to
2889
        cpp wherever appropriate.
2890
 
2891
Wed Oct 28 23:09:25 1998  Robert Lipe  
2892
 
2893
        * sco5.h (SUBTARGET_SWITCHES): Add documentation for OpenServer-
2894
        specific compiler switches.
2895
 
2896
Wed Oct 28 21:05:53 1998  Jeffrey A Law  (law@cygnus.com)
2897
 
2898
        * Makefile.in (c-common.o): Depend on c-pragma.h.  Use $(RTL_H) instead
2899
        of rtl.h.
2900
 
2901
Wed Oct 28 20:52:47 1998  Kaveh R. Ghazi  
2902
 
2903
        * gcc.c (EXTRA_SPECS, extra_specs): Introduce an intermediate
2904
        structure which has exactly the members provided by EXTRA_SPECS.
2905
        Xmalloc() the real `extra_specs', and initialize it from this
2906
        intermediate structure.
2907
 
2908
        * alpha.h (EXTRA_SPECS): Revert change for missing initializers.
2909
 
2910
        * mips.h  (EXTRA_SPECS): Likewise.
2911
 
2912
        * sparc.h (EXTRA_SPECS): Likewise.
2913
 
2914
Wed Oct 28 16:46:07 1998  Andreas Schwab  
2915
 
2916
        * function.c (purge_addressof_1): Instead of aborting when a
2917
        bitfield insertion as a replacement for (MEM (ADDRESSOF)) does not
2918
        work just put the ADDRESSOF on stack.  Otherwise remember all such
2919
        successful replacements, so that exactly the same replacements
2920
        can be made on the REG_NOTEs.  Remove the special case for CALL
2921
        insns again.
2922
        (purge_addressof_replacements): New variable.
2923
        (purge_addressof): Clear it at end.
2924
 
2925
1998-10-28  Zack Weinberg  
2926
 
2927
        * c-lang.c: Declare extern char *yy_cur if USE_CPPLIB.
2928
          (lang_init): Call check_newline always.
2929
        * c-lex.c (init_parse) [USE_CPPLIB=1]: After calling
2930
          cpp_start_read, set yy_cur and yy_lim to read from
2931
          parse_in.token_buffer, so that we'll see the first #line
2932
          directive.
2933
        * cpplib.c (cpp_start_read): finclude the main input file
2934
          before processing -include/-imacros.   Process -imacros and
2935
          -include separately, and handle -include by stacking a
2936
          buffer for the file in question as if it'd been #included.
2937
        * toplev.c (documented_lang_options): Recognize -H when
2938
          USE_CPPLIB is on.
2939
 
2940
1998-10-28  Zack Weinberg  
2941
 
2942
        * cpplib.c: Merge do_once into do_pragma.  Break file handling
2943
          code out of do_include.
2944
          Move append_include_chain, deps_output,
2945
          file_cleanup, redundant_include_p, import_hash,
2946
          lookup_import, add_import, read_filename_string, read_name_map,
2947
          open_include_file, finclude, safe_read to cppfiles.c.
2948
          Move prototypes for deps_output, append_include_chain,
2949
          finclude to cpplib.h.  Move definition of struct
2950
          file_name_list there also.
2951
 
2952
        * cppfiles.c: New file.  Contains all the above functions
2953
          broken out of cpplib.c; also hack_vms_include_specification
2954
          from cccp.c and find_include_file, a new function broken out of
2955
          do_include.
2956
 
2957
        * Makefile.in (cppmain): Depend on cppfiles.o.
2958
          (fix-header): Likewise.
2959
          (cppfiles.o): New target.
2960
        * configure.in (--enable-c-cpplib): Add cppfiles.o to
2961
          extra_c_objs.  Add ../cppfiles.o to extra_cxx_objs.
2962
 
2963
Wed Oct 28 14:06:49 1998  Jim Wilson  
2964
 
2965
        * dwarfout.c (dwarfout_file_scope_decl): If DECL_CONTEXT, don't abort
2966
        if pending_types is nonzero.
2967
        (dwarfout_finish): Verify pending_types is zero before finishing.
2968
 
2969
Wed Oct 28 10:29:09 1998  Nick Clifton  
2970
 
2971
        * expr.c (convert_move): Use shifts to perform the move if a
2972
        suitable extend pattern cannot be found.  Code written by
2973
        Richard Henderson .
2974
 
2975
Wed Oct 28 03:59:29 1998  Bernd Schmidt  
2976
 
2977
        * regclass.c (renumber, regno_allocated): New static variables, moved
2978
        out of allocate_reg_info.
2979
        (allocate_reg_info): Move these two variables outside the function.
2980
        Move code to free memory into new function free_reg_info.
2981
        (free_reg_info): New function, broken out of allocate_reg_info.
2982
        * toplev.c (compile_file): Call free_reg_info, not allocate_reg_info.
2983
        * rtl.h (allocate_reg_info): Don't declare.
2984
        (free_reg_info): Declare.
2985
 
2986
        * final.c (cleanup_subreg_operands): ASM_INPUTs need no treatment.
2987
 
2988
Wed Oct 28 02:38:12 1998  Jason Merrill  
2989
 
2990
        * toplev.c (compile_file): Temporarily revert last change.
2991
 
2992
Wed Oct 28 00:00:35 1998  Jason Merrill  
2993
 
2994
        * c-typeck.c (convert_for_assignment): Parenthesize.
2995
 
2996
1998-10-28  Andreas Schwab  
2997
 
2998
        * reload1.c (delete_output_reload): Avoid ambigous else.
2999
 
3000
Wed Oct 28 00:10:35 1998  Jeffrey A Law  (law@cygnus.com)
3001
 
3002
        * toplev.c (compile_file): Call allocate_reg_info to free register
3003
        table memory.
3004
        * rtl.h (allocate_reg_info): Declare.
3005
 
3006
        * PROJECTS: Remove entry for local spilling.
3007
 
3008
        * final.c (cleanup_subreg_operands): New function.
3009
        (final_scan_insn): Use it.
3010
        (alter_subreg): Clear the "used" field when we turn a SUBREG into
3011
        a REG.
3012
        * reload1.c (reload): Delete CLOBBER insns and also cleanup SUBREG
3013
        operands when reload has finished.
3014
        * reload.h (cleanup_subreg_operands): Declare..
3015
        * flow.c (life_analysis_1): No longer delete CLOBBER insns after
3016
        reload.  Handled in reload itself.
3017
 
3018
Tue Oct 27 23:32:34 1998  Bernd Schmidt  
3019
 
3020
        * reload1.c (verify_initial_offsets): New function.
3021
        (reload): Call it after reload_as_needed.  Also verify that the frame
3022
        size stays constant during reload_as_needed.
3023
        * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Undo Jul 26 change.
3024
 
3025
        * reload.h (struct insn_chain): Add need_operand_change element.
3026
        * reload1.c (new_insn_chain): Clear it.
3027
        (calculate_needs_all_insns): Set it; don't overload need_reload.
3028
        (reload_as_needed): Use it.
3029
 
3030
        * reload.c (find_reloads_address): Use BASE_REG_CLASS instead of
3031
        reload_address_base_reg_class throughout.  Similar for INDEX_REG_CLASS
3032
        and reload_address_index_reg_class.
3033
        (find_reloads_address_1): Likewise.
3034
        * reload.h (reload_address_base_reg_class,
3035
        reload_address_index_reg_class): Don't declare.
3036
        * reload1.c (reg_old_renumber, pseudo_previous_regs,
3037
        pseudo_forbidden_regs, bad_spill_regs_global): New static variables.
3038
        (used_spill_regs): Now static.
3039
        (reload_address_base_reg_class, reload_address_index_reg_class,
3040
        regs_explicitly_used, counted_for_groups, counted_for_nongroups,
3041
        basic_block_needs, max_needs, group_size, group_mode, max_groups,
3042
        max_nongroups, max_needs_insn, max_groups_insn, max_nongroups_insn,
3043
        forbidden_regs):
3044
        Deleted variables.
3045
        (init_reload): Delete code to compute base/index reg classes.
3046
        (reload): Delete variable J.
3047
        Delete code to manage basic_block_needs.
3048
        Don't compute regs_explicitly_used.
3049
        Allocate, initialize and free reg_old_renumber, pseudo_forbidden_regs,
3050
        pseudo_previous_regs.
3051
        Initialize bad_spill_regs_global.
3052
        Don't call order_regs_for_reload here.
3053
        Don't initialize spill_reg_order and n_spills.
3054
        Don't forbid explicitly used regs to be used for spill regs.
3055
        Change main loop to infinite loop, with explicit break statements.
3056
        Make SOMETHING_CHANGED variable local to that loop.
3057
        Don't initialize max_needs, max_groups, max_nongroups, max_needs_insn,
3058
        max_groups_insn, max_nongroups_insn, group_size, group_mode.
3059
        Make sure spilled_pseudos is cleared before calling spill_hard_reg or
3060
        new_spill_reg.
3061
        Don't call dump_needs.
3062
        Delete code to reset potential_reload_regs.
3063
        Delete code to terminate loop conditional on the global needs variables
3064
        showing no further needs.
3065
        (calculate_needs_all_insns): Return void.  All callers changed.
3066
        Initialize something_needs_elimination here, not in reload.
3067
        Delete avoid_return_reg kludge.
3068
        (calculate_needs): Lose AVOID_RETURN_REG and GLOBAL args, return void.
3069
        All callers changed.
3070
        Initialize the group_mode and group_size elements of the arg CHAIN.
3071
        Delete code to manage basic_block_needs.
3072
        Operate on elements of CHAIN instead of global variables.
3073
        Delete avoid_return_reg kludge.
3074
        (find_tworeg_group): Lose GLOBAL arg, take CHAIN arg, return void.
3075
        All callers changed.
3076
        Operate on elements of CHAIN instead of global variables.
3077
        Delete special SMALL_REGISTER_CLASSES code.
3078
        Delete spill_failure code; now in new_spill_reg.
3079
        (find_group): Lose GLOBAL arg, take CHAIN arg, return void.
3080
        All callers changed.
3081
        Operate on elements of CHAIN instead of global variables.
3082
        (maybe_mark_pseudo_spilled): New static function.
3083
        (find_reload_regs): Lose GLOBAL arg, take CHAIN arg, return void.
3084
        All callers changed.
3085
        Operate on elements of CHAIN instead of global variables.
3086
        Call order_regs_for_reload here, not in reload.
3087
        Initialize spill_reg_order and n_spills.
3088
        Simplify test whether an asm insn is involved.
3089
        Delete spill_failure code; now in new_spill_reg.
3090
        Call maybe_mark_pseudo_spilled for everything marked as live in
3091
        CHAIN.  Merge CHAIN's used_spill_regs into the global variable
3092
        used_spill_regs.
3093
        (dump_needs): Take CHAIN arg.  No longer static, to prevent the
3094
        compiler from optimizing this function (now unused) away.
3095
        Operate on elements of CHAIN instead of global variables.
3096
        (possible_group_p): Lose MAX_GROUPS arg, take CHAIN arg.  All callers
3097
        changed.
3098
        Operate on elements of CHAIN instead of global variables.
3099
        (count_possible_groups): Lose GROUP_SIZE, GROUP_MODE, MAX_GROUPS args,
3100
        take CHAIN arg.  All callers changed.
3101
        Operate on elements of CHAIN instead of global variables.
3102
        (new_spill_reg): Lose MAX_NEEDS, MAX_NONGROUPS, GLOBAL args, take
3103
        CHAIN, NONGROUP args.  Return void.  All callers changed.
3104
        Verify caller isn't trying to spill a pseudo.
3105
        Simplify test for illegal reg, just use bad_spill_regs.
3106
        Generate better error messages.
3107
        Operate on elements of CHAIN instead of global variables.
3108
        Mark spilled register in CHAIN's used_spill_regs element.
3109
        Don't call spill_hard_reg.
3110
        (spill_hard_reg): Lose GLOBAL arg, return void.  All callers changed.
3111
        Mark spilled hard regs in bad_spill_regs_global.
3112
        Mark affected pseudos in spilled_pseudos, but don't spill them.
3113
        (ior_hard_reg_set): New static function.
3114
        (finish_spills): Return int.  All callers changed.
3115
        Compute spill_reg_order, n_spills and spill_regs here.  Also update
3116
        regs_ever_live for regs used as spills.
3117
        For every pseudo in spilled_pseudos, spill it and mark the previous
3118
        hard reg it had in pseudo_previous_regs.  Compute which hard regs
3119
        are used as spills in insns during which it is live, and retry global
3120
        register allocation.  Update all life information in the
3121
        reload_insn_chain not to include pseudos without hard regs.
3122
        Call alter_reg for all affected speudos.
3123
 
3124
        (scan_paradoxical_subregs): Disable SMALL_REGISTER_CLASSES special
3125
        case, it's not clear what it's supposed to do.
3126
 
3127
        (hard_reg_use_compare): Take bad_spill_regs into account.
3128
        (pseudos_counted): New static variable.
3129
        (count_pseudo): New static function.
3130
        (order_regs_for_reload): Take CHAIN arg.  All callers changed.
3131
        Initialize bad_spill_regs from bad_spill_regs_global, then merge any
3132
        hard registers explicitly used across the current insn into the set.
3133
        Compute hard_reg_n_uses taking only pseudos live across this insn
3134
        into account.
3135
        Tweak sorting of potential_reload_regs.
3136
        (compare_spill_regs): Delete function.
3137
        (reload_as_needed): Don't sort the spill_regs array, it's computed
3138
        in proper order in finish_spills.
3139
        Delete avoid_return_reg kludge.
3140
        Delete code to manage basic_block_needs.
3141
        (allocate_reload_reg): Minor speed/readability tweaks.
3142
        Operate on elements of CHAIN instead of global variables.
3143
        (choose_reload_regs): Lose AVOID_RETURN_REG arg.  All callers changed.
3144
        Delete avoid_return_reg kludge.
3145
        Initialize reload_reg_used from CHAIN's used_spill_regs element.
3146
        Delete unused label FAIL.
3147
        (reload_combine): Replace reload_address_index_reg_class with
3148
        INDEX_REGS.
3149
        Don't use used_spill_regs to determine information about lifetime of
3150
        hard regs.
3151
 
3152
Tue Oct 27 13:15:02 1998  Nick Clifton  
3153
 
3154
        * toplev.c (display_help): Ignore empty target specific
3155
        options, and if -W is also specified on the command line then
3156
        display undocumented options.
3157
 
3158
        * config/arm/arm.c: Updated with changes in devo sources.
3159
        * config/arm/arm.h: Updated with changes in devo sources.
3160
        * config/arm/lib1funcs.asm: Updated with changes in devo sources.
3161
        * config/arm/lib1thumb.asm: Add ELF support.
3162
 
3163
Tue Oct 27 16:11:43 1998  David Edelsohn  
3164
 
3165
        * collect2.c (aix64_flag): New variable.
3166
        (main, case 'b'): Parse it.
3167
        (GCC_CHECK_HDR): Object magic number must match mode.
3168
        (scan_prog_file): Only check for shared object if valid header.
3169
        Print debugging if header/mode mismatch.
3170
 
3171
Tue Oct 27 10:15:02 1998  Nick Clifton  
3172
 
3173
        Added support for arm-elf-linux configuration, submitted by Philip
3174
        Blundell , and integrated this with the arm-elf
3175
        code developed by Catherine Moore .  The following
3176
        files are affected:
3177
 
3178
        * configure.in: Add arm-*-linux-gnu, armv2-*-linux and arm-*-elf
3179
        targets.
3180
 
3181
        * configure: Regenerated.
3182
 
3183
        * config/arm/aout.h: Add default definitions of REGISTER_PREFIX,
3184
        USER_LABEL_PREFIX and LOCAL_LABEL_PREFIX.  Make other macro
3185
        definitions conditional on their not having been already defined.
3186
 
3187
        * config/arm/lin1funcs.asm: Add ELF only macros to generate .size
3188
        and .type directives, and add "(PLT)" qualification to function
3189
        calls.
3190
 
3191
        * config/arm/linux.h: Deleted.  This file is now superseded by
3192
        either linux-elf.h or linux-aout.h.
3193
 
3194
        * config/arm/linux-gas.h: Define `inhibit_libc' if cross-compiling.
3195
        (CLEAR_INSN_CACHE): New macro, currently disabled (awaiting kernel
3196
        support).
3197
        Move definitions from old linux.h file here.
3198
 
3199
        * config/arm/elf.h: New file.  Generic ARM/ELF support.
3200
 
3201
        * config/arm/linux-aout.h: New file.  Support for Linux with a.out.
3202
 
3203
        * config/arm/linux-elf.h: New file.  Support for Linux with ELF.
3204
 
3205
        * config/arm/linux-elf26.h: New file.  Support for Linux with ELF
3206
        using the 26bit APCS.
3207
 
3208
        * config/arm/unknown-elf.h: New file.  Support for OS'es other
3209
        than Linux with ELF.
3210
 
3211
        * config/arm/t-arm-elf: New file.  makefile fragment for arm-elf
3212
        builds.
3213
 
3214
        * config/arm/coff.h: Include aout.h for basic assembler macros.
3215
        Add support for -mstructure_size_boundary= command line option.
3216
 
3217
        * config/arm/arm.h: Add support for -mstructure_size_boundary=
3218
        command line option.  Make macro definitions conditional on their
3219
        not having been already defined.
3220
 
3221
        * config/arm/arm.c: Add support for -mstructure_size_boundary=
3222
        command line option.
3223
 
3224
 
3225
Tue Oct 27 08:56:46 1998  Andrew MacLeod  
3226
 
3227
        * dwarfout.c (ASM_OUTPUT_DWARF_STRING_NEWLINE): ASM_OUTPUT_DWARF_STRING
3228
        has been changed to not include a newline. Use this macro instead.
3229
        (output_enumeral_list, const_value_attribute, name_attribute,
3230
        comp_dir_attribute, prototyped_attribute, producer_attribute,
3231
        inline_attribute, pure_or_virtual_attribute, output_inheritance_die,
3232
        dwarfout_file_scope_decl, generate_new_sfname_entry,
3233
        generate_macinfo_entry, dwarfout_init, dwarfout_finish): Use
3234
        ASM_OUTPUT_DWARF_STRING_NEWLINE macro.
3235
 
3236
Mon Oct 26 13:35:02 1998  Richard Henderson  
3237
 
3238
        * combine.c (subst): Process the inputs to a parallel asm_operands
3239
        only once.
3240
 
3241
Mon Oct 26 13:32:31 1998  Richard Henderson  
3242
 
3243
        * stmt.c (expand_asm_operands): Accept `=' or `+' at any position.
3244
 
3245
Mon Oct 26 12:53:14 1998  Jeffrey A Law  (law@cygnus.com)
3246
 
3247
        * tm.texi (ASM_OUTPUT_MAX_SKIP_ALIGN): Document.
3248
 
3249
Mon Oct 26 00:36:58 1998  Jeff Law  (law@cygnus.com)
3250
 
3251
        * version.c: Bump for snapshot.
3252
 
3253
Sun Oct 25 23:36:52 1998  Jason Merrill  
3254
 
3255
        * stmt.c (expand_fixup): Set fixup->before_jump to a
3256
        NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG.
3257
 
3258
Sun Oct 25 15:49:57 1998  Kaveh R. Ghazi  
3259
 
3260
        * Makefile.in (recog.o): Depend on toplev.h.
3261
        (insn-emit.o): Depend on recog.h.
3262
        (insn-peep.o): Depend on recog.h and insn-config.h.
3263
 
3264
        * combine.c (simplify_set): Remove unused variable `scratches'.
3265
 
3266
        * final.c (final_scan_insn): Wrap declaration of variables `vlen'
3267
        and `idx' in macro conditional controlling their use.
3268
 
3269
        * genemit.c (main): Make the generated output file include
3270
        recog.h.  Don't have it declare `insn_operand_constraint', since
3271
        we get it from recog.h.
3272
 
3273
        * genpeep.c (main): Make the generated output file include
3274
        insn-config.h and recog.h.
3275
 
3276
        * recog.c: Include toplev.h.
3277
        (extract_insn): Remove unused variable `p'.
3278
 
3279
        * regclass.c (fix_register): Add missing braces around initializer
3280
        for `what_option'.
3281
        (allocate_reg_info): Move variable `i' into the scope where it is
3282
        used.  Change its type to `size_t'.
3283
 
3284
Sun Oct 25 13:10:15 1998  Bernd Schmidt  
3285
 
3286
        * reload.c (push_reload): When merging reloads, make sure
3287
        that reload_in_reg and reload_in are from the same reload in
3288
        all cases.
3289
 
3290
Sun Oct 25 12:07:00 1998  Mumit Khan  
3291
 
3292
        * i386/crtdll.h (CPP_PREDEFINES): Fix typo.
3293
        * i386/mingw32.h (CPP_PREDEFINES): Likewise.
3294
 
3295
Fri Oct 23 23:42:03 1998  David Edelsohn  
3296
 
3297
        * loop.c (loop_has_tablejump): New variable.
3298
        (prescan_loop): Scan for it.
3299
        (insert_bct): Replace explicit scan with use of it.
3300
        * regclass.c (regclass): Restore loop variable j.
3301
        (record_reg_classes): Deterine op_types modifiers and initialize
3302
        classes[i] before matching constraints.  Handle matching
3303
        constraints 5-9.
3304
 
3305
Fri Oct 23 13:55:48 1998  Jim Wilson  
3306
 
3307
        * m32r/m32r.c (gen_split_move_double): Call alter_subreg.  Delete
3308
        subreg support.
3309
 
3310
Fri Oct 23 16:19:24 1998  Kaveh R. Ghazi  
3311
 
3312
        * mips.h (EXTRA_SPECS): Add missing initializers.
3313
 
3314
Fri Oct 23 16:08:39 1998  Kaveh R. Ghazi  
3315
 
3316
        * sparc.h (EXTRA_SPECS): Add missing initializers.
3317
        (sparc_defer_case_vector): Provide a prototype.
3318
 
3319
        * svr4.h (ASM_OUTPUT_ASCII): Cast STRING_LIMIT to (long) when
3320
        comparing it to the result of a pointer subtraction.
3321
 
3322
Fri Oct 23 15:34:14 1998  Kaveh R. Ghazi  
3323
 
3324
        * alpha.c (override_options): Use ISDIGIT(), not isdigit().  Cast
3325
        the argument to (unsigned char).
3326
 
3327
        * alpha.h (EXTRA_SPECS): Add missing initializers.
3328
        (ASM_GENERATE_INTERNAL_LABEL): Ensure the argument matches the
3329
        format specifier.
3330
 
3331
Fri Oct 23 13:12:35 1998  Jeffrey A Law  (law@cygnus.com)
3332
 
3333
        * flow.c (life_analysis_1): Enable "rescan" code after reload.
3334
        (propagate_block): Delete dead code after reload.
3335
 
3336
        * sched.c (update_flow_info): Revert Oct 19, 1998 change.  Brings
3337
        back Oct 15, 1998 change.
3338
        * haifa-sched.c (update_flow_info): Likewise.
3339
        * flow.c (life_analysis_1): Delete CLOBBER insns after reload.
3340
 
3341
        * mn10200.md (truncated shift): Accept constant inputs too.
3342
 
3343
Fri Oct 23 04:06:57 1998  Richard Earnshaw  (rearnsha@arm.com)
3344
 
3345
        * machmode.h (mode_mask_array): No longer const.
3346
        * rtl.c (init_rtl): Fully initialize it if EXTRA_CC_MODES defined.
3347
 
3348
Fri Oct 23 11:19:06 1998  Martin v. Löwis  
3349
 
3350
        * frame.c: Somewhat explain `FDE'.
3351
        Suggested by Brendan Kehoe
3352
 
3353
Fri Oct 23 00:56:11 1998  Jason Merrill  
3354
 
3355
        * expr.c (pending_chain): Move up.
3356
        (save_expr_status): Do save pending_chain.
3357
        (restore_expr_status): And restore it.
3358
        * function.h (struct function): Add pending_chain.
3359
 
3360
1998-10-23  Herman A.J. ten Brugge  
3361
 
3362
        * reorg.c (relax_delay_slots): Fixed test for mostly_true_jump. The
3363
        did not match the code.
3364
 
3365
Fri Oct 23 00:07:01 1998  Bernd Schmidt  
3366
 
3367
        * regclass.c (regclass): Break out some code into new function
3368
        scan_one_insn, and into regclass_init.
3369
        (init_cost): New static variable, moved out of regclass.
3370
        (regclass_init): Initialize it here, not in .
3371
        (scan_one_insn): New static function, broken out of regclass.
3372
        * recog.c (apply_change_group): Break out some code into new
3373
        function insn_invalid_p.
3374
        (insn_invalid_p): New static fn, broken out of apply_change_group.
3375
 
3376
Thu Oct 22 22:34:42 1998  Jim Wilson  
3377
 
3378
        * reload1.c (reload_as_needed): When rewrite POST_INC, verify
3379
        reg_reloaded_contents matches incremented pseudo.
3380
 
3381
        * v850/v850.c (v850_reorg): Call alter_subreg.  Delete subreg support.
3382
 
3383
Fri Oct 23 11:11:56 1998  Michael Hayes  
3384
 
3385
        * rtl.def (POST_MODIFY, PRE_MODIFY): New generalized operators for
3386
        addressing modes with side effects.  These are currently
3387
        placeholders for the C4x target.
3388
 
3389
Thu Oct 22 16:46:35 1998  Bernd Schmidt  
3390
 
3391
        * loop.c (express_from): Make sure that when generating a PLUS of
3392
        a PLUS, any constant expression appears on the outermost PLUS.
3393
 
3394
Thu Oct 22 15:46:23 1998  Per Bothner  (bothner@cygnus.com)
3395
 
3396
        * Makefile.in (distdir-cvs, distdir-start): Clean up so it
3397
        works if "$(srcdir)" != ".".
3398
 
3399
Wed Oct 21 19:23:59 1998  Jim Wilson  
3400
 
3401
        * expmed.c (store_bit_field): If need to add a SUBREG, then remove
3402
        existing SUBREG if we can, otherwise abort.
3403
 
3404
Wed Oct 21 09:58:51 1998  Mark Mitchell  
3405
 
3406
        * c-common.c (c_apply_type_quals_to_decl): Don't crash when
3407
        `restrict' is applied to a non-pointer variable.
3408
 
3409
Wed Oct 21 09:18:58 1998  Mark Mitchell  
3410
 
3411
        * invoke.texi: Document -flang-isoc9x.
3412
 
3413
        * Makefile.in (OBJS): Add splay-tree.o.
3414
        (c-common.o): Depend on rtl.h.
3415
        (splay-tree.o): List dependencies and provide build rule.
3416
 
3417
        * rtl.h (record_alias_subset): New function.
3418
        * alias.c: Include splay-tree.h.
3419
        (alias_set_entry): New type.
3420
        (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Remove.
3421
        (DIFFERENT_ALIAS_SETS_P): Use mem_in_disjoint_alias_sets_p.
3422
        (mems_in_disjoin_alias_sets_p): New function.
3423
        (alias_set_compare): Likewise.
3424
        (insert_subset_children): Likewise.
3425
        (get_alias_set_entry): Likewise.
3426
 
3427
        * tree.h (TYPE_RESTRICT): New macro.
3428
        (TYPE_UNQUALIFIED): New manifest constant.
3429
        (TYPE_QUAL_CONST): Likewise.
3430
        (TYPE_QUAL_VOLATILE): Likewise.
3431
        (TYPE_QUAL_RESTRICT): Likewise.
3432
        (tree_type): Add restrict_flag.  Reduce count of free bits.
3433
        (DECL_POINTER_ALIAS_SET): New macro.
3434
        (DECL_POINTER_ALIAS_SET_KNOWN_P): Likewise.
3435
        (tree_decl): Add pointer_alias_set.
3436
        (build_qualified_type): New function.
3437
        (build_type_variant): Define in terms of build_qualified_type.
3438
        * tree.c (set_type_quals): New function.
3439
        (make_node): Initialize DECL_POINTER_ALIAS_SET.
3440
        (build_type_attribute_variant): Use build_qualified_type and
3441
        set_type_quals.
3442
        (build_type_variant): Rename, and modify, to become...
3443
        (build_qualified_type): New function.
3444
        (build_complex_type): Use set_type_quals.
3445
 
3446
        * c-tree.h (C_TYPE_OBJECT_P): New macro.
3447
        (C_TYPE_FUNCTION_P): Likewise.
3448
        (C_TYPE_INCOMPLETE_P): Likewise.
3449
        (C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
3450
        (c_apply_type_quals_to_decl): New function.
3451
        (c_build_qualified_type): New function.
3452
        (c_build_type_variant): Define in terms of c_build_qualified_type.
3453
        (flag_isoc9x): Declare.
3454
        * c-typeck.c (qualify_type): Use c_build_qualified_type.
3455
        (common_type): Change to use TYPE_QUALS.
3456
        (comptypes): Likewise.
3457
        (convert_for_assignment): Likewise.
3458
        * c-aux-info.c (gen_type): Likewise.  Deal with `restrict'.
3459
        * c-decl.c (flag_isoc9x): Define.
3460
        (c_decode_option): Handle -flang-isoc9x.
3461
        (grokdeclarator): Update to handle restrict.  Use TYPE_QUALS,
3462
        c_build_qualified_type, etc.  Use c_apply_type_quals_to_decl.
3463
        * c-lex.c (init_lex): Deal with restrict.
3464
        (init_lex): Don't treat restrict as a reserved word in
3465
        -traditional mode, or without -flang-isoc9x.
3466
        * c-lex.h (rid): Add RID_RESTRICT.
3467
        * c-parse.gperf (restrict, __restrict, __restrict__): Make
3468
        equivalent to RID_RESTRICT.
3469
        * c-parse.in (TYPE_QUAL): Update comment.
3470
        * c-common.c: Include rtl.h.
3471
        (c_find_base_decl): New function.
3472
        (c_build_type_variant): Rename, and modify, to become ...
3473
        (c_build_qualified_type): New function.
3474
        (c_apply_type_quals_to_decl): Likewise.
3475
        (c_get_alias_set): For INDIRECT_REFs, check to see if we can find
3476
        a particular alias set for the reference.
3477
        * toplev.c (documented_lang_options): Add -flang-isoc9x.
3478
 
3479
Wed Oct 21 09:15:06 1998  Nick Clifton  
3480
 
3481
        * config/arm/arm.h (TARGET_SWITCHES): Document arm specific
3482
        command line switches.
3483
 
3484
Tue Oct 20 10:04:51 1998  Graham  
3485
 
3486
        * reload.c (loc_mentioned_in_p): Add missing braces to bind
3487
        else to correct if.
3488
 
3489
Mon Oct 19 16:34:05 1998  Tom Tromey  
3490
 
3491
        * gcc.c (option_map): Added --classpath and --CLASSPATH.
3492
 
3493
Tue Oct 20 10:59:02 1998  Gavin Romig-Koch  
3494
 
3495
        * regclass.c (fix_register): Add error message.
3496
        * invoke.texi (-fcall-used-REG,-fcall-saved-REG): Note the
3497
          new error message.
3498
 
3499
Tue Oct 20 10:12:17 1998  Kaveh R. Ghazi  
3500
 
3501
        * c-decl.c (warn_missing_noreturn): New global variable.
3502
        (c_decode_option): Check for new flags -W{no-}missing-noreturn.
3503
        (finish_function): Implement missing noreturn warning.
3504
 
3505
        * c-tree.h (warn_missing_noreturn): Declare extern.
3506
 
3507
        * invoke.texi: Document new flags.
3508
 
3509
        * toplev.c (documented_lang_options): Add description.
3510
 
3511
Tue Oct 20 22:16:11 1998  Michael Hayes  
3512
 
3513
        * config/c4x/c4x.c (c4x_parallel_process): Disable until BCT
3514
        loop optimization stable for the C4x.
3515
        (c4x_rptb_info_t, c4x_dump, c4x_rptb_in_range, c4x_rptb_unjumped_loop,
3516
        c4x_rptb_find_comp_and_jump, c4x_rptb_loop_info_get,
3517
        c4x_rptb_emit_init, c4x_rptb_process): Deleted (superseded by BCT
3518
        loop optimization).
3519
        (c4x_address_conflict): Be more paranoid when packing a volatile
3520
        memref in a parallel load/store.
3521
 
3522
Tue Oct 20 21:56:05 1998  Michael Hayes  
3523
 
3524
        * config/c4x/c4x.md (repeat_block_top, repeat_block_end,
3525
        repeat_block_filler): Deleted.
3526
        (*ashlqi3_set, *ashrqi3_const_set, *ashrqi3_nonconst_clobber):
3527
        Condition code not set if destination register from 'c' class.
3528
        (*subbqi3_carry_clobber): Fix typo.
3529
 
3530
1998-10-18  Herman A.J. ten Brugge  
3531
 
3532
        * reorg.c (steal_delay_list_from_target): Check for insns that
3533
        modify the condition codes and effect the direction of the jump
3534
        in the sequence.
3535
 
3536
Sat Oct 17 13:09:09 1998  Graham  
3537
 
3538
        * function.c (purge_addressof_1): Replace call to
3539
        emit_insns_before() with emit_insn_before().
3540
 
3541
Mon Oct 19 19:34:03 1998  Mike Stump  
3542
 
3543
        * libgcc2.c (__pure_virtual): Call __terminate instead of _exit.
3544
 
3545
Mon Oct 19 13:26:24 1998  Bernd Schmidt  
3546
 
3547
        * jump.c (sets_cc0_p): Compile only if HAVE_cc0.
3548
 
3549
Mon Oct 19 11:40:56 1998  Jeffrey A Law  (law@cygnus.com)
3550
 
3551
        * gcse.c (compute_hash_table): Correctly identify hard regs which are
3552
        clobbered across calls.
3553
 
3554
        * loop.c (scan_loop): Be more selective about what invariants are
3555
        moved out of a loop.
3556
 
3557
Mon Oct 19 10:46:58 1998  Jeff Law  (law@cygnus.com)
3558
 
3559
        * version.c: Bump for snapshot.
3560
 
3561
Mon Oct 19 11:40:56 1998  Jeffrey A Law  (law@cygnus.com)
3562
 
3563
        * libgcc2.c (eh_context_static): Do not call malloc to allocate the
3564
        static eh_context structure.
3565
 
3566
Mon Oct 19 10:45:40 1998  Bernd Schmidt  
3567
 
3568
        * combine.c (recog_for_combine): Lose PADDED_SCRATCHES arg.  All
3569
        callers changed.
3570
        (try_combine): Don't update max_scratch.
3571
        * flow.c (max_scratch, num_scratch): Delete variables.
3572
        (life_analysis_1): Don't initialize max_scratch.
3573
        (propagate_block): Don't update max_scratch.
3574
        (mark_set_1): Don't increment num_scratch.
3575
        * regs.h (max_scratch): Delete declaration.
3576
 
3577
Mon Oct 19 10:28:15 1998  Jeffrey A Law  (law@cygnus.com)
3578
 
3579
        * reload1.c (reload_reg_free_before_p): Hack.  Return 0 if EQUIV
3580
        is nonzero.  This is temporary!
3581
 
3582
        * sched.c (update_flow_info): Handle death notes made invalid by
3583
        instruction splitting.  Partially reverts Oct 15, 1998 patch.
3584
        * haifa-sched.c (update_flow_info): Likewise.
3585
 
3586
Sun Oct 18 17:31:26 1998  Jeffrey A Law  (law@cygnus.com)
3587
 
3588
        * function.c (uninitialized_vars_warning): Do not warn for a VAR_DECL
3589
        if it has a nonzero DECL_INITIAL.
3590
 
3591
Sat Oct 17 23:18:08 1998  Kaveh R. Ghazi  
3592
 
3593
        * Makefile.in (flow.o): Depend on recog.h.
3594
 
3595
        * cpplib.h (directive_table): Add missing initializiers.
3596
        (finclude): Change type of variable `bsize' to size_t.
3597
 
3598
        * cse.c (rtx_cost): Mark parameter `outer_code' with ATTRIBUTE_UNUSED.
3599
 
3600
        * dwarfout.h (dwarfout_label): Wrap prototype in macro RTX_CODE.
3601
 
3602
        * fix-header.c (lookup_std_proto): Cast the result of `strlen' to
3603
        `int' when comparing against one.
3604
        (cpp_file_line_for_message): Mark parameter `pfile' with
3605
        ATTRIBUTE_UNUSED.
3606
        (cpp_fatal): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
3607
 
3608
        * flow.c: Include recog.h.
3609
        (sbitmap_copy): Cast arguments 1 & 2 of `bcopy' to (PTR).
3610
 
3611
        * function.c (thread_prologue_and_epilogue_insns): Mark parameter
3612
        `f' with ATTRIBUTE_UNUSED.
3613
        (reposition_prologue_and_epilogue_notes): Likewise.
3614
 
3615
        * genopinit.c (gen_insn): Cast argument of ctype functions to
3616
        `unsigned char'.
3617
 
3618
        * haifa-sched.c: Include recog.h.
3619
        (blockage_range): Cast result of UNIT_BLOCKED macro to (int) when
3620
        comparing against one.
3621
 
3622
        * libgcc2.a (__throw): Revert ATTRIBUTE_UNUSED change for now.
3623
 
3624
        * mips-tfile.c (parse_end): Cast the argument of ctype function to
3625
        `unsigned char'.
3626
        (parse_ent): Likewise.
3627
        (parse_input): Likewise.
3628
 
3629
        * optabs.c (init_libfuncs): Likewise.
3630
 
3631
        * protoize.c (find_rightmost_formals_list): Likewise.
3632
 
3633
        * recog.h (const_double_operand): Fix typo in prototype.
3634
 
3635
        * tlink.c (scan_linker_output): Cast the argument of ctype
3636
        function to `unsigned char'.
3637
 
3638
        * toplev.c (check_lang_option): Cast the result of `strlen' to
3639
        `int' when comparing against one.
3640
 
3641
Sat Oct 17 13:09:09 1998  Graham  
3642
 
3643
        * gcse.c (dump_cuid_table): Correct typo.
3644
 
3645
Sat Oct 17 11:02:47 1998  Nick Clifton  
3646
 
3647
        * toplev.c (display_help): Prepend '-m' to target specific
3648
        options.
3649
        (check_lang_option): Ignore text after end of first word of a
3650
        language specific option.
3651
 
3652
Sat Oct 17 02:26:03 1998  Bernd Schmidt  
3653
 
3654
        * reload1.c (reg_used_by_pseudo): New static variable.
3655
        (choose_reload_regs): Initialize it.
3656
        Use it instead of testing spill_reg_order to determine whether a
3657
        pseudo is live in a hard register across the current insn.
3658
        Fix a typo in a reference to reload_reg_rtx.
3659
 
3660
        * flow.c (propagate_block): Replace code that computes and uses
3661
        regs_sometimes_live with simpler code that just walks the set of
3662
        currently live registers.
3663
 
3664
        * Makefile.in (insn-extract.o): Fix dependencies.
3665
        * genextract.c (main): Generate includes for insn-config.h and
3666
        recog.h.
3667
        Delete generation of declarations which are now in recog.h.
3668
        * genrecog.c (main): Delete generation of definitions which are
3669
        now in recog.c.
3670
        * local-alloc.c (block_alloc): Use extract_insn and the variables
3671
        it sets up instead of looking up values by insn_code.
3672
        * recog.c (recog_operand, recog_operand_loc, recog_dup_loc,
3673
        recog_dup_num): Define here instead of generating the definition in
3674
        genrecog.c.
3675
        (recog_n_operands, recog_n_dups, recog_n_alternatives,
3676
        recog_operand_mode, recog_constraints, recog_operand_address_p):
3677
        New variables.
3678
        (extract_insn): New function.
3679
        * recog.h (extract_insn): Declare function.
3680
        (which_alternative, recog_n_operands, recog_n_dups,
3681
        recog_n_alternatives, recog_operand_mode, recog_constraints,
3682
        recog_operand_address_p): Declare variables.
3683
        * regclass.c (n_occurrences): New static function.
3684
        * reload.c (n_occurrences): Delete function.
3685
        (find_reloads): Use extract_insn.
3686
        * reload.h (n_occurrences): Delete declaration.
3687
 
3688
Sat Oct 17 01:17:51 1998  Jeffrey A Law  (law@cygnus.com)
3689
 
3690
        * reload1.c (reload_as_needed): Fix test for when to call
3691
        update_eliminable_offsets.
3692
 
3693
Fri Oct 16 20:40:50 1998  J"orn Rennecke  
3694
 
3695
        Fix consistency problems with reg_equiv_{mem,address};
3696
        Improve reload inheritance;
3697
 
3698
        * reload.c (reload_out_reg): New variable.
3699
        (loc_mentioned_in_p, remove_address_replacements): New functions.
3700
        (remove_replacements): Deleted.
3701
        (push_reload): Set reload_out_reg[i].
3702
        When merging, also set reload_{in,out}_reg[i], and remove
3703
        duplicate address reloads.
3704
        (combine_reloads): Copy reload_out_reg[i].
3705
        (find_reloads): Do make_memloc substitution also when
3706
        reg_equiv_memory_loc[regno] and num_not_at_initial_offset
3707
        are both nonzero.
3708
        Include *recog_operand_loc in commutativity operand changes.
3709
        Generate optional output reloads.
3710
        Delete reference to n_memlocs.  Don't set *recog_operand_loc before
3711
        processing operands.  Call make_memloc in reg_equiv_address code.
3712
        Set *recog_operand_loc only after processing operands, and only
3713
        if replace is true.  Return a value.
3714
        When changing address reload types for operands that didn't get
3715
        reloaded, use RELOAD_FOR_OPADDR_ADDRESS for
3716
        RELOAD_FOR_INPADDR_ADDRESS / RELOAD_FOR_OUTADDR_ADDRESS reloads.
3717
        Don't emit USEs for pseudo SUBREGs when not replacing.
3718
        (find_reloads_address): Do make_memloc substitution also when
3719
        reg_equiv_memory_loc[regno] and num_not_at_initial_offset
3720
        are both nonzero.
3721
        (find_reloads_toplev): Likewise.
3722
        Call make_memloc in reg_equiv_address code.
3723
        (debug_reload_to_stream): Add code to output reload_out_reg.
3724
        (make_memloc): Delete local variable i, ifdefed out code, and
3725
        references to memlocs and n_memlocs.
3726
        (memlocs, n_memlocs): Delete.
3727
        (push_secondary_reload): Clear reload_out_reg.
3728
        (find_reloads_address_1): Provide memrefloc argument to all calls
3729
        to find_reloads_address.
3730
        In AUTO_INC code, handle non-directly addressable equivalences properly.
3731
        * reload.h (reload_out_reg, num_not_at_initial_offset): Declare.
3732
        (find_reloads): Add return type.
3733
        (remove_address_replacements, deallocate_reload_reg): Declare.
3734
        * reload1.c (num_not_at_initial_offset): No longer static.
3735
        (delete_address_reloads, delete_address_reloads_1): Likewise.
3736
        (deallocate_reload_reg): New function.
3737
        (spill_reg_stored_to): New array.
3738
        (eliminate_regs): Don't substitute from reg_equiv_memory_loc.
3739
        (eliminate_regs_in_insn): Move assignments of previous_offset and
3740
        max_offset fields, and recalculation of num_not_at_initial_offset
3741
        into new static function:
3742
        (update_eliminable_offsets) .
3743
        (reload_as_needed): Call update_eliminable_offsets after calling
3744
        find_reloads.
3745
        Call forget_old_reloads_1 with contents of reloaded auto_inc
3746
        expressions if the actual addressing can't be changed to match the
3747
        auto_inc.
3748
        (choose_reload_regs): For inheritance, replace
3749
        reload_reg_free_before_p test with reload_reg_used_at_all test, and
3750
        remove stand-alone reload_reg_used_at_all test.
3751
        Use reload_out_reg to determine which reload regs have output reloads.
3752
        Treat reload_override_in more similar to inherited reloads.
3753
        Handle (subreg (reg... for inheritance.
3754
        For flag_expensive_optimizations, add an extra pass to remove
3755
        unnecessary reloads from known working inheritance.
3756
        Delete obsolete code for pseudos replaced with MEMs.
3757
        Handle inheritance from auto_inc expressions.
3758
        (emit_reload_insns): If reload_in is a MEM, set OLD to
3759
        reload_in_reg[j].
3760
        Don't reload directly from oldequiv; if it's a pseudo with a
3761
        stack slot, use reload_in[j].
3762
        Check that reload_in_reg[j] is a MEM before replacing reload_in
3763
        from reg_reloaded_contents.
3764
        Include non-spill registers in reload inheritance processing.
3765
        Also try to use reload_out_reg to set spill_reg_store /
3766
        reg_last_reload_reg.
3767
        In code to set new_spill_reg_store, use single_set to find out if
3768
        there is a single set.
3769
        Add code that allows to delete optional output reloads.
3770
        Add code to allow deletion of output reloads that use no spill reg.
3771
        At the end, set reload_override_in to oldequiv.
3772
        Also call delete_output_reload if reload_out_reg is equal to old
3773
        in oldequiv code.
3774
        Add code to call delete_output_reload for stores with no matching load.
3775
        Set / use spill_reg_stored_to.
3776
        Handle case where secondary output reload uses a temporary, but
3777
        actual store isn't found.
3778
        When looking for a store of a value not loaded in order to call
3779
        delete_output_reload, count_occurrences should return 0 for no
3780
        loads; but discount inherited input reloadill_reg_stored_to.
3781
        Do checks for extra uses of REG.  Changed all
3782
        callers.
3783
        Use delete_address_reloads.
3784
        (reload): Take return value of find_reloads into account.
3785
        If a no-op set needs more than one reload, delete it.
3786
        (reload_reg_free_before_p): RELOAD_FOR_INPUT
3787
        can ignore RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
3788
        for the same operand.
3789
        (clear_reload_reg_in_use): Check for other reloads that keep a
3790
        register in use.
3791
        (reload_reg_free_for_value_p): Handle RELOAD_FOR_OPERAND_ADDRESS /
3792
        RELOAD_FOR_OPADDR_ADDR.
3793
        Take into account when an address address reload is only needed
3794
        for the address reload we are considering.
3795
        (count_occurrences): Use rtx_equal_p for MEMs.
3796
        (inc_for_reload): Return instruction that stores into RELOADREG.
3797
        New argument two, IN, and rtx.  Changed all callers.
3798
        (calculate_needs_all_insns, reload_as_needed):
3799
        Don't clear after_call for a CLOBBER.
3800
        Keep track of how many hard registers need to be copied from
3801
        after_call, and don't clear after_call before we have seen
3802
        that much copies, or we see a different instruction.
3803
 
3804
Fri Oct 16 10:58:23 1998  Jeffrey A Law  (law@cygnus.com)
3805
 
3806
        * flow.c (find_basic_blocks_1): Do not delete unreachable blocks
3807
        after reload has completed.
3808
 
3809
Fri Oct 16 17:26:10 1998  Dave Brolley  
3810
 
3811
        * cpplib.c (cpp_get_token): Replace whitespace that occurs between
3812
        a macro name and the next token with a single blank if that whitespace
3813
        is in a macro buffer and the next token is not '('.
3814
 
3815
Fri Oct 16 15:44:02 1998  Dave Brolley  
3816
 
3817
        * cccp.c (rescan): Handle multibyte characters ending in backslash.
3818
        (rescan): Likewise.
3819
        (skip_if_group): Likewise.
3820
        (skip_to_end_of_comment): Likewise.
3821
        (macarg1): Likewise.
3822
        (discard_comments): Likewise.
3823
        (change_newlines): Likewise.
3824
 
3825
Fri Oct 16 15:26:24 1998  Dave Brolley  
3826
 
3827
        * c-lex.c (yylex): Fix unaligned access of wchar_t.
3828
 
3829
Fri Oct 16 10:47:53 1998  Nick Clifton  
3830
 
3831
        * config/arm/arm.h (TARGET_SWITCHES): Add --help documentation.
3832
        (TARGET_OPTIONS): Add --help documentation.
3833
 
3834
Fri Oct 16 11:49:01 1998  Kaveh R. Ghazi  
3835
 
3836
        * rtl.h (sets_cc0_p): Revert Oct 14 ATTRIBUTE_NORETURN change.
3837
 
3838
Fri Oct 16 07:08:46 1998  Bruce Korb  
3839
 
3840
        * fixinc/* Moved in from ../contrib directory in preparation
3841
        for integrating it into the normal build process.  In particular,
3842
        fixinc/Makefile.in must be config-ed into the build directory
3843
        as fixinc/Makefile.  Proposed patches to ./Makefile.in and
3844
        ./configure.in will be "in the mail" momentarily.
3845
 
3846
Fri Oct 16 08:13:46 1998  David S. Miller  
3847
 
3848
        * cse.c (cse_basic_block): Fixup hash flushing loop so we do not
3849
        accidently walk into the free list.  Comment how that can happen.
3850
        (invalidate): Fix indentation.
3851
 
3852
Thu Oct 15 23:53:29 1998  Bernd Schmidt  
3853
                          Jeffrey A Law  (law@cygnus.com)
3854
 
3855
        * flow.c (life_analysis_1): Do not clobber regs_ever_live after
3856
        reload.  Never perform rescans of the insn chain after reload.
3857
        (propagate_block): Do not delete insn or create new autoinc addressing
3858
        modes after reload.
3859
 
3860
        * jump.c (jump_optimize): Unconditionally use the code that was
3861
        previously conditional on PRESERVE_DEATH_INFO_REGNO_P.
3862
        * reload1.c (reload): When reloading is finished, delete all
3863
        REG_DEAD and REG_UNUSED notes.
3864
        (emit_reload_insns): Delete all code that was conditional on
3865
        PRESERVE_DEATH_INFO_REGNO_P.
3866
        (no_longer_dead_regs): Delete variable.
3867
        (reload_cse_delete_death_notes): Delete function.
3868
        (reload_cse_no_longer_dead): Delete function.
3869
        (reload_cse_regs_1): Delete all code to handle deletion of death
3870
        notes.
3871
        (reload_cse_noop_set_p): Likewise.
3872
        (reload_cse_simplify_set): Likewise.
3873
        (reload_cse_simplify_operands): Likewise.
3874
        (reload_cse_move2add): Likewise.
3875
        * reorg.c (used_spill_regs): Delete declaration.
3876
        (max_label_num_after_reload): Delete declaration.
3877
        (find_dead_or_set_registers): Don't assume that spill regs are
3878
        dead at a CODE_LABEL.
3879
        * rtlanal.c (dead_or_set_regno_p): Death notes are always accurate,
3880
        even after reload.
3881
        * sched.c (sched_analyze_insn): Likewise.
3882
        (update_flow_info): Likewise.
3883
        * haifa-sched.c (sched_analyze_insn): Likewise.
3884
        (update_flow_info): Likewise.
3885
        * tm.texi (PRESERVE_DEATH_INFO_REGNO_P): Delete documentation.
3886
        * toplev.c (max_label_num_after_reload): Delete variable.
3887
        (rest_of_compilation): Don't set max_label_num_after_reload.
3888
        Call life_analysis after reload_cse_regs if optimizing.
3889
        * config/gmicro/gmicro.h: Delete comment referring to
3890
        PRESERVE_DEATH_INFO_REGNO_P.
3891
        * config/i386/i386.h: Likewise.
3892
        * config/m88k/m88k.h: Likewise.
3893
        * config/m32r/m32r.h (PRESERVE_DEATH_INFO_REGNO_P): Delete definition.
3894
        * config/sh/sh.h: Likewise.
3895
 
3896
Thu Oct 15 19:48:41 1998  David Edelsohn  
3897
 
3898
        * loop.c (strength_reduce): Restore marking bct_p as
3899
        ATTRIBUTE_UNUSED.
3900
        * rs6000.c (optimization_options): Change #ifdef HAIFA to
3901
        HAVE_decrement_and_branch_on_count.
3902
        (small_data_operand): Remove TARGET_ELF condition for marking
3903
        parameters ATTRIBUTE_UNUSED.
3904
 
3905
Thu Oct 15 11:45:51 1998  Robert Lipe  
3906
 
3907
        * config/i386/sco5.h (MAX_OFILE_ALIGNMENT): Define.
3908
        (SELECT_SECTION): Resync with svr4.h.
3909
 
3910
Thu Oct 15 12:42:13 1998  David Edelsohn  
3911
 
3912
        * loop.c (strength_reduce): Undo Oct 14 change marking bct_p
3913
        ATTRIBUTE_UNUSED.
3914
 
3915
Thu Oct 15 00:57:55 1998  Robert Lipe  
3916
 
3917
        * c-pragma.c (handle_pragma_token): Test for null tree before
3918
        dereferencing TREE_CODE.
3919
 
3920
Thu Oct 15 17:36:48 1998  Michael Hayes  
3921
 
3922
        * config/c4x/c4x.c: Convert to use GEN_INT.
3923
        (c4x_parallel_process): Rework to handle new repeat loop structure.
3924
 
3925
        * config/c4x/c4x.md: Convert to use GEN_INT.
3926
        (rptb_end): Convert to use GE test.  Replace uses with clobbers.
3927
        (decrement_and_branch_on_count): Likewise.
3928
 
3929
        * config/c4x/c4x.h (REPEAT_BLOCK_PROCESS): Deleted hook now that
3930
        loop.c has the desired functionality.
3931
        (rc_reg_operand): New prototype.
3932
 
3933
        * config/c4x/t-c4x: Can now build all front ends.
3934
 
3935
Wed Oct 14 23:27:08 1998  Didier FORT  (didier.fort@fedex.com)
3936
 
3937
        * fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.
3938
 
3939
Wed Oct 14 22:13:28 1998  Joel Sherrill  (joel@OARcorp.com)
3940
 
3941
        * Makefile.in (stmp-fixinc): Do not install assert.h if not desired.
3942
        * config/t-rtems: Do not install assert.h -- use newlib's.
3943
 
3944
Wed Oct 14 21:57:08 1998  J"orn Rennecke  
3945
 
3946
        * combine.c (combine_instructions): When finished, call init_recog.
3947
        * regmove.c (optimize_reg_copy_3): Reject volatile MEMs.
3948
 
3949
Wed Oct 14 16:10:22 1998  Per Bothner  
3950
 
3951
        * toplev.c: If flag_syntax_only, don't open or write assembler file.
3952
 
3953
Wed Oct 14 13:26:05 1998  Kaveh R. Ghazi  
3954
 
3955
        * cppalloc.c (memory_full): Mark function prototype with
3956
        ATTRIBUTE_NORETURN.
3957
 
3958
        * demangle.h (collect_exit): Likewise.
3959
 
3960
        * fix-header.c (v_fatal, fatal): Likewise.
3961
 
3962
        * gcc.c (pfatal_with_name, pfatal_pexecute, fatal, fancy_abort):
3963
        Likewise.
3964
 
3965
        * gcov.c (print_usage): Likewise.
3966
 
3967
        * genattr.c (fatal, fancy_abort): Likewise.
3968
 
3969
        * genattrtab.c (fatal, fancy_abort): Likewise.
3970
 
3971
        * gencodes.c (fatal, fancy_abort): Likewise.
3972
 
3973
        * genconfig.c (fatal, fancy_abort): Likewise.
3974
 
3975
        * genemit.c (fatal, fancy_abort): Likewise.
3976
 
3977
        * genextract.c (fatal, fancy_abort): Likewise.
3978
 
3979
        * genflags.c (fatal, fancy_abort): Likewise.
3980
 
3981
        * genopinit.c (fatal, fancy_abort): Likewise.
3982
 
3983
        * genoutput.c (fatal, fancy_abort): Likewise.
3984
 
3985
        * genpeep.c (fatal, fancy_abort): Likewise.
3986
 
3987
        * genrecog.c (fatal, fancy_abort): Likewise.
3988
 
3989
        * libgcc2.c (__eprintf, __default_terminate, __sjthrow,
3990
        __sjpopnthrow, __throw): Likewise.
3991
 
3992
        * objc/objc-act.c (objc_fatal): Likewise.
3993
 
3994
        * protoize.c (usage, aux_info_corrupted,
3995
        declare_source_confusing): Likewise.
3996
 
3997
        * rtl.c (dump_and_abort): Likewise.
3998
 
3999
        * rtl.h (sets_cc0_p): Likewise.
4000
 
4001
        * toplev.c (float_signal, pipe_closed): Likewise.
4002
 
4003
1998-10-14  Andreas Schwab  
4004
 
4005
        * dwarf2out.c (expand_builtin_dwarf_reg_size): Look at all ranges
4006
        when generating the decision tree for the general case.
4007
 
4008
        * config/m68k/m68k.h (HARD_REGNO_MODE_OK): Don't accept modes
4009
        wider that 12 bytes in fpu regs or wider than 8 byte in fpa regs.
4010
 
4011
Wed Oct 14 11:14:02 1998  Kaveh R. Ghazi  
4012
 
4013
        * Makefile.in (sched.o): Depend on recog.h.
4014
 
4015
        * alias.c (REG_BASE_VALUE): Cast the result of REGNO() macro to
4016
        (unsigned) when comparing against one.
4017
        (find_base_value): Likewise.
4018
        (record_base_value): Cast variable `regno' to (unsigned) when
4019
        comparing against one.  Cast the result of REGNO() macro to
4020
        (unsigned) when comparing against one.
4021
        (memrefs_conflict_p): Change type of variables `r_x' and `r_y'  to
4022
        unsigned.
4023
        (init_alias_analysis): Add unsigned variable `ui'.  Use it as loop
4024
        variable where an unsigned index is needed.
4025
 
4026
        * caller-save.c (init_caller_save): Cast `-1' to (enum insn_code)
4027
        before comparing against one.
4028
 
4029
        * collect2.c: Add prototypes for functions `error', `fatal' and
4030
        `fatal_perror'.  Make these functions take variable arguments
4031
        instead of faking it with a fixed number of args.
4032
        (write_c_file_stat): Cast the argument of ctype macro to (unsigned
4033
        char).
4034
 
4035
        * combine.c (can_combine_p): Mark parameter `pred' with
4036
        ATTRIBUTE_UNUSED.
4037
        (find_split_point): Cast variable `src' to (unsigned
4038
        HOST_WIDE_INT) when comparing against one.
4039
        (simplify_rtx): Cast 1 to (unsigned HOST_WIDE_INT) in shift.
4040
        (simplify_logical): Likewise.
4041
        (force_to_mode): Cast result of INTVAL() macro to (unsigned
4042
        HOST_WIDE_INT) when comparing against one.  Cast 1 to (unsigned
4043
        HOST_WIDE_INT) in shift.
4044
        (simplify_and_const_int): Cast result of INTVAL() macro to
4045
        `unsigned HOST_WIDE_INT' when comparing against one.
4046
        (merge_outer_ops): Cast variable const0 to `unsigned
4047
        HOST_WIDE_INT' when comparing against the result of
4048
        GET_MODE_MASK() macro.
4049
        (simplify_comparison): Likewise for variable `c0'.  Cast variable
4050
        `const_op' to `unsigned HOST_WIDE_INT' when comparing against
4051
        one.  Cast `1' to `unsigned HOST_WIDE_INT' in shift.  Cast the
4052
        result of `GET_MODE_MASK()/2' to `HOST_WIDE_INT' when comparing
4053
        against one.  Cast `1' to `unsigned HOST_WIDE_INT' in shift.  Cast
4054
        result of INTVAL() macro to `unsigned HOST_WIDE_INT' when
4055
        comparing against one.
4056
        (distribute_notes): Wrap variable `cc0_setter' in macro `HAVE_cc0'.
4057
 
4058
        config/mips/mips.c (gen_int_relational): Cast result of INTVAL()
4059
        macro to `unsigned HOST_WIDE_INT' when comparing against one.
4060
        (output_block_move): Cast `sizeof' expression to (int) when
4061
        comparing against one.
4062
        (function_arg): Cast BITS_PER_WORD to `unsigned' when comparing
4063
        against one.
4064
        (save_restore_insns): Cast `base_offset' to `long' to match format
4065
        specifier in fprintf.
4066
 
4067
        * config/mips/mips.h (Pmode): Cast the result of `Pmode' macro
4068
        to `enum machine_mode'.
4069
 
4070
        * flow.c (life_analysis_1): Remove unused variable `insn'.
4071
 
4072
        * gcc.c (translate_options): Move variables `j' and `k' into the
4073
        scope in which they are used.  Change their types to `size_t'.
4074
        (set_spec): Cast the argument of ctype macro to `unsigned char'.
4075
        (read_specs): Likewise.
4076
        (process_command): Cast `sizeof' to (int) when comparing against one.
4077
        (do_spec_1): Cast the argument of ctype macro to `unsigned char'.
4078
        (handle_braces): Cast both sides of `==' expression to `long' to
4079
        ensure sign matching.
4080
        (main): Cast variable `i' to `int' when comparing against one.
4081
 
4082
        * gcov-io.h (__fetch_long): Change type of parameter `bytes' from
4083
        int to size_t.  Cast variable `i' to size_t when comparing against
4084
        one.
4085
 
4086
        * genattrtab.c (convert_set_attr_alternative): Remove unused
4087
        parameter `insn_code'.  All callers changed.
4088
        (convert_set_attr): Likewise.
4089
 
4090
        * genrecog.c (add_to_sequence): Cast result of XVECLEN() macro to
4091
        size_t when comparing against one.  Likewise for variable `len'.
4092
 
4093
        * global.c (global_alloc): Cast variable `max_regno' to size_t
4094
        when comparing against one.  Likewise for variable `max_allocno'.
4095
 
4096
        * jump.c (sets_cc0_p): Mark parameter `x' with ATTRIBUTE_UNUSED.
4097
 
4098
        * local-alloc.c (validate_equiv_mem_from_store): Mark parameter
4099
        `set' with ATTRIBUTE_UNUSED.
4100
        (find_free_reg): Cast `sizeof' expression to (int) when comparing
4101
        against one.
4102
 
4103
        * loop.c (count_loop_regs_set): Remove unused variable `dest'.
4104
        (strength_reduce): Mark parameter `bct_p' with ATTRIBUTE_UNUSED.
4105
        (get_condition): Cast variable `const_val' to `unsigned
4106
        HOST_WIDE_INT' when comparing against one.  Cast unsigned
4107
        expression to HOST_WIDE_INT when comparing against one.
4108
        (insert_loop_mem): Mark parameter `data' with ATTRIBUTE_UNUSED.
4109
        (load_mems_and_recount_loop_regs_set): Cast variable `nregs' to
4110
        `unsigned' when comparing against one.
4111
 
4112
        * protoize.c (is_id_char): Change type of parameter `ch' to
4113
        unsigned char.
4114
        (munge_compile_params): Cast argument of ctype macro to (const
4115
        unsigned char).
4116
        (process_aux_info_file): Cast variable `aux_info_size' to int when
4117
        comparing against one.
4118
        (forward_to_next_token_char): Cast argument of ctype macro to
4119
        `const unsigned char'.
4120
        (edit_formals_lists): Likewise.
4121
        (find_rightmost_formals_list): Likewise.
4122
        (add_local_decl): Likewise.
4123
        (add_global_decls): Likewise.
4124
        (edit_fn_definition): Likewise.
4125
        (do_cleaning): Likewise.
4126
        (scan_for_missed_items): Likewise.
4127
        (edit_file): Cast variable `orig_size' to (int) when comparing
4128
        against one.
4129
        (main): Cast argument of ctype macro to `const unsigned char'.
4130
 
4131
        * recog.c (const_int_operand): Mark parameter `mode' with
4132
        ATTRIBUTE_UNUSED.
4133
 
4134
        * regclass.c (record_reg_classes): Change type of variable `c' to
4135
        `unsigned char'.  Cast `char' array index to `unsigned char'.
4136
 
4137
        * reload.c (push_secondary_reload): Cast argument to
4138
        REG_CLASS_FROM_LETTER() macro to `unsigned char'.
4139
 
4140
        * reload1.c (calculate_needs): Cast `char' array index to
4141
        `unsigned char'.
4142
        (set_label_offsets): Change type of variable `i' to unsigned int.
4143
        Cast result of XVECLEN() macro to unsigned when comparing against
4144
        one.
4145
        (mark_not_eliminable): Change type of variable `i' to unsigned.
4146
        (order_regs_for_reload): Likewise.  Cast `max_regno' to unsigned
4147
        when comparing against one.
4148
        (reload_as_needed): Cast macro NUM_ELIMINABLE_REGS to (int) when
4149
        comparing against one.
4150
        (choose_reload_regs): Hide unused label `fail'.
4151
        (reload_cse_simplify_operands): Cast `char' array index to
4152
        `unsigned char'.
4153
        (reload_combine_note_store): Mark parameter `set' with
4154
        ATTRIBUTE_UNUSED.  Cast UNITS_PER_WORD to unsigned when comparing
4155
        against one.
4156
        (reload_cse_move2add): Remove unused variable `src2'.
4157
 
4158
        * sched.c: Include recog.h.
4159
        (sched_note_set): Remove unused parameter `b'.  All callers
4160
        changed.
4161
        (split_hard_reg_notes): Likewise for parameter `orig_insn'.
4162
        (blockage_range): Cast result of UNIT_BLOCKED() macro to (int)
4163
        when comparing against one.
4164
 
4165
        * stupid.c (stupid_find_reg): Mark parameter `changes_size' with
4166
        ATTRIBUTE_UNUSED.  Cast `sizeof' expression to (int) when
4167
        comparing against one.
4168
 
4169
        * unroll.c (precondition_loop_p): Remove unused parameter
4170
        `loop_end'.  All callers changed.
4171
 
4172
Tue Oct 13 22:12:11 1998  Bernd Schmidt  
4173
 
4174
        * reload1.c (maybe_fix_stack_asms): New static function.
4175
        (reload): Call it.
4176
 
4177
        * reload.h (compute_use_by_pseudos): Declare.
4178
 
4179
        * reload1.c (spilled_pseudos, insns_need_reload): New variables.
4180
        (something_needs_reloads): Delete variable.
4181
        (finish_spills): New function.
4182
        (compute_use_by_pseudos): New function.
4183
 
4184
        (delete_caller_save_insns): Lose argument FIRST.  All callers changed.
4185
        Use the reload_insn_chain instead of walking the rtl directly.
4186
 
4187
        (reload): Allocate and free spilled_pseudos.
4188
        Ensure that all calls of spill_hard_reg are followed by a call to
4189
        finish_spills.
4190
        Use the insns_need_reload list instead of something_needs_reloads
4191
        to find out if reload_as_needed must be called.
4192
        Clear unused_insn_chains at the end.
4193
 
4194
        (calculate_needs_all_insns): Lose FIRST parameter.  All callers
4195
        changed.
4196
        Delete code to keep track of current basic block.
4197
        Walk reload_insn_chain instead of the rtl structure.  Build the
4198
        insns_need_reload chain.
4199
        Remember which insns need reloading/elimination by setting the
4200
        appropriate fields in struct insn_chain, not by putting modes on the
4201
        insn.
4202
 
4203
        (calculate_needs): Lose THIS_BLOCK arg.  Accept arg CHAIN instead of
4204
        arg INSN.  All callers changed.
4205
        Delete declaration of struct needs.
4206
        Don't set something_needs_reloads.
4207
        Record insn needs in the CHAIN argument.
4208
 
4209
        (spill_hard_reg): Record the affected pseudos in spilled_pseudos.
4210
 
4211
        (reload_as_needed): Lose FIRST arg.  All callers changed.
4212
        Walk the reload_insn_chain instead of the rtx structure.
4213
        Delete code to keep track of current basic block.
4214
        Rename one of the NEXT variables to OLD_NEXT.
4215
 
4216
        (allocate_reload_reg): Accept arg CHAIN instead of arg INSN.  All
4217
        callers changed.
4218
        (choose_reload_regs): Likewise.
4219
 
4220
        (emit_reload_insns): Replace INSN and BB args with arg CHAIN.  All
4221
        callers changed.
4222
 
4223
        * caller-save.c (MOVE_MAX_WORDS): New macro.  Use it throughout
4224
        instead of (MOVE_MAX / UNITS_PER_WORD) computation.
4225
        (hard_regs_live, hard_regs_need_restore): Delete variables.
4226
        (n_regs_saved): Now static.
4227
        (referenced_regs, this_insn_sets): New variables.
4228
 
4229
        (setup_save_areas): Restructure the code a bit.
4230
 
4231
        (restore_referenced_regs): Delete function.
4232
        (mark_referenced_regs): New function, similar to the old
4233
        restore_referenced_regs, but mark registers in referenced_regs.
4234
 
4235
        (clear_reg_live): Delete function.
4236
        (mark_set_regs): Renamed from set_reg_live.  All callers changed.
4237
        Only mark registers in this_insn_sets.
4238
 
4239
        (save_call_clobbered_regs): Rework this function to walk the
4240
        reload_insn_chain instead of using the list of instructions directly.
4241
        Delete code to keep track of register lives, compute live regs on the
4242
        fly from information in the chain.
4243
        Instead of calling restore_referenced_regs, use mark_referenced_regs,
4244
        then walk the set it computes and call insert_restore as appropriate.
4245
 
4246
        (insert_restore): Lose INSN and BLOCK args.  Add CHAIN arg.  All
4247
        callers changed.
4248
        Restructure the code a bit.  Test hard_regs_saved instead of
4249
        hard_regs_need_restore.
4250
        (insert_save): Lose INSN and BLOCK args.  Add CHAIN and TO_SAVE
4251
        args.  All callers changed.
4252
        Restructure the code a bit.  Use TO_SAVE to determine which regs to
4253
        save instead of more complicated test.
4254
        (insert_one_arg): Lose INSN and BLOCK args.  Add CHAIN arg.  All
4255
        callers changed.
4256
        Create a new insn_chain structure for the new insn and place it
4257
        into the chain.
4258
 
4259
        * rtl.texi: Update documentation to reflect that reload no longer
4260
        puts modes on the insns.
4261
 
4262
1998-10-14  Andreas Schwab  
4263
 
4264
        * function.c (purge_addressof_1): Force the first argument of a
4265
        CALL insn to memory.
4266
 
4267
Wed Oct 14 00:38:40 1998  Jeffrey A Law  (law@cygnus.com)
4268
 
4269
        * rtl.h: Delete duplicate prototypes.  Add some missing
4270
        prototypes.
4271
        * rtlanal.c (for_each_rtx): Formatting tweak.
4272
 
4273
1998-10-13  Herman A.J. ten Brugge  
4274
 
4275
        * real.c (emdnorm and etoasc): Disable round to even for c4x target
4276
        to be compatible with TI compiler.
4277
 
4278
        * Makefile.in (USER_H): Add va-c4x.h to definition.
4279
 
4280
Tue Oct 13 23:03:37 1998  Richard Henderson  
4281
 
4282
        * function.c (purge_addressof_1): Fix typo in inequality: do
4283
        bitfield optimization for equal mode sizes.
4284
        * expmed.c (store_bit_field): Don't take subregs of subregs in
4285
        the movstrict case.  Tidy a potential problem in the multi-word case.
4286
        (extract_bit_field): Likewise.
4287
 
4288
Tue Oct 13 22:12:11 1998  Bernd Schmidt  
4289
 
4290
        * flow.c (find_basic_blocks): Emit NOPs after normal calls in this
4291
        function.
4292
        Compute max_uid_for_flow by calling get_max_uid after the scan.
4293
        (find_basic_blocks_1): Don't emit NOPs here.
4294
 
4295
Tue Oct 13 22:05:49 1998  Richard Henderson  
4296
 
4297
        * alias.c (base_alias_check): Accept new args for the modes of the
4298
        two references.  Use them to determine if an AND can overlap.  Update
4299
        all callers.
4300
        (memrefs_conflict_p): Assume sizes are aligned, and uses them
4301
        to determine if an AND can overlap.
4302
 
4303
Tue Oct 13 17:51:04 1998  Jim Wilson  
4304
 
4305
        * config/m68k/m68k.h (HARD_REGNO_MODE_OK): For FP regs, add REGNO >= 16
4306
        check.  Add comment to document problems with TARGET_SUN_FPA version
4307
        of this macro.
4308
        * config/m68k/m68k.md (movxf+1): Support 'r'/'r' moves.
4309
 
4310
Tue Oct 13 17:46:18 1998  Kaveh R. Ghazi  
4311
 
4312
        * Makefile.in (gencheck.o): Depend on gansidecl.h.
4313
 
4314
        * c-common.c (print_char_table): Add missing initializers.
4315
        (scan_char_table): Likewise.
4316
        (time_char_table): Likewise.
4317
 
4318
        * c-decl.c (c_decode_option): Mark parameter `argc' with
4319
        ATTRIBUTE_UNUSED.
4320
        (declare_parm_level): Mark parameter `definition_flag' with
4321
        ATTRIBUTE_UNUSED.
4322
 
4323
        * c-lex.c (readescape): Use `(unsigned)1' in shift.
4324
        (yylex): Likewise.  Cast `sizeof' to an (int) when comparing
4325
        against one.
4326
 
4327
        * calls.c (store_one_arg): Remove unused parameter `fndecl'.  All
4328
        callers changed.
4329
        (emit_call_1): Mark parameters `fndecl' and `funtype' with
4330
        ATTRIBUTE_UNUSED.
4331
        (expand_call): Cast result of MIN() to (unsigned int) when
4332
        comparing against an unsigned value.
4333
 
4334
        * cccp.c (pcfinclude): Remove unused parameter `limit'.  All
4335
        callers changed.
4336
        (make_definition): Remove unused parameter `op'.  All callers
4337
        changed.
4338
        (create_definition): Cast REST_EXTENSION_LENGTH to (long) when
4339
        comparing against the result of pointer arithmetic.
4340
 
4341
        * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Cast to (unsigned)
4342
        when comparing against one.
4343
 
4344
        * dwarf2out.c (dwarf2out_frame_debug): Cast REGNO() and
4345
        HARD_FRAME_POINTER_REGNUM to (unsigned) when comparing against
4346
        one.
4347
        (output_die): Move variable `i' into the scope in which it is
4348
        used.  Change its type to `unsigned'.
4349
        (output_die): Cast the result of `strlen' to (int) when passing it
4350
        to ASM_OUTPUT_ASCII().
4351
        (output_pubnames): Likewise.
4352
        (output_line_info): Likewise.
4353
 
4354
        * emit-rtl.c (global_rtl): Add missing initializers.
4355
 
4356
        * explow.c (promote_mode): Mark parameter `for_call' with
4357
        ATTRIBUTE_UNUSED.
4358
 
4359
        * expmed.c (expand_shift): Cast the result of GET_MODE_BITSIZE to
4360
        `unsigned HOST_WIDE_INT' when comparing against one.
4361
        (synth_mult): Change type of variable `cost' to int.
4362
        (emit_store_flag): Use `(unsigned HOST_WIDE_INT) 1' in shift.
4363
 
4364
        * expr.c (copy_blkmode_from_reg): Cast BITS_PER_WORD to (unsigned)
4365
        when comparing against one.
4366
        (get_inner_reference): Change variable `alignment' to unsigned.
4367
        (expand_expr): Cast the result of GET_MODE_ALIGNMENT to (unsigned
4368
        int) when comparing against one.
4369
        (expand_builtin_setjmp): Change type of variable `i' to size_t.
4370
 
4371
        * fold-const.c (div_and_round_double): Cast BASE to
4372
        (HOST_WIDE_INT) when comparing against one.
4373
 
4374
        * gencheck.c: Include gansidecl.h.
4375
        (main): Mark parameter `argv' with ATTRIBUTE_UNUSED.
4376
 
4377
        * optabs.c (gen_cond_trap): Mark parameters `code', `op2' and
4378
        `tcode' with ATTRIBUTE_UNUSED.
4379
 
4380
        * real.c (edivm): Cast constant value to (unsigned long) in
4381
        expression compared against an unsigned value.
4382
 
4383
        * stmt.c (expand_return): Cast BITS_PER_WORD to (unsigned) when
4384
        comparing against one.
4385
        (expand_end_case): Cast CASE_VALUES_THRESHOLD to (unsigned int)
4386
        when comparing against one.
4387
 
4388
        * stor-layout.c (mode_for_size): Cast MAX_FIXED_MODE_SIZE to
4389
        (unsigned int) when comparing against one.  Likewise for
4390
        GET_MODE_BITSIZE.
4391
        (smallest_mode_for_size): Likewise.
4392
        (save_storage_status): Mark parameter `p' with ATTRIBUTE_UNUSED.
4393
        (restore_storage_status): Likewise.
4394
 
4395
        * toplev.c (debug_args): Add missing initializer.
4396
        (f_options): Spelling correction.  Add missing initializers.
4397
        (documented_lang_options): Likewise.
4398
        (debug_end_source_file): Mark parameter `lineno' with
4399
        ATTRIBUTE_UNUSED.
4400
 
4401
        * tree.c (valid_machine_attribute): Mark parameters `attr_args',
4402
        `decl' and `type' with ATTRIBUTE_UNUSED.
4403
 
4404
        * varasm.c (decode_reg_name): Cast `sizeof' expression to (int)
4405
        when comparing against one.
4406
        (assemble_variable): Mark parameter `top_level' with
4407
        ATTRIBUTE_UNUSED.
4408
        (assemble_external_libcall): Mark parameter `fun' with
4409
        ATTRIBUTE_UNUSED.
4410
        (output_constant_pool): Mark parameters `fnname' and `fndecl' with
4411
        ATTRIBUTE_UNUSED.
4412
 
4413
Tue Oct 13 12:51:04 1998  Nick Clifton  
4414
 
4415
        * config/v850/lib1funcs.asm (_udivsi3): Add .type declaration.
4416
        Replace use of r5 with use of r19.
4417
 
4418
        * config/v850/v850.h (LINK_POINTER_REGNUM): Define.
4419
 
4420
        * config/v850/v850.c (compute_register_save_size): Allow for the
4421
        fact that helper functions save all registers, not just those used
4422
        by the function.
4423
 
4424
        Replace constant 31 with macro LINK_POINTER_REGNUM.
4425
 
4426
        * config/v850/v850.md: Use 'indirect_operand' rather than
4427
        'memory_operand' for bit test/set/clear patterns.
4428
 
4429
Tue Oct 13 11:49:14 1998  Jason Merrill  
4430
 
4431
        * mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS): Call ASM_GLOBALIZE_LABEL.
4432
        * varasm.c (assemble_start_function et al): Don't call
4433
        ASM_GLOBALIZE_LABEL for weak symbols.
4434
 
4435
Tue Oct 13 11:37:45 1998  Nick Clifton  
4436
 
4437
        * cse.c (equiv_constant): Check for NULL return from
4438
        gen_lowpart_if_possible().
4439
 
4440
Tue Oct 13 11:24:51 1998  Jeffrey A Law  (law@cygnus.com)
4441
 
4442
        * mn10200.md (addsi3, subsi3, negsi2): Only allow register operands.
4443
 
4444
        * collect2.c (main): Pass -EL/-EB through to the compiler.
4445
 
4446
1998-10-12  Herman A.J. ten Brugge  
4447
 
4448
        * expr.c (push_block): Handle targets where the stack grows
4449
        to higher addresses, but args grow to lower addresses and
4450
        ACCUMULATE_OUTGOING_ARGS is not defined.
4451
 
4452
Tue Oct 13 08:00:52 1998  Catherine Moore  
4453
 
4454
        * config/v850/v850.c (print_operand): Extend meaning
4455
        of 'c' operands to support .vtinherit.
4456
 
4457
Tue Oct 13 21:38:35 1998  Michael Hayes  
4458
 
4459
        * config/c4x/c4x.c: Convert to gen_rtx_FOO.
4460
        Added ATTRIBUTE_UNUSED to unused function arguments.
4461
        (rc_reg_operand): New predicate.
4462
        (c4x_rptb_insert): New function.
4463
        (c4x_rptb_nop_p): Recognize modified rptb_top pattern.
4464
        (c4x_optimization_options): New function.
4465
 
4466
        * config/c4x/c4x.md: Convert to gen_rtx_FOO.
4467
         (decrement_and_branch_on_count): New pattern.
4468
         (rptb_top): Modified pattern to work with BCT optimization.
4469
 
4470
        * config/c4x/c4x.h (RC_REG): New register class.
4471
        (rc_reg_operand): Define prototype.
4472
        (IS_RC_REG): New macro.
4473
        (IS_RC_OR_PSEUDO_REG): New macro.
4474
        (IS_RC_OR_PSEUDO_REGNO): New macro.
4475
        (OPTIMIZATION_OPTIONS): Define.
4476
 
4477
Mon Oct 12 19:57:34 1998  Jason Merrill  
4478
 
4479
        * collect2.c (extract_init_priority): No priority is 65535.
4480
 
4481
Mon Oct 12 12:10:37 1998  Alexandre Oliva  
4482
 
4483
        * Makefile.in (build_tooldir): New variable, same as old
4484
        $(tooldir), but without depending on $(libdir)/$(unlibsubdir).
4485
        (GCC_FOR_TARGET): Add -B$(build_tooldir)/bin/.
4486
        (bootstrap, bootstrap2, bootstrap3, bootstrap4): Likewise.
4487
 
4488
        * configure.in (gxx_include_dir): Set default based on unlibsubdir.
4489
        * Makefile.in (tooldir): Likewise.
4490
        (cccp.o, cpplib.o): Use unlibsubdir implicitly through
4491
        gxx_include_dir, includedir and tooldir.
4492
        (protoize.o, unprotoize.o): Likewise.
4493
 
4494
Mon Oct 12 10:50:44 1998  Nick Clifton  
4495
 
4496
        * config/arm/arm.md: Replace (reg 24) with (reg:CC 24).
4497
 
4498
        * config/arm/thumb.c (thumb_override_options): Add warning about
4499
        PIC code not being supported just yet.
4500
 
4501
Sun Oct 11 16:49:15 1998  John Wehle  (john@feith.com)
4502
 
4503
        * flow.c: Update comment.
4504
        (notice_stack_pointer_modification): New static function.
4505
        (record_volatile_insns): Use it.
4506
        (mark_regs_live_at_end): Mark the stack pointer as alive
4507
        at the end of the function if current_function_sp_is_unchanging
4508
        is set.
4509
        (life_analysis_1): Set current_function_sp_is_unchanging.
4510
        * function.c: Define it.
4511
        (init_function_start): Initialize it.
4512
        * output.h: Declare it.
4513
        * reorg.c (fill_simple_delay_slots, dbr_schedule): Mark
4514
        the stack pointer as alive at the end of the function if
4515
        current_function_sp_is_unchanging is set.
4516
        * i386.c (ix86_epilogue): Optimize the restoring
4517
        of the stack pointer.
4518
 
4519
Mon Oct 12 01:22:53 1998  Jeff Law  (law@cygnus.com)
4520
 
4521
        * version.c: Bump for snapshot.
4522
 
4523
Sun Oct 11 23:04:30 1998  Robert Lipe  
4524
 
4525
        * c-pragma.c (handle_pragma_token): If passed a token instead
4526
        of a tree, use that as the pack value.
4527
 
4528
Sun Oct 11 14:21:14 1998  Mark Mitchell  
4529
 
4530
        * flow.c (find_basic_blocks_1): Fix prototype.
4531
 
4532
Sun Oct 11 05:03:41 1998  Ken Raeburn  
4533
 
4534
        * tree.h (DECL_NO_CHECK_MEMORY_USAGE): New macros.
4535
        (struct tree_decl): New fields no_check_memory_usage.
4536
        * c-common.c (enum attrs): Add A_NO_CHECK_MEMORY_USAGE.
4537
        (init_attributes): Register it as a new attribute.
4538
        (decl_attributes): Set flags on functions given that attribute.
4539
        * c-decl.c (duplicate_decls): Merge new attribute.
4540
        * expr.h (current_function_check_memory_usage): Declare new var.
4541
        * calls.c, expr.c, function.c, stmt.c, alpha.c, clipper.c, m88k.c,
4542
        pa.c, sparc.c: Replace uses of flag_check_memory_usage with
4543
        current_function_check_memory_usage.
4544
        * function.h: Add field to struct function.
4545
        * function.c (current_function_check_memory_usage): Define it.
4546
        (push_function_context_to, pop_function_context_from): Save and
4547
        restore it.
4548
        (expand_function_start): Set it, based on global flag and function
4549
        attribute.
4550
 
4551
        * expr.c (expand_expr, case VAR_DECL): In memory-checking code, do
4552
        check non-automatic variables, to permit detection of writes to
4553
        read-only locations in embedded systems without memory management.
4554
        * calls.c (store_one_arg): Use ARGS_SIZE_RTX to get size of argument
4555
        when emitting chkr_set_right_libfunc call, even if the argument is
4556
        BLKmode or variable-sized; don't abort.
4557
 
4558
        * optabs.c (init_optabs): Create Checker and __cyg_profile_*
4559
        symbols in Pmode, not VOIDmode.
4560
 
4561
Sun Oct 11 01:03:05 1998  Zack Weinberg  
4562
 
4563
        * cppexp.c: When forcing unsigned comparisons, cast both sides
4564
        of the operation.
4565
 
4566
        * cpphash.h: Move static declaration of hashtab[]...
4567
        * cpphash.c: ...here.
4568
 
4569
        * cpplib.c: Cast difference of two pointers to size_t before
4570
        comparing it to size_t.  Cast signed to unsigned
4571
        before comparing to size_t. (FIXME: struct argdata should use
4572
        unsigned buffer sizes.)
4573
        * cpplib.h (struct cpp_reader): Declare token_buffer_size as
4574
        unsigned int. (CPP_WRITTEN): Cast return value to size_t.
4575
        (CPP_RESERVE): Parenthesize N for evaluation order, cast to
4576
        size_t before comparison.
4577
 
4578
Sun Oct 11 00:15:29 1998  Jeffrey A Law  (law@cygnus.com)
4579
 
4580
        * flow.c (find_basic_blocks): Delete "live_reachable_p" argument.
4581
        (find_basic_blocks_1): Similarly.
4582
        * output.h (find_basic_blocks): Fix prototype.
4583
        * gcse.c, toplev.c: Don't pass "live_reachable_p" argument to
4584
        find_basic_blocks anymore.
4585
 
4586
Sat Oct 10 22:00:34 1998  Richard Henderson  
4587
 
4588
        * basic-block.h (EXECUTE_IF_SET_IN_SBITMAP): New macro.
4589
        (sbitmap_free, sbitmap_vector_free): New macros.
4590
        * output.h (rtl_dump_file): Declare.
4591
 
4592
Sat Oct 10 17:01:42 1998  Jeffrey A Law  (law@cygnus.com)
4593
 
4594
        * regmove.c (optimize_reg_copy_3): Honor TRULY_NOOP_TRUNCATION.
4595
 
4596
Fri Oct  9 22:08:05 1998  Kaveh R. Ghazi  
4597
 
4598
        * fp-bit.c (SFtype): Don't implicitly use int in declaration.
4599
        (DFtype): Likewise.
4600
        (_fpdiv_parts): Remove unused parameter `tmp', all callers changed.
4601
        (divide): Remove unused variable `tmp'.
4602
        (si_to_float): Cast numeric constant to (SItype) before comparing
4603
        it against one.
4604
 
4605
Fri Oct  9 16:03:19 1998  Graham  
4606
 
4607
        * flow.c (print_rtl_with_bb): Changed type of in_bb_p to match use.
4608
        * gcc.c (add_preprocessor_option): Correct typo when allocating
4609
        memory, sizeof() argument had one too many `*'.
4610
        (add_assembler_option): Likewise.
4611
        (add_linker_option): Likewise.
4612
        * gcov.c (output_data): Likewise.
4613
        * local-alloc.c (memref_used_between_p): Likewise.
4614
        (update_equiv_regs): Likewise.
4615
        * loop.c (strength_reduce): Likewise.
4616
        * reg-stack.c (record_asm_reg_life): Likewise.
4617
        (subst_asm_stack_reg): Likewise.
4618
        * reorg.c (dbr_schedule): Likewise.
4619
 
4620
Fri Oct  9 15:57:51 1998  Bernd Schmidt  
4621
 
4622
        * flow.c (life_analysis_1): Break out some functions.
4623
        (find_basic_blocks_1): Likewise.  Also move some variables out and
4624
        make them static.
4625
        Rename NONLOCAL_LABEL_LIST arg to NONLOCAL_LABELS and initialize
4626
        new static var nonlocal_label_list with it.
4627
        (active_eh_region, nested_eh_region, label_value_list,
4628
        nonlocal_label_list): New static variables.
4629
        (make_edges, delete_unreachable_blocks, delete_block): New static
4630
        functions, broken out of find_basic_blocks_1.
4631
        (record_volatile_insns, mark_regs_live_at_end, set_noop_p,
4632
        noop_move_p): New static functions, broken out of life_analysis_1.
4633
 
4634
Fri Oct  9 15:49:29 1998  Richard Henderson  
4635
 
4636
        * expmed.c (store_bit_field): Pun non-integral str_rtx modes.
4637
        Take extra care for op0 now possibly being a subreg.
4638
        (extract_bit_field): Likewise.
4639
        * function.c (purge_addressof_1): Revert Oct 4 change.  Drop
4640
        the reg to memory if there is no equal sized integral mode.
4641
        * stor-layout.c (int_mode_for_mode): New function.
4642
        * machmode.h: Prototype it.
4643
 
4644
Fri Oct  9 14:26:44 1998  Jeffrey A Law  (law@cygnus.com)
4645
 
4646
        * global.c (build_insn_chain): Verify no real insns exist past the
4647
        end of the last basic block, then exit the loop.
4648
 
4649
Fri Oct  9 11:44:47 1998  David Edelsohn  
4650
 
4651
        * loop.c (insert_bct): Ensure loop_iteration_var nonzero before use.
4652
 
4653
Thu Oct  8 21:59:47 1998  Dave Brolley  
4654
 
4655
        * emit-rtl.c (init_emit_once): Call INIT_EXPANDERS.
4656
 
4657
Thu Oct  8 22:03:45 1998  David Edelsohn  
4658
 
4659
        * rs6000.h (RTX_COSTS): Add PROCESSOR_PPC604e cases.
4660
 
4661
Thu Oct  8 17:00:18 1998  Richard Henderson  
4662
 
4663
        * flow.c (find_basic_blocks): Correctly determine when a call
4664
        is within an exception region.
4665
 
4666
Thu Oct  8 17:15:04 1998  Jeffrey A Law  (law@cygnus.com)
4667
 
4668
        * toplev.c (output_file_directive): Use DIR_SEPARATOR, not '/'.
4669
 
4670
        * cpplib.h: Protect from multiple inclusions.
4671
        * cpplib.c: Fix minor formatting problems.
4672
 
4673
        * i386/xm-cygwin32.h: Only define POSIX if it is not already defined.
4674
 
4675
        * jump.c (jump_optimize): Revert accidental patch.
4676
 
4677
        * Makefile.in (cpplib.o): Use unlibsubdir.
4678
 
4679
Thu Oct  8 12:50:47 1998  Jim Wilson  
4680
 
4681
        * loop.c (get_condition): Allow combine when either compare is
4682
        VOIDmode.
4683
 
4684
Thu Oct  8 11:31:01 1998  Jeff Law  (law@cygnus.com)
4685
 
4686
        * version.c: Bump for snapshot.
4687
 
4688
Thu Oct  8 12:21:14 1998  Richard Frith-Macdonald  
4689
 
4690
        * c-lex.c (remember_protocol_qualifiers): Handle RID_BYREF.
4691
        (init_lex): Initialize ridpointers[RID_BYREF].
4692
        * c-lex.h (enum rid): Add RID_BYREF.
4693
        * c-parse.gperf: Add RID_BYREF as a type qualifier.
4694
        * objc/objc-act.c (is_objc_type_qualifiers): Handle RID_BYREF.
4695
        (encode_type_qualifiers): Similarly.
4696
        * c-gperf.h: Rebuilt.
4697
 
4698
Thu Oct  8 05:56:00 1998  Jeffrey A Law  (law@cygnus.com)
4699
 
4700
        * c-common.c (type_for_mode): Only return TItype nodes when
4701
        HOST_BITS_PER_WIDE_INT is >= 64 bits.
4702
        * c-decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
4703
        when HOST_BITS_PER_WIDE_INT is >= 64 bits.
4704
        (init_decl_processing): Only create TItype nodes when
4705
        HOST_BITS_PER_WIDE_INT is >= 64 bits.
4706
        * c-tree.h (intTI_type_node, unsigned_intTI_type_node): Only declare
4707
        when HOST_BITS_PER_WIDE_INT is >= 64 bits.
4708
 
4709
Thu Oct  8 05:05:34 1998  Bernd Schmidt  
4710
 
4711
        * stmt.c (n_occurrences): New static function.
4712
        (expand_asm_operands): Verify that all constrains match in the
4713
        number of alternatives.
4714
        Verify that '+' or '=' are at the beginning of an output constraint.
4715
        Don't allow '&' for input operands.
4716
        Verify that '%' isn't written for the last operand.
4717
        * reload.c (find_reloads): Abort if an asm is found with invalid
4718
        constraints; all possible problems ought to be checked for earlier.
4719
 
4720
Thu Oct  8 04:26:20 1998  Michael Hayes  
4721
 
4722
        * flags.h (flag_branch_on_count_reg): Always declare.
4723
        * toplev.c (flag_branch_on_count_reg): Likewise.
4724
        * toplev.c: Fix typos.
4725
 
4726
        * real.c (c4xtoe): Remove unused variables.  Add some missing parens.
4727
        (toc4x): Similarly.
4728
 
4729
Thu Oct  8 01:25:22 1998  Richard Henderson  
4730
 
4731
        * flow.c (find_basic_blocks): Calc upper bound for extra nops in
4732
        max_uids_for_flow.
4733
        (find_basic_blocks_1): Add a nop to the end of a basic block when
4734
        a trailing call insn does not have abnormal control flow.
4735
        * gcse.c (pre_transpout): New variable.
4736
        (alloc_pre_mem, free_pre_mem, dump_pre_data): Bookkeeping for it.
4737
        (compute_pre_transpout): Calculate it.
4738
        (compute_pre_ppinout): Use it to eliminate impossible placements
4739
        due to abnormal control flow through calls.
4740
        (compute_pre_data): Call compute_pre_transpout.
4741
 
4742
Wed Oct  7 21:40:24 1998  David S. Miller  
4743
 
4744
        * config/sparc/sol2-sld-64.h (ASM_CPU_SPEC): Fix typo.
4745
 
4746
Wed Oct  7 21:19:46 1998  Ken Raeburn  
4747
 
4748
        * config/mips/mips.md (tablejump_internal3, tablejump_internal4
4749
        and matching define_insns): Tack on a `use' of the table label, so
4750
        flow analysis will recognize a tablejump.
4751
 
4752
Wed Oct  7 17:33:39 1998  Richard Henderson  
4753
 
4754
        * gcse.c (pre_insert_insn): Tweek to notice that calls do not
4755
        always end basic blocks for abnormal edge reasons.
4756
 
4757
Wed Oct  7 14:40:43 1998  Nick Clifton  
4758
 
4759
        * config/i386/i386.h: Remove definition of
4760
        HANDLE_PRAGMA_PACK_PUSH_POP.
4761
 
4762
        * config/i386/go32.h: Add definition of
4763
        HANDLE_PRAGMA_PACK_PUSH_POP.
4764
 
4765
        * config/i386/win32.h: Add definition of
4766
        HANDLE_PRAGMA_PACK_PUSH_POP.
4767
 
4768
        * config/i386/cygwin32.h: Add definition of
4769
        HANDLE_PRAGMA_PACK_PUSH_POP.
4770
 
4771
        * c-pragma.c (insert_pack_attributes): Do not insert
4772
        attributes unless #pragma pack(push,) is in effect.
4773
 
4774
Wed Oct  7 12:10:46 1998  Jim Wilson  
4775
 
4776
        * expr.c (emit_group_store): Handle a PARALLEL destination.
4777
 
4778
Wed Oct  7 10:07:29 1998  Richard Henderson  
4779
 
4780
        * gcse.c (pre_insert_insn): When a call ends a bb, insert
4781
        the new insns before the argument regs are loaded.
4782
 
4783
Wed Oct  7 12:55:26 1998  Kaveh R. Ghazi  
4784
 
4785
        * Makefile.in (c-gperf.h): Add -L KR-C -F ', 0, 0' flags to gperf.
4786
        (c-parse.gperf): Update comments describing invocation flags.
4787
        (c-gperf.h): Regenerate using gperf 2.7.1 (19981006 egcs).
4788
 
4789
1998-10-07  Manfred Hollstein  
4790
 
4791
        * reload1.c (reload): Call free before clobbering the memory
4792
        locations or constants pointers.
4793
 
4794
Wed Oct  7 02:05:20 1998  David S. Miller  
4795
 
4796
        * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework
4797
        for efficiency by checking whether we need to modify the current
4798
        stack permission at all.
4799
        (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
4800
        * config/sparc/sparc.c (sparc_initialize_trampoline): Emit
4801
        __enable_execute_stack libcall here too if
4802
        TRANSFER_FROM_TRAMPOLINE is defined.
4803
        * config/sparc/sparc.h: Set TARGET_ARCH32 to a constant if
4804
        IN_LIBGCC2.
4805
 
4806
Wed Oct  7 02:27:52 1998  Jeffrey A Law  (law@cygnus.com)
4807
 
4808
        * Makefile.in (DRIVER_DEFINES): Remove last change.
4809
 
4810
Wed Oct  7 01:08:43 1998  Bernd Schmidt  
4811
 
4812
        * jump.c (duplicate_loop_exit_test): Strip REG_WAS_0 notes off all
4813
        insns we're going to copy.
4814
        * regclass.c (reg_scan_mark_refs): Don't test X for NULL_RTX.
4815
 
4816
        * loop.c (count_one_set): Add prototype.
4817
 
4818
        * caller-save.c (restore_referenced_regs): Lose mode argument.
4819
        (insert_save): Lose mode argument.
4820
        (insert_restore): Lose mode argument.
4821
        (insert_one_insn): Lose mode argument.
4822
        (save_call_clobbered_regs): Lose mode argument.
4823
        (setup_save_areas): Take no argument and return void.  All callers
4824
        changed.
4825
        Don't verify validity of memory addresses.
4826
        * reload.h (setup_save_ares): Adjust prototype.
4827
        (save_call_clobbered_regs): Likewise.
4828
        * reload1.c (delete_caller_save_insns): New function.
4829
        (caller_save_spill_class): Delete variable.
4830
        (caller_save_group_size): Delete variable.
4831
        (reload): Call setup_save_areas and save_call_clobbered_regs
4832
        in the main loop, before calling calculate_needs_all_insns.
4833
        Don't call save_call_clobbered_regs after the loop.
4834
        Call delete_caller_save_insns at the end of an iteration if
4835
        something changed.
4836
        Delete code to manage caller_save_spill_class.
4837
        Emit the final note before setting reload_first_uid.
4838
        Simplify test that determines whether reload_as_needed gets run.
4839
        (calculate_needs): Delete code to manage caller_save_spill_class.
4840
 
4841
Tue Oct  6 15:42:27 1998  Richard Henderson  
4842
 
4843
        * collect2.c (main): Initialize ld_file_name.
4844
 
4845
Tue Oct  6 15:45:15 1998  Catherine Moore  
4846
 
4847
        * config/sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Don't
4848
        check for flag_function_sections.
4849
 
4850
Tue Oct  6 20:02:31 1998  J"orn Rennecke  
4851
 
4852
        * cse.c (insert_regs): Fix bug in Sep 24 change.
4853
 
4854
Tue Oct  6 17:00:42 1998  J"orn Rennecke  
4855
 
4856
        * flags.h (flag_dump_unnumbered): Declare.
4857
        * toplev.c (flag_dump_unnumbered): Don't declare.
4858
        * print-rtl.c (flags.h): Include.
4859
        (print_rtl_single): Add return value.
4860
        * rtl.h (print_rtl_single): Update declaration.
4861
        * flow.c (flag_dump_unnumbered): Don't declare.
4862
        (print_rtl_with_bb): Use return value of print_rtl_single.
4863
 
4864
Tue Oct  6 01:36:00 1998  Bernd Schmidt  
4865
 
4866
        * loop.c (count_one_set): New static function, broken out of
4867
        count_loop_regs_set.
4868
        (count_loop_regs_set): Call it.
4869
        * global.c (mark_reg_store): Handle clobbers here by not calling
4870
        set_preference.
4871
        (mark_reg_clobber): Just call mark_reg_store after ensuring SETTER
4872
        is in fact a clobber.
4873
        * integrate.c (process_reg_param): New function, broken out of
4874
        expand_inline_function.
4875
        (expand_inline_function): Call it.
4876
 
4877
        * i386.md (addsidi3_1): Delete unused variable temp.
4878
        (addsidi3_2): Likewise.
4879
        (clstrstrsi): Delete unused variable addr1.
4880
 
4881
        * rtl.h: Don't declare any functions also declared in recog.h.
4882
 
4883
        * Makefile.in (stupid.o): Update dependencies.
4884
        (global.o): Likewise.
4885
 
4886
        * global.c: Include reload.h.
4887
        (reg_becomes_live): New function.
4888
        (reg_dies): New function.
4889
        (build_insn_chain): New function.
4890
        (global_alloc): Call build_insn_chain before calling reload.
4891
 
4892
        * reload.h (struct needs): New structure definition.
4893
        (struct insn_chain): Likewise.
4894
        (reload_insn_chain): Declare variable.
4895
        (new_insn_chain): Declare function.
4896
 
4897
        * reload1.c (reload_startobj): New variable.
4898
        (reload_insn_chain): New variable.
4899
        (unused_insn_chains): New variable.
4900
        (new_insn_chain): New function.
4901
        (init_reload): Initialize reload_startobj, not reload_firstobj.
4902
        (reload): Initialize reload_firstobj.
4903
        Before returning, free everything on the reload_obstack.
4904
 
4905
        * stupid.c: Include insn-config.h, reload.h and basic-block.h.
4906
        (reg_where_dead_chain, reg_where_born_exact, reg_where_born_clobber,
4907
        current_chain): New variables.
4908
        (reg_where_born): Delete variable.
4909
        (REG_WHERE_BORN): New macro.
4910
        (find_clobbered_regs): New function.
4911
        (stupid_life_analysis): Don't allocate/free reg_where_born.
4912
        Allocate and free reg_where_born_exact, reg_where_born_clobber,
4913
        reg_where_dead_chain.
4914
        Use REG_WHERE_BORN instead of reg_where_born.
4915
        While processing the insns, build the reload_insn_chain with
4916
        information about register lifetimes.
4917
        (stupid_reg_compare): Use REG_WHERE_BORN instead of reg_where_born.
4918
        (stupid_mark_refs): Replace arg INSN with arg CHAIN.  All callers
4919
        changed.
4920
        Compute and information about birth and death of pseudo registers in
4921
        reg_where_dead_chain, reg_where_born_exact and reg_where_born_clobber.
4922
        Delete code to set elements of reg_where_born.
4923
 
4924
Mon Oct  5 22:34:30 1998  Alexandre Petit-Bianco  
4925
 
4926
        * tree.def (GOTO_EXPR): Modified documentation.
4927
        * expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed
4928
        goto.
4929
 
4930
Mon Oct  5 22:43:36 1998  David Edelsohn  
4931
 
4932
        * unroll.c (loop_iteration_var, loop_initial_value, loop_increment
4933
        loop_final_value, loop_comparison_code): No longer static.
4934
        (unroll_loop): Delete loop_start_value update.
4935
        * loop.h (loop_iteration_var, loop_initial_value, loop_increment,
4936
        loop_final_value, loop_comparison_code): Extern.
4937
        (loop_start_value): Delete extern.
4938
        * loop.c (loop_can_insert_bct, loop_increment, loop_start_value,
4939
        loop_comparison_value, loop_comparison_code): Delete.
4940
        (loop_optimize): Remove initialization for deleted variables.
4941
        (strength_reduce): Delete analyze_loop_iterations call.  Only call
4942
        insert_bct if flag_branch_count_on_reg set.
4943
        (analyze_loop_iterations): Delete.
4944
        (insert_bct): Remove iteration count calculation.  Move checks for
4945
        viable BCT optimization to here.  Obtain iteration count from
4946
        loop_iterations and correct for unrolling.  Check for enough
4947
        iteration to be beneficial.  Comment out runtime iteration count
4948
        case.
4949
        (insert_bct): Print iteration count in dump file.  Remove
4950
        loop_var_mode and use word_mode directly.
4951
 
4952
        * rs6000.h (processor_type): Add PROCESSOR_PPC604e.
4953
        * rs6000.c (rs6000_override_options): Use it.
4954
        (optimization_options): Enable use of flag_branch_on_count_reg.
4955
        * rs6000.md (define_function_unit): Describe 604e.
4956
 
4957
1998-10-05  Herman A.J. ten Brugge  
4958
 
4959
        * loop.c (move_movables): Corrected threshold calculation for
4960
        moved_once registers.
4961
 
4962
Mon Oct  5 21:18:45 1998  Bernd Schmidt  
4963
 
4964
        * loop.c (combine_givs_p): Fix test for identical givs.
4965
 
4966
Mon Oct  5 10:11:28 1998  Nick Clifton  
4967
 
4968
        * dwarf2out.c (gen_subprogram_die): If errorcount nonzero, don't
4969
        call abort if the function is already defined.
4970
 
4971
Mon Oct  5 10:02:36 1998  Jeffrey A Law  (law@cygnus.com)
4972
 
4973
        * combine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if
4974
        truncation is not a no-op.
4975
 
4976
Mon Oct  5 09:02:04 1998  Jeff Law  (law@cygnus.com)
4977
 
4978
        * version.c: Bump for snapshot.
4979
 
4980
Mon Oct  5 08:19:55 1998  Jeff Law  (law@cygnus.com)
4981
 
4982
        * version.c: Bump for snapshot.
4983
 
4984
Mon Oct  5 01:07:23 1998  Torbjorn Granlund  
4985
 
4986
        * expmed.c (expand_divmod): Don't widen for computing remainder
4987
        if we seem to have a divmod pattern for needed mode.
4988
 
4989
Mon Oct  5 01:01:42 1998  Zack Weinberg  
4990
 
4991
        * cpplib.c (macroexpand): Correct off-by-one error in handling
4992
        of escapes.
4993
 
4994
Sun Oct  4 23:58:30 1998  Richard Henderson  
4995
 
4996
        * combine.c (expand_field_assignment): Don't do bitwise operations
4997
        on MODE_FLOAT; pun to MODE_INT if possible.
4998
 
4999
Sun Oct  4 18:33:24 1998  Jason Merrill  
5000
                          scott snyder  
5001
 
5002
        * tlink.c (scan_linker_output): Recognize errors from irix 6.2
5003
        linker.  Recognize mangled names in quotes.
5004
 
5005
Sun Oct  4 02:58:20 1998  Jakub Jelinek  
5006
 
5007
        * config/sparc/sparc.md (ashldi3+1): Name it ashldi3_sp64.
5008
        (ashlsi3_const1, ashldi3_const1): New combiner patterns.
5009
        (ashrsi3_extend, ashrsi3_extend2): New combiner patterns.
5010
        (lshrsi3_extend, lshrsi3_extend2): Likewise.
5011
 
5012
Sun Oct  4 00:23:00 1998  David S. Miller  
5013
 
5014
        * function.c (purge_addressof_1): If trying to take a sub-word
5015
        integral piece of a floating point mode, put it on the stack.
5016
 
5017
Sat Oct  3 19:01:03 1998  Richard Henderson  
5018
 
5019
        * alpha/linux.h (CPP_PREDEFINES): Define __alpha__ for imake.
5020
 
5021
Sat Oct  3 14:42:19 1998  Jason Merrill  
5022
 
5023
        * PROJECTS: Remove template friends.
5024
 
5025
        * collect2.c (sort_ids): Remove unused variable.
5026
 
5027
        * tm.texi (MATH_LIBRARY): Document.
5028
        (NEED_MATH_LIBRARY): Remove.
5029
 
5030
        * varasm.c (assemble_start_function, assemble_variable, weak_finish,
5031
        assemble_alias): Do ASM_GLOBALIZE_LABEL for weak symbols, too.
5032
 
5033
Sat Oct  3 16:14:44 1998  John Carr  
5034
 
5035
        * dwarf2out.c (expand_builtin_dwarf_reg_size): Initialize
5036
        last_end to 0x7fffffff.
5037
 
5038
Fri Oct  2 19:14:20 1998  David S. Miller  
5039
 
5040
        * function.c (purge_addressof_1): Do not perform endianness
5041
        corrections on bitpos, who we call will do it for us.
5042
 
5043
Fri Oct  2 11:52:35 1998  Jeffrey A Law  (law@cygnus.com)
5044
 
5045
        * h8300.c (WORD_REG_USED): Fix typo.
5046
        (initial_offset): Use WORD_REG_USED.
5047
 
5048
        * h8300.c (handle_pragma): Fix typo.
5049
 
5050
Fri Oct  2 10:51:35 1998  Bernd Schmidt  
5051
 
5052
        * caller-save.c (insert_save_restore): Break this function up
5053
        into new functions insert_restore, insert_save and insert_one_insn.
5054
        All callers changed.
5055
        (insert_restore): New function, mostly broken out of
5056
        insert_save_restore.
5057
        (insert_save): Likewise.
5058
        (insert_one_insn): Likewise.
5059
        (restore_referenced_regs): New argument BLOCK.  All callers changed.
5060
        (save_call_clobbered_regs): Don't keep track of basic block boundaries
5061
        in this function, do it in insert_one_insn instead.
5062
 
5063
        * reload1.c (reload): Break out some more pieces into separate
5064
        functions.
5065
        (dump_needs): New function, broken out of reload.
5066
        (set_initial_elim_offsets): Likewise.
5067
        (init_elim_table): Likewise.
5068
        (update_eliminables): Likewise.
5069
 
5070
        * global.c (global_alloc): Delete code to manage the scratch_list.
5071
        * local-alloc.c (qty_scratch_rtx): Delete.
5072
        (scratch_block): Delete.
5073
        (scratch_list): Delete.
5074
        (scratch_list_length): Delete.
5075
        (scratch_index): Delete.
5076
        (alloc_qty_for_scratch): Delete.
5077
        (local-alloc): Update initialization of max_qty.
5078
        Delete code to manage the scratch list.
5079
        Delete code to allocate/initialize qty_scratch_rtx.
5080
        (block_alloc): Don't allocate quantities for scratches.
5081
        Delete code to manage the scratch list.
5082
        * regs.h (scratch_list): Delete declaration.
5083
        (scratch_block): Delete declaration.
5084
        (scratch_list_length): Delete declaration.
5085
        * reload1.c (reload): Delete code to manage the scratch list.
5086
        (spill_hard_reg): Likewise.
5087
        (mark_scratch_live): Delete.
5088
 
5089
        * recog.c (alter_subreg): Delete declaration.
5090
 
5091
1998-10-02  Andreas Jaeger  
5092
 
5093
        * Makefile.in (cccp.o): Fix typo in last patch.
5094
 
5095
Fri Oct  2 16:13:12 1998  J"orn Rennecke  
5096
 
5097
        * t-sh (LIB1ASMFUNCS): Add _set_fpscr .
5098
        * config/sh/lib1funcs.asm (___set_fpscr): Add.
5099
 
5100
Fri Oct  2 02:01:59 1998  Jeffrey A Law  (law@cygnus.com)
5101
 
5102
        * regclass.c (reg_scan_mark_refs): Return immediately if passed a
5103
        NULL_RTX as an argument.
5104
 
5105
        * Makefile.in (unlibsubdir): Define.
5106
        (DRIVER_DEFINES): Use unlibsubdir.
5107
        (cccp.o, cpplib.o, protoize.o, unprotoize.o): Similarly.
5108
        (stmp-fixinc): Similarly.
5109
 
5110
Thu Oct  1 19:58:30 1998  Bernd Schmidt  
5111
 
5112
        * regmove.c (regmove_optimize): Add variable old_max_uid.
5113
        At the end of the function, update basic_block_end.
5114
 
5115
Thu Oct  1 17:58:25 1998  David S. Miller  
5116
 
5117
        * dwarf2out.c (expand_builtin_dwarf_reg_size): Use
5118
        FIRST_PSEUDO_REGISTER as upper bound for last_end, not an
5119
        arbitrary constant.
5120
 
5121
Thu Oct  1 17:57:14 1998  Nick Clifton  
5122
 
5123
        * config/arm/arm.c: Improve interworking support.
5124
 
5125
Thu Oct  1 18:43:35 1998  J"orn Rennecke  
5126
 
5127
        * reload1.c (choose_reload_regs): Fix test if reload_reg_rtx[r] was
5128
        copied from reload_out[r] .
5129
 
5130
Thu Oct  1 19:20:09 1998  John Carr  
5131
 
5132
        * dwarf2out.c (expand_builtin_dwarf_reg_size): Fix to work
5133
        with more than three size ranges.
5134
 
5135
        * flow.c (sbitmap_copy): Use bcopy to copy bitmap.
5136
 
5137
        * rtl.c (mode_name): Add a null string at the end of the array.
5138
        (mode_wider_mode): Change type to unsigned char.
5139
        (mode_mask_array): New variable.
5140
        (init_rtl): Update for mode_wider_mode type change.
5141
 
5142
        * rtl.h (mode_wider_mode): Change type to unsigned char.
5143
        (mode_mask_array): Declare.
5144
        (GET_MODE_MASK): Use mode_mask_array.
5145
 
5146
Thu Oct  1 15:56:01 1998  Gavin Romig-Koch  
5147
 
5148
        * calls.c (expand_call) : Encapsulate code into
5149
        copy_blkmode_from_reg.
5150
        * expr.c (copy_blkmode_from_reg): New function.
5151
        * expr.h (copy_blkmode_from_reg): New function.
5152
        * integrate.c (function_cannot_inline_p): We can inline
5153
        these now.
5154
        (expand_inline_function): Use copy_blkmode_from_reg
5155
        if needed.  Avoid creating BLKmode REGs.
5156
        (copy_rtx_and_substitute): Don't try to SUBREG a BLKmode
5157
        object.
5158
 
5159
Thu Oct  1 10:42:27 1998  Nick Clifton  
5160
 
5161
        * config/v850/v850.c: Add function prototypes.
5162
        Add support for v850 special data areas.
5163
 
5164
        * config/v850/v850.h: Add support for v850 special data areas.
5165
 
5166
        * c-pragma.c: Add support for HANDLE_PRAGMA_PACK and
5167
        HANDLE_PRAGMA_PACK_PUSH_POP.
5168
        (push_alignment): New function: Cache an alignment requested
5169
        by a #pragma pack(push,).
5170
        (pop_alignment): New function: Pop an alignment from the
5171
        alignment stack.
5172
        (insert_pack_attributes): New function: Generate __packed__
5173
        and __aligned__ attributes for new decls whilst a #pragma pack
5174
        is in effect.
5175
        (add_weak): New function: Cache a #pragma weak directive.
5176
        (handle_pragma_token): Document calling conventions.  Add
5177
        support for #pragma pack(push,) and #pragma pack (pop).
5178
 
5179
        * c-pragma.h: If HANDLE_SYSV_PRAGMA or HANDLE_PRAGMA_PACK_PUSH_POP
5180
        are defined enable HANDLE_PRAGMA_PACK.
5181
        Move 'struct weak_syms' here (from varasm.c).
5182
        Add pragma states for push and pop pragmas.
5183
 
5184
        * c-common.c (decl_attributes): Call PRAGMA_INSERT_ATTRIBUTES
5185
        if it is defined.
5186
 
5187
        * c-lex.c: Replace occurrences of HANDLE_SYSV_PRAGMA with
5188
        HANDLE_GENERIC_PRAGMAS.
5189
 
5190
        * varasm.c: Move definition of 'struct weak_syms' into
5191
        c-pragma.h.
5192
        (handle_pragma_weak): Deleted.
5193
 
5194
        * config/i386/i386.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
5195
 
5196
        * config/winnt/win-nt.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
5197
 
5198
        * c-decl.c (start_function): Add invocation of
5199
        SET_DEFAULT_DECL_ATTRIBUTES, if defined.
5200
 
5201
        * tm.texi: Remove description of non-existent macro
5202
        SET_DEFAULT_SECTION_NAME.
5203
 
5204
        (HANDLE_SYSV_PRAGMA): Document.
5205
        (HANDLE_PRAGMA_PACK_PUSH_POP): Document.
5206
 
5207
Wed Sep 30 22:27:53 1998  Robert Lipe  
5208
 
5209
        * config.sub: Recognize i[34567]86-pc-udk as new target.
5210
        * configure.in: Likewise.
5211
        * config/i386/t-udk: New file.
5212
        * config/i386/udk.h: New file.
5213
 
5214
Wed Sep 30 19:33:07 1998  Jeffrey A Law  (law@cygnus.com)
5215
 
5216
        * reorg.c (check_annul_list_true_false): Remove unused variables.
5217
        (steal_delay_list_from_target): Add missing "used_annul" variable.
5218
        (try_merge_delay_insns): Close out half formed comment.
5219
 
5220
Wed Sep 30 19:13:20 1998  Zack Weinberg  
5221
 
5222
        * cpplib.c (macroexpand): If arg->raw_before or
5223
        arg->raw_after, remove any no-reexpansion escape at the
5224
        beginning of the pasted token.  Correct handling of whitespace
5225
        markers and no-reexpand markers at the end if arg->raw_after.
5226
 
5227
        * toplev.c (documented_lang_options): Recognize -include,
5228
        -imacros, -iwithprefix, -iwithprefixbefore.
5229
        * cpplib.c (cpp_start_read): Process -imacros and -include
5230
        switches at the same time and in command-line order, after
5231
        initializing the dependency-output code.  Emit properly nested
5232
        #line directives for them.  Emit a #line for the main file
5233
        before processing these switches, and don't do it again
5234
        afterward.
5235
 
5236
Wed Sep 30 18:03:22 1998  Richard Henderson  
5237
 
5238
        * function.c (purge_addressof_1): Use bitfield manipulation
5239
        routines to handle mem mode < reg mode.
5240
 
5241
Wed Sep 30 18:43:32 1998  Herman ten Brugge  
5242
 
5243
        * reorg.c (try_merge_delay_insns): Account for resources referenced
5244
        in each instruction in INSN's delay list before trying to eliminate
5245
        useless instructions.  Similarly when looking at a trial insn's delay
5246
        slots.
5247
 
5248
        * reorg.c (check_annul_list_true_false): New function.
5249
        (steal_delay_list_from_{target,fallthrough}): Call it and also
5250
        refine tests for when we may annul if already filled a slot.
5251
        (fill_slots_from_thread): Likewise.
5252
        (delete_from_delay_slot): Return newly-created thread.
5253
        (try_merge_delay_isns): Use its new return value.
5254
 
5255
Wed Sep 30 18:29:26 1998  Jeffrey A Law  (law@cygnus.com)
5256
 
5257
        * loop.c (check_dbra_loop): Use a vanilla loop reversal if the biv is
5258
        used to compute a giv or as some other non-counting use.
5259
 
5260
Wed Sep 30 18:19:27 1998  Michael Hayes  
5261
 
5262
        * regs.h (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
5263
        * local-alloc.c (find_free_reg): Use it.
5264
        * global.c (find_reg): Likewise.
5265
        * tm.texi: Document HARD_REGNO_CALL_PART_CLOBBERED.
5266
 
5267
        * regs.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
5268
        * caller-save.c (init_caller_save): Use it.
5269
        * tm.texi: Document HARD_REGNO_CALLER_SAVE_MODE.
5270
 
5271
Wed Sep 30 12:57:30 1998  Zack Weinberg  
5272
 
5273
        * configure.in: Add --enable-cpplib option which uses cpplib
5274
        for cpp, but doesn't link cpplib into cc1.  Make help text
5275
        capitalization consistent.
5276
        * configure: Rebuilt.
5277
 
5278
Wed Sep 30 10:09:39 1998  Mark Mitchell  
5279
 
5280
        * function.c (gen_mem_addressof): If the address REG is
5281
        REG_USERVAR_P make the new REG be so also.
5282
        * loop.c (scan_loop): Apply DeMorgan's laws and add documentation
5283
        in an attempt to clarify slightly.
5284
 
5285
Wed Sep 30 09:57:40 1998  Jeffrey A Law  (law@cygnus.com)
5286
 
5287
        * expr.c (expand_expr): Handle COMPONENT_REF, BIT_FIELD_REF ARRAY_REF
5288
        and INDIRECT_REF in code to check MAX_INTEGER_COMPUTATION_MODE.
5289
 
5290
Wed Sep 30 10:13:39 1998  Catherine Moore  
5291
 
5292
        * toplev.c: Fix last patch.
5293
 
5294
Tue Sep 29 20:03:18 1998  Jim Wilson  
5295
 
5296
        * loop.c (get_condition): Fix typo in May 9 change.
5297
 
5298
Tue Sep 29 11:11:38 1998  Andrew MacLeod  
5299
 
5300
        * invoke.texi (-fexceptions): Merge 2 different descriptions.
5301
 
5302
Mon Sep 28 22:08:52 1998  Kaveh R. Ghazi  
5303
 
5304
        * toplev.c (documented_lang_options): Spelling corrections.
5305
 
5306
Mon Sep 28 19:41:24 1998  Alexandre Oliva  
5307
 
5308
        * configure.in: New flags --with-ld and --with-as, equivalent
5309
        to setting LD and AS environment variables.  Test whether
5310
        specified arguments are GNU commands, and report them with
5311
        checking messages.  Use the specified AS for configure
5312
        tests too.
5313
        * configure: Likewise.
5314
        * acconfig.h: Add DEFAULT_ASSEMBLER and DEFAULT_LINKER.
5315
        * config.in: Likewise.
5316
        * gcc.c (find_a_file): When looking for `as' and `ld', return
5317
        the DEFAULT program if it exists.
5318
        * collect2.c (main): Use DEFAULT_LINKER if it exists.
5319
 
5320
        * gcc.c (find_a_file): The test for existence of a full
5321
        pathname was reversed.
5322
 
5323
Mon Sep 28 17:34:35 1998  Michael Meissner  
5324
 
5325
        * rs6000.h (ASM_OUTPUT_MI_THUNK): Only define on ELF systems.
5326
        * rs6000.c (output_mi_thunk): Always use a raw jump for now.
5327
 
5328
Mon Sep 28 14:24:03 1998  Mark Mitchell  
5329
 
5330
        * tree.h (TYPE_BINFO): Document.
5331
 
5332
Mon Sep 28 12:55:49 1998  Stan Cox  
5333
 
5334
        * i386-coff.h (dbxcoff.h): Added.
5335
 
5336
Mon Sep 28 12:51:00 1998  Catherine Moore  
5337
 
5338
        * toplev.c: Fix bad patch around flag_data_sections.
5339
 
5340
Mon Sep 28 10:32:28 1998  Nick Clifton  
5341
 
5342
        * reload1.c (reload): Use reload_address_index_reg_class and
5343
        reload_address_base_reg_class when setting
5344
        caller_save_spill_class.  (Patch generated by Jim Wilson:
5345
        wilson@cygnus.com).
5346
 
5347
Mon Sep 28 07:43:34 1998  Mark Mitchell  
5348
 
5349
        * c-common.c (c_get_alias_set): Tighten slightly for FUNCTION_TYPEs
5350
        and ARRAY_TYPEs.  Tidy up.  Improve support for type-punning.
5351
        * expr.c (store_field): Add alias_set parameter.  Set the
5352
        MEM_ALIAS_SET accordingly, if the target is a MEM.
5353
        (expand_assignment): Use it.
5354
        (store_constructor_field): Pass 0.
5355
        (expand_expr): Likewise.
5356
 
5357
Mon Sep 28 07:54:03 1998  Catherine Moore  
5358
 
5359
        * flags.h: Add flag_data_sections.
5360
        * toplev.c: Add option -fdata-sections.  Add flag_data_sections.
5361
        (compile_file): Error if flag_data_sections not supported.
5362
        * varasm.c (assemble_variable): Handle flag_data_sections.
5363
        * config/svr4.h: Modify prefixes for UNIQUE_SECTION_NAME.
5364
        * config/mips/elf.h: Likewise.
5365
        * config/mips/elf64.h: Likewise.
5366
        * invoke.texi: Describe -fdata-sections.
5367
 
5368
Mon Sep 28 04:15:44 1998  Craig Burley  
5369
 
5370
        * invoke.texi (-ffloat-store): Clarify that this option
5371
        does not affect intermediate results -- only variables.
5372
 
5373
Mon Sep 28 04:11:35 1998  Jeffrey A Law  (law@cygnus.com)
5374
 
5375
        * cpp.texi: Update for Fortran usage from Craig.
5376
 
5377
Fri Sep 25 22:09:47 1998  David Edelsohn  
5378
 
5379
        * rs6000.c (function_arg_boundary): Revert accidental change on
5380
        September 18.
5381
 
5382
Fri Sep 25 20:30:00 1998  Michael Meissner  
5383
 
5384
        * rs6000.h (ASM_OUTPUT_MI_THUNK): Declare, call output_mi_thunk.
5385
        (output_mi_thunk): Declare.
5386
 
5387
        * rs6000.c (output_mi_thunk): Function to create thunks for MI.
5388
        (output_function_profiler): Use r12 for temp, instead of r11 so
5389
        that we preserve the static chain register.
5390
 
5391
Fri Sep 25 14:18:33 1998  Jim Wilson  
5392
 
5393
        * sdbout.c (sdbout_one_type): Don't look at TYPE_BINFO field of enums.
5394
 
5395
Fri Sep 25 19:30:19 1998  J"orn Rennecke  
5396
 
5397
        * sh.c (gen_shl_sext): Fix case 5.
5398
 
5399
Fri Sep 25 17:35:23 1998  J"orn Rennecke  
5400
 
5401
        * reload1.c (reload_combine): Re-add line that got accidentally lost.
5402
 
5403
Fri Sep 25 10:43:47 1998  Kaveh R. Ghazi  
5404
 
5405
        * cccp.c (pedwarn_with_file_and_line): For !__STDC__ case, avoid
5406
        accessing variables until they are initialized via va_arg().
5407
 
5408
Thu Sep 24 22:12:16 1998  David S. Miller  
5409
 
5410
        * reload1.c (reload_combine): Initialize set before using.
5411
 
5412
Thu Sep 24 18:53:20 1998  Jason Merrill  
5413
 
5414
        * sdbout.c (sdbout_field_types): Don't emit the types of fields we
5415
        won't be emitting.
5416
 
5417
Thu Sep 24 17:05:30 1998  Nick Clifton  
5418
 
5419
        * config/arm/arm.md (insv): Add comment.  In CONST_INT case, and
5420
        operand3 with mask before using it.  Patch provided by Jim Wilson.
5421
 
5422
Thu Sep 24 15:08:08 1998  Jakub Jelinek  
5423
 
5424
        * config/sparc/sparc.c (function_value): Perform the equivalent of
5425
        PROMOTE_MODE for ARCH64.
5426
        (eligible_for_epilogue_delay): Allow DImode operations in delay
5427
        slot of a return for ARCH64.
5428
 
5429
Thu Sep 24 22:17:54 1998  J"orn Rennecke  
5430
 
5431
        * sh.md (sqrtsf2): Fix mode of sqrt.
5432
 
5433
Thu Sep 24 21:48:51 1998  J"orn Rennecke  
5434
 
5435
        * reload1.c (choose_reload_regs): Also try inheritance when
5436
        reload_in is a stack slot of a pseudo, even if we already got a
5437
        reload reg.
5438
 
5439
Thu Sep 24 21:22:39 1998  J"orn Rennecke  
5440
 
5441
        * reload1.c (reload_cse_regs_1): Renamed from reload_cse_regs.
5442
        (reload_cse_regs): New function body: call reload_cse_regs_1,
5443
        reload_combine, reload_cse_move2add.
5444
        When doing expensive_optimizations, call reload_cse_regs_1 a
5445
        second time after reload_cse_move2add.
5446
        (reload_combine, reload_combine_note_store): New functions.
5447
        (reload_combine_note_use): New function.
5448
        (reload_cse_move2add, move2add_note_store): New functions.
5449
 
5450
Thu Sep 24 18:48:43 1998  J"orn Rennecke  
5451
 
5452
        * reload.c (find_reloads): In code to promote RELOAD_FOR_X_ADDR_ADDR
5453
        reloads to RELOAD_FOR_X_ADDRESS reloads, test for reload sharing.
5454
 
5455
        Properly keep track of first RELOAD_FOR_X_ADDRESS also for
5456
        more than 3 such reloads.
5457
 
5458
        If there is not more than one RELOAD_FOR_X_ADDRESS, don't change
5459
        RELOAD_FOR_X_ADDR_ADDR reload.
5460
 
5461
Thu Sep 24 17:45:55 1998  J"orn Rennecke  
5462
 
5463
        * expr.c (store_constructor): When initializing a field that is smaller
5464
        than a word, at the start of a word, try to widen it to a full word.
5465
 
5466
        * cse.c (cse_insn): When we are about to change a register,
5467
        remove any invalid references to it.
5468
 
5469
        (remove_invalid_subreg_refs): New function.
5470
        (mention_regs): Special treatment for SUBREGs.
5471
        (insert_regs): Don't strip SUBREG for call to mention_regs.
5472
        Check if reg_tick needs to be bumped up before that call.
5473
        (lookup_as_function): Try to match known word_mode constants when
5474
        looking for a norrower constant.
5475
        (canon_hash): Special treatment for SUBREGs.
5476
 
5477
Thu Sep 24 01:35:34 1998  David S. Miller  
5478
 
5479
        * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Define.
5480
        * config/sparc/sparc.c (sparc64_initialize_trampoline): If that is
5481
        defined, emit libcall to __enable_execute_stack.  Also fix opcodes
5482
        and offsets in actual stack trampoline code so they match the
5483
        commentary and actually work.
5484
 
5485
Thu Sep 24 01:19:02 1998  Jakub Jelinek  
5486
 
5487
        * configure.in (sparcv9-*-solaris): Use t-sol2 and t-sol2-64 for
5488
        tmake_file.
5489
        (sparc64-*-linux): Use t-linux and sparc/t-linux64 for
5490
        tmake_file.  Set extra_parts to needed crt objects.
5491
        * configure: Rebuilt.
5492
        * config/sparc/linux64.h (SPARC_BI_ARCH): Define.
5493
        (TARGET_DEFAULT): Set if default is v9 or ultra.
5494
        (STARTFILE_SPEC32, STARTFILE_SPEC64): New macros.
5495
        (STARTFILE_SPEC): Set to those upon SPARC_BI_ARCH.
5496
        (ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_SPEC): Likewise.
5497
        (SUBTARGET_EXTRA_SPECS, LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
5498
        LINK_SPEC, LINK_ARCH_SPEC): Likewise.
5499
        (TARGET_VERSION): Define.
5500
        (MULTILIB_DEFAULT): Define.
5501
        * config/sparc/sparc.h (CPP_CPU_DEFAULT_SPEC): Rearrange so that
5502
        mixed 32/64 bit compilers based upon SPARC_BI_ARCH work.
5503
        (CPP_CPU64_DEFAULT_SPEC, CPP_CPU32_DEFAULT_SEC): Define
5504
        appropriately.
5505
        (TARGET_SWITCHES): Allow ptr32/ptr64 options once more.
5506
        * config/sparc/sparc.c (sparc_override_options): If arch and
5507
        pointer size disagree, emit diagnostic and fix it up.  If
5508
        SPARC_BI_ARCH and TARGET_ARCH32, set cmodel to CM_32.  Turn off
5509
        V8PLUS in 64-bit mode.
5510
        * config/sparc/t-linux64: New file.
5511
        * config/sparc/t-sol2-64: New file.
5512
        * config/sparc/t-sol2: Adjust build rules to use MULTILIB_CFLAGS.
5513
        * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Define.
5514
        (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC,
5515
        CPP_CPU32_DEFAULT_SPEC, CPP_CPU64_DEFAULT_SPEC): Define.
5516
        (ASM_SPEC, CPP_CPU_SPEC): Set appropriately based upon those.
5517
        (STARTFILE_SPEC32, STARTFILE_SPEC32, STARTFILE_ARCH_SPEC):
5518
        Define.
5519
        (STARTFILE_SPEC): Set appropriately based upon those.
5520
        (CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Set based upon
5521
        disposition of DEFAULT_ARCH32_P.
5522
        (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Define.
5523
        (LINK_ARCH_SPEC, LINK_ARCH_DEFAULT_SPEC): Set based upon those.
5524
        (CC1_SPEC, MULTILIB_DEFAULTS): Set based upon DEFAULT_ARCH32_P.
5525
        (MD_STARTFILE_PREFIX): Set correctly based upon SPARC_BI_ARCH.
5526
        * config/sparc/xm-sysv4-64.h (HOST_BITS_PER_LONG): Only set on
5527
        arch64/v9.
5528
        * config/sparc/xm-sp64.h (HOST_BITS_PER_LONG): Likewise.
5529
 
5530
Wed Sep 23 22:32:31 1998  Mark Mitchell  
5531
 
5532
        * rtl.h (init_virtual_regs): New function.
5533
        * emit-rtl.c (init_virtual_regs): Define.
5534
        (insn_emit): Use it.
5535
        * integrate.c (save_for_inline_copying): Likewise.
5536
 
5537
Wed Sep 23 16:22:01 1998  Nick Clifton  
5538
 
5539
        * config/arm/thumb.h: The following patches were made by Jim Wilson:
5540
        (enum reg_class): Add NONARG_LO_REGS support.
5541
        (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS,
5542
        PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
5543
        (GO_IF_LEGITIMATE_ADDRESS): Disable REG+REG addresses before reload
5544
        completes.  Re-enable HImode REG+OFFSET addresses.
5545
        (LEGITIMIZE_RELOAD_ADDRESS): Define.
5546
 
5547
        * expmed.c (extract_bit_field): Add comment from Jim Wilson.
5548
 
5549
Wed Sep 23 13:26:02 1998  Richard Henderson  
5550
 
5551
        * alpha.c (get_aligned_mem): Revert Sep 20 change.
5552
        (alpha_set_memflags, alpha_set_memflags_1): Likewise.
5553
        (alpha_align_insns): Properly calculate initial offset wrt max_align.
5554
 
5555
Wed Sep 23 10:45:44 1998  Richard Earnshaw  (rearnsha@arm.com)
5556
 
5557
        * arm.c (find_barrier): Revert change of Apr 23.  Handle table
5558
        jumps as a single entity, taking into account the size of the
5559
        table.
5560
 
5561
Tue Sep 22 15:13:34 1998  Alexandre Petit-Bianco  
5562
 
5563
        * tree.def (SWITCH_EXPR): New tree node definition.
5564
 
5565
Mon Sep 21 23:40:38 1998  Jeff Law  (law@cygnus.com)
5566
 
5567
        * version.c: Bump for snapshot.
5568
 
5569
Mon Sep 21 22:31:14 1998  Jeff Law  (law@cygnus.com)
5570
 
5571
        * version.c: Bump for snapshot.
5572
 
5573
Mon Sep 21 22:48:09 1998  Jeffrey A Law  (law@cygnus.com)
5574
 
5575
        * configure.in: Recognize i[34567]86-*-openbsd* and handle it like
5576
        NetBSD.
5577
 
5578
Mon Sep 21 22:05:28 1998  Jeffrey A Law  (law@cygnus.com)
5579
 
5580
        * Revert this patch.
5581
        * reload.c (find_reloads): Do not replace a pseudo with
5582
        (MEM (reg_equiv_addr)) in the initializing insn for the
5583
        pseudo.
5584
 
5585
Mon Sep 21 20:19:41 1998  John Carr  
5586
 
5587
        * final.c (final_scan_insn): Disable tracking CC across branches.
5588
 
5589
Mon Sep 21 17:15:26 1998  Andrew MacLeod  
5590
 
5591
        * expr.h (eh_rtime_match_libfunc): New extern declaration.
5592
        * optabs.c (init_optabs): Set eh_rtime_match_libfunc.
5593
        * except.c (start_catch_handler): Use eh_rtime_match_libfunc.
5594
        * libgcc2.c (__eh_rtime_match): Always return 0 if the matcher is
5595
        NULL. Only include  if inhibit_libc is not defined.
5596
 
5597
Mon Sep 21 14:10:51 1998  Jason Merrill  
5598
 
5599
        * toplev.c (rest_of_compilation): Skip compiling anything with
5600
        DECL_EXTERNAL set, not just if it has DECL_INLINE as well.
5601
 
5602
Mon Sep 21 13:51:05 1998  Jim Wilson  
5603
 
5604
        * flow.c (find_basic_blocks): Delete check for in_libcall_block when
5605
        prev_code is a CALL_INSN.  Change check for REG_RETVAL note to
5606
        use in_libcall_block.
5607
        (find_basic_blocks_1): Delete check for in_libcall_block when prev_code
5608
        is a CALL_INSN.  If CALL_INSN and in_libcall_block, then change code
5609
        to INSN.
5610
 
5611
Mon Sep 21 14:02:23 1998  Robert Lipe  
5612
 
5613
        * i386.h (TARGET_SWITCHES): Improve doc for align-double.  Fix
5614
        typo in no-fancy-math-387 description.
5615
 
5616
Mon Sep 21 09:27:18 1998  Jeff Law  (law@cygnus.com)
5617
 
5618
        * version.c: Bump for snapshot.
5619
 
5620
Mon Sep 21 09:24:49 1998  Stan Cox  
5621
 
5622
        * i386-coff.h (DBX_DEBUGGING_INFO): Added.
5623
 
5624
Mon Sep 21 09:14:49 1998  Robert Lipe  
5625
 
5626
        * i386.h (TARGET_SWITCHES): Add description fields for flags
5627
        documented in install.texi.
5628
        (TARGET_OPTIONS): Likewise.
5629
 
5630
Mon Sep 21 01:39:03 1998  Jeff Law  (law@cygnus.com)
5631
 
5632
        * version.c: Bump for snapshot.
5633
 
5634
Mon Sep 21 01:53:05 1998  Felix Lee  
5635
 
5636
        * c-lex.c (init_lex): Use getenv ("LANG"), not GET_ENVIRONMENT ().
5637
        * cccp.c (main): Likewise.
5638
 
5639
        * cccp.c, collect2.c, cpplib.c, gcc.c, config/i386/xm-cygwin32.h:
5640
        Rename GET_ENVIRONMENT to GET_ENV_PATH_LIST, and fix some
5641
        macro-use bugs.
5642
 
5643
Mon Sep 21 00:52:12 1998  Per Bothner  
5644
 
5645
        * Makefile.in (LIBS): Link in libiberty.a.
5646
        * c-common.c, gcc.c, toplev.c: Replace (some) bcopy calls by memcpy.
5647
 
5648
Sun Sep 20 23:28:11 1998  Richard Henderson  
5649
 
5650
        * reload1.c (emit_reload_insns): Accept a new arg for the bb.  Use
5651
        it to update bb boundaries.  Update caller.
5652
        * function.c (reposition_prologue_and_epilogue_notes): Update
5653
        bb boundaries wrt the moved note.
5654
 
5655
Sun Sep 20 20:57:02 1998  Robert Lipe  
5656
 
5657
        * configure.in (i*86-*-sysv5*): Use fixinc.svr4 to patch byteorder
5658
        problems.
5659
        * configure: Regenerate.
5660
 
5661
Sun Sep 20 19:01:51 1998  Richard Henderson  
5662
 
5663
        * alpha.c (alpha_sr_alias_set): New variable.
5664
        (override_options): Set it.
5665
        (alpha_expand_prologue, alpha_expand_epilogue): Use it.
5666
        (mode_mask_operand): Fix signed-unsigned comparison warning.
5667
        (alpha_expand_block_move): Likewise.
5668
        (print_operand): Likewise.
5669
        (get_aligned_mem): Use change_address.
5670
        (alpha_set_memflags, alpha_set_memflags_1): Set the alias set.
5671
        (alphaev4_insn_pipe, alphaev4_next_group): New functions.
5672
        (alphaev4_next_nop, alphaev5_next_nop): New functions.
5673
        (alpha_align_insns): Remade from old alphaev5_align_insns
5674
        to handle multiple processors.
5675
        (alpha_reorg): Call alpha_align_insns for both ev4 and ev5.
5676
        * output.h (label_to_alignment): Prototype.
5677
 
5678
        * tree.c (new_alias_set): New function.
5679
        * tree.h (new_alias_set): Declare it.
5680
        * c-common.c (c_get_alias_set): Use it.
5681
 
5682
Sun Sep 20 12:35:55 1998  Richard Henderson  
5683
 
5684
        * fold-const.c (fold): Yet another COND_EXPR bug: when folding
5685
        to an ABS expr, convert an unsigned input to signed.
5686
 
5687
Sun Sep 20 12:14:45 1998  Jeffrey A Law  (law@cygnus.com)
5688
 
5689
        * fold-const.c (fold): Fix another type in COND_EXPR handling code.
5690
 
5691
1998-09-20  Michael Hayes  
5692
 
5693
        * configure.in: Add support for c4x targets.
5694
        * configure: Rebuilt.
5695
 
5696
Sun Sep 20 00:00:51 1998  Richard Henderson  
5697
 
5698
        * combine.c (distribute_notes): If an insn is a cc0 user, only
5699
        delete it if we can also delete the cc0 setter.
5700
 
5701
Sun Sep 20 00:22:23 1998  Michael Tiemann  
5702
 
5703
        * fold-const.c (fold): Fix typo in COND_EXPR handling code.
5704
        (invert_truthvalue): Enable truthvalue inversion for
5705
        floating-point operands if -ffast-math.
5706
 
5707
Sat Sep 19 23:58:07 1998  Melissa O'Neill  
5708
 
5709
        * configure.in: Disable collect2 for nextstep.  Instead use
5710
        crtbegin/crtend.
5711
        * configure: Rebuilt.
5712
        * config/nextstep.h (STARTFILE_SPEC): Add crtbegin.
5713
        (ENDFILE_SPEC): Define.
5714
        (OBJECT_FORMAT_MACHO): Define.
5715
        (EH_FRAME_SECTION_ASM_OP): Define.
5716
        * crtstuff.c: Handle MACHO.
5717
 
5718
Sun Sep 20 00:24:24 1998  Robert Lipe  
5719
 
5720
        * config/i386/sco5.h (TARGET_MEM_FUNCTIONS): Define.
5721
 
5722
1998-09-19  Torbjorn Granlund  
5723
 
5724
        * fp-bit.c (pack_d): Do not clear SIGN when fraction is 0.
5725
        (_fpadd_parts): Get sign right for 0.
5726
 
5727
1998-09-19  Michael Hayes  
5728
 
5729
        * ginclude/varargs.h: Add support for C4x target.
5730
        * ginclude/stdargs.h: Likewise.
5731
 
5732
Sat Sep 19 12:05:09 1998  Richard Henderson  
5733
 
5734
        * alpha.c (alpha_return_addr): SET should be VOIDmode.
5735
        (alpha_emit_set_long_const): Rewrite to be callable from reload
5736
        and 32-bit hosts.
5737
        (alpha_expand_epilogue): Update for alpha_emit_set_long_const.
5738
        * alpha.md (movdi): Likewise.
5739
 
5740
Sat Sep 19 07:33:36 1998  Richard Earnshaw  (rearnsha@arm.com)
5741
 
5742
        * arm.c (add_constant): New parameter address_only, change caller.
5743
        Set it nonzero if taking the address of an item in the pool.
5744
        (arm_reorg): Handle cases where we need the address of an item in
5745
        the pool.
5746
 
5747
        * arm.c (bad_signed_byte_operand): Check both arms of a sum in
5748
        a memory address.
5749
        * arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle
5750
        memory addresses that are not in standard canonical form.
5751
 
5752
Sat Sep 19 01:00:32 1998  Michael Hayes  (mph@elec.canterbury.ac.nz)
5753
 
5754
        * README.C4X: New file with information about the c4x ports.
5755
        * ginclude/va-c4x.h: New file for c4x varargs support.
5756
        * config/c4x: New directory with c4x port files.
5757
 
5758
Fri Sep 18 22:52:05 1998  Jeffrey A Law  (law@cygnus.com)
5759
 
5760
        * reload.c (find_reloads): Do not replace a pseudo with
5761
        (MEM (reg_equiv_addr)) in the initializing insn for the
5762
        pseudo.
5763
 
5764
Fri Sep 18 23:50:56 1998  David Edelsohn  
5765
 
5766
        * toplev.c (rest_of_compilation): Set bct_p on second call to
5767
        loop_optimize.
5768
        * loop.c (loop_optimize, scan_loop, strength_reduce): New argument
5769
        bct_p.
5770
        (strength_reduce): Only call analyze_loop_iterations and
5771
        insert_bct if bct_p set.
5772
        (check_dbra_loop): Fix typo.
5773
        (insert_bct): Use word_mode instead of SImode.
5774
        (instrument_loop_bct): Likewise.  Do not delete iteration count
5775
        condition code generation insn.  Initialize iteration count before
5776
        loop start.
5777
        * rtl.h (loop_optimize): Update prototype.
5778
 
5779
        * ginclude/va-ppc.h (va_arg): longlong types in overflow area are
5780
        not doubleword aligned.
5781
 
5782
        * rs6000.c (optimization_options): New function.
5783
        (secondary_reload_class): Only call true_regnum for PSEUDO_REGs.
5784
        * rs6000.h (OPTIMIZATION_OPTIONS): Define.
5785
        (REG_ALLOC_ORDER): Allocate highest numbered condition regsiters
5786
        first; cr1 can be used for FP record condition insns.
5787
 
5788
Fri Sep 18 09:44:55 1998  Nick Clifton  
5789
 
5790
        * config/m32r/m32r.h (m32r_block_immediate_operand): Add to
5791
        PREDICATE_CODES.
5792
 
5793
        * config/m32r/m32r.md: Add "movstrsi" and "movstrsi_internal"
5794
        patterns.
5795
 
5796
        * config/m32r/m32r.c (m32r_print_operand): Add 's' and 'p'
5797
        operators.
5798
        (block_move_call): New function: Call a library routine to copy a
5799
        block of memory.
5800
        (m32r_expand_block_move): New function: Expand a "movstrsi"
5801
        pattern into a sequence of insns.
5802
        (m32r_output_block_move): New function: Expand a
5803
        "movstrsi_internal" pattern into a sequence of assembler opcodes.
5804
        (m32r_block_immediate_operand): New function: Return true if the
5805
        RTL is an integer constant, less than or equal to MAX_MOVE_BYTES.
5806
 
5807
Thu Sep 17 16:42:16 1998  Andrew MacLeod  
5808
 
5809
        * except.c (start_catch_handler): Issue 'fatal' instead of 'error' and
5810
        re-align some code.
5811
        * libgcc2.c (__eh_rtime_match): fprintf a runtime error. Use .
5812
 
5813
Thu Sep 17 12:24:33 1998  J"orn Rennecke  
5814
 
5815
        * regmove.c (copy_src_to_dest): Check that modes match.
5816
 
5817
Wed Sep 16 22:10:42 1998  Robert Lipe  
5818
 
5819
        * config/i386/sco5.h (SUPPORTS_WEAK): True only if targeting ELF.
5820
 
5821
Wed Sep 16 15:24:54 1998  Richard Henderson  
5822
 
5823
        * i386.h (PREFERRED_RELOAD_CLASS): Respect an existing class
5824
        narrower than FLOAT_REGS.
5825
 
5826
Wed Sep 16 17:51:00 1998  Alexandre Oliva  
5827
 
5828
        * cpplib.c: Removed OLD_GPLUSPLUS_INCLUDE_DIR.
5829
        * cccp.c: Likewise.
5830
        * Makefile.in (old_gxx_include_dir): Removed.
5831
 
5832
Wed Sep 16 12:29:22 1998  Nick Clifton  
5833
 
5834
        * config/sh/sh.h: Update definition of HANDLE_PRAGMA to match
5835
        new specification.
5836
 
5837
        * config/sh/sh.c (handle_pragma): Rename to sh_handle_pragma().
5838
        (sh_handle_pragma): Change function arguments to match new
5839
        specification for HANDLE_PRAGMA.
5840
 
5841
Wed Sep 16 12:43:19 1998  Kaveh R. Ghazi  
5842
 
5843
        * gen-protos.c (parse_fn_proto): Cast argument of ISALNUM to
5844
        `unsigned char'.
5845
        (main): Mark parameter `argc' with ATTRIBUTE_UNUSED.
5846
        When generating output, initialize missing struct member to zero.
5847
 
5848
Wed Sep 16 14:47:43 1998  J"orn Rennecke  
5849
 
5850
        * regmove.c (copy_src_to_dest): Don't copy if that requires
5851
        (a) new register(s).
5852
 
5853
Wed Sep 16 01:29:12 1998  Bernd Schmidt  
5854
 
5855
        * global.c (reg_allocno): Now static.
5856
        * reload1.c (reg_allocno): Delete declaration.
5857
        (order_regs_for_reload): Take no arguments.  Don't treat regs
5858
        allocated by global differently than those allocated by local-alloc.
5859
 
5860
Wed Sep 16 01:09:01 1998  Kamil Iskra  
5861
 
5862
        * m68k/m68k.c (output_function_prologue): Reverse NO_ADDSUB_Q
5863
        condition, fix format strings.
5864
        (output_function_epilogue): Likewise.
5865
 
5866
        * m68k/m68k.c: Don't include  directly.
5867
 
5868
Wed Sep 16 00:30:56 1998  Geoff Keating  
5869
 
5870
        * gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set,
5871
        mem_first_set, mem_last_set; because 0 can be a CUID.
5872
        (oprs_unchanged_p): Use new definition.
5873
        (record_last_reg_set_info): Likewise.
5874
        (record_last_mem_set_info): Likewise.
5875
        (compute_hash_table): Likewise.
5876
 
5877
Tue Sep 15 22:59:52 1998  Jeffrey A Law  (law@cygnus.com)
5878
 
5879
        * rs6000.c (output_epilogue): Handle Chill.
5880
 
5881
        * mn10200.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
5882
        * mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
5883
 
5884
        * combine.c (make_extraction): If no mode is specified for
5885
        an operand of insv, extv, or extzv, default it to word_mode.
5886
        (simplify_comparison): Similarly.
5887
        * expmed.c (store_bit_field): Similarly.
5888
        (extract_bit_field): Similarly.
5889
        * function.c (fixup_var_regs_1): Similarly.
5890
        * recog.c (validate_replace_rtx_1): Similarly.
5891
        * mips.md (extv, extzv, insv expanders): Default modes for most
5892
        operands.  Handle TARGET_64BIT.
5893
        (movdi_uld, movdi_usd): New patterns.
5894
 
5895
        * pa.c (emit_move_sequence): Do not replace a pseudo with its
5896
        equivalent memory location unless we have been provided a scratch
5897
        register.  Similarly do not call find_replacement unless a
5898
        scratch register has been provided.
5899
 
5900
Tue Sep 15 19:23:01 1998  Bernd Schmidt  
5901
 
5902
        * i386.h (PREFERRED_RELOAD_CLASS): For standard 387 constants,
5903
        return FLOAT_REGS.
5904
 
5905
Tue Sep 15 19:09:06 1998  Richard Henderson  
5906
 
5907
        * tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused.  Kill.
5908
        (BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill.
5909
        (BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill.
5910
        (BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New.
5911
        * c-decl.c (init_decl_processing): Update accordingly.
5912
        * expr.c (expand_builtin): Likewise.
5913
 
5914
        * rtl.h (global_rtl): Add cfa entry.
5915
        (virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New.
5916
        (LAST_VIRTUAL_REGISTER): Update.
5917
        * emit-rtl.c (global_rtl): Add cfa entry.
5918
        (init_emit): Initialize it.
5919
        * function.c (cfa_offset): New.
5920
        (instantiate_virtual_regs): Initialize it.
5921
        (instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx.
5922
        (expand_function_end): Call expand_eh_return.
5923
        * tm.texi (ARG_POINTER_CFA_OFFSET): New.
5924
 
5925
        * except.c (current_function_eh_stub_label): Kill.
5926
        (current_function_eh_old_stub_label): Likwise; update all references.
5927
        (expand_builtin_set_return_addr_reg): Kill.
5928
        (expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill.
5929
        (expand_builtin_set_eh_regs): Kill.
5930
        (eh_regs): Produce a third reg for the actual handler address.
5931
        (eh_return_context, eh_return_stack_adjust): New.
5932
        (eh_return_handler, eh_return_stub_label): New.
5933
        (init_eh_for_function): Initialize them.
5934
        (expand_builtin_eh_return, expand_eh_return): New.
5935
        * except.h: Update prototypes.
5936
        * flow.c (find_basic_blocks_1): Update references to the stub label.
5937
        * function.h (struct function): Kill stub label elements.
5938
 
5939
        * libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the
5940
        register number is one that would be in the previous window.
5941
        Provide a dummy definition for non-windowed targets.
5942
        (get_reg_addr): New function.
5943
        (get_reg, put_reg, copy_reg): Use it.
5944
        (__throw): Rely on in_reg_window, not INCOMING_REGNO.  Kill stub
5945
        generating code and use __builtin_eh_return.  Use __builtin_dwarf_cfa.
5946
 
5947
        * alpha.c (alpha_eh_epilogue_sp_ofs): New.
5948
        (alpha_init_expanders): Initialize it.
5949
        (alpha_expand_epilogue): Use it.
5950
        * alpha.h: Declare it.
5951
        * alpha.md (eh_epilogue): New.
5952
 
5953
        * m68h.h (ARG_POINTER_CFA_OFFSET): New.
5954
        * sparc.h (ARG_POINTER_CFA_OFFSET): New.
5955
 
5956
Tue Sep 15 19:31:58 1998  Michael Meissner  
5957
 
5958
        * i960.h (CONST_COSTS): Fix thinko.  Test flag, not the constant
5959
        flag bit mask.
5960
 
5961
Tue Sep 15 14:10:54 1998  Andrew MacLeod  
5962
 
5963
        * except.h (struct eh_entry): Add false_label field.
5964
        (end_catch_handler): Add prototype.
5965
        * except.c (push_eh_entry): Set false_label field to NULL_RTX.
5966
        (start_catch_handler): When using old style exceptions, issue
5967
        runtime typematch code before continuing with the handler.
5968
        (end_catch_handler): New function, generates label after handler
5969
        if needed by older style exceptions.
5970
        (expand_start_all_catch): No need to check for new style exceptions.
5971
        (output_exception_table_entry): Only output the first handler label
5972
        for old style exceptions.
5973
        * libgcc2.c (__eh_rtime_match): New routine to lump runtime matching
5974
        mechanism into one function, if a runtime matcher is provided.
5975
 
5976
Tue Sep 15 13:53:59 1998  Andrew MacLeod  
5977
 
5978
        * config/i960/i960.h (SLOW_BYTE_ACCESS): Change definition to 1.
5979
 
5980
Tue Sep 15 09:59:01 1998  Mark Mitchell  
5981
 
5982
        * integrate.c (copy_decl_list): Fix typo.
5983
 
5984
Tue Sep 15 04:18:52 1998  David S. Miller  
5985
 
5986
        * config/sparc/sparc.md (movdf_const_intreg_sp32): Fix length
5987
        attribute.
5988
 
5989
Mon Sep 14 14:02:53 1998  Jeff Law  (law@cygnus.com)
5990
 
5991
        * version.c: Bump for snapshot.
5992
 
5993
Mon Sep 14 10:33:56 1998  Jeff Law  (law@cygnus.com)
5994
 
5995
        * version.c: Bump for snapshot.
5996
 
5997
Mon Sep 14 09:51:05 1998  Jeff Law  (law@cygnus.com)
5998
 
5999
        * version.c: Bump for snapshot.
6000
 
6001
Sun Sep 13 22:10:18 1998  David S. Miller  
6002
 
6003
        * invoke.texi (C Dialect Options): Put back missing @end itemize.
6004
 
6005
Mon Sep 14 02:33:46 1998  Alexandre Oliva  
6006
 
6007
        * configure.in: Remove usage of `!' to negate the result of a
6008
        command; some common shells do not support it.
6009
 
6010
Sun Sep 13 19:17:35 1998  David S. Miller  
6011
 
6012
        * configure.in: In sparc9-sol2 config, use 'if test' not
6013
        brackets.
6014
        * configure: Rebuilt.
6015
 
6016
        * config/sparc/sol2-sld-64.h (SPARC_DEFAULT_CMODEL): Change to
6017
        CM_MEDANY.
6018
        (CPP_CPU_SPEC): Do not define _LP64, header files do this.
6019
        (CPP_CPU_DEFAULT_SPEC): Likewise.
6020
        * config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Get the names right
6021
        for arch64 libfuncs.
6022
 
6023
        * config/sparc/sparc.md (goto_handler_and_restore): Allow any mode
6024
        for operand zero.
6025
 
6026
Sun Sep 13 09:11:59 1998  Kaveh R. Ghazi  
6027
 
6028
        * acconfig.h (NEED_DECLARATION_STRSIGNAL): Provide a stub.
6029
 
6030
        * collect2.c: Don't declare `sys_siglist' here.
6031
        (my_strsignal): Prototype and define new function.  Use it in
6032
        place of `sys_siglist' hacks.
6033
 
6034
        * mips_tfile.c: Likewise.
6035
 
6036
        * configure.in (AC_CHECK_FUNCS): Check for strsignal.
6037
        (GCC_NEED_DECLARATIONS): Likewise.
6038
 
6039
        * system.h (strsignal): Prototype it, if necessary.
6040
        (sys_siglist): Declare it, if necessary.
6041
 
6042
Sun Sep 13 04:37:28 1998  David S. Miller  
6043
 
6044
        * loop.c (move_movables): While removing insn sequences, preserve
6045
        the next pointer of the most recently deleted insn when we skip
6046
        over a NOTE.
6047
 
6048
Sun Sep 13 08:13:39 1998  Ben Elliston  
6049
 
6050
        * objc/config-lang.in: Do not output the name of the selected
6051
        thread file when building the front-end.  The Makefile for the
6052
        runtime library will do this.
6053
 
6054
        * objc/Make-lang.in: Do not build the runtime library or install
6055
        the Objective-C header files.  The Makefile for the runtime
6056
        library will do this.
6057
 
6058
        * objc/Makefile.in (all.indirect): Only build the front-end.
6059
        (compiler): Rename to `frontend'.
6060
        (obj-runtime): Remove target.
6061
        (copy-headers): Likewise.
6062
        (clean): No need to remove `libobjc.a' any longer.
6063
 
6064
Sat Sep 12 11:37:19 1998  Michael Meissner  
6065
 
6066
        * rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
6067
        supported with -mcpu=xxx.
6068
 
6069
Fri Sep 11 23:55:54 1998  David S. Miller  
6070
 
6071
        * flow.c (mark_set_1): Recognize multi-register structure return
6072
        values in CALL insns.
6073
        (mark_used_regs): Likewise.
6074
        (count_reg_sets_1): Likewise.
6075
        (count_reg_references): Likewise.
6076
        * rtlanal.c (note_stores): Likewise.
6077
        (reg_overlap_mentioned_p): Likewise.
6078
        * haifa-sched.c (check_live_1): Likewise.
6079
        (update_live_1): Likewise.
6080
        (sched_analyze_1): Likewise.
6081
        (sched_note_set): Likewise.
6082
        (birthing_insn_p): Likewise.
6083
        (attach_deaths): Likewise.
6084
 
6085
        * config/sparc/sparc.md (movdf_const_intreg_sp64): Disable.
6086
 
6087
Fri Sep 11 22:57:55 1998  Eric Dumazet  
6088
 
6089
        * config/i386/sco5.h (ASM_WEAKEN_LABEL): Defined as in svr4.h.
6090
 
6091
Thu Sep 10 22:02:04 1998  David S. Miller  
6092
 
6093
        * glimits.h (__LONG_MAX__): Recognize __sparcv9 too.
6094
 
6095
Thu Sep 10 21:19:10 1998  Jakub Jelinek  
6096
 
6097
        * configure.in: Add check for GAS subsection -1 support.
6098
        * acconfig.h (HAVE_GAS_SUBSECTION_ORDERING): Add.
6099
        * configure config.in: Rebuilt.
6100
        * config/sparc/sparc.h (CASE_VECTOR_MODE): For V9 flag_pic, use
6101
        SImode is subsection -1 works, else use DImode.
6102
        (ASM_OUTPUT_ADDR_VEC_START, ASM_OUTPUT_ADDR_VEC_END): Define if
6103
        subsection -1 works.
6104
        * config/sparc/sparc.c (sparc_output_addr_vec,
6105
        sparc_output_addr_diff_vec): Use them if defined.
6106
 
6107
Thu Sep 10 10:46:01 1998  Mark Mitchell  
6108
 
6109
        * tree.h (DECL_ORIGIN): New macro.
6110
        * integrate.c (copy_and_set_decl_abstract_origin): New function.
6111
        (copy_decl_list): Use it.
6112
        (integrate_parm_decls): Likewise.
6113
        (integrate_decl_tree): Likewise.
6114
        * dwarf2out.c (decl_ultimate_origin): Simplify.
6115
        * dwarfout.c (decl_ultimate_origin): Likewise.
6116
        * c-decl.c (duplicate_decls): Use DECL_ORIGIN.
6117
        (pushdecl): Likewise.
6118
 
6119
Thu Sep 10 08:01:31 1998  Anthony Green  
6120
 
6121
        * config/rs6000/rs6000.c (output_epilog): Add Java support.
6122
 
6123
Thu Sep 10 14:48:59 1998  Martin von Löwis  
6124
 
6125
        * invoke.texi (C++ Dialect Options): Document -fhonor-std.
6126
 
6127
Thu Sep 10 01:38:05 1998  Jeffrey A Law  (law@cygnus.com)
6128
 
6129
        * reg-stack.c (straighten_stack): Do nothing if the virtual stack is
6130
        empty or has a single entry.
6131
 
6132
        * toplev.c (rest_of_compilation): Open up the dump file for reg-stack
6133
        before calling reg_to_stack.
6134
 
6135
Thu Sep 10 00:03:34 1998  Richard Henderson  
6136
 
6137
        * alpha.c (alphaev5_insn_pipe): Abort on default case.
6138
        (alphaev5_next_group): Swallow CLOBBERs and USEs.
6139
 
6140
        * c-tree.h (warn_long_long): Declare it.
6141
 
6142
Wed Sep  9 23:31:36 1998  (Stephen L Moshier)  
6143
 
6144
        * emit-rtl.c (gen_lowpart_common): Disable optimization of
6145
        initialized float-int union if the value is a NaN.
6146
 
6147
Wed Sep  9 23:00:48 1998  Nathan Sidwell  
6148
 
6149
        * c-lex.c (real_yylex): Don't warn about long long constants if
6150
        we're allowing long long
6151
 
6152
Wed Sep  9 21:58:41 1998  Bernd Schmidt  
6153
 
6154
        * except.h (current_function_eh_stub_label): Declare.
6155
        (current_function_eh_old_stub_label): Declare.
6156
        * function.h (struct function): New members eh_stub_label and
6157
        eh_old_stub_label.
6158
        * except.c (current_function_eh_stub_label): New variable.
6159
        (current_function_eh_old_stub_label): New variable.
6160
        (init_eh_for_function): Clear them.
6161
        (save_eh_status): Save them.
6162
        (restore_eh_status): Restore them.
6163
        (expand_builtin_eh_stub): Set current_function_eh_stub_label.
6164
        (expand_builtin_eh_stub_old): Set current_function_eh_old_stub_label.
6165
        * flow.c (find_basic_blocks_1): When handling a REG_LABEL note, don't
6166
        make an edge from the block that contains it to the block starting
6167
        with the label if this label is one of the eh stub labels.
6168
        If eh stub labels exist, show they are reachable from the last block
6169
        in the function.
6170
 
6171
        * reload1.c (reload): Break out several subroutines and make some
6172
        variables global.
6173
        (calculate_needs_all_insns): New function, broken out of reload.
6174
        (calculate_needs): Likewise.
6175
        (find_reload_regs): Likewise.
6176
        (find_group): Likewise.
6177
        (find_tworeg_group): Likewise.
6178
        (something_needs_reloads): New global variable, formerly in reload.
6179
        (something_needs_elimination): Likewise.
6180
        (caller_save_spill_class): Likewise.
6181
        (caller_save_group_size): Likewise.
6182
        (max_needs): Likewise.
6183
        (group_size): Likewise.
6184
        (max_groups): Likewise.
6185
        (max_nongroups): Likewise.
6186
        (group_mode): Likewise.
6187
        (max_needs_insn): Likewise.
6188
        (max_groups_insn): Likewise.
6189
        (max_nongroups_insn): Likewise.
6190
        (failure): Likewise.
6191
 
6192
        * print-rtl.c (print_rtx): For MEMs, print MEM_ALIAS_SET.
6193
 
6194
Wed Sep  9 13:14:41 1998  Richard Henderson  
6195
 
6196
        * loop.c (load_mems): Copy rtx for output mem.
6197
 
6198
Wed Sep  9 15:16:58 1998  Gavin Romig-Koch  
6199
 
6200
        * mips/abi64.h (LONG_MAX_SPEC): Don't set LONG_MAX for
6201
        mips1 or mips2 either.
6202
 
6203
Wed Sep  9 12:31:35 1998  Jeffrey A Law  (law@cygnus.com)
6204
 
6205
        * pa.c (pa_reorg): New marking scheme for jumps inside switch
6206
        tables.
6207
        (pa_adjust_insn_length): Update to work with new marking scheme
6208
        for jumps inside switch tables.
6209
        * pa.md (switch_jump): Remove pattern.
6210
        (jump): Handle jumps inside jump tables.
6211
 
6212
        * Makefile.in (profile.o): Depend on insn-config.h
6213
 
6214
Wed Sep  9 09:36:51 1998  Jim Wilson  
6215
 
6216
        * iris6.h (DWARF2_UNWIND_INFO): Undef.
6217
 
6218
Wed Sep  9 01:32:01 1998  David S. Miller  
6219
 
6220
        Add preliminary native sparcv9 Solaris support.
6221
        * configure.in: Recognize sparv9-*-solaris2*
6222
        * configure: Rebuilt.
6223
        * config.sub: Recognize sparcv9 just like sparc64.
6224
        * config/sparc/sol2-c1.asm config/sparc/sol2-ci.asm
6225
        config/sparc/sol2-cn.asm: Macroize so it can be shared between
6226
        32-bit and 64-bit Solaris systems.
6227
        * config/sparc/t-sol2: Assemble those with cpp.
6228
        * config/sparc/sparc.h (TARGET_CPU_sparcv9): New alias for v9.
6229
        (*TF*_LIBCALL): If ARCH64 use V9 names.
6230
        * config/sparc/{xm-sysv4-64,sol2-sld-64}.h: New files.
6231
 
6232
Wed Sep  9 01:07:30 1998  Jakub Jelinek  
6233
 
6234
        * config/sparc/sparc.h (TARGET_CM_MEDMID): Fix documentation.
6235
        (CASE_VECTOR_MODE): Set to SImode even if PTR64, when MEDLOW and
6236
        not doing pic.
6237
        (ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT): Check CASE_VECTOR_MODE not
6238
        Pmode.
6239
        * config/sparc/sparc.md (tablejump): Likewise, and sign extend op0
6240
        to Pmode if CASE_VECTOR_MODE is something else.
6241
 
6242
Wed Sep  9 00:10:31 1998  Jeffrey A Law  (law@cygnus.com)
6243
 
6244
        * prefix.c (update_path): Correctly handle cases where PATH is
6245
        a substring of the builtin prefix, but specifies a different
6246
        directory location.
6247
 
6248
Tue Sep  8 23:46:04 1998  Hans-Peter Nilsson  
6249
 
6250
        * expr.c: Corrected comment about what MOVE_RATIO does.
6251
        * config/alpha/alpha.h: Likewise.
6252
        * config/1750a/1750a.h: Likewise.
6253
        * config/clipper/clipper.h: Likewise.
6254
        * config/i386/i386.h: Likewise.
6255
 
6256
Tue Sep  8 22:56:12 1998  Jeffrey A Law  (law@cygnus.com)
6257
 
6258
        * configure.in (m68k-next-nextstep3*): Use collect2.
6259
        Similarly for x86 NeXT configurations.
6260
        * configure: Rebuilt.
6261
 
6262
Tue Sep  8 01:38:57 1998  Nathan Sidwell  
6263
 
6264
        * configure.in: Don't assume srcdir is .../gcc.
6265
        * configure: Rebuilt.
6266
 
6267
Sat Sep  5 16:34:34 1998  John Wehle  (john@feith.com)
6268
 
6269
        * global.c: Update comments.
6270
        (global_alloc): Assign allocation-numbers
6271
        even for registers allocated by local_alloc in case
6272
        they are later spilled and retry_global_alloc is called.
6273
        (mark_reg_store, mark_reg_clobber,
6274
        mark_reg_conflicts, mark_reg_death): Always record a
6275
        conflict with a pseudo register even if it has been
6276
        assigned to a hard register.
6277
        (dump_conflicts): Don't list pseudo registers already assigned to
6278
        a hard register as needing to be allocated, but do list their
6279
        conflicts.
6280
        * local-alloc.c: Update comment.
6281
 
6282
Mon Sep  7 23:38:01 1998  Jeffrey A Law  (law@cygnus.com)
6283
 
6284
        * configure.in: Check for bogus GCC_EXEC_PREFIX and LIBRARY_PATH.
6285
        * configure: Rebuilt.
6286
 
6287
Mon Sep  7 22:41:46 1998  Michael Meissner  
6288
 
6289
        * rs6000.c (rs6000_override_options): Fix name for ec603e, to add
6290
        missing 'c'.
6291
        * t-ppccomm (MULTILIB_MATCHES_FLOAT): Add support for -mcpu=xxx
6292
        for all targets that set -msoft-float.
6293
 
6294
Mon Sep  7 23:30:07 1998  Kaveh R. Ghazi  
6295
 
6296
        * toplev.c (print_switch_values): Make static to match prototype.
6297
 
6298
Mon Sep  7 19:13:59 1998  Jeffrey A Law  (law@cygnus.com)
6299
 
6300
        * configure.in: If we are unable to find the "gnatbind" program,
6301
        then do not configure the ada subdir.
6302
        * configure: Rebuilt.
6303
 
6304
Sun Sep  6 14:03:58 1998  Jeff Law  (law@cygnus.com)
6305
 
6306
        * version.c: Bump for snapshot.
6307
 
6308
Sun Sep  6 13:28:07 1998  Jeff Law  (law@cygnus.com)
6309
 
6310
        * version.c: Bump for snapshot.
6311
 
6312
Sun Sep  6 08:54:14 1998  Kaveh R. Ghazi  
6313
 
6314
        * Makefile.in (toplev.o): Depend on $(EXPR_H).
6315
        (insn-extract.o, insn-attrtab.o): Depend on toplev.h.
6316
 
6317
        * gansidecl.h: Define ATTRIBUTE_NORETURN.
6318
 
6319
        * genattrtab.c: Have insn-attrtab.c include toplev.h.
6320
 
6321
        * genextract.c: Have insn-extract.c include toplev.h.
6322
 
6323
        * rtl.h: Don't prototype `fatal_insn_not_found' and `fatal_insn'.
6324
 
6325
        * toplev.c: Include expr.h.
6326
        (really_sorry, fancy_abort): Remove prototypes.
6327
        (set_target_switch): Add argument in prototype.
6328
        (vfatal): Mark prototype with ATTRIBUTE_NORETURN.
6329
        (v_really_sorry): Likewise.
6330
        (print_version, print_single_switch, print_switch_values): Make
6331
        static and add prototype arguments.
6332
        (decl_printable_name): Add prototype arguments.
6333
        (lang_expand_expr_t): New typedef.
6334
        (lang_expand_expr): Declare as a lang_expand_expr_t.
6335
        (incomplete_decl_finalize_hook): Add prototype argument.
6336
        (decl_name): Mark variable `verbosity' with ATTRIBUTE_UNUSED.
6337
        (botch): Likewise for variable `s'.
6338
        (rest_of_type_compilation): Mark variables `type' and `toplev'
6339
        with ATTRIBUTE_UNUSED if none of DBX_DEBUGGING_INFO,
6340
        XCOFF_DEBUGGING_INFO or SDB_DEBUGGING_INFO are defined.
6341
        (display_help): Make variable `i' an `unsigned long'.
6342
        (main): Remove unused parameter `envp'.
6343
        Cast assignment to `lang_expand_expr' to a `lang_expand_expr_t'.
6344
        Cast -1 when comparing it with a `size_t'.
6345
 
6346
        * toplev.h (fatal, fatal_io_error, pfatal_with_name): Mark
6347
        prototype with ATTRIBUTE_NORETURN.
6348
        (fatal_insn_not_found, fatal_insn, really_sorry,
6349
        push_float_handler, pop_float_handler): Add prototypes.
6350
        (fancy_abort): Mark prototype with ATTRIBUTE_NORETURN.
6351
        (do_abort, botch): Add prototypes.
6352
 
6353
Sat Sep  6 12:05:18 1998  John Carr  
6354
 
6355
        * final.c (final): If a label is reached only from a single jump,
6356
        call NOTICE_UPDATE_CC on the jump and its predecessor before
6357
        emitting the insn after the label.
6358
 
6359
        * i386.h: Add AMD K6 support.
6360
        Change TARGET_* macros to use table lookup.
6361
        (INITIALIZE_TRAMPOLINE): Improve trampoline code.
6362
        (ADJUST_COST): Change definition to call function in i386.c.
6363
        (ISSUE_RATE): Define as 2 for anything newer than an 80486.
6364
        * i386.c: Add AMD K6 support.
6365
        Add constants for feature tests used by TARGET_* macros.
6366
        (split_di): If before reload, call gen_lowpart and gen_highpart.
6367
        (x86_adjust_cost): New function.
6368
        (put_jump_code): New function.
6369
        (print_operand): New codes 'D' and 'd'.
6370
        * i386.md: New insn types.  New insn attribute "memory".
6371
        Redefine scheduling parameters to use new types and add AMD K6
6372
        support.  Explicitly set type of most insns.
6373
        (move insns): K6 prefers movl $0,reg to xorl reg,reg.  Pentium
6374
        Pro and K6 prefer movl $1,reg to incl reg.
6375
        (adddi3, subdi3): Set cc_status.
6376
        (DImode shift patterns): Change label counters from HOST_WIDE_INT
6377
        to int; x86 can't have more than 2^31 DImode shifts per file.
6378
        (setcc): Combine all setcc patterns.  Allow writing memory.
6379
        Combine all jump patterns using match_operator.
6380
        (*bzero): Name pattern.  Emit multiple stos instructions when that
6381
        is faster than rep stos.
6382
        (xordi3, anddi3, iordi3): Simplify DImode logical patterns and
6383
        add define_split.
6384
 
6385
Sun Sep  6 11:17:20 1998  Dave Love  
6386
 
6387
        * config/m68k/x-next (BOOT_LDFLAGS): Define suitably for f771
6388
        linking.
6389
 
6390
Sat Sep  5 22:05:25 1998  Richard Henderson  
6391
 
6392
        * alpha.c (alpha_ra_ever_killed): Inspect the topmost sequence,
6393
        not whatever we're generating now.
6394
 
6395
        * alpha.c (set_frame_related_p, FRP): New.
6396
        (alpha_expand_prologue): Mark frame related insns.
6397
        (alpha_expand_epilogue): Likewise, but with a null FRP.
6398
        * alpha.h (INCOMING_RETURN_ADDR_RTX): New.
6399
        * alpha.md (exception_receiver): New.
6400
        * alpha/crtbegin.asm (.eh_frame): New beginning.
6401
        (__do_frame_setup, __do_frame_takedown): New.
6402
        * alpha/crtend.asm (.eh_frame): New ending.
6403
        * alpha/elf.h (DWARF2_DEBUGGING_INFO): Define.
6404
        (ASM_SPEC): Don't emit both dwarf2 and mdebug.
6405
        (ASM_FILE_START): Don't emit .file for dwarf2.
6406
 
6407
        * rtl.h (enum reg_note): Add REG_FRAME_RELATED_EXPR.
6408
        * rtl.c (reg_note_name): Likewise.
6409
        * rtl.texi (REG_NOTES): Likewise.
6410
        * dwarf2out.c (dwarf2out_frame_debug): Use it.  Recognize a store
6411
        without an offset.
6412
 
6413
Sat Sep  5 14:47:17 1998  Richard Henderson  
6414
 
6415
        * i386.h (PREFERRED_RELOAD_CLASS): Standard fp constants load to TOS.
6416
        * i386.md (movsf, movdf, movxf): Validate memory address returned
6417
        from force_const_mem.  Kill useless REG_EQUAL setting code.
6418
 
6419
Sat Sep  5 14:23:31 1998  Torbjorn Granlund  
6420
 
6421
        * m68k.md (zero_extendsidi2): Fix typo.
6422
 
6423
Sat Sep  5 13:40:24 1998  Krister Walfridsson  
6424
 
6425
        * configure.in: Removed references to the removed file.
6426
        * config/xm-netbsd.h: Use ${cpu_type}/xm-netbsd.h for
6427
        arm*-*-netbsd* and ns32k-*-netbsd*.
6428
        * config/i386/xm-netbsd.h: Removed unnecessary file.
6429
        * config/m68k/xm-netbsd.h: Likewise.
6430
        * config/sparc/xm-netbsd.h: Likewise.
6431
        * config/mips/xm-netbsd.h: Likewise.
6432
 
6433
Sat Aug 29 13:32:58 1998  Mumit Khan  
6434
 
6435
        * i386/cygwin32.h (BIGGEST_ALIGNMENT): Define.
6436
        (PCC_BITFIELD_TYPE_MATTERS): Define to be 0.
6437
 
6438
        * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't check for
6439
        for exact section attributions.
6440
 
6441
        * i386/mingw32.h (CPP_PREDEFINES): Add __MSVCRT__ for msvc
6442
        runtime.
6443
        * i386/crtdll.h (CPP_PREDEFINES): Define.
6444
 
6445
Sat Sep  5 03:23:05 1998  Jeffrey A Law  (law@cygnus.com)
6446
 
6447
        * m68k.md (5200 movqi): Do not allow byte sized memory references
6448
        using address regs.
6449
        * m68k.c (output_move_qimode): Do not use byte sized operations on
6450
        address registers.
6451
 
6452
        * Makefile.in (pexecute.o): Use pexecute.c from libiberty.  Provide
6453
        explicit rules for building.  Similarly for alloca, vfprintf,
6454
        choose-temp and mkstemp, getopt, getopt1, and obstack.
6455
        (INCLUDES): Add $(srcdir)/../include.
6456
        * pexecute.c, alloca.c, vfprintf.c, choose-temp.c, mkstemp.c: Delete.
6457
        * getopt.h, getopt.c getopt1.c, obstack.c, obstack.h: Likewise.
6458
 
6459
Fri Sep  4 11:57:50 1998  Tom Tromey  
6460
 
6461
        * gcc.c (do_spec_1): [case 'o'] Account for
6462
        lang_specific_extra_outfiles.
6463
        (main): Correctly clear all slots in outfiles for
6464
        lang_specific_extra_outfiles.  Set input_file_number before
6465
        calling lang_specific_pre_link.
6466
 
6467
Fri Sep  4 10:37:07 1998  Jim Wilson  
6468
 
6469
        * loop.c (load_mems): Fix JUMP_LABEL field after for_each_rtx call.
6470
 
6471
Fri Sep  4 02:01:05 1998  David S. Miller  
6472
 
6473
        * config/sparc/sparc.c (output_double_int): In all V9 symbolic
6474
        cases, use xword.
6475
        (sparc_output_deferred_case_vectors): If no work to do, return.
6476
        Fix thinko in Sept 1 change.
6477
 
6478
1998-09-03  SL Baur  
6479
 
6480
        * Makefile.in: Add semicolon in BISON definition for portability.
6481
 
6482
Thu Sep  3 13:34:41 1998  Toon Moene  
6483
 
6484
        * config/nextstep.c (handle_pragma): Correct name of third
6485
        argument.
6486
 
6487
Tue Sep  1 11:30:33 1998  Nick Clifton  
6488
 
6489
        * config/m32r/m32r.md: Change (reg:CC 17) to (reg:SI 17).
6490
        * config/m32r/m32r.h: Make register 17 be fixed.
6491
        * config/m32r/m32r.c: Use SImode for cc operations.
6492
 
6493
Thu Sep  3 18:17:34 1998  Benjamin Kosnik  
6494
 
6495
        * invoke.texi (Warning Options): Add -Wnon-template-friend
6496
        documentation.
6497
 
6498
Thu Sep  3 18:16:16 1998  Michael Meissner  
6499
 
6500
        * rs6000.c (rs6000_override_options): Add -mcpu={401,e603e}.
6501
 
6502
Thu Sep  3 18:05:16 1998  David Edelsohn  
6503
 
6504
        * rs6000.md (movsf): Disable explicit secondary-reload-like
6505
        functionality if TARGET_POWERPC64.
6506
        (movdf): Remove TARGET_POWERPC64 explicit secondary-reload-like
6507
        functionality.
6508
 
6509
Thu Sep  3 11:41:40 1998  Robert Lipe  
6510
 
6511
        * fixinc.sco: Borrow code to wrap 'bool' typedefs from tinfo.h
6512
        and term.h from fixinc.wrap.
6513
 
6514
Thu Sep  3 09:47:31 1998  Kaveh R. Ghazi  
6515
 
6516
        * aclocal.m4 (GCC_HEADER_STRING): New macro to detect if it is
6517
        safe to include both string.h and strings.h together.
6518
        (GCC_NEED_DECLARATION): Test STRING_WITH_STRINGS when deciding
6519
        which headers to search for function declarations.  Continue to
6520
        prefer string.h over strings.h when both are not acceptable.
6521
 
6522
        * acconfig.h (STRING_WITH_STRINGS): Add stub.
6523
 
6524
        * configure.in: Call GCC_HEADER_STRING.
6525
 
6526
        * system.h: Test STRING_WITH_STRINGS when deciding which headers
6527
        to include.  Continue to prefer string.h over strings.h when both
6528
        are not acceptable.
6529
 
6530
Wed Sep  2 23:56:29 1998  David S. Miller  
6531
 
6532
        * config/sparc/sparc.c (output_double_int): If V9 and MEDLOW, do
6533
        not assume top 32-bits of symbolic addresses are zero if
6534
        flag_pic.
6535
 
6536
Thu Sep  3 00:23:21 1998  Richard Henderson  
6537
 
6538
        * ginclude/va-alpha.h: Protect entire second portion of the
6539
        file against double inclusion.
6540
 
6541
Thu Sep  3 00:37:55 1998  Ovidiu Predescu  
6542
 
6543
        Added support for the Boehm's garbage collector.
6544
        * configure.in: Handle --enable-objc-gc.
6545
        * configure: Rebuilt.
6546
        * Makefile.in (CHECK_TARGETS): Add check-objc.
6547
        (check-objc): New rule.
6548
        * objc/Make-lang.in: Build a different Objective-C library that
6549
        runs with the Boehm's collector.
6550
        * objc/encoding.c (objc_round_acc_size_for_types): New function.
6551
        * objc/encoding.c: Correctly compute the size of compound types in
6552
        the presence of bitfields. Skip the variable name of the type if
6553
        any. Added support for long long.
6554
        * objc/encoding.h (_C_GCINVISIBLE): New specifier.
6555
        (_F_GCINVISIBLE): New mask.
6556
        * objc/gc.c: New file. Compute the type memory mask associated with
6557
        a class based on the runtime information.
6558
        * objc/misc.c: Added the hooks that use the Boehm's collector
6559
        allocation functions.
6560
        * objc/objc-act.c (build_class_template): Generate a new class
6561
        member (gc_object_type) to hold the class' type memory mask.
6562
        (build_shared_structure_initializer): Initialize the new member to
6563
        NULL.
6564
        (encode_complete_bitfield): New function. Generate the new
6565
        encoding.
6566
        (encode_field_decl): Generate the new encoding only for the GNU
6567
        runtime.
6568
        * objc/objc-api.h (_C_LNG_LNG, _C_ULNG_LNG): New specifiers for the
6569
        long long types.
6570
        (class_get_gc_object_type): New function to mark a pointer instance
6571
        variable as a weak pointer.
6572
        * objc/objc-features.texi: New file.
6573
        * objc/objc.h (gc_object_type): New class member.
6574
        * objc/objects.c (class_create_instance): Create a typed memory
6575
        object when compiled with Boehm's collector support.
6576
        * objc/sendmsg.c (__objc_init_install_dtable): Call
6577
        __objc_send_initialize instead of setting the initialize flag.
6578
        (__objc_send_initialize): Call __objc_generate_gc_type_description
6579
        to generate the class type memory mask. Rewrite the code that
6580
        sends the +initialize so that it is called only once (bug report
6581
        and fix from Ronald Pijnacker ).
6582
        * testsuite/objc: New testsuite for Objective-C type encoding.
6583
        * testsuite/lib/objc-torture.exp: New file.
6584
        * testsuite/lib/objc.exp: New file.
6585
 
6586
Wed Sep  2 14:47:36 1998  Jim Wilson  
6587
 
6588
        * jump.c (jump_optimize): In if/then/else transformations, add
6589
        another call to modified_between_p for the jump insn.
6590
 
6591
Wed Sep  2 14:16:49 1998  Jeffrey A Law  (law@cygnus.com)
6592
 
6593
        * fix-header.c (symlink): Treat like readlink.
6594
 
6595
Wed Sep  2 19:30:06 1998  J"orn Rennecke  
6596
 
6597
        * dwarfout.c (fundamental_type_code): Encode 32 bit floats/doubles
6598
        as FT_float.
6599
 
6600
Wed Sep  2 10:06:07 1998  Nick Clifton  
6601
 
6602
        * config/nextstep.h:    Update HANDLE_PRAGMA macro.
6603
        * config/h8300/h8300.h: Update HANDLE_PRAGMA macro.
6604
        * config/i960/i960.h:   Update HANDLE_PRAGMA macro.
6605
 
6606
        * config/nextstep.c (handle_pragma): Take three arguments, as per
6607
        the new HANDLE_PRAGMA macro specification.
6608
        * config/h8300/h8300.c (handle_pragma): Take three arguments, as
6609
        per the new HANDLE_PRAGMA macro specification.
6610
        * config/i960/i960.c (process_pragma): Take three arguments, as
6611
        per the new HANDLE_PRAGMA macro specification.
6612
 
6613
Wed Sep  2 09:25:29 1998  Nick Clifton  
6614
 
6615
        * c-lex.c (check_newline): Call HANDLE_PRAGMA before
6616
        HANDLE_SYSV_PRAGMA if both are defined.  Generate warning messages
6617
        if unknown pragmas are encountered.
6618
        (handle_sysv_pragma): Interpret return code from
6619
        handle_pragma_token ().  Return success/failure indication rather
6620
        than next unprocessed character.
6621
        (pragma_getc): New function: retrieves characters from the
6622
        input stream.  Defined when HANDLE_PRAGMA is enabled.
6623
        (pragma_ungetc): New function: replaces characters back into the
6624
        input stream.  Defined when HANDLE_PRAGMA is enabled.
6625
 
6626
        * c-pragma.c (handle_pragma_token): Return success/failure status
6627
        of the parse.
6628
 
6629
        * c-pragma.h: Change prototype of handle_pragma_token().
6630
 
6631
        * varasm.c (handle_pragma_weak): Only create this function if
6632
        HANDLE_PRAGMA_WEAK is defined.
6633
 
6634
        * c-common,c (decl_attributes): If defined call the expression
6635
        contained within the INSERT_ATTRIBUTES macro before adding
6636
        attributes to a decl.
6637
 
6638
        * tm.texi (HANDLE_PRAGMA): Document the new version of
6639
        HANDLE_PRAGMA, which takes three arguments.
6640
        (INSERT_ATTRIBUTES): Document this new macro.
6641
 
6642
        * LANGUAGES: Document the new version of HANDLE_PRAGMA and the
6643
        new INSERT_ATTRIBUTES macro.
6644
 
6645
Wed Sep  2 02:03:23 1998  David S. Miller  
6646
 
6647
        * config/sparc/sparc.md (movdf): Only generate special RTL for
6648
        LABEL_REFs when PIC.
6649
        (move_label_di): Remove.
6650
        (movdi_pic_label_ref, movdi_high_pic_label_ref,
6651
        movdi_lo_sum_pic_label_ref): New patterns for 64-bit label
6652
        references when PIC.
6653
        * config/sparc/sparc.h (ASM_OUTPUT_ADDR_VEC_ELT,
6654
        ASM_OUTPUT_ADDR_DIFF_ELT): Don't do anything special for MEDLOW,
6655
        output an .xword for all 64-bit cases.
6656
 
6657
Tue Sep  1 15:55:17 1998  David S. Miller  
6658
 
6659
        * config/sparc/sparc.c (finalize_pic): Don't output arbitrary
6660
        alignment, use FUNCTION_BOUNDARY instead.
6661
        (sparc_output_deferred_case_vectors): Likewise.
6662
 
6663
Mon Aug 31 17:25:41 1998  David S. Miller  
6664
 
6665
        * config/sparc/sparc.md (movsf_const_intreg): Kill warning.
6666
        (movtf_insn_sp64, movtf_no_e_insn_sp64): Reorder alternatives.
6667
 
6668
Mon Aug 31 13:57:55 1998  Richard Henderson  
6669
 
6670
        * alpha/va_list.h: New file.
6671
        * alpha/x-alpha (EXTRA_HEADERS): New.  Add va_list.h.
6672
 
6673
Mon Aug 31 14:55:02 1998  Jeffrey A Law  (law@cygnus.com)
6674
 
6675
        * NEWS: Add SCO Openserver and Unixware 7 notes.
6676
 
6677
        * NEWS: Fix typos.
6678
 
6679
Mon Aug 31 15:42:18 1998  Dave Brolley  
6680
 
6681
        * varasm.c (compare_constant_1): Handle RANGE_EXPR.
6682
        (record_constant_1): Handle RANGE_EXPR.
6683
 
6684
Mon Aug 31 10:54:03 1998  Richard Henderson  
6685
 
6686
        * print-rtl.c (print_rtx): NOTE_INSN_LIVE has an rtx not a bitmap.
6687
        * haifa-sched.c (sched_analyze): Handle NOTE_INSN_RANGE_START
6688
        and NOTE_INSN_RANGE_END specially.
6689
        (reemit_notes): Likewise.
6690
 
6691
Mon Aug 31 10:18:52 1998  Kaveh R. Ghazi  
6692
 
6693
        * sparc.c (TMASK, UMASK): Use `(unsigned)1' not `1U'.
6694
        (ultrasparc_sched_init): Remove unneeded &.
6695
 
6696
Mon Aug 31 10:47:16 1998  Andreas Schwab  
6697
 
6698
        * config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040
6699
        for m68020-60, to prevent the use of fintrz.
6700
 
6701
Sun Aug 30 22:17:20 1998  Mark Mitchell  
6702
 
6703
        * configure.in: If the native compiler is GCC use $(WARN_CFLAGS)
6704
        even in stage1.
6705
        * Makefile.in: Likewise.
6706
        * configure: Regenerated.
6707
 
6708
Sun Aug 30 22:15:41 1998  H.J. Lu  (hjl@gnu.org)
6709
 
6710
        * configure.in (gxx_include_dir): Changed to
6711
        '${prefix}/include/g++'-${libstdcxx_interface}.
6712
        * configure: Rebuilt.
6713
 
6714
Sun Aug 30 20:19:43 1998  Hans-Peter Nilsson  
6715
 
6716
        * expr.c (expand_expr): Change ">" to ">=" making MOVE_RATIO use
6717
        consistent.
6718
        * tm.texi (Costs): Say MOVE_RATIO is number of mem-mem move
6719
        *sequences* *below* which scalar moves will be used.
6720
 
6721
Sun Aug 30 17:18:43 1998  Jeffrey A Law  (law@cygnus.com)
6722
 
6723
        * collect2.c (mktemp): Delete unused declaration.
6724
 
6725
        * config/xm-netbsd.h: Remove unnecessary file.
6726
        * config/*/xm-netbsd.h: Do not include the generic xm-netbsd.h
6727
        file anymore, it is not needed.
6728
 
6729
Sun Aug 30 16:05:45 1998  Mark Mitchell  
6730
 
6731
        * convert.c (convert_to_integer): Issue an error on conversions to
6732
        incomplete types.
6733
 
6734
Sun Aug 30 16:47:20 1998  Martin von Lvwis  
6735
 
6736
        * Makefile.in: Add lang_tree_files and gencheck.h.
6737
        * configure.in: Generate them.
6738
        * gencheck.c: Include gencheck.h.
6739
 
6740
Sat Aug 29 21:38:24 1998  David S. Miller  
6741
 
6742
        * config/sparc/sparc.md (pic_lo_sum_di, pic_sethi_di): Rename to
6743
        movdi_lo_sum_pic and movdi_high_pic and make visible.
6744
        * config/sparc/sparc.c (legitimize_pic_address): For -fPIC,
6745
        emit these when Pmode is not SImode.
6746
        * config/sparc/linux64.h (SPARC_DEFAULT_CMODEL): Make CM_MEDLOW.
6747
 
6748
Sat Aug 29 14:59:32 1998  Mumit Khan  
6749
 
6750
        * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit
6751
        .linkonce directive after the first time.
6752
 
6753
Sat Aug 29 12:39:56 1998  Jeffrey A Law  (law@cygnus.com)
6754
 
6755
        * m68k.md (beq0_di): Generate correct (and more efficient) code when
6756
        the clobbered operand overlaps with an input.
6757
        (bne0_di): Similarly.
6758
 
6759
        * Makefile.in (INSTALL): Remove "--no-header" argument.
6760
 
6761
        * NEWS: Various updates.
6762
 
6763
Fri Aug 28 19:00:44 1998  David S. Miller  
6764
 
6765
        * config/sparc/sparc.c (arith_operand, const64_operand,
6766
        const64_high_operand, arith_double_4096_operand): Mark mode as
6767
        unused.
6768
        (create_simple_focus_bits): Remove unused arg highest_bit_set, all
6769
        callers changed.
6770
        (sparc_emit_set_const64): Remove unused variable i.
6771
        (sparc_splitdi_legitimate): Likewise for addr_part.
6772
        (ultra_code_from_mask): Likewise for mask.
6773
        (ultra_cmove_results_ready_p): Fixup entry modulo calc. and
6774
        reverse return values so it matches usage and comments.
6775
        (ultra_flush_pipeline): Likewise.
6776
        (ultra_fpmode_conflict_exists): Likewise, remove unused variable
6777
        this_type, and allow loads and stores of differing FP modes as
6778
        they do not create a conflict.
6779
        (ultra_find_type): Initialize fpmode to SFmode, fix
6780
        parenthesization thinkos in large conditional.
6781
        (ultrasparc_sched_init): Mark dump and sched_verbose as unused.
6782
        Init free_slot_mask after ultra_cur_hist is reset, not before.
6783
        (ultrasparc_rescan_pipeline_state): Remove unused variable ucode.
6784
        (ultrasparc_sched_reorder): Don't bzero current pipeline state,
6785
        use ultra_flush_pipeline instead, then re-init group pointer.
6786
        Fix statement with no effect.  If no progress made in, and no
6787
        instructions scheduled at all, advance to new pipeline cycle else
6788
        we get into an endless loop.
6789
        (ultrasparc_adjust_cost): Remove previous arg.
6790
        * config/sparc/sparc.h (ADJUST_COST): Update to reflect that.
6791
 
6792
Fri Aug 28 13:52:35 1998  Jim Wilson  
6793
 
6794
        * sparc.md (DImode, DFmode, TFmode splits): Delete self_reference
6795
        code.  Use reg_overlap_mentioned_p to detect when source and
6796
        destination overlap.
6797
        (negtf2_notv9+1): Use DFmode instead of SFmode in last two operands.
6798
 
6799
1998-08-28  Brendan Kehoe  
6800
 
6801
        * loop.c (check_dbra_loop): Pass COMPARISON_VALUE, not
6802
        COMPARISON_VAL, into invariant_p.
6803
 
6804
Fri Aug 28 15:13:25 1998  J"orn Rennecke  
6805
 
6806
        * regmove.c (regclass_compatible_p): New function.
6807
        (regmove_optimize): Use it.
6808
 
6809
        Use NREGS parameter instead of calling max_reg_num.
6810
 
6811
        (fixup_match_1): Don't use code = MINUS when later tieing with
6812
        a hard register is likely.
6813
 
6814
Fri Aug 28 14:54:07 1998  J"orn Rennecke  
6815
 
6816
        * loop.c (check_dbra_loop): Fix calculation of FINAL_VALUE when
6817
        COMPARISON_VAL was normalized.
6818
 
6819
Thu Aug 27 20:10:46 1998  Jeffrey A Law  (law@cygnus.com)
6820
 
6821
        * loop.c (check_dbra_loop): The loop ending comparison value
6822
        must be an invariant or we can not reverse the loop.
6823
 
6824
        * loop.c (scan_loop): Count down from max_reg_num - 1 to
6825
        FIRST_PSEUDO_REGISTER to avoid calling max_reg_num each iteration
6826
        of the loop.
6827
        (load_mems_and_recount_loop_regs_set): Likewise.
6828
 
6829
        * i386.c (print_operand): Remove obsolete 'c' docs.
6830
 
6831
Wed Aug 26 17:13:37 1998  Tom Tromey  
6832
 
6833
        * gthr.h: Document __GTHREAD_MUTEX_INIT_FUNCTION.
6834
        * frame.c (init_object_mutex): New function.
6835
        (init_object_mutex_once): Likewise.
6836
        (find_fde): Call it.
6837
        (__register_frame_info): Likewise.
6838
        (__register_frame_info_table): Likewise.
6839
        (__deregister_frame_info): Likewise.
6840
 
6841
Thu Aug 27 15:14:18 1998  Jeffrey A Law  (law@cygnus.com)
6842
 
6843
        * haifa-sched.c (sched_analyze_insn): Fix thinko in last change.
6844
 
6845
Thu Aug 27 16:34:51 1998  J"orn Rennecke  
6846
 
6847
        * loop.c (check_dbra_loop): Enable code for reversal
6848
        of some loops without a known constant loop end.
6849
 
6850
Wed Aug 26 18:38:15 1998  Richard Henderson  
6851
 
6852
        * haifa-sched.c (last_clock_var): New.
6853
        (schedule_block): Initialize it.
6854
        (schedule_insn): Use it to fill insn modes with issue information.
6855
 
6856
        * alpha.c (alpha_handle_trap_shadows): Remove do-nothing exit.
6857
        Tag trapb and next insn with TImode.
6858
        (alphaev5_insn_pipe, alphaev5_next_group, alphaev5_align_insns): New.
6859
        (alpha_reorg): Add conditional for alpha_handle_trap_shadows.
6860
        Invoke alphaev5_align_insns as appropriate.
6861
        * alpha.h (LABEL_ALIGN_AFTER_BARRIER): Was ALIGN_LABEL_AFTER_BARRIER.
6862
        (MD_SCHED_VARIABLE_ISSUE): New.
6863
        * alpha.md (attr type): Add multi.
6864
        (define_asm_attributes): New.
6865
        (prologue_stack_probe_loop, builtin_setjmp_receiver): Set type multi.
6866
        (arg_home): Likewise.
6867
        (fnop, unop, realign): New.
6868
 
6869
Wed Aug 26 15:55:41 1998  Jim Wilson  
6870
 
6871
        * iris5.h (PREFERRED_DEBUGGING_TYPE): Undef.
6872
        * iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
6873
 
6874
        * configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*.
6875
        (rs6000-ibm-aix4.[12]*): Likewise.
6876
        * configure: Regenerate.
6877
 
6878
Wed Aug 26 09:30:59 1998  Nick Clifton  
6879
 
6880
        * config/arm/thumb.c (thumb_exit): Do not move a4 into lr if it
6881
        already contains the return address.
6882
 
6883
Wed Aug 26 12:57:09 1998  Jeffrey A Law  (law@cygnus.com)
6884
 
6885
        * calls.c (expand_call): Use bitfield instructions to extract/deposit
6886
        word sized hunks when loading unaligned args into registers.
6887
 
6888
        * haifa-sched.c (sched_analyze_insn): Only create scheduling
6889
        barriers for LOOP, EH and SETJMP notes on the loop_notes list.
6890
 
6891
        * mn10300.h (RTX_COSTS): Handle UDIV and UMOD too.
6892
 
6893
Wed Aug 26 16:35:37 1998  J"orn Rennecke  
6894
 
6895
        * loop.c (check_dbra_loop): Add some code that would allow reversal
6896
        of some loops without a known constant loop end if it were enabled.
6897
 
6898
Wed Aug 26 11:08:44 1998  Gavin Romig-Koch  
6899
 
6900
        * mips.md (lshrsi3_internal2+2): Fix type-o.
6901
 
6902
Wed Aug 26 10:53:03 1998  Kaveh R. Ghazi  
6903
 
6904
        * system.h: Include stdarg.h/varargs.h, make sure they are ordered
6905
        correctly with regards to stdio.h.
6906
 
6907
        * calls.c: Remove stdarg.h/varargs.h.
6908
        * cccp.c: Likewise.
6909
        * cexp.y: Likewise.
6910
        * combine.c: Likewise.
6911
        * cpperror.c: Likewise.
6912
        * cpplib.c: Likewise.
6913
        * cpplib.h: Likewise.
6914
        * doprint.c: Likewise.
6915
        * emit-rtl.c: Likewise.
6916
        * final.c: Likewise.
6917
        * fix-header.c: Likewise.
6918
        * gcc.c: Likewise.
6919
        * genattr.c: Likewise.
6920
        * genattrtab.c: Likewise.
6921
        * gencodes.c: Likewise.
6922
        * genconfig.c: Likewise.
6923
        * genemit.c: Likewise.
6924
        * genextract.c: Likewise.
6925
        * genflags.c: Likewise.
6926
        * genopinit.c: Likewise.
6927
        * genoutput.c: Likewise.
6928
        * genpeep.c: Likewise.
6929
        * genrecog.c: Likewise.
6930
        * mips-tfile.c: Likewise.
6931
        * prefix.c: Likewise.
6932
        * protoize.c: Likewise.
6933
        * regmove.c: Likewise.
6934
        * toplev.c: Likewise.
6935
        * tree.c: Likewise.
6936
 
6937
Wed Aug 26 05:09:27 1998  Jakub Jelinek  
6938
 
6939
        * config/sparc/sparc.c (sparc_override_options): If not
6940
        TARGET_FPU, turn off TARGET_VIS.
6941
        * config/sparc/sparc.h (TARGET_SWITCHES): Add no-vis.
6942
        (LEGITIMATE_CONSTANT_P): Allow SF/DF mode zero when TARGET_VIS.
6943
        * config/sparc/sparc.md (movsi_insn): Use fzeros not fzero.
6944
        (movdi_insn_sp64): Add VIS fzero alternative.
6945
        (clear_sf, clear_df): New VIS patterns.
6946
        (movsf, movdf expanders): Allow fp_zero_operand flat out when
6947
        TARGET_VIS.
6948
        (one_cmpldi2_sp64): Provide new fnot1 VIS alternative.
6949
 
6950
Tue Aug 25 10:57:41 1998  Mark Mitchell  
6951
 
6952
        * loop.c (n_times_set, n_times_used, may_not_optimize,
6953
        reg_single_usage): Convert to varrays.  All uses changed.
6954
        (insert_loop_mem): Return a value.
6955
        (scan_loop): Tweak AVOID_CC_MODE_COPIES code.
6956
        (load_mems_and_recount_loop_regs_set): Likewise.  Grow the arrays, if
6957
        necessary.
6958
 
6959
Tue Aug 25 23:57:12 1998  Jeffrey A Law  (law@cygnus.com)
6960
 
6961
        * From Alexandre:
6962
        * configure.in: Do not set thread_file to "irix" since no such
6963
        support exists yet.
6964
 
6965
        * sparc.md (float abs/neg splits): Check reload_completed before
6966
        calling alter_subreg.
6967
 
6968
Tue Aug 25 19:17:59 1998  David S. Miller  
6969
 
6970
        * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): New
6971
        function.
6972
        * config/sparc/sparc.h: Declare it.
6973
        * config/sparc/sparc.md (float abs/neg splits): Use it.
6974
        (all other splits): Handle SUBREGs properly where necessary.
6975
        (unnamed (1<
6976
 
6977
Tue Aug 25 19:48:46 1998  Jeffrey A Law  (law@cygnus.com)
6978
 
6979
        * reorg.c (fill_simple_delay_slots): Do not abort if we encounter
6980
        an insn on the unfilled_slots_list that has no delay slots.
6981
        (fill_eager_delay_slots): Similarly.
6982
 
6983
Tue Aug 25 13:35:20 1998  Nick Clifton  
6984
 
6985
        * config/v850/v850.c (movsi_source_operand): Treat CONSTANT_P_RTX
6986
        as an ordinary operand.
6987
 
6988
Tue Aug 25 12:54:57 1998  Jason Merrill  
6989
 
6990
        * tree.c (valid_machine_attribute): Don't apply attributes to both
6991
        decl and type.
6992
 
6993
Tue Aug 25 12:23:20 1998  Richard Henderson  
6994
 
6995
        * reload.c (operands_match_p): Handle rtvecs.
6996
 
6997
        * i386.c (legitimate_pic_address_disp_p): New.
6998
        (legitimate_address_p): Use it.
6999
        (legitimize_pic_address): Use unspecs to represent @GOT and @GOTOFF.
7000
        Handle constant pool symbols just like statics.
7001
        (emit_pic_move): Use Pmode not SImode for clarity.
7002
        (output_pic_addr_const) [SYMBOL_REF]: Remove @GOT and @GOTOFF hacks.
7003
        [UNSPEC]: New, handling what we killed above.
7004
        [PLUS]: Detect and abort on invalid symbol arithmetic.
7005
        * i386.h (CONSTANT_ADDRESS_P): Remove HIGH.
7006
 
7007
Tue Aug 25 12:02:23 1998  Mark Mitchell  
7008
 
7009
        * alias.c: Include output.h.
7010
        (DIFFERENT_ALIAS_SETS_P): Don't treat alias sets as
7011
        different if we're in a varargs function.
7012
        * Makefile.in (alias.o): Depend on output.h
7013
 
7014
Tue Aug 25 19:20:12 1998  J"orn Rennecke  
7015
 
7016
        * sh.h (GIV_SORT_CRITERION): Delete.
7017
 
7018
Tue Aug 25 13:19:46 1998  Dave Brolley  
7019
 
7020
        * regclass.c (regclass): Use xmalloc/free instead of alloca.
7021
        * stupid.c (stupid_life_analysis): Likewise.
7022
        * reload1.c (reload): Likewise.
7023
 
7024
Tue Aug 25 05:48:18 1998  Jakub Jelinek  
7025
 
7026
        * config/sparc/sparc.c (arith_4096_operand, arith_add_operand,
7027
        arith_double_4096_operand, arith_double_add_operand): New
7028
        predicates.
7029
        * config/sparc/sparc.h (PREDICATE_CODES): Add them, declare them.
7030
        * config/sparc/sparc.md (adddi3, addsi3, subdi3, subsi3): Use
7031
        them to transform add/sub 4096 into add/sub -4096.
7032
 
7033
Mon Aug 24 23:31:03 1998  David S. Miller  
7034
 
7035
        * loop.c (scan_loop): Allocate some slop to handle pseudos
7036
        generated by move_movables.
7037
        (load_mems_and_recount_loop_regs_set): Honor AVOID_CC_MODE_COPIES
7038
        here too.
7039
 
7040
Mon Aug 24 19:45:40 1998  Jim Wilson  
7041
 
7042
        * tree.def (DECL_RESULT): Correct documentation.
7043
 
7044
Tue Aug 25 01:15:27 1998  J"orn Rennecke  
7045
 
7046
        * reload1.c (reload_reg_free_before_p): New argument EQUIV;  Changed
7047
        all callers.  Abort for RELOAD_FOR_INSN.  RELOAD_FOR_OUTADDR_ADDR:
7048
        conflicts will all RELOAD_FOR_OUTPUT reloads.
7049
 
7050
        * reload1.c (reload_cse_regs_1): When deleting a no-op move that
7051
        loads the function result, substitute with a USE.
7052
 
7053
Mon Aug 24 15:20:19 1998  David Edelsohn  
7054
 
7055
        * rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64
7056
        when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode.
7057
        (LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup.
7058
        * rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4.
7059
        (print_operand, cases 'O' and 'T'): Fix typos in lossage strings.
7060
        * rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT
7061
        operand.
7062
        (movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
7063
        'o' to 'm' for GPR variant constraints.
7064
 
7065
Mon Aug 24 10:25:46 1998  Jeffrey A Law  (law@cygnus.com)
7066
 
7067
        * loop.c (scan_loop): Honor AVOID_CC_MODE_COPIES.
7068
 
7069
        * h8300.h (STRIP_NAME_ENCODING): Fix typo.
7070
 
7071
        * sparc.md (TFmode splits): Use reg_overlap_mentioned_p to detect
7072
        when the source and destination overlap.
7073
 
7074
        * stmt.c (emit_case_nodes): Change rtx_function to rtx_fn to avoid
7075
        clash with global type.
7076
 
7077
Mon Aug 24 00:53:53 1998  Jason Merrill  
7078
 
7079
        * fixinc.irix: Add curses.h handling from fixinc.wrap.
7080
 
7081
        * c-common.c (combine_strings): Also set TREE_READONLY.
7082
        Change warn_write_strings to flag_const_strings.
7083
        * c-decl.c, c-tree.h: Likewise.
7084
 
7085
Sun Aug 23 18:39:11 1998  David S. Miller  
7086
 
7087
        * config/sparc/sparc.c (sparc_emit_set_const32): If outputting a
7088
        CONST_INT, not a symbolic reference, don't use a HIGH/LO_SUM
7089
        sequence, use SET/IOR instead so CSE can see it.
7090
        * config/sparc/sparc.md (movhi_const64_special,
7091
        movsi_const64_special): New patterns necessitated by that change.
7092
        (movhi_high): Remove.
7093
        (movhi_lo_sum): Change to match an IOR.
7094
        (movdf_insn_sp32): Test TARGET_V9 not TARGET_ARCH64.
7095
        (movdf_insn_v9only): New pattern for when V9 but not ARCH64.
7096
        (movdf_insn_sp64): Test both TARGET_V9 and TARGET_ARCH64.
7097
        (movdf splits): Allow when not V9 or when not ARCH64 and integer
7098
        registers are involved.
7099
        (snesi_zero_extend split): Remove reload_completed test.
7100
        (unnamed plus and minus zero_extend sidi splits): Add it.
7101
 
7102
Sun Aug 23 11:56:08 1998  Mark Mitchell  
7103
 
7104
        * extend.texi: Remove description of extension to explicit
7105
        instantiation that is now endorsed by standard C++.
7106
 
7107
Sun Aug 23 09:39:09 1998  David S. Miller  
7108
 
7109
        * config/arc/arc.c (arc_initialize_pic): Remove.
7110
        * config/arc/arc.h (INITIALIZE_PIC): Similarly, this routine does
7111
        nothing on any platform and is invoked by no-one, it does not even
7112
        appear in the documentation.
7113
        * config/sparc/sparc.h (INITIALIZE_PIC): Likewise.
7114
        * config/sparc/sparc.c (initialize_pic): Likewise.
7115
        (find_addr_reg): Remove this as well, no longer referenced after
7116
        my rewrite.
7117
 
7118
Sun Aug 23 00:17:14 1998  Jeffrey A Law  (law@cygnus.com)
7119
 
7120
        * recog.c (validate_replace_rtx_group): New function.
7121
        * recog.h (validate_replace_rtx_group): Declare it.
7122
        * regmove.c (optimize_reg_copy_3): If any substitution fails, then undo
7123
        the entire group of substitutions.
7124
 
7125
Sat Aug 22 23:31:00 1998  Klaus-Georg Adams  (Klaus-Georg.Adams@chemie.uni-karlsruhe.de)
7126
 
7127
        * loop.c (load_mems): Fix initializers.
7128
 
7129
Fri Aug 21 23:07:46 1998  David S. Miller  
7130
 
7131
        * config/sparc/sparc.md (TFmode splits): Handle destination
7132
        registers being referenced in the address correctly.
7133
 
7134
        * expmed.c (make_tree) [CONST_INT]: Sign extend even if
7135
        TREE_UNSIGNED, when bitsize of type's mode is larger than
7136
        HOST_BITS_PER_WIDE_INT.
7137
 
7138
Fri Aug 21 19:31:31 1998  Alexandre Petit-Bianco  
7139
 
7140
        * tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes.
7141
        * tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
7142
        EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New
7143
        macros.
7144
        * expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and
7145
        EXIT_BLOCK_EXPR.
7146
 
7147
Thu Aug 20 19:43:44 1998  Jeffrey A Law  (law@cygnus.com)
7148
 
7149
        * h8300.c (h8300_encode_label): Use '&' for tiny data items.
7150
        * h8300.h (TINY_DATA_NAME_P): Likewise.
7151
        (STRIP_NAME_ENCODING): Handle '&'.
7152
 
7153
        * mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the
7154
        register (it could be accessed via an outer SUBREG).
7155
        (REG_OK_FOR_BASE_P): Likewise.
7156
        (GO_IF_LEGITIMATE_ADDRESS): Consistently use REGNO_OK_FOR_BASE_P.
7157
 
7158
        * remove.c (optimize_reg_copy_3): Abort instead of silently generating
7159
        bogus rtl.
7160
 
7161
        * jump.c (rtx_renumbered_equal_p): Do not consider PLUS commutative.
7162
 
7163
Thu Aug 20 17:35:20 1998  David S. Miller  
7164
 
7165
        * config/sparc/sparc.md (movtf_insn_sp32): All memory operands
7166
        must be offsettable so the splits can be made.
7167
 
7168
Thu Aug 20 13:56:53 1998  Michael Meissner  
7169
 
7170
        * config/i386/winnt.c: Include system.h, not stdio.h to get
7171
        sys/param.h pulled in before rtl.h in case the system defines MIN
7172
        and MAX.
7173
 
7174
Thu Aug 20 13:44:20 1998  David Edelsohn  
7175
 
7176
        * rs6000.md (movqi, movhi): Add CONSTANT_P_RTX.
7177
 
7178
Thu Aug 20 13:15:11 1998  Dave Brolley  
7179
 
7180
        * stor-layout.c (layout_type): Compute TYPE_SIZE_UNIT correctly for
7181
        arrays of bits.
7182
        * cpplib.c (cpp_define): Handle macros with parameters.
7183
 
7184
Wed Aug 19 21:33:19 1998  David Edelsohn  
7185
 
7186
        * rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
7187
        (output_toc): Use single TOC slot or llong minimal-toc for DFmode
7188
        and DImode 64-bit.  Use llong for minimal-toc SFmode and
7189
        SYMBOL_REF / LABEL_REF 64-bit.
7190
        (output_function_profiler): Use llong for profiler label and ld to
7191
        load 64-bit label address.
7192
 
7193
Wed Aug 19 17:52:27 1998  Nick Clifton  (nickc@cygnus.com)
7194
 
7195
        * config/arm/thumb.md (extendqisi2_insn): Cope with REG +
7196
        OFFSET addressing.
7197
 
7198
Wed Aug 19 14:13:31 1998  Jeff Law  (law@cygnus.com)
7199
 
7200
        * version.c: Bump for snapshot.
7201
 
7202
Wed Aug 19 13:10:30 1998  Jeff Law  (law@cygnus.com)
7203
 
7204
        * version.c: Bump for snapshot.
7205
 
7206
Wed Aug 19 13:06:47 1998  Jason Merrill  
7207
 
7208
        * collect2.c (extract_init_priority): Use atoi instead of strtoul.
7209
 
7210
Wed Aug 19 13:51:35 1998  Hans-Peter Nilsson  
7211
 
7212
        * tm.texi (Misc): Fix typo "teh".
7213
 
7214
        * tm.texi (PIC): Fix typo "PPIC".
7215
 
7216
        * tm.texi (Caller Saves): Say that DEFAULT_CALLER_SAVES has no
7217
        effect when -O2 and higher.
7218
        * invoke.texi (Optimize Options): Likewise for -fcaller-saves.
7219
 
7220
1998-08-19  Michael Hayes  
7221
 
7222
        * regclass.c: Changed register set documentation to be consistent
7223
        with GCC behavior.
7224
 
7225
        * final.c (final_start_function): Removed redundant test for
7226
        call_fixed_regs.
7227
 
7228
Wed Aug 19 13:28:41 1998  Mark Mitchell  
7229
 
7230
        * rtl.h (rtx_function): New type.
7231
        (for_each_rtx): New function.
7232
        * rtlanal.c (for_each_rtx): Define it.
7233
 
7234
        * recog.c (change_t): New type.
7235
        (change_objects, change_old_codes, change_locs, change_olds):
7236
        Replace with ...
7237
        (changes): New variable.
7238
        (validate_change): Dynamically allocate room for more changes, if
7239
        necessary.  Uses changes array instead of change_objects, etc.
7240
        (apply_change_group): Use changes array instead of
7241
        change_objects, etc.
7242
 
7243
        * loop.c (loop_mem_info): New type.
7244
        (loop_mems): New variable.
7245
        (loop_mems_idx): Likewise.
7246
        (looop_mems_allocated): Likewise.
7247
        (scan_loop): Remove nregs parameter.
7248
        (next_insn_in_loop): New function.
7249
        (load_mems_and_recount_loop_regs_set): Likewise.
7250
        (load_mems): Likewise.
7251
        (insert_loop_mem): Likewise.
7252
        (replace_loop_mem): Likewise.
7253
        (replace_label): Likewise.
7254
        (INSN_IN_RANGE_P): New macro.
7255
        (loop_optimize): Don't pass max_reg_num() to scan_loop.
7256
        (scan_loop): Remove nregs parameter, compute it after any new
7257
        registers are created by load_mems.  Use INSN_IN_RANGE_P and
7258
        next_insn_in_loop rather than expanding them inline.  Call
7259
        load_mems to load memory into pseudos, if appropriate.
7260
        (prescan_loop): Figure out whether or not there are jumps from the
7261
        loop to targets other than the label immediately following the
7262
        loop.  Call insert_loop_mem to notice all the MEMs used in the
7263
        loop, if it could be safe to pull MEMs into REGs for the duration
7264
        of the loop.
7265
        (strength_reduce): Use next_insn_in_loop.  Tweak comments.
7266
 
7267
Wed Aug 19 08:29:44 1998  Richard Earnshaw  (rearnsha@arm.com)
7268
 
7269
        * arm.c (arm_override_options): Remove lie about ignoring PIC flag.
7270
 
7271
Wed Aug 19 07:08:15 1998  David S. Miller  
7272
 
7273
        * config/sparc/sparc.c (finalize_pic): Check for the correct
7274
        nonlocal_goto_receiver UNSPEC number.
7275
        * config/sparc/sparc.md (nonlocal_goto_receiver): Add comment
7276
        making note of this dependency existing in sparc.c.
7277
        (negtf2_notv9 split): Give NEG SFmode.
7278
        (negsf2): Fix insn output string.
7279
 
7280
Tue Aug 18 12:40:27 1998  Richard Henderson  
7281
 
7282
        * c-common.c (decl_attributes): Issue an error if the argument
7283
        to alias is not a string.
7284
 
7285
Tue Aug 18 10:33:30 1998  Jeffrey A Law  (law@cygnus.com)
7286
 
7287
        * haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last
7288
        pending memory flush list.
7289
 
7290
        * combine.c (can_combine_p): Allow combining insns with REG_RETVAL
7291
        notes.
7292
        (try_combine): Allow combining insns with REG_LIBCALL notes.
7293
 
7294
        * expr.c (emit_block_move): Do not call memcpy as a libcall
7295
        instead build up a CALL_EXPR and call it like any other
7296
        function.
7297
        (clear_storage): Similarly for memset.
7298
 
7299
        * regmove.c (fixup_match_2): Do not call reg_overlap_mentioned_p
7300
        on notes.
7301
 
7302
        * Makefile.in (cplus-dem.o): Provide explicit rules for building
7303
        cplus-dem.o.
7304
 
7305
        * regmove.c (optimize_reg_copy_1): Update REG_N_CALLS_CROSSED
7306
        and REG_LIVE_LENGTH as successful substitutions are made.
7307
 
7308
Tue Aug 18 07:15:27 1998  Kaveh R. Ghazi  
7309
 
7310
        * config/sparc/sparc.c (ultra_find_type): Add empty semicolon
7311
        statement after end of loop label.
7312
 
7313
Tue Aug 18 07:13:27 1998  David S. Miller  
7314
 
7315
        * config/sparc/sparc.c (ultra_types_avail): New variable.
7316
        (ultra_build_types_avail): New function to record mask of insn
7317
        types in ready list at this cycle.
7318
        (ultrasparc_sched_reorder): Call it.
7319
        (ultra_find_type): Use it to quicken the search.  Also simplif
7320
        dependency check, don't use rtx_equal_p because we know exactly
7321
        what we are looking for.
7322
 
7323
Tue Aug 18 03:20:53 1998  Richard Earnshaw  (rearnsha@arm.com)
7324
 
7325
        * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling
7326
        for architecture v4.
7327
 
7328
Mon Aug 17 21:26:38 1998  David S. Miller  
7329
 
7330
        * config/sparc/sparc.md (sltu, sgeu): Don't FAIL, call
7331
        gen_compare_reg.
7332
        (movsf_const_intreg, movsf_const_high, movsf_const_lo,
7333
        movdf_const_intreg and helper splits): New patterns to move float
7334
        constants into integer registers.
7335
        (negtf2, negdf2, abstf2, absdf2): Rework using new patterns and
7336
        splits.
7337
 
7338
Mon Aug 17 11:46:19 1998  Jeffrey A Law  (law@cygnus.com)
7339
 
7340
        * From Graham
7341
        * tree.c (build_index_type): Copy TYPE_SIZE_UNIT from sizetype
7342
        to itype.
7343
        * c-decl.c (finish_enum): Copy TYPE_SIZ_UNIT from enumtype to tem.
7344
 
7345
        * rs6000.c (secondary_reload_class): For TARGET_ELF, indicate that
7346
        a BASE_REGS register is needed as an intermediate when copying
7347
        a symbolic value into any register class other than BASE_REGS.
7348
 
7349
        * expr.c (move_by_pieces): No longer static.  Remove prototype.
7350
        * rtl.h (move_by_pieces): Add extern prototype.
7351
        * mips.c (expand_block_move): Handle aligned straight line copy by
7352
        calling move_by_pieces.
7353
 
7354
        * expr.c (expand_expr): Allow assignments from TImode PARM_DECLs
7355
        and VAR_DECLs.
7356
 
7357
Mon Aug 17 10:28:52 1998  Mark Mitchell  
7358
 
7359
        * stmt.c (expand_end_loop): Tidy.  Allow unconditional
7360
        jumps out of the loop to be treated as part of the exit test.
7361
 
7362
Mon Aug 17 10:06:11 1998  Kaveh R. Ghazi  
7363
                          Jeff Law  
7364
 
7365
        * Makefile.in (cplus-dep.o): Use cplus-dem.c from libiberty.
7366
        * cplus-dem.c: Delete.
7367
 
7368
        * Makefile.in (fold-const.o): Depend on $(RTL_H).
7369
 
7370
        * fold-const.c: Include rtl.h to get the prototype for
7371
        `set_identifier_local_value'.
7372
 
7373
        * loop.c (express_from_1): Remove unused variable `tmp'.
7374
        (combine_givs): Cast the first argument of bzero to char *.
7375
 
7376
        * toplev.c (display_help): Remove unused variable `looking_for_start'.
7377
 
7378
        * c-decl.c (init_decl_processing): Remove unneeded &.
7379
 
7380
        * alpha.h (alpha_initialize_trampoline): Provide prototype.
7381
 
7382
        * except.c (set_exception_lang_code, set_exception_version_code):
7383
        Change parameter from `short' to `int' to avoid using a gcc
7384
        extension.
7385
 
7386
        * except.h (set_exception_lang_code, set_exception_version_code):
7387
        Likewise for prototypes.
7388
 
7389
        * flow.c (count_reg_references): Remove unused variables `regno'
7390
        and `i'.
7391
 
7392
        * gcse.c (hash_scan_insn): Declare parameter `in_libcall_block'.
7393
 
7394
        * prefix.c (translate_name): Cast the result of `alloca'.
7395
 
7396
        * varray.h (VARRAY_FREE): Reimplement as a `do-while(0)' statement.
7397
 
7398
Mon Aug 17 09:23:42 1998  Andreas Schwab  
7399
 
7400
        * config/m68k/m68k.c: Include "system.h" instead of .
7401
        Include "toplev.h".
7402
        (valid_dbcc_comparison_p): Mark mode argument as unused.
7403
        (symbolic_operand): Likewise.
7404
        (legitimize_pic_address): Likewise.
7405
        (const_uint32_operand): Likewise.
7406
        (const_sint32_operand): Likewise.
7407
        * sched.c [!INSN_SCHEDULING]: Define only dummy function
7408
        schedule_insns and comment out rest of file.
7409
 
7410
        * m68k.c (output_move_simode_const): Use subl to move a zero into an
7411
        address register.
7412
        (output_move_[hq]imode): Likewise.
7413
 
7414
Mon Aug 17 09:15:47 1998  Jeffrey A Law  (law@cygnus.com)
7415
 
7416
        * toplev.c (main): Enable -fstrict-aliasing for -O2 and above.
7417
        * invoke.texi: Corresponding changes.
7418
 
7419
Mon Aug 17 02:03:55 1998  Richard Henderson  
7420
 
7421
        * regclass.c (allocate_reg_info): Respect MIN when clearing data.
7422
 
7423
Sun Aug 16 17:37:06 1998  David S. Miller  
7424
 
7425
        * config/sparc/sparc.c (ultra_code_from_mask,
7426
        ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
7427
        ultra_find_type, ultra_schedule_insn, ultra_flush_pipeline,
7428
        ultrasparc_sched_init, ultrasparc_variable_issue,
7429
        ultra_rescan_pipeline_state, ultrasparc_sched_reorder): New
7430
        functions to describe UltraSPARC pipeline exactly to Haifa.
7431
        (ultrasparc_adjust_cost): Indicate IMUL type insns have zero cost,
7432
        as there is nothing the scheduler can do about it.  Indicate that
7433
        REG_DEP_OUTPUT's collide.  Fixup formatting.
7434
        * config/sparc/sparc.h (RTX_COSTS): Fixup integer multiply and
7435
        divide costs on Ultra for DImode.
7436
        (MD_SCHED_INIT, MD_SCHED_REORDER, MD_SCHED_VARIABLE_ISSUE):
7437
        Define.
7438
        * config/sparc/sparc.md (ieu_unnamed function unit): Rename to
7439
        ieuN and add call_no_delay_slot to type list.
7440
        (cti function unit): New unit for branches on UltraSPARC.
7441
        (subx/addx insns): Set type to misc.
7442
        (sidi zero/sign extension insns on arch64): Set type to shift.
7443
        (sign_extendhidi2_insn): Set type to sload.
7444
 
7445
Sun Aug 16 13:52:00 1998  David Edelsohn  
7446
 
7447
        * rs6000.c (rs6000_stack_info): Use if == 0 for sizes.
7448
        (output_epilog): Use if != 0 for offset.
7449
        (rs6000_fatal_bad_address): Prepare for Intl.
7450
        * rs6000.h (rs6000_fatal_bad_address): Declare.
7451
        * rs6000.md (movsfcc, movdfcc): Use else if.
7452
        (elf_high): Use {liu|lis}.
7453
        (elf_low): Use {cal|la}.  Remove %a template from old mnemonics.
7454
        (movsi): Use rs6000_fatal_bad_address.
7455
 
7456
Sun Aug 16 01:53:21 1998  Richard Henderson  
7457
 
7458
        * reload.c (find_equiv_reg): Reject equivalences separated
7459
        by a volatile instruction.
7460
 
7461
Sun Aug 16 00:21:44 1998  Franz Sirl  
7462
 
7463
        * rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define.
7464
 
7465
Sat Aug 15 20:51:35 1998  Richard Henderson  
7466
 
7467
        * alpha.md (movsicc): Fix mode mismatch.
7468
 
7469
Sat Aug 15 20:22:33 1998  H.J. Lu  (hjl@gnu.org)
7470
 
7471
        * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Handle aggregated
7472
        return type.
7473
        * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
7474
 
7475
Sat Aug 15 08:39:49 1998  David S. Miller  
7476
 
7477
        * config/sparc/sparc.md (movsi_lo_sum_pic_label_reg): Remove
7478
        write-only modifier from operand 1 constraint.
7479
 
7480
Sat Aug 15 06:28:19 1998  David S. Miller  
7481
 
7482
        * config/sparc/sparc.c (sparc_emit_set_const64_quick1): If
7483
        emitting a XOR of -1 at the end, emit a NOT instead for combine's
7484
        sake.
7485
        (sparc_emit_set_const64): Likewise, also when computing trailing
7486
        bits do not negate low_bits and make fast_int an int.
7487
 
7488
Fri Aug 14 21:07:03 1998  Jeffrey A Law  (law@cygnus.com)
7489
 
7490
        * loop.c (add_label_notes): Do not ignore references to labels
7491
        before dispatch tables.  Mirrors Apr 8 change to mark_jump_label.
7492
        * gcse.c (add_label_notes): Similarly.
7493
 
7494
        * pa.h (ASM_OUTPUT_MI_THUNK): Strip name encoding.
7495
 
7496
        * m68k.md (adddi_dilshr32): One of the operands must be a register.
7497
        (adddi_dishl32): Similarly.
7498
 
7499
Fri Aug 14 14:12:59 1998  Jason Merrill  
7500
 
7501
        * i386.h (MODES_TIEABLE_P): Reorganize to shut up warnings.
7502
        * alias.c (memrefs_conflict_p): Add braces to shut up warnings.
7503
        * cse.c (cse_basic_block): Add parens to shut up warnings.
7504
 
7505
Fri Aug 14 12:58:21 1998  David S. Miller  
7506
 
7507
        * config/sparc/sparc.c (sparc_emit_set_const64_quick2,
7508
        sparc_emit_set_const64_longway, const64_is_2insns,
7509
        create_simple_focus_bits, sparc_emit_set_const64): Fix more bugs
7510
        in 64-bit constant formation.
7511
        * config/sparc/sparc.md (snesi_zero_extend split): Generate
7512
        rtl for addx not subx.
7513
        (define_insn movdi_const64_special): Make available even when
7514
        HOST_BITS_PER_WIDE_INT is not 64.
7515
        (movdi_lo_sum_sp64_cint, movdi_high_sp64_cint): Remove.
7516
        (losum_di_medlow, sethm, setlo): Make op2 symbolic_operand.
7517
        (cmp_siqi_trunc_set, cmp_diqi_trunc_set): Encapsulate both
7518
        instances of operand 1 inside a QI subreg.
7519
        (xordi3_sp64_dbl): Remove '%' constraint for op1.
7520
        (one_cmpldi2_sp64): Fix output string.
7521
        (one_cmplsi2_not_liveg0): Rewrite to remove unneeded extra
7522
        alternative case.
7523
        (unnamed arch64 ashift DI): Truncate shift count if greater than
7524
        63, not 31.
7525
 
7526
Fri Aug 14 21:52:53 1998  J"orn Rennecke  
7527
 
7528
        * expr.c (store_expr): Don't optimize away load-store pair
7529
        when either source or destination have a side effect.
7530
 
7531
Fri Aug 14 16:50:10 1998  John Carr  
7532
 
7533
        * genrecog.c (add_to_sequence): Fatal error if the modes of the
7534
        operands of SET are incompatible.
7535
 
7536
        * alpha.md: Fix max and min patterns so modes of SET operands match.
7537
 
7538
Fri Aug 14 12:22:55 1998  Ian Lance Taylor  
7539
 
7540
        * configure.in: Avoid [[ by using test and changequote.
7541
        * configure: Rebuild.
7542
 
7543
Fri Aug 14 01:22:31 1998  David S. Miller  
7544
 
7545
        * rtl.def (CONSTANT_P_RTX): Fix typo in string name.
7546
 
7547
        * config/sparc/sparc.md (seqdi_special_trunc, snedi_special_trunc,
7548
        seqsi_special_extend, snesi_special_extend, snesi_zero_extend and
7549
        split, snedi_zero_trunc and split, seqsi_zero_extend and split,
7550
        seqdi_zero_trunc and split, pic_lo_sum_di, pic_sethi_di,
7551
        movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc, addx_extend_sp32 and
7552
        split, addx_extend_sp64, subx_extend_sp64, subx_extend and split):
7553
        Fix mismatching modes in SET operands.
7554
        (conditional move patterns): Fix formatting.
7555
        (unnamed subx arch64 pattern): Remove duplicate insn.
7556
 
7557
Fri Aug 14 00:34:34 1998  David S. Miller  
7558
 
7559
        * config/sparc/sparc.c (const64_operand, const64_high_operand):
7560
        Get it right when HOST_BITS_PER_WIDE_INT is not 64.
7561
        (input_operand): Fixup test for what we accept for constant
7562
        integers.
7563
        (sparc_emit_set_const32, sparc_emit_set_symbolic_const64): Give
7564
        set VOIDmode.
7565
        (safe_constDI): Remove.
7566
        (sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64,
7567
        gen_safe_XOR64): New functions.
7568
        (sparc_emit_set_const64_quick1, sparc_emit_set_const64_quick2,
7569
        sparc_emit_set_const64_longway, sparc_emit_set_const64): Use
7570
        them.
7571
        * config/sparc/sparc.md (define_insn xordi3_sp64_dbl): Only make
7572
        available when HOST_BITS_PER_WIDE_INT is not 64.
7573
        (define_insn movdi_sp64_dbl, movdi_const64_special): Likewise and
7574
        move before movdi_insn_sp64 pattern.
7575
        (define_insn movdi_lo_sum_sp64_dbl, movdi_high_sp64_dbl): Remove.
7576
        (define_insn sethi_di_medlow, seth44, setm44, sethh): Use
7577
        symbolic_operand as predicate for second operand.
7578
        (DImode minus split on arch32, negsi2 expander, one_cmplsi2
7579
        expander): Give set VOIDmode.
7580
 
7581
Fri Aug 14 01:45:06 1998  Mumit Khan  
7582
 
7583
        * i386/cygwin32 (DEFAULT_PCC_STRUCT_RETURN): Define.
7584
 
7585
Fri Aug 14 01:40:21 1998  Geoffrey Keating  
7586
 
7587
        * rs6000/linux.h (LINK_SPEC): Pass -G args to the linker.
7588
 
7589
Fri Aug 14 01:23:23 1998  Richard Earnshaw  (rearnsha@arm.com)
7590
 
7591
        * arm/netbsd.h (TARGET_DEFAULT): Default includes software floating
7592
        point.
7593
        (CPP_FLOAT_DEFAULT_SPEC): Re-define accordingly.
7594
 
7595
Fri Aug 14 01:19:08 1998  Robert Lipe  
7596
 
7597
        * install.texi: Various SCO OpenServer tweaks.
7598
 
7599
Thu Aug 13 20:14:40 1998  Jim Wilson  
7600
 
7601
        * reload1.c (eliminate_regs_in_insn): Handle another case when
7602
        eliminating the frame pointer to the hard frame pointer.  Add
7603
        missing ep->to_rtx check to one existing case.
7604
 
7605
        * mips/mips.md (movhi_internal2+2): Fix typo mem:SI -> mem:HI.
7606
 
7607
Thu Aug 13 17:08:11 1998  Jason Merrill  
7608
 
7609
        * tree.h: De-conditionalize init_priority code.
7610
 
7611
        * mips.h (NM_FLAGS): Change from -Bp to -Bn.
7612
        * collect2.c (NM_FLAGS): Change from -p to -n.
7613
 
7614
        * configure.in: Turn on collect2 for mipstx39-elf.
7615
        Handle use_collect2=no properly.
7616
 
7617
        * c-common.c: De-conditionalize init_priority code.
7618
        * collect2.c (extract_init_priority, sort_ids): New fns.
7619
        (main): Call sort_ids.
7620
        Move sequence_number to file scope.
7621
 
7622
        * configure.in: Handle --enable-init-priority.
7623
        * c-common.c (attrs): Add A_INIT_PRIORITY.
7624
        (init_attributes, decl_attributes): Likewise.
7625
        * tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros.
7626
        * tree.c (get_file_function_name_long): Split out...
7627
        (get_file_function_name): ...from here.
7628
 
7629
Thu Aug 13 16:09:53 1998  Martin von Löwis  
7630
 
7631
        * expr.c (safe_from_p): Change code to ERROR_MARK only when not
7632
        accessing nodes.
7633
 
7634
Thu Aug 13 15:24:48 1998  Jason Merrill  
7635
 
7636
        * toplev.c (display_help): Add braces to shut up warnings.
7637
        * tree.c (simple_cst_equal): Likewise.
7638
 
7639
        * fold-const.c (non_lvalue): Don't deal with null pointer
7640
        constants here.
7641
        (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
7642
 
7643
        * c-typeck.c (initializer_constant_valid_p): Allow conversion of 0
7644
        of any size to a pointer.
7645
 
7646
Thu Aug 13 12:53:13 1998  Jim Wilson  
7647
 
7648
        * i386/winnt.c (i386_pe_asm_file_end): Check TREE_SYMBOL_REFERENCED.
7649
 
7650
Wed Aug 12 17:25:18 1998  Jeffrey A Law  (law@cygnus.com)
7651
 
7652
        * mn10300.c (REG_SAVE_BYTES): Only reserve space for registers
7653
        which will be saved.
7654
        * mn10300.md (prologue insn): Only save registers which need saving.
7655
        (epilogue insn): Similarly.
7656
 
7657
        * mn10300.c, mn10300.h, mn10300.md: Remove "global zero register"
7658
        optimizations.
7659
 
7660
Wed Aug 12 12:39:16 1998  Gavin Romig-Koch  
7661
 
7662
        * mips/mips.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG for
7663
        VAR_DECL's in gp addressable sections.
7664
 
7665
Tue Aug 11 23:02:31 1998  John Carr  
7666
 
7667
        * sparc.c: Change return  to ; return; in functions
7668
        returning void.
7669
        * sparc.md: Add empty semicolon statement after final label in
7670
        move expanders.
7671
 
7672
Tue Aug 11 22:42:01 1998  David S. Miller  
7673
 
7674
        * config/sparc/sparc.md (define_insn addx_extend): Rename to
7675
        addx_extend_sp64, only allow when TARGET_ARCH64.
7676
        (define_insn addx_extend_sp32 and split): Version that works when
7677
        not TARGET_ARCH64.
7678
        (define_insn subx_extend): Likewise.
7679
        (define_split adddi3 and subdi3 with zero extension): Fixup and
7680
        correct bugs when not TARGET_ARCH64.
7681
 
7682
Tue Aug 11 16:04:34 1998  John Carr  
7683
 
7684
        * except.c (set_exception_lang_code, set_exception_version_code):
7685
        Use prototype-style definition if __STDC__, to match declaration
7686
        in except.h.
7687
 
7688
        * genemit.c: Change FAIL and DONE macros not to use loops.
7689
 
7690
Tue Aug 11 12:27:03 1998  Jim Wilson  
7691
 
7692
        * dwarf2out.c (ASM_OUTPUT_DWARF_ADDR_CONST): Use
7693
        ASM_OUTPUT_DWARF2_ADDR_CONST if defined.
7694
 
7695
        * mips/mips.md (reload_outsi): Use M16_REG_P when TARGET_MIPS16.
7696
 
7697
Tue Aug 11 18:12:53 1998  Dave Love  
7698
 
7699
        * README.g77: Update from Craig.
7700
 
7701
Tue Aug 11 04:46:01 1998  David S. Miller  
7702
 
7703
        * config/sparc/sparc.c (sparc_emit_set_const32): INTVAL is of
7704
        type HOST_WIDE_INT.
7705
        (safe_constDI sparc_emit_set_const64_quick1,
7706
        sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
7707
        analyze_64bit_constant, const64_is_2insns,
7708
        create_simple_focus_bits): Fix some bugs when compiled on real
7709
        64-bit hosts.
7710
        (function_arg_record_value_3, function_arg_record_value_2,
7711
        function_arg_record_value): Add fully prototyped forward decls.
7712
        * config/sparc/sparc.md (define_insn cmpsi_insn_sp32): Rename back
7713
        to cmpsi_insn and use on both 64 and 32 bit targets.
7714
        (define_insn cmpsi_insn_sp64): Remove.
7715
        (define_expand zero_extendsidi2): Allow for 32-bit target too.
7716
        (define_insn zero_extendsidi2_insn): Rename to
7717
        zero_extendsidi2_insn_sp64.
7718
        (define_insn zero_extendsidi2_insn_sp32): New pattern and
7719
        associated forced split for it.
7720
 
7721
        * config/sparc/sparc.c (const64_operand, const64_high_operand):
7722
        New predicates.
7723
        * config/sparc/sparc.h: Declare them.
7724
        (PREDICATE_CODES): Add them.
7725
        * config/sparc/sparc.md (movdi_lo_sum_sp64_dbl,
7726
        movdi_high_sp64_dbl, xordi3_sp64_dbl): Use them.
7727
 
7728
Mon Aug 10 22:57:24 1998  John Carr  
7729
 
7730
        * config/sparc/sparc.md (define_insn jump): Output ba,pt not b,pt
7731
        in v9 case as the latter makes the Solaris assembler crash.
7732
 
7733
Mon Aug 10 22:39:09 1998  David S. Miller  
7734
 
7735
        * config/sparc/sparc.c (input_operand): Do not accept a LO_SUM MEM
7736
        for TFmode when !v9.  We require offsettable memory addresses.
7737
        * config/sparc/sparc.h (ALTER_HARD_SUBREG): Handle TFmode to
7738
        DFmode register number conversions.
7739
        * config/sparc/sparc.md (define_split DFmode moves): If register
7740
        is a SUBREG do alter_subreg on it before using.
7741
        (define_expand movtf): Fixup comment about alignment on v9.
7742
        (define_split TFmode moves): Don't use gen_{high,low}part, create
7743
        explicit SUBREGs instead.
7744
 
7745
Mon Aug 10 19:02:55 1998  John Carr  
7746
 
7747
        * Makefile.in (mbchar.o): Depend on mbchar.c.
7748
 
7749
Mon Aug 10 04:28:13 1998  David S. Miller  
7750
                          Richard Henderson  
7751
 
7752
        Rewrite SPARC backend for better code generation and
7753
        improved sparc64 support.
7754
        * config/sparc/sp64-elf.h: Set JUMP_TABLES_IN_TEXT_SECTION to
7755
        zero.
7756
        * config/sparc/sysv4.h: Likewise.
7757
        * config/sparc/sparc.c (v8plus_regcmp_p, sparc_operand,
7758
        move_operand, v8plus_regcmp_op, emit_move_sequence,
7759
        singlemove_string, doublemove_string, mem_aligned_8,
7760
        output_move_double, output_move_quad, output_fp_move_double,
7761
        move_quad_direction, output_fp_move_quad, output_scc_insn):
7762
        Remove.
7763
        (small_int_or_double): New predicate.
7764
        (gen_compare_reg): Remove TARGET_V8PLUS cmpdi_v8plus emission.
7765
        (legitimize_pic_address): Emit movsi_{high,lo_sum}_pic instead of
7766
        old pic_{sethi,lo_sum}_si patterns.
7767
        (mem_min_alignment): New generic function to replace
7768
        mem_aligned_8, which uses REGNO_POINTER_ALIGN information when
7769
        available and can test for arbitrary alignments.  All callers
7770
        changed.
7771
        (save_regs, restore_regs, build_big_number,
7772
        output_function_prologue, output_cbranch, output_return,
7773
        sparc_flat_save_restore, sparc_flat_output_function_prologue,
7774
        sparc_flat_output_function_epilogue): Prettify
7775
        insn output.
7776
        (output_function_epilogue): Likewise and add code to output
7777
        deferred case vectors.
7778
        (output_v9branch): Likewise, add new arg INSN and use it to tack
7779
        on branch prediction settings.  All callers changed.
7780
        (print_operand): Likewise and output %l44 for LO_SUMs when
7781
        TARGET_CM_MEDMID.
7782
        (sparc_splitdi_legitimate): New function to make sure DImode
7783
        splits can be run properly when !arch64.
7784
        (sparc_initialize_trampoline, sparc64_initialize_trampoline):
7785
        Reformat example code in comments.
7786
        (set_extends): Remove UNSPEC/v8plus_clear_high case.
7787
        (sparc_addr_diff_list, sparc_addr_list): New statics to keep track
7788
        of deferred case vectors we need to output.
7789
        (sparc_defer_case_vector): Record a case vector.
7790
        (sparc_output_addr_vec, sparc_output_addr_diff_vec,
7791
        sparc_output_deferred_case_vectors): New functions to output them.
7792
        (sparc_emit_set_const32): New function to form 32-bit constants in
7793
        registers when that requires more than one instruction.
7794
        (safe_constDI, sparc_emit_set_const64_quick1,
7795
        sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
7796
        analyze_64bit_constant, const64_is_2insns,
7797
        create_simple_focus_bits, sparc_emit_set_const64): New functions
7798
        which do the same for 64-bit constants when arch64.
7799
        (sparc_emit_set_symbolic_const64): New function to emit address
7800
        loading for all code models on v9.
7801
        * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Do not make
7802
        %g1 fixed when arch64, unfix %g0 when TARGET_LIVE_G0.
7803
        (ALTER_HARD_SUBREG): Fix thinko, return REGNO + 1 not 1.
7804
        (SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Fix
7805
        inaccuracies in comments, add symbolic and text_segment operands
7806
        when TARGET_CM_MEDANY and TARGET_CM_EMBMEDANY respectively.  Use
7807
        GENERAL_REGS in these cases as a temp REG is needed to load these
7808
        addresses into a register properly.
7809
        (EXTRA_CONSTRAINT): Document more accurately, remove Q case as it
7810
        is no longer used.
7811
        (GO_IF_LEGITIMATE_ADDRESS): Allow TFmode for LO_SUM on v9 since fp
7812
        quads are guaranteed to have 16-byte alignment.
7813
        (LEGITIMIZE_ADDRESS): For SYMBOL_REF, CONST, and LABEL_REF use
7814
        copy_to_suggested_reg instead of explicit LO_SUM and HIGH.
7815
        (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC): New macros for
7816
        deferred case vector implementation.
7817
        (ASM_OUTPUT_ADDR_VEC_ELT): Use fputc to output newline.
7818
        (ASM_OUTPUT_ADDR_DIFF_ELT): Parenthesize LABEL in macro calls.
7819
        Generate "internal label - label" instead of "label - 1b".
7820
        (PRINT_OPERAND_ADDRESS): For LO_SUM use %l44 on TARGET_CM_MEDMID.
7821
        (PREDICATE_CODES): Remove sparc_operand, move_operand,
7822
        v8plus_regcmp_op.  Add small_int_or_double, input_operand, and
7823
        zero_operand.
7824
        (doublemove_string, output_block_move, output_fp_move_double,
7825
        output_fp_move_quad, output_move_double, output_move_quad,
7826
        output_scc_insn, singlemove_string, mem_aligned_8, move_operand,
7827
        sparc_operand, v8plus_regcmp_op, v8plus_regcmp_p): Remove externs.
7828
        (sparc_emit_set_const32, sparc_emit_set_const64,
7829
        sparc_emit_set_symbolic_const64, input_operand, zero_operand,
7830
        mem_min_alignment, small_int_or_double): Add externs.
7831
        * config/sparc/sparc.md: Document the many uses of UNSPEC and
7832
        UNSPEC_VOLATILE in this backend.
7833
        (define_function_unit ieu): Rename to ieu_unnamed.  Add move and
7834
        unary to types which execute in it.
7835
        (define_function_unit ieu_shift): Rename to ieu0.
7836
        (define_function_unit ieu1): New, executes compare, call, and
7837
        uncond_branch type insns.
7838
        (define_function_units for type fdivs, fdivd, fsqrt): These
7839
        execute in the fpu multiply unit not the adder on UltraSPARC.
7840
        (define_expand cmpdi): Disallow TARGET_V8PLUS.
7841
        (define_insn cmpsi_insn): Rename to cmpsi_insn_sp32.
7842
        (define_insn cmpsi_insn_sp64): New, same as sp32 variant except it
7843
        allows the arith_double_operand predicate and rHI constraint when
7844
        TARGET_ARCH64.
7845
        (define_insn cmpdi_sp64, cmpsf_fpe, cmpdf_fpe, cmptf_fpe,
7846
        cmpsf_fp, cmpdf_fp, cmptf_fp, sltu_insn, neg_sltu_insn,
7847
        neg_sltu_minux_x, neg_sltu_plus_x, sgeu_insn, neg_sgeu_insn,
7848
        sltu_plus_x, sltu_plus_x, sltu_plus_x_plus_y, x_minus_sltu,
7849
        sgeu_plus_x, x_minus_sgeu, movqi_cc_sp64, movhi_cc_sp64,
7850
        movsi_cc_sp64, movdi_cc_sp64, movsf_cc_sp64, movdf_cc_sp64,
7851
        movtf_cc_sp64, movqi_cc_reg_sp64, movhi_cc_reg_sp64,
7852
        movsi_cc_reg_sp64, movdi_cc_reg_sp64, movsf_cc_reg_sp64,
7853
        movdf_cc_reg_sp64, movtf_cc_reg_sp64, zero_extendhisi2_insn,
7854
        cmp_siqi_trunc, cmp_siqi_trunc_set, sign_extendhisi2_insn,
7855
        sign_extendqihi2_insn, sign_extendqisi2_insn,
7856
        sign_extendqidi2_insn, sign_extendhidi2_insn,
7857
        extendsfdf2, extendsftf2, extenddftf2, truncdfsf2, trunctfsf2,
7858
        trunctfdf2, floatsisf2, floatsidf2, floatsitf2, floatdisf2,
7859
        floatdidf2, floatditf2, fix_truncsfsi2, fix_truncdfsi2,
7860
        fix_trunctfsi2, fix_truncsfdi2, fix_truncdfdi2, fix_trunctfdi2,
7861
        adddi3_sp64, addsi3, cmp_ccx_plus, cmp_cc_plus_set, subdi_sp64,
7862
        subsi3, cmp_minus_ccx, cmp_minus_ccx_set, mulsi3, muldi3,
7863
        muldi3_v8plus, cmp_mul_set, mulsidi3, mulsidi3_v8plus,
7864
        const_mulsidi3_v8plus, mulsidi3_sp32, const_mulsidi3,
7865
        smulsi3_highpart_v8plus, unnamed subreg mult,
7866
        const_smulsi3_highpart_v8plus, smulsi3_highpart_sp32,
7867
        const_smulsi3_highpart, umulsidi3_v8plus, umulsidi3_sp32,
7868
        const_umulsidi3, const_umulsidi3_v8plus, umulsi3_highpart_v8plus,
7869
        const_umulsi3_highpart_v8plus, umulsi3_highpart_sp32,
7870
        const_umulsi3_highpart, divsi3, divdi3, cmp_sdiv_cc_set, udivsi3,
7871
        udivdi3, cmp_udiv_cc_set, smacsi, smacdi, umacdi, anddi3_sp64,
7872
        andsi3, and_not_di_sp64, and_not_si, iordi3_sp64, iorsi3,
7873
        or_not_di_sp64, or_not_si, xordi3_sp64, xorsi3, xor_not_di_sp64,
7874
        xor_not_si, cmp_cc_arith_op, cmp_ccx_arith_op,
7875
        cmp_cc_arith_op_set, cmp_ccx_arith_op_set, cmp_ccx_xor_not,
7876
        cmp_cc_xor_not_set, cmp_ccx_xor_not_set, cmp_cc_arith_op_not,
7877
        cmp_ccx_arith_op_not, cmp_cc_arith_op_not_set,
7878
        cmp_ccx_arith_op_not_set, negdi2_sp64, cmp_cc_neg, cmp_ccx_neg,
7879
        cmp_cc_set_neg, cmp_ccx_set_neg, one_cmpldi2_sp64, cmp_cc_not,
7880
        cmp_ccx_not, cmp_cc_set_not, cmp_ccx_set_not, addtf3, adddf3,
7881
        addsf3, subtf3, subdf3, subsf3, multf3, muldf3, mulsf3,
7882
        muldf3_extend, multf3_extend, divtf3, divdf3, divsf3, negtf2,
7883
        negdf2, negsf2, abstf2, absdf2, abssf2, sqrttf2, sqrtdf2, sqrtsf2,
7884
        ashlsi3, ashldi3, unnamed DI ashift, cmp_cc_ashift_1,
7885
        cmp_cc_set_ashift_1, ashrsi3, ashrdi3, unnamed DI ashiftrt,
7886
        ashrdi3_v8plus, lshrsi3, lshrdi3, unnamed DI lshiftrt,
7887
        lshrdi3_v8plus, tablejump_sp32, tablejump_sp64, call_address_sp32,
7888
        call_symbolic_sp32, call_address_sp64, call_symbolic_sp64,
7889
        call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
7890
        call_address_untyped_struct_value_sp32,
7891
        call_symbolic_untyped_struct_value_sp32, call_value_address_sp32,
7892
        call_value_symbolic_sp32, call_value_address_sp64,
7893
        call_value_symbolic_sp64, branch_sp32, branch_sp64,
7894
        flush_register_windows, goto_handler_and_restore,
7895
        goto_handler_and_restore_v9, goto_handler_and_restore_v9_sp64,
7896
        flush, all ldd/std peepholes, return_qi, return_hi, return_si,
7897
        return_addsi, return_di, return_adddi, return_sf, all call+jump
7898
        peepholes, trap, unnamed trap insns): Prettify output strings.
7899
        (define_insn anddi3_sp32, and_not_di_sp32, iordi3_sp32,
7900
        or_not_di_sp32, xordi3_sp32, xor_not_di_sp32, one_cmpldi2):
7901
        Likewise and force + implement splits for integer cases.
7902
        (define_insn return_sf_no_fpu): Likewise and allow to match when
7903
        no-fpu because of our subreg SFmode splits.
7904
        (define_insn zero_extendqihi2, zero_extendqisi2_insn,
7905
        zero_extendqidi2_insn, zero_extendhidi2_insn,
7906
        zero_extendsidi2_insn, sign_extendsidi2_insn): Likewise and use
7907
        input_operand for second operand.
7908
        (cmp_minus_cc, cmp_minus_cc_set): Likewise and use
7909
        reg_or_0_operand for operand 2 so new splits can use it.
7910
        (cmp_zero_extendqisi2, cmp_zero_extendqisi2_set, cmp_cc_plus,
7911
        cmp_cc_xor_not): Likewise and don't forget to check TARGET_LIVE_G0
7912
        too.
7913
        (cmp_zero_extract, cmp_zero_extract_sp64): Likewise and allow
7914
        CONST_DOUBLEs for operand 2.
7915
        (define_insn move_label_di): Likewise and label distance
7916
        optimization because it no longer works with new deferred case
7917
        vector scheme.  To be revisited.
7918
        (define_insn x_minus_y_minus_sltu, x_minus_sltu_plus_y): Likewise
7919
        and allow reg_or_0_operand and J constraint for second operand.
7920
        (define_insn jump): Set branch predict taken on V9.
7921
        (define_insn tablejump): Emit LABEL_REF + PLUS memory address for
7922
        new deferred case vector scheme.
7923
        (define_insn pic_tablejump_32, pic_tablejump_64): Remove.
7924
        (define_insn negdi2_sp32): Force + implement splits.
7925
        (define_insn negsi2, one_cmplsi2): Rename to negsi2_not_liveg0 and
7926
        one_cmplsi2_not_liveg0 respectively, and create expander of original
7927
        names which emit special rtl for TARGET_LIVE_G0.
7928
        (define_insn cmpdi_v8plus, scc_si, scc_di): Remove.
7929
        (define_insn seq, sne, slt, sge, sle, sltu, sgeu): Don't do
7930
        gen_compare_reg, FAIL instead.
7931
        (define_insn sgtu, sleu): Likewise and check gen_s*() return
7932
        values when trying to reverse condition codes, if they FAIL then
7933
        do likewise.
7934
        (define_insn snesi_zero, neg_snesi_zero, snesi_zero_extend,
7935
        snedi_zero, neg_snedi_zero, snedi_zero_trunc, seqsi_zero,
7936
        neg_seqsi_zero, seqsi_zero_extend, seqdi_zero, neg_seqdi_zero,
7937
        seqdi_zero_trunc, x_plus_i_ne_0, x_minus_i_ne_0, x_plus_i_eq_0,
7938
        x_minus_i_eq_0): Add new splits to perform these multi-insn cases,
7939
        set output string to # to indicate they are mandatory splits.
7940
        (define_insn pic_lo_sum_si, pic_sethi_si, pic_lo_sum_di,
7941
        pic_sethi_di, move_pic_label_si): Remove.
7942
        (define_insn movsi_low_sum, movsi_high, movsi_lo_sum_pic,
7943
        movsi_high_pic, movsi_pic_label_reg): New patterns to take their
7944
        place.
7945
        (define_expand movsi_pic_label_ref, define_insn
7946
        movsi_high_pic_label_ref, movsi_lo_sum_pic_label_ref): New
7947
        expander and insns to handle PIC label references and deferred
7948
        case vectors.
7949
        (define_insn get_pc_via_rdpc): Comment out as it is no longer
7950
        used.
7951
        (define_expand movqi, movhi, movsi, movdi, movsf, movdf, movtf):
7952
        Rewrite to not use emit_move_sequence, make use of new constant
7953
        formation code, and new splits for all multi-insn cases.
7954
        (define_insn movqi_insn): Remove sethi case, it can never happen.
7955
        Use reg_or_zero_operand instead of const0_rtx explicit test,
7956
        use input_operand instead of move_operand for source, and use
7957
        general_operand now for dest.
7958
        (define_insn movhi_insn): Similar but leave sethi case.
7959
        (define_insn lo_sum_qi, store_qi, store_hi): Remove.
7960
        (define_insn sethi_hi lo_sum_hi): Rename to movhi_high and
7961
        movhi_lo_sum respectively, prettify output string.
7962
        (define_insn movsi_zero_liveg0): New pattern to put zero into a
7963
        register when needed on TARGET_LIVE_G0.
7964
        (define_insn movsi_insn): Use general_operand and input_operand
7965
        for dest and src respectively.  Simplify applicability test.
7966
        Prettify output strings, and add clr alternative for J
7967
        constraint.
7968
        (define_insn movdi_sp32_v9, movdi_sp32, define_splits for
7969
        deprecated std and reg-reg DI moves): Remove and...
7970
        (define_insn movdi_insn_sp32, movdi_insn_sp64): Replace with new
7971
        implementation which uses forced splits for all non-single insn
7972
        cases.
7973
        (define_split DI move cases on !arch64): New splits to handle all
7974
        situations of 64-bit double register DImode on 32bit, and
7975
        unaligned registers and memory addresses for all subtargets.
7976
        (define_insn movsf_const_insn, movdf_const_insn, store_sf):
7977
        Remove.
7978
        (define_insn movsf_insn, movsf_no_f_insn): Use general_operand and
7979
        input_operand for dest and src respectively, prettify output
7980
        strings.
7981
        (define_insn movdf_insn, movdf_no_e_insn, store_df,
7982
        movtf_const_insn, movtf_insn, movtf_no_e_insn, store_tf): Remove
7983
        and...
7984
        (define_insn movdf_insn_sp32, movdf_no_e_insn_sp32,
7985
        movdf_insn_sp64, movdf_no_e_insn_sp64, movtf_insn,
7986
        movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_sp64,
7987
        movtf_no_e_insn_sp64): Replace with new
7988
        implementation which uses forced splits for all non-single insn
7989
        cases.
7990
        (define_split DF move cases): New splits in similar vein to DI
7991
        move counterparts.
7992
        (define_insn sethi_di_medlow, sethi_di_medium_pic,
7993
        sethi_di_embmedany_data, sethi_di_embmedany_text, sethi_di_sp64,
7994
        movdi_sp64_insn): Remove old v9 code model and constant loading
7995
        support insns and..
7996
        (define_insn pic_lo_sum_di, pic_sethi_di,
7997
        sethi_di_medlow_embmedany_pic, sethi_di_medlow, losum_di_medlow,
7998
        seth44, setm44, setl44, sethh, setlm, sethm, setlo,
7999
        embmedany_sethi, embmedany_losum, embmedany_brsum,
8000
        embmedany_textuhi, embmedany_texthi, embmedany_textulo,
8001
        embmedany_textlo, movdi_lo_sum_sp64_cint, movdi_lo_sum_sp64_dbl,
8002
        movdi_high_sp64_cint, movdi_high_sp64_dbl): Replace with new
8003
        scheme, using unspecs, secondary reloads, and one to one sparc
8004
        insn to rtl insn mapping for better scheduling and code gen.
8005
        (define_expand reload_indi, reload_outdi): Reload helpers for
8006
        MEDANY and EMBMEDANY symbol address loading cases which require a
8007
        temporary register.
8008
        (define_expand movsicc): Remove v8plus_regcmp cases.
8009
        (define_insn movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc,
8010
        cmp_zero_extendqidi2, cmp_zero_extendqidi2_set, cmp_qidi_trunc,
8011
        cmp_diqi_trunc_set): New patterns used by some of the new scc
8012
        splits on arch64.
8013
        (define_insn xordi3_sp64_dbl): New pattern used for constant
8014
        formation when crossing from 32-bit targets.
8015
        (define_insn movsi_cc_reg_v8plus, v8plus_clear_high, and helper
8016
        split): Remove.
8017
        (define_insn addx, subx): Make visible and prettify.
8018
        (define_insn adddi3_insn_sp32): Likewise and force split.
8019
        (define_insn addx_extend, subx_extend, unnamed): New patterns for
8020
        64bit scc split usage.
8021
        (define_insn unnamed plusDI zero_extend, unnamed minusDI
8022
        zero_extend, subdi3): Force and implement splits.
8023
 
8024
        * final.c (final_scan_insn): Don't output labels if target
8025
        specifies ASM_OUTPUT_ADDR_{DIFF}_VEC.  Do these macro operations
8026
        instead.
8027
 
8028
        * reorg.c (dbr_schedule): When taking on BR_PRED notes at the end,
8029
        don't forget to walk inside SEQUENCESs too as these are what the
8030
        delay slot scheduler will create.
8031
 
8032
Mon Aug 10 01:21:01 1998  Richard Henderson  
8033
 
8034
        * alpha.md (extxl+1,+2): New patterns to work around
8035
        combine lossage.
8036
 
8037
Sat Aug  8 19:20:22 1998  Gary Thomas  (gdt@linuxppc.org)
8038
 
8039
        * rs6000.c (rs6000_allocate_stack_space): Fix typo which
8040
        caused bad assembly code to be generated.
8041
 
8042
Sat Aug  8 18:53:28 1998  Jeffrey A Law  (law@cygnus.com)
8043
 
8044
        * netbsd.h: Fix typo.
8045
 
8046
Mon Aug  3 00:06:42 1998  Robert Lipe  
8047
 
8048
        * config.sub: Fix typo.
8049
 
8050
Sun Aug  2 22:39:08 1998  Hans-Peter Nilsson  
8051
 
8052
        * invoke.texi (Environment Variables): Typo: Change "ascpects"
8053
        into "aspects".
8054
        (Running Protoize): Typo: Change "ther" into "other".
8055
 
8056
Sun Aug  2 00:42:50 1998  Jeffrey A Law  (law@cygnus.com)
8057
 
8058
        * i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
8059
        * m68k/netbsd.h: Likewise.
8060
        * ns32k/netbsd.h: Likewise.
8061
        * sparc/netbsd.h: Likewise.
8062
 
8063
Sat Aug  1 17:59:30 1998  Richard Henderson  
8064
 
8065
        * ginclude/va-alpha.h (va_list): Use a typedef, not a define.
8066
        * ginclude/va-clipper.h (va_list): Likewise.
8067
 
8068
Fri Jul 31 20:22:02 1998  Michael Meissner  
8069
 
8070
        * rs6000.c (rs6000_override_options): If big endian and -Os, use
8071
        load/store multiple instructions unless user overrides.
8072
 
8073
Fri Jul 31 17:08:59 1998  Jeffrey A Law  (law@cygnus.com)
8074
 
8075
        * ns32k/netbsd.h: Fix typo.
8076
 
8077
Fri Jul 31 10:23:55 1998  Doug Evans  
8078
 
8079
        * m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Always output line number
8080
        labels with .debugsym if no parallel insns.
8081
 
8082
Thu Jul 30 19:15:53 1998  Richard Henderson  
8083
 
8084
        * alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN.
8085
        (fcmov): Remove ALPHA_TP_INSN patterns -- fcmov doesn't trap.
8086
 
8087
Thu Jul 30 19:50:15 1998  David Edelsohn  
8088
 
8089
        * rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete.
8090
        (AR_FOR_TARGET): Define.
8091
 
8092
Thu Jul 30 12:29:12 1998  Mark Mitchell  
8093
 
8094
        * dyn-string.h: New file.
8095
        * dyn-string.c: Likewise.
8096
        * Makefile.in (OBJS): Add dyn-string.o.
8097
        (dwarf2out.o): Add dyn-string.h dependency.
8098
        (dyn-string.o): List dependencies.
8099
        * dwarf2out.c: Include dyn-string.h.
8100
        (ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy.
8101
        (addr_const_to_string): Take a dyn_string_t, not a char* as a
8102
        prototype.  Use dyn_string_append rather than strcat, throughout.
8103
        (addr_to_string): Use dyn_string_t.
8104
 
8105
Thu Jul 30 13:08:07 1998  Ken Raeburn  
8106
 
8107
        Function entry/exit profiling instrumentation:
8108
        * expr.h (profile_function_entry_libfunc,
8109
        profile_function_exit_libfunc): Declare new variables.
8110
        * optabs.c: Define them here.
8111
        (init_optabs): Initialize them.
8112
        * tree.h (struct tree_decl): New flag
8113
        no_instrument_function_entry_exit.
8114
        (DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT): New accessor macro.
8115
        * c-decl.c (duplicate_decls): Merge it.
8116
        * c-common.c (enum attrs): New value A_NO_INSTRUMENT_FUNCTION.
8117
        (init_attributes): Use it for "no_instrument_function".
8118
        (decl_attributes): Handle it, for functions that have not yet been
8119
        compiled.  Set decl flag.
8120
        * flags.h (flag_instrument_function_entry_exit): Declare new
8121
        variable.
8122
        * toplev.c (flag_instrument_function_entry_exit): Define it here.
8123
        (f_options): New option "instrument-functions".
8124
        * function.h (struct function): New field instrument_entry_exit.
8125
        * function.c (current_function_instrument_entry_exit): New
8126
        variable.
8127
        (push_function_context_to, pop_function_context_from): Save and
8128
        restore.
8129
        (expand_function_start): Set current_ variable, maybe emit return
8130
        label and entry profile call.
8131
        (expand_function_end): Maybe emit exit profile call.
8132
 
8133
Thu Jul 30 00:58:34 1998  Jeffrey A Law  (law@cygnus.com)
8134
 
8135
        * i386.md (movqi): When optimizing a load of (const_int 1) into a
8136
        NON_QI_REG_P, pretend the register is SImode.
8137
 
8138
Wed Jul 29 23:49:23 1998  Todd Vierling  
8139
 
8140
        * configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
8141
        Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
8142
        manufacturer id for ns32k.
8143
        * configure: Regenerated.
8144
        * config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
8145
        * config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
8146
        * config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
8147
        * config/m68k/netbsd.h: Same.
8148
        * config/ns32k/netbsd.h: Same.
8149
        * config/sparc/netbsd.h: Same.
8150
 
8151
Wed Jul 29 22:39:21 1998  Jeffrey A Law  (law@cygnus.com)
8152
 
8153
        * unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO
8154
        or UNROLL_COMPLETELY loop that starts with a jump to its
8155
        exit code.
8156
 
8157
Wed Jul 29 22:18:14 1998  David Edelsohn  
8158
 
8159
        * rs6000/rs6000.md (absdi2 define_split): Swap operands of MINUS.
8160
        * rs6000/rs6000.c (mask64_operand): Use HOST_BITS_PER_WIDE_INT.
8161
        (print_operand, case 'B'): Don't fall through.
8162
        (print_operand, case 'S'): Correct mask begin/end computation.
8163
        Use HOST_BITS_PER_WIDE_INT.
8164
        * rs6000/rs6000.h (CPP_PREDEFINES): Define _LONG_LONG.
8165
        (CONDITIONAL_REGISTER_USAGE): GPR13 fixed if TARGET_64BIT.
8166
        * rs6000/aix41.h (CPP_PREDEFINES): Same.
8167
        * rs6000/aix43.h (CPP_PREDEFINES): Same.
8168
 
8169
Wed Jul 29 11:47:10 1998  Nick Clifton  
8170
 
8171
        * config/arm/thumb.md (extendqisi2_insn): Remove earlyclobber
8172
        constraint from second alternative.
8173
 
8174
Tue Jul 28 23:29:04 1998  Jason Merrill  
8175
 
8176
        * configure.in: Fix --without/--disable cases for local-prefix,
8177
        gxx-include-dir and checking.
8178
 
8179
Tue Jul 28 22:01:23 1998  David S. Miller  
8180
 
8181
        * configure.in (enable_haifa): Set by default for sparc64 too.
8182
        configure: Rebuilt.
8183
 
8184
Tue Jul 28 23:29:04 1998  Jason Merrill  
8185
 
8186
        * i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
8187
        * i386/winnt.c (associated_type): New fn.
8188
        (i386_pe_valid_type_attribute_p): New fn.
8189
        (i386_pe_check_vtable_importexport): Remove.
8190
        (i386_pe_dllexport_p): Use associated_type.
8191
        (i386_pe_dllimport_p): Likewise.
8192
 
8193
        From Antonio M. O. Neto :
8194
        * i386.c (i386_valid_type_attribute_p): Also accept
8195
        attributes for METHOD_TYPEs.
8196
 
8197
Tue Jul 28 23:17:39 1998  Peter Gerwinski  
8198
 
8199
        * tree.c (build_range_type): Copy TYPE_SIZE_UNIT.
8200
 
8201
Tue Jul 28 22:31:12 1998  Craig Burley  
8202
 
8203
        * gcc.c: Fix commentary describing %g, %u, %U, and %O.
8204
 
8205
        * gcc.c (do_spec_1): Fix handling of %g%O and %U%O to prevent
8206
        them from generating a new base name for each occurrence of
8207
        a specific suffix.
8208
 
8209
1998-07-28  Vladimir N. Makarov  
8210
 
8211
        * cse.c (cse_insn): Enable substitution inside libcall only for REG,
8212
        SUBREG, MEM.
8213
        * rtlanal.c (replace_rtx): Prohibit replaces in CONST_DOUBLE.
8214
 
8215
        * cplus-dem.c (type_kind_t): New type.
8216
        (demangle_template_value_parm): Add type_kind_t parameter.  Rely
8217
        on this parameter, rather than demangling the type again.
8218
        (demangle_integral_value): Pass tk_integral.
8219
        (demangle_template_: Pass the value returned from do_type.
8220
        (do_type): Return a type_kind_t.  Pass tk_integral to
8221
        demangle_template_value_parm for array bounds.
8222
        (demangle_fund_type): Likewise.
8223
 
8224
Mon Jul 27 00:54:41 1998  Jason Merrill  
8225
 
8226
        * tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are
8227
        identical.
8228
 
8229
Mon Jul 27 22:18:36 1998  Jeffrey A Law  (law@cygnus.com)
8230
 
8231
        * pa.c (move_operand): Accept CONSTANT_P_RTX.
8232
 
8233
Mon Jul 27 17:18:52 1998  Dave Brolley  
8234
 
8235
        * stor-layout.c (layout_type): Handle arrays of bits, for Chill.
8236
 
8237
        * expr.c (get_inner_reference): Handle zero-based, unsigned, array
8238
        index conversion.
8239
 
8240
Mon Jul 27 14:51:33 1998  Jeffrey A Law  (law@cygnus.com)
8241
 
8242
        * mn10300.h (DEBUGGER_AUTO_OFFSET): Define.
8243
        (DEBUGGER_ARG_OFFSET): Likewise.
8244
 
8245
        * mn10300.md (movsf): Remove last change.  Not needed.
8246
 
8247
Mon Jul 27 14:22:36 1998  Dave Brolley  
8248
 
8249
        * c-lex.c (yylex): Fix boundary conditions in character literal and
8250
        string literal loops.
8251
 
8252
Mon Jul 27 11:43:54 1998  Stan Cox  
8253
 
8254
        * longlong.h (count_leading_zeros): SPARClite scan instruction was
8255
        being invoked incorrectly.
8256
 
8257
        * i386.c (ix86_prologue): Added SUBTARGET_PROLOGUE invocation.
8258
        * i386/cygwin32.h (STARTFILE_SPEC, LIB_SPEC, SUBTARGET_PROLOGUE):
8259
        Add -pg support.
8260
        * i386/win32.h: New file.  Hybrid mingw32.h/cygwin32.h configuration.
8261
        * configure.in: Added i[34567]86-*-win32.
8262
        * config.sub: Likewise.
8263
        * configure: Rebuilt.
8264
 
8265
Sun Jul 26 01:11:12 1998  H.J. Lu  (hjl@gnu.org)
8266
 
8267
        * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating
8268
        the frame pointer and compiling PIC code and reload has not completed.
8269
 
8270
        * i386.c (output_to_reg): Add code to emulate non-popping DImode
8271
        case.
8272
 
8273
Sun Jul 26 01:01:32 1998  Jeffrey A Law  (law@cygnus.com)
8274
 
8275
        * regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head.
8276
 
8277
Sat Jul 25 23:29:23 1998  Gerald Pfeifer  
8278
 
8279
        * Makefile.in (install-info): Only try to update the info
8280
        directory file if it exists in the first place.
8281
 
8282
Fri Jul 24 18:58:37 1998  Klaus Espenlaub  
8283
 
8284
        * rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete.
8285
 
8286
Fri Jul 24 14:20:26 1998  Jeffrey A Law  (law@cygnus.com)
8287
 
8288
        * mn10300.md (movqi, movhi, movsi, movsf): Correctly handle
8289
        CONST_DOUBLE source.
8290
 
8291
Fri Jul 24 11:17:04 1998  Nick Clifton  
8292
 
8293
        * config/arm/thumb.c (thumb_print_operand): Decode %_ in asm
8294
        strings as the insertion of USER_LABEL_PREFIX.
8295
        * config/arm/thumb.h (PRINT_OPERAND_PUNCT_VALID_P): Accept _ as a
8296
        valid code.
8297
        * config/arm/thumb.md: Use %_ as a prefix to gcc library function
8298
        calls.
8299
 
8300
Thu Jul 23 18:53:20 1998  Jim Wilson  
8301
 
8302
        * dbxout.c (dbxout_range_type): Only call dbxout_type_index for
8303
        already defined type.
8304
 
8305
Thu Jul 23 13:49:41 1998  Jeffrey A Law  (law@cygnus.com)
8306
 
8307
        * expr.c (check_max_integer_computation_mode): Allow conversions
8308
        of constant integers to MAX_INTEGER_COMPUTATION_MODE.
8309
        (expand_expr): Likewise.
8310
 
8311
Thu Jul 23 11:12:06 1998  Alexandre Petit-Bianco  
8312
 
8313
        * expr.c (expand_expr): Expand RETURN_EXPR.
8314
 
8315
Thu Jul 23 11:00:29 1998  Jim Wilson  
8316
 
8317
        * dwarf2out.c (dwarf2out_finish): Call stripattributes on TEXT_SECTION.
8318
 
8319
Wed Jul 22 19:10:00 1998  Catherine Moore  
8320
 
8321
        * dwarf2out.c (output_aranges): Call stripattributes
8322
        for TEXT_SECTION references.
8323
        (output_line_info): Likewise.
8324
 
8325
Wed Jul 22 14:08:54 1998  David S. Miller  
8326
 
8327
        * profile.c (branch_prob): Call allocate_reg_info after outputting
8328
        profile rtl in instrument_arcs.
8329
 
8330
Wed Jul 22 12:47:49 1998  Jim Wilson  
8331
 
8332
        * fixinc.irix (math.h): Install wrapper instead of copying.
8333
 
8334
Wed Jul 22 12:37:14 1998  Alexandre Petit-Bianco  
8335
 
8336
        * tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression
8337
        so WFL are expanded correctly when contained in a COMPOUND_EXPR.
8338
        * tree.h (EXPR_WFL_EMIT_LINE_NOTE): Change macro not to use
8339
        lang_flag_0. Added documentation in the flag table.
8340
 
8341
Tue Jul 21 23:28:35 1998  Klaus Kaempf  
8342
 
8343
        * cccp.c (do_include): Fix vax c style include handling.
8344
 
8345
Tue Jul 21 13:28:19 1998  Jason Merrill  
8346
 
8347
        * cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
8348
 
8349
Sun Jul 12 01:27:05 1998  Jason Merrill  
8350
 
8351
        * fold-const.c (non_lvalue): Don't deal with null pointer
8352
        constants here.
8353
        (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
8354
 
8355
Tue Jul 21 15:49:31 1998  David Edelsohn  
8356
 
8357
        * rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
8358
        * rs6000.md (movsi, movdi): Add CONSTANT_P_RTX.
8359
        * rs6000.c (short_cint_operand): Add CONSTANT_P_RTX.
8360
        (u_short_cint_operand): Same.
8361
        (reg_or_cint_operand): Same.
8362
        (logical_operand): Same.
8363
        (input_operand): Same.
8364
        (reg_or_short_operand): Use u_short_cint_operand.
8365
 
8366
Tue Jul 21 08:56:42 1998  Richard Henderson  
8367
 
8368
        * alpha.md (fix_truncdfsi2, fix_truncsfsi2): Remove the define_expands,
8369
        but keep the insns and splits.  Adjust so when the ultimate destination
8370
        is memory, use cvtql.
8371
 
8372
Tue Jul 21 08:55:09 1998  Richard Henderson  
8373
 
8374
        * flow.c (regno_uninitialized): Fixed regs are never uninitialized.
8375
 
8376
Tue Jul 21 00:31:01 1998  Jeffrey A Law  (law@cygnus.com)
8377
 
8378
        * gcc.c (do_spec): Call "error" not "warning".
8379
 
8380
        * configure.in: Fix minor problems with gas feature detection code.
8381
        * configure: Rebuilt.
8382
 
8383
        * gcc.c (do_spec): Issue a warning for '%[]' usage.
8384
 
8385
        * Undo this change.
8386
        * gcc.c: Delete %[spec] support.
8387
        (do_spec_1, case '('): Likewise.
8388
        (do_spec_1, case '['): Call error.
8389
 
8390
Mon Jul 20 22:34:17 1998  Richard Henderson  
8391
 
8392
        * alpha.h (CPP_SPEC): Tidy.  Hook to cpp_cpu and cpp_subtarget.
8393
        (CPP_SUBTARGET_SPEC): Default to empty string.
8394
        (CPP_AM_*, CPP_IM_*, CPP_CPU_*, CPP_CPU_SPEC): New.
8395
        (EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): New.
8396
        * alpha/elf.h (LD_SPEC): Use %(elf_dynamic_linker).
8397
        * alpha/linux-elf.h (SUBTARGET_EXTRA_SPECS): New.
8398
        (LIB_SPEC): Tidy.
8399
        * alpha/linux.h (CPP_PREDEFINES): Tidy.
8400
        * alpha/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): New.
8401
        * alpha/netbsd.h (CPP_PREDEFINES): Tidy.
8402
        * alpha/osf.h (CPP_PREDEFINES): Remove bits subsumed by CPP_CPU_SPEC.
8403
        * alpha/win-nt.h (CPP_PREDEFINES): Likewise.
8404
        * alpha/vsf.h (CPP_PREDEFINES): Likewise.
8405
        (CPP_SUBTARGET_SPEC): New.  Do this instead of overriding CPP_SPEC.
8406
        * alpha/vxworks.h: Likewise.
8407
 
8408
Mon Jul 20 22:51:57 1998  Ken Raeburn  
8409
 
8410
        * mips.md (reload_outsi): Added missing REGNO call.
8411
        (smulsi3_highpart, umulsi3_highpart): Provide prototype for
8412
        function pointer.
8413
        (mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use
8414
        another match_operator and compare the codes.
8415
 
8416
        * mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero.
8417
 
8418
        * MIPS multiply pattern fixes:
8419
        * mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
8420
        Add union classes for HI, LO, or HILO plus general registers.
8421
        (GENERATE_MADD): Deleted.
8422
        * mips.md (mulsi3_mult3): Don't disparage output-LO alternative.
8423
        Add TARGET_MAD to condition.
8424
        (mulsi3): Test HAVE_mulsi3_mult3, not specific flags.
8425
        (mul_acc_si): Expand GENERATE_MADD here; it's the only use.  Use
8426
        "*d" for accumulator, to give preference to LO initially but not
8427
        during reload.
8428
 
8429
Mon Jul 20 16:16:38 1998  Dave Brolley  
8430
 
8431
        * configure.in (enable_c_mbchar): New configure option.
8432
        (extra_cpp_objs): Always available now.
8433
 
8434
        * cexp.y (mbchar.h): #include it.
8435
        (yylex): Handle Multibyte characters in character literals.
8436
 
8437
        * cccp.c (mbchar.h): #include it.
8438
        (main): Set character set based on LANG environment variable.
8439
        (rescan): Handle multibyte characters in comments.
8440
        (skip_if_group): See above.
8441
        (validate_else): See above.
8442
        (skip_to_end_of_comment): See above.
8443
        (macarg1): See above.
8444
        (discard_comments): See above.
8445
        (rescan): Handle multibyte characters in string and character literals.
8446
        (collect_expansion): See above.
8447
        (skip_quoted_string): See above.
8448
        (macroexpand): See above.
8449
        (macarg1): See above.
8450
        (discard_comments): See above.
8451
        (change_newlines): See above.
8452
 
8453
        * c-lex.c (mbchar.h): #include it.
8454
        (GET_ENVIRONMENT): New macro.
8455
        (init_lex): Set character set based on LANG environment variable.
8456
        (yylex): Handle multibyte characters in character literals.
8457
        (yylex): Handle multibyte characters in string literals.
8458
 
8459
        * Makefile.in (mbchar.o): New target.
8460
        (cccp$(exeext)): @extra_cpp_objs@ is always available.
8461
        (cppmain$(exeext)): @extra_cpp_objs@ is always available.
8462
 
8463
        * mbchar.[ch]: New files for multibyte character handling.
8464
 
8465
Mon Jul 20 01:11:11 1998  David S. Miller  
8466
 
8467
        * jump.c (jump_optimize): When simplifying noop moves and
8468
        PUSH_ROUNDING, fix thinko so we use same criterion for identifying
8469
        the PUSHes to rewrite in second loop as we did in the first.
8470
 
8471
Sun Jul 19 08:23:53 1998  Kaveh R. Ghazi  
8472
 
8473
        * cplus-dem.c (demangle_nested_args): Make function definition
8474
        static to match the prototype.
8475
 
8476
Fri Jul 17 14:58:44 1998  Richard Henderson  
8477
 
8478
        * alloca.c: Respect USE_C_ALLOCA.
8479
        * gencheck.c (xmalloc): Ignore __GNUC__ for definition.
8480
        * gengenrtl.c (xmalloc): Likewise.
8481
 
8482
Fri Jul 17 14:18:14 1998  Richard Henderson  
8483
 
8484
        * loop.h (struct induction): Add no_const_addval.
8485
        * loop.c (the_movables, reg_address_cost): New variables.
8486
        (init_loop): Init reg_address_cost.
8487
        (loop_optimize): Call end_alias_analysis.
8488
        (scan_loop): Init the_movables.
8489
        (record_giv): Init induction->no_const_addval.
8490
        (basic_induction_var) [PLUS]: Use rtx_equal_p instead of ==.
8491
        [REG]: Rearrange loop search test to catch more cases.
8492
        (general_induction_var): Return success not benefit; take an extra
8493
        argument for that.  Change all callers.
8494
        (simplify_giv_expr) [PLUS]: Always combine invariants.  Use sge_plus.
8495
        [MULT]: Use rtx_equal_p instead of ==.  Combine simple invariants.
8496
        [default]: Search the_movables for additional combinations.
8497
        (sge_plus_constant, sge_plus): New functions.
8498
        (express_from_1): New function.
8499
        (express_from): Always define.  Rewrite using express_from_1.
8500
        (combine_givs_p): Handle more cases.  Ignore address cost.
8501
        (cmp_combine_givs_stats): New function.
8502
        (combine_givs_used_once, combine_givs_benefit_from): New functions.
8503
        (combine_givs): Rewrite to do best-fit combination.
8504
 
8505
        * fold-const.c (operand_equal_p): Handle RTL_EXPR.
8506
        (fold): Do a complete (A*C)+(B*C) association check.
8507
 
8508
Fri Jul 17 11:21:55 1998  Jim Wilson  
8509
 
8510
        * function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT.
8511
 
8512
Fri Jul 17 11:48:55 1998  Jeffrey A Law  (law@cygnus.com)
8513
 
8514
        * mn10300.c (MODES_TIEABLE_P): Fix typo.
8515
 
8516
Fri Jul 17 03:26:12 1998  Rihcard Earnshaw  (rearnsha@arm.com)
8517
 
8518
        * tree.c (valid_machine_attribute): Only create a new type variant if
8519
        there is a decl to use it.
8520
 
8521
Thu Jul 16 14:48:04 1998  Nick Clifton  
8522
 
8523
        * gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have
8524
        a suffix.
8525
 
8526
Fri Jul 17 03:24:40 1998  Hans-Peter Nilsson  
8527
 
8528
        * extend.texi (Explicit Reg Vars): Typo: change "may deleted" into "may
8529
        be deleted"
8530
 
8531
Thu Jul 16 14:48:47 1998  Jeffrey A Law  (law@cygnus.com)
8532
 
8533
        * mn10300.c (count_tst_insns): New arg oreg_countp.  Callers changed.
8534
        Simplify tests for clearing an address register.
8535
        (expand_prologue): Corresponding changes.
8536
 
8537
        * mn10300.md (movXX patterns): Make sure the destination is an
8538
        ADDRESS_REG when substituting "zero_areg" for (const_int 0).
8539
        (logical patterns): Split into expanders + patterns.
8540
        (zero and sign extension patterns): Similarly.
8541
        (shift patterns): Similarly.
8542
 
8543
Thu Jul 16 01:17:44 1998  Richard Henderson  
8544
 
8545
        * loop.c (emit_iv_add_mult): Scan the entire insn list generated
8546
        for the sequence, recording base values.
8547
 
8548
Wed Jul 15 10:49:55 1998  Richard Henderson  
8549
 
8550
        * i386.h (CPP_CPU_SPEC): Remove -Asystem(unix).
8551
 
8552
Tue Jul 14 14:15:30 1998  Nick Clifton  
8553
 
8554
        * gcc.c: Remove ANSI-C ism from --help code.
8555
 
8556
        * toplev.c: Support --help with USE_CPPLIB.
8557
 
8558
Tue Jul 14 14:46:08 1998  Jeffrey A Law  (law@cygnus.com)
8559
 
8560
        * configure.in: Rework gas feature code to work with symlink based
8561
        source trees.
8562
 
8563
        * extend.texi: Clarify some issues related to local variables
8564
        assigned to explicit registers.
8565
 
8566
        * mn10300.md (mulsi): Turn into expander + pattern.
8567
 
8568
        * mn10300.md (movsi, movsf, movdi, movdf): Remove "x" from I -> a
8569
        alternative.
8570
 
8571
Tue Jul 14 07:41:59 1998  Richard Earnshaw  (rearnsha@arm.com)
8572
 
8573
        * arm/tcoff.h (USER_LABEL_PREFIX): Make it empty to match coff.h.
8574
 
8575
Tue Jul 14 03:02:44 1998  Jeffrey A Law  (law@cygnus.com)
8576
 
8577
        * version.c: Bump again to distinguish mainline tree from the
8578
        egcs-1.1 branch.
8579
 
8580
Tue Jul 14 02:20:38 1998  Jeffrey A Law  (law@cygnus.com)
8581
 
8582
        * version.c: Bump to avoid problems with old spec files during
8583
        bootstrap.
8584
 
8585
Mon Jul 13 23:11:44 1998  David S. Miller  
8586
 
8587
        * config/sparc/sparc.c (output_scc_insn): Enclose || conditions in
8588
        parens while walking over notes.
8589
        * config/sparc/sparc.md (reg movdi split): Clean up matching
8590
        conditions.
8591
        (all DI arithop splits on 32-bit): Handle immediate arguments
8592
        correctly when they are CONST_INTs.
8593
 
8594
Mon Jul 13 23:57:21 1998  Kamil Iskra  
8595
 
8596
        * m68k/m68k.h (TARGET_SWITCHES): Clear MASK_68040_ONLY for
8597
        -m68020-40, -m68020-60 and -m5200.
8598
 
8599
Mon Jul 13 23:52:05 1998  Weiwen Liu  
8600
 
8601
        * gcc.c (do_spec_1): Fix %O handling for secure temporary file
8602
        creation.
8603
 
8604
Mon Jul 13 23:42:36 1998  Ralf Corsepius  
8605
 
8606
        * sh/elf.h (MAX_OFILE_ALIGNMENT): Undefine before including svr4.h.
8607
 
8608
Mon Jul 13 23:36:08 1998  Jim Wilson  
8609
 
8610
        * i386/i386.h (CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): New specs.
8611
        (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Use them.
8612
        (EXTRA_SPECS): Support them.
8613
        * gcc.c: Delete %[spec] support.
8614
        (do_spec_1, case '('): Likewise.
8615
        (do_spec_1, case '['): Call error.
8616
        * i386/aix386ng.h, cygwin32.h, freebsd-elf.h, gas.h, isc.h,
8617
        linux-aout.h, linux-oldld.h, linux.h, osfelf.h, osfrose.h, sco.h,
8618
        sco4.h, sco4dbx.h, sco5.h, sol2.h, sysv3.h (CPP_SPEC): Delete
8619
        %[cpp_cpu].
8620
 
8621
Mon Jul 13 23:31:04 1998  Andreas Schwab  
8622
 
8623
        * m68k.c (output_scc_di): Use cmpw #0 only for address registers.
8624
 
8625
Mon Jul 13 23:26:43 1998  Jeffrey A Law  (law@cygnus.com)
8626
 
8627
        * tree.h (tree_common): Note front-end dependencies on layout of
8628
        this structure.
8629
 
8630
Mon Jul 13 23:18:39 1998  Craig Burley  
8631
 
8632
        * stmt.c (expand_expr_stmt): If not assigning fresh
8633
        value to last_expr_value, zero it, so old garbage
8634
        doesn't get dereferenced.
8635
 
8636
Mon Jul 13 23:06:55 1998  Henning.Petersen@t-online.de  (Henning Petersen)
8637
 
8638
        * gcse.c (hash_scan_insn): Add missing argument declaration.
8639
 
8640
Mon Jul 13 18:59:13 1998  Jim Wilson  
8641
 
8642
        * configure.in (mips-sgi-irix5cross64, mips-sgi-irix5*): Remove
8643
        HAVE_INTTYPES_H from xm_defines.  Define xm_file to mips/xm-iris5.h.
8644
        * mips/xm-iris5.h (USG): Delete.
8645
 
8646
Mon Jul 13 17:18:47 1998  Nick Clifton  
8647
 
8648
        * cccp.c (main): Add support for parsing --help.
8649
        (display_help): New function: display command line switches.
8650
 
8651
        * cpplib.c (cpp_handle_option): Add support for parsing --help.
8652
        (display_help): New function: display command line switches.
8653
 
8654
        * gcc.c (main): Add support for parsing --help, and passing it on
8655
        to the sub-processes invoked by gcc.
8656
        (display_help): New function: display command line switches.
8657
 
8658
        * tm.texi (TARGET_SWITCHES and TARGET_OPTIONS): Document
8659
        'description' field added to structure.
8660
 
8661
        * toplev.c: Add support for parsing --help.
8662
        Add documentation strings to command line option tables.
8663
        (display_help): New function: display comman line switches.
8664
 
8665
Mon Jul 13 16:15:10 1998  John Carr  
8666
 
8667
        * sparc.c, sparc.h, sparc.md: New trampoline code.
8668
        Allow integer operand 1 to V8+ DImode shift instructions.
8669
        Fix bugs in V8+ wide multiply patterns.
8670
        In 32 bit mode, split DImode register moves and logical instructions.
8671
        Write V9 branch prediction flag.
8672
        Use V9 conditional move more often for scc.
8673
 
8674
Mon Jul 13 15:10:09 1998  Philippe De Muyter  
8675
 
8676
        * invoke.texi(-fno-builtin): Explain that the names of built-in
8677
        functions begin with `__builtin_', not `__'.
8678
 
8679
Mon Jul 13 19:01:52 1998  J"orn Rennecke  
8680
 
8681
        * reload1.c (reload_reg_free_before_p): Abort for RELOAD_FOR_OUTPUT.
8682
 
8683
Mon Jul 13 10:50:17 1998  Mark Mitchell  
8684
 
8685
        * cplus-dem.c (SCOPE_STRING): Remove DMGL_JAVA stuff.
8686
        (cplus_demangle_opname): Initialize work.
8687
        (demangle_template): Remove is_java_array.
8688
        (do_type): Remove DMGL_JAVA stuff.
8689
        (long_options): Remove "java".
8690
        (main): Remove 'j' option.
8691
 
8692
Mon Jul 13 10:19:00 1998  Jeffrey A Law  (law@cygnus.com)
8693
 
8694
        * mn10300.h (REG_CLASS_FROM_LETTER): Map 'y' to SP_REGS.
8695
        Handle 'x' as NO_REGS for this cpu.
8696
        (REGNO_OK_FOR_BIT_BASE_P): Define.
8697
        (REG_OK_FOR_BIT_BASE_P): Define.
8698
        (GO_IF_LEGITIMATE_ADDRESS): Use them.
8699
        (REG_OK_FOR_INDEX_P): Tweak.
8700
        * mn13000.c (REG_SAVE_BYTES): Define.
8701
        (expand_epilogue, initial_offset): Use it.
8702
        (secondary_reload_class): Slightly reformat.
8703
        (output_tst): Tweak comments.
8704
        * mn10300.md: Change 'x' to 'y' for SP_REGS.  Then add 'x' to many
8705
        patterns.
8706
        (addsi3): Turn into a define_expand/define_insn pair.  Rework code for
8707
        three operand addition case to be more efficient.
8708
        (subsi3): Turn into a define_expand/define_insn pair.
8709
 
8710
        * expr.c (expand_expr): Only set MEM_IN_STRUCT_P if the memory address
8711
        is not varying for REFERENCE_TYPE or when we think we might have found
8712
        an optimized access to the first element in an array.
8713
 
8714
Mon Jul 13 02:24:08 1998  David S. Miller  
8715
 
8716
        * regclass.c (reg_scan_mark_refs): New arg min_regno.  Only update
8717
        regscan information for REGs with numbers greater than or equal to
8718
        this.  All callers changed.
8719
        (reg_scan_update): New function to efficiently update regscan
8720
        information on the fly.
8721
        * rtl.h: Add prototype.
8722
        * jump.c (jump_optimize): Call it when we make a transformation
8723
        which generates new pseudo-REGs.
8724
 
8725
Sun Jul 12 13:08:14 1998  Jeffrey A Law  (law@cygnus.com)
8726
 
8727
        * collect2.c (main): Use "-x c" instead of "-lang-c" for force the
8728
        compiler into C mode.
8729
 
8730
Sun Jul 12 01:27:05 1998  Jason Merrill  
8731
 
8732
        * cplus-dem.c (demangle_nested_args): Return a value.
8733
 
8734
        * tree.h (TYPE_P): New macro.
8735
 
8736
Sat Jul 11 16:19:48 1998  Mark Mitchell  
8737
 
8738
        * cplus-dem.c (string): Move definition before work_stuff.
8739
        (work_stuff): Add volatile_type, forgetting_types,
8740
        previous_argument, and nrepeats fields.
8741
        (SCOPE_STRING): New macro.
8742
        (demangle_template): Add `remember' parameter.  Add comment.
8743
        Register the `B' code type here, if remembering.  Tidy.  Fix crash
8744
        on NULL tmpl_argvec.  Be consistent with use of tname/trawname.
8745
        (demangle_nested_args): New function.
8746
        (internal_cplus_demangle): Handle volatile-qualified member
8747
        functions.
8748
        (mop_up): Delete the previous_argument string if present.
8749
        (demangle_signature): Tidy.  Handle volatile-qualified member
8750
        functions.  Handle back-references using the `B' code.  Use extra
8751
        parameter to demangle_template and SCOPE_STRING where appropriate.
8752
        (demangle_template_value_parm): Fix thinko; 'B' is not an integral
8753
        code.
8754
        (demangle_class): Use SCOPE_STRING.
8755
        (gnu_special): Pass additional argument to demangle_template.
8756
        Use SCOPE_STRING.
8757
        (demangle_qualified): Save qualified types for later
8758
        back-references.  Handle constructors and destructors for template
8759
        types correctly.
8760
        (do_type): Tidy.  Use SCOPE_STRING.  Pass extra argument to
8761
        demangle_template.  Use demangled_nested_args.  Don't remember
8762
        qualified types here; that's now done in demangle_qualified.
8763
        Similarly for templates.
8764
        (do_arg): Improve comment.  Handle 'n' repeat code.
8765
        (remember_type): Check forgetting_types.
8766
        (demangle_args): Deal with 'n' repeat codes.  Tidy.
8767
 
8768
Sat Jul 11 02:59:08 1998  Richard Earnshaw  
8769
 
8770
        * arm.md (extendhisi2_mem, movhi, movhi_bytes): Propagate the volatile
8771
        and structure attribute flags to MEMs generated.
8772
        (splits for sign-extended HI & QI mode from memory): Also propagate
8773
        the volatile flag.
8774
 
8775
        * configure.in (thumb-*-coff*): Don't cause fixincludes to be run.
8776
 
8777
Fri Jul 10 19:06:59 1998  Michael Meissner  
8778
 
8779
        * varray.h: Include system.h if it hasn't already been included
8780
        before to get size_t declared.
8781
 
8782
Fri Jul 10 12:53:58 1998  David S. Miller  
8783
 
8784
        * jump.c (jump_optimize): If after_regscan and our transformations
8785
        generate new REGs, rerun reg_scan.
8786
 
8787
Fri Jul 10 11:50:43 1998  Andrew MacLeod  
8788
 
8789
        * config/i960/i960.c (i960_address_cost): MEMA operands with
8790
        positive offsets < 4096 are free.
8791
 
8792
Fri Jul 10 12:34:37 1998  Andreas Schwab  
8793
 
8794
        * config/m68k/m68k.c (const_uint32_operand): Recognize
8795
        CONSTANT_P_RTX.
8796
        (const_sint32_operand): Likewise.
8797
 
8798
Thu Jul  9 22:58:59 1998  Jeffrey A Law  (law@cygnus.com)
8799
 
8800
        * Makefile.in (alias.o): Depend on $(EXPR_H).
8801
 
8802
Thu Jul  9 18:24:56 1998  J"orn Rennecke  
8803
 
8804
        * reload1.c (choose_reload_regs): If using an equivalence from
8805
        find_equiv_reg and reg_reloaded_valid is not set for this register,
8806
        clear the associated spill_reg_store.
8807
 
8808
Thu Jul  9 18:12:49 1998  J"orn Rennecke  
8809
 
8810
        * reload1.c (emit_reload_insns): If an output reload copies only
8811
        to a secondary reload register, indicate that the secondary reload
8812
        does the actual store.
8813
 
8814
Thu Jul  9 18:01:05 1998  J"orn Rennecke  
8815
 
8816
        * reload.c (find_equiv_reg): If need_stable_sp is set,
8817
        check if stack pointer is changed directly in a PARALLEL.
8818
 
8819
Thu Jul  9 10:38:14 1998  Jeffrey A Law  (law@cygnus.com)
8820
 
8821
        * jump.c (duplicate_loop_exit_test): Fix thinko.
8822
 
8823
Thu Jul  9 01:30:37 1998  Joel Sherrill  
8824
                          Ralf Corsepius  
8825
 
8826
        * config/i386/rtemself.h: Updated to keep in sync with
8827
        config/i386/linux.h.
8828
 
8829
        * configure.in: Added sh-rtemself.
8830
        * configure: Rebuilt.
8831
        * config/sh/rtems.h: Removed -D__ELF__ since it is now COFF.
8832
        * config/sh/rtemself.h: New file.
8833
 
8834
        * config/rs6000/rtems.h: Defined STARTFILE_DEFAULT_SPEC.
8835
 
8836
Wed Jul  8 21:43:14 1998  Jeffrey A Law  (law@cygnus.com)
8837
 
8838
        * configure.in: Check if the assembler supports ".balign" and
8839
        ".p2align" and define HAVE_GAS_BALIGN_AND_P2ALIGN appropriately.
8840
        * acconfig.h (HAVE_GAS_BALIGN_AND_P2ALIGN): New tag.
8841
        * i386/gas.h (ASM_OUTPUT_ALIGN): If the assembler has support for
8842
        ".balign" then use it.
8843
 
8844
        * print-rtl.c (print_rtx): Revert previous patch.
8845
 
8846
        * jump.c (duplicate_loop_exit_test): Do not duplicate the loop exit
8847
        test if the exit code has an insn with ASM_OPERANDS.
8848
 
8849
        * i386/cygwin32.h (STDIO_PROTO): Fix typo.
8850
        * m32r.h (STDIO_PROTO): Fix typo.
8851
 
8852
        * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Handle addresses created by
8853
        LEGITIMIZE_RELOAD_ADDRESS.
8854
        * tm.texi (LEGITIMIZE_RELOAD_ADDRESS): Note that this macro must be
8855
        able to handle addresses created by previous invocations of the macro.
8856
 
8857
        * flow.c (find_auto_inc): Remove most recent change.  Real bug was
8858
        elsewhere.
8859
 
8860
        * cse.c (count_reg_usage): Count registers used in addresses of
8861
        CLOBBERs.
8862
 
8863
Wed Jul  8 15:08:29 1998  Jim Wilson  
8864
 
8865
        * Makefile.in (STAGESTUFF): Readd line lost during June 9 FSF merge.
8866
 
8867
        * configure.in (mips64orion-*-rtems*): Use elf64.h not elfl64.h.
8868
 
8869
1998-07-08  Vladimir N. Makarov  
8870
 
8871
        * config/fp-bit.c (__gexf2, __fixxfsi, __floatsixf): Add function
8872
        stubs.
8873
 
8874
        * toplev.c (lang_options): Add -Wlong-long, -Wno-long-long
8875
        options.
8876
        * c-decl.c (warn_long_long): Define.
8877
        (c_decode_option): Parse -Wlong-long, -Wno-long-long options.
8878
        (grokdeclarator): Add flag `warn_long_long' as guard for
8879
        warning "ANSI C does not support `long long'".
8880
        * invoke.texi: Add description of options -Wlong-long,
8881
        -Wno-long-long.
8882
        * gcc.1: The same as above.
8883
 
8884
Wed Jul  8 02:43:34 1998  Jeffrey A Law  (law@cygnus.com)
8885
 
8886
        * rtlanal.c (reg_overlap_mentioned_p): Handle STRICT_LOW_PART.  If
8887
        either argument is CONSTANT_P, then return zero.
8888
        * reload.c (reg_overlap_mentioned_for_reload_p): Similarly.
8889
 
8890
        * configure.in: Also look at $srcdir/gas/configure to find a
8891
        gas version #.
8892
 
8893
Wed Jul  8 00:28:22 1998  Carlo Wood  
8894
 
8895
        * dsp16xx.h : Clean up of macro OPTIMIZATION_OPTIONS
8896
 
8897
Tue Jul  7 21:18:14 1998  Mumit Khan  
8898
 
8899
        * i386/cygwin32.h (ASM_DECLARE_FUNCTION_NAME): Merge duplicate
8900
        definitions from last two patches.
8901
 
8902
Tue Jul  7 23:03:34 1998  J"orn Rennecke  
8903
 
8904
        * reload1.c (choose_reload_regs): Don't set reload_override_in
8905
        if EQUIV is clobbered in INSN and the reload is done after INSN.
8906
 
8907
Tue Jul  7 21:23:36 1998  J"orn Rennecke  
8908
 
8909
        * expr.c (emit_queue): If emitting a SEQUENCE, set QUEUED_INSN
8910
        to the first insn of the sequence.
8911
 
8912
Tue Jul  7 21:05:25 1998  J"orn Rennecke  
8913
 
8914
        * cse.c (cse_insn): Don't make change without validation.
8915
 
8916
Tue Jul  7 11:40:05 1998  Jeffrey A Law  (law@cygnus.com)
8917
 
8918
        * mn10200.md (various zero/sign extension patterns): Zero and sign
8919
        extensions which use "sub" clobber cc0.
8920
 
8921
Tue Jul  7 09:12:08 1998  Jeff Law  (law@cygnus.com)
8922
 
8923
        * version.c: Bump for snapshot.
8924
 
8925
Tue Jul  7 10:07:20 1998  Jeffrey A Law  (law@cygnus.com)
8926
 
8927
        * print-rtl.c (print_rtx): Use REAL_VALUE_TYPE instead of "double".
8928
 
8929
Tue Jul  7 08:41:27 1998  Richard Henderson  (rth@cygnus.com)
8930
 
8931
        * print-rtl.c (print_rtx): Only print fp values when REAL_VALUE_TYPE
8932
        is a double.
8933
 
8934
Tue Jul  7 00:31:58 1998  Jeff Law  (law@cygnus.com)
8935
 
8936
        * version.c: Bump for snapshot.
8937
 
8938
Tue Jul  7 01:03:03 1998  Mumit Khan  
8939
 
8940
        Support for dllimport and dllexport attributes for i386-pe.
8941
 
8942
        * tree.h (DECL_NON_ADDR_CONST_P): New accessor macro.
8943
        (struct tree_decl): Add non_addr_const_p field.
8944
        * tree.c (staticp): Use.
8945
 
8946
        * i386/cygwin32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
8947
        attributes.
8948
        (SUBTARGET_SWITCHES): Switches to turn on/off dllimport|export
8949
        attributes. Also accept -mwindows option.
8950
        (VALID_MACHINE_DECL_ATTRIBUTE): New macro.
8951
        (MERGE_MACHINE_DECL_ATTRIBUTE): New macro.
8952
        (REDO_SECTION_INFO_P): New macro.
8953
        (DRECTVE_SECTION_FUNCTION): New macro.
8954
        (drectve_section): Cover function to implement above.
8955
        (SWITCH_TO_SECTION_FUNCTION): New macro.
8956
        (switch_to_section): Covert function to implement above.
8957
        (EXTRA_SECTIONS): Add in_drectve.
8958
        (EXTRA_SECTION_FUNCTIONS): Add in_drectve and switch_to_section.
8959
        (ENCODE_SECTION_INFO): Delete old macro and redefine as a function.
8960
        (STRIP_NAME_ENCODING): Handle new attributes.
8961
        (ASM_OUTPUT_LABELREF): New macro.
8962
        (ASM_OUTPUT_FUNCTION_NAME): New macro.
8963
        (ASM_OUTPUT_COMMON): New macro.
8964
        (ASM_OUTPUT_DECLARE_OBJECT_NAME): New macro.
8965
 
8966
        * i386/mingw32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
8967
        attributes.
8968
 
8969
        * i386/winnt.c (i386_pe_valid_decl_attribute_p): New function.
8970
        (i386_pe_merge_decl_attributes): New function.
8971
        (i386_pe_check_vtable_importexport): New function.
8972
        (i386_pe_dllexport_p): New function.
8973
        (i386_pe_dllimport_p): New function.
8974
        (i386_pe_dllexport_name_p): New function.
8975
        (i386_pe_dllimport_name_p): New function.
8976
        (i386_pe_mark_dllexport): New function.
8977
        (i386_pe_mark_dllimport): New function.
8978
        (i386_pe_encode_section_info): New function.
8979
        (i386_pe_unique_section): Strip encoding from name first.
8980
 
8981
Tue Jul  7 00:50:17 1998  Manfred Hollstein  (manfred@s-direktnet.de)
8982
 
8983
        * libgcc2.c (L_exit): Provide a fake for atexit on systems which
8984
        define ON_EXIT but not HAVE_ATEXIT.
8985
 
8986
Tue Jul  7 00:44:35 1998  Franz Sirl  
8987
 
8988
        * m68k.md (zero_extend QI to HI): Correctly handle TARGET_5200.
8989
 
8990
Tue Jul  7 00:36:41 1998  Ulrich Drepper  
8991
 
8992
        * i386.c: Remove random whitespace at end of lines.
8993
 
8994
        * i386.c (ix86_epilogue): For pentium processors, try to deallocate
8995
        4 or 8 byte stacks with pop instructions instead of an add instruction.
8996
 
8997
Tue Jul  7 00:30:08 1998  Klaus Kaempf  
8998
 
8999
        * alpha.c: Include tree.h before expr.h.
9000
 
9001
Mon Jul  6 22:50:48 1998  Jason Merrill  
9002
 
9003
        * c-parse.in (struct_head, union_head, enum_head): New nonterminals.
9004
        (structsp): Use them.  Update files generated from c-parse.in.
9005
        * extend.texi (Type Attributes): Document it.
9006
 
9007
        * c-decl.c: Add warn_multichar.
9008
        (c_decode_option): Handle -Wno-multichar.
9009
        * c-lex.c (yylex): Check it.
9010
        * c-tree.h: Declare it.
9011
        * toplev.c (lang_options): Add it.
9012
        * invoke.texi: Document it.
9013
 
9014
Mon Jul  6 22:47:55 1998  J"orn Rennecke  
9015
 
9016
        * reload.c (find_equiv_reg): When looking for stack pointer + const,
9017
        make sure we don't use a stack adjust.
9018
 
9019
        * reload.c (find_equiv_reg): If need_stable_sp is set,
9020
        check if stack pointer is changed directly.
9021
 
9022
        * reload1.c (delete_dead_insn): Don't delete feeding insn
9023
        if that insn has side effects.
9024
 
9025
        * flow.c (find_auto_inc): Clear UNCHANGING bit of register that is
9026
        changed.
9027
 
9028
        * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OPADDR_ADDR
9029
        precedes RELOAD_FOR_OUTADDR_ADDRESS.
9030
 
9031
        * gcse.c (hash_scan_insn): New argument IN_LIBCALL_BLOCK.  Changed
9032
        caller.
9033
 
9034
Mon Jul  6 22:21:56 1998  Kamil Iskra  
9035
 
9036
        * m68k.c (output_scc_di): Use cmpw #0 instead of tstl when
9037
        testing address registers on the 68000.
9038
 
9039
Mon Jul  6 22:17:19 1998  Alasdair Baird  
9040
 
9041
        * i386.c (is_fp_test): Fix thinko.
9042
 
9043
        * jump.c (jump_optimize): Check for CONST_INT before using INTVAL.
9044
 
9045
Mon Jul  6 22:14:31 1998  Richard Henderson  (rth@cygnus.com)
9046
 
9047
        * print-rtl.c (print_rtx): Display the real-value equivalent of
9048
        a const_double when easy.
9049
 
9050
        * real.h (REAL_VALUE_TO_TARGET_SINGLE): Use a union to pun types.
9051
        Zero memory first for predictability.
9052
        (REAL_VALUE_TO_TARGET_DOUBLE): Likewise.
9053
        * varasm.c (immed_real_const_1): Notice width of H_W_I == double.
9054
 
9055
        * regclass.c (allocate_reg_info): Initialize the entire reg_data
9056
        virtual array.
9057
 
9058
Mon Jul  6 22:09:32 1998  Ian Lance Taylor  
9059
                          Jeff Law          
9060
 
9061
        * i386/cygwin32.h: Add some declaration of external functions.
9062
        (ASM_DECLARE_FUNCTION_NAME): Define.
9063
        (ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
9064
        (ASM_FILE_END): Define.
9065
        * i386/winnt.c (i386_pe_declare_function_type): New function.
9066
        (struct extern_list, extern_head): Define.
9067
        (i386_pe_record_external_function): New function.
9068
        (i386_pe_asm_file_end): New function.
9069
 
9070
        * cpplib.c (cpp_options_init): Initialize cplusplus_comments to 1,
9071
        matching July 18, 1995 change to cccp.c.  If -traditional then
9072
        disable cplusplus_comments.
9073
 
9074
Mon Jul  6 21:28:14 1998  Jeffrey A Law  (law@cygnus.com)
9075
 
9076
        * combine.c (expand_compound_operation): Fix thinko in code to optimize
9077
        (zero_extend:DI (subreg:SI (foo:DI) 0)) to foo:DI.
9078
 
9079
        * Disable the following change from gcc2.  Not appropriate for egcs:
9080
 
9081
        Sun Jun  7 09:30:31 1998  Richard Kenner  
9082
        * reload.c (find_reloads): Give preference to pseudo that was the
9083
        reloaded output of previous insn.
9084
 
9085
Mon Jul  6 21:07:14 1998  Kaveh R. Ghazi  
9086
 
9087
        * aclocal.m4 (GCC_FUNC_PRINTF_PTR): Don't define HOST_PTR_PRINTF.
9088
        Instead, define a new macro HAVE_PRINTF_PTR which only signifies
9089
        whether we have the %p format specifier or not.
9090
 
9091
        * acconfig.h: Delete stub for HOST_PTR_PRINTF, add HAVE_PRINTF_PTR.
9092
 
9093
        * machmode.h (HOST_PTR_PRINTF): When determining the definition,
9094
        check HAVE_PRINTF_PTR to see whether "%p" is okay.
9095
 
9096
        * mips-tfile.c: Include machmode.h to get HOST_PTR_PRINTF.
9097
 
9098
        * Makefile.in (mips-tfile.o): Depend on machmode.h.
9099
 
9100
Mon Jul  6 10:42:05 1998  Mark Mitchell  
9101
 
9102
        * jump.c (duplicate_loop_exit_test): Don't refuse to copy a
9103
        section of code just because it contains
9104
        NOTE_INSN_BLOCK_{BEG,END}.
9105
        * stmt.c (expand_end_loop): Likewise.  Also, don't refuse to
9106
        move CALL_INSNs or CODE_LABELs.  When moving code, don't move
9107
        NOTE_INSN_BLOCK_{BEG,END}.
9108
 
9109
Mon Jul  6 09:38:15 1998  Mark Mitchell  
9110
 
9111
        * cse.c (CSE_ADDRESS_COST): New macro, based on ADDRESS_COST, but
9112
        dealing with ADDRESSOF.
9113
        (find_best_addr): Use it.
9114
 
9115
Mon Jul  6 09:27:08 1998  Richard Henderson  
9116
 
9117
        * alpha/vms.h (TRAMPOLINE_TEMPLATE): Revert last change.
9118
 
9119
Mon Jul  6 09:25:06 1998  Dave Love  
9120
 
9121
        * libgcc2.c (__eprintf): Make args consistent with prototype in
9122
        assert.h.
9123
 
9124
Mon Jul  6 00:28:43 1998  Mark Mitchell  
9125
 
9126
        * cse.c (cse_insn): When SETting (MEM (ADDRESSOF (X))) to Y,
9127
        don't claim that the former is equivalent to the latter.
9128
 
9129
Sun Jul  5 23:58:19 1998  Jeffrey A Law  (law@cygnus.com)
9130
 
9131
        * cse.c (cse_insn): Second arg is an RTX now.  Update all callers.
9132
        (cse_basic_block): Keep track of the current RETVAL insn for a
9133
        libcall instead of just noting that we're in a libcall.
9134
 
9135
        * combine.c (simplify_comparison): Do not commute a AND into
9136
        a paradoxical SUBREG if not WORD_REGISTER_OPERATIONS.
9137
 
9138
        * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Protect with
9139
        HAVE_GAS_MAX_SKIP_P2ALIGN.
9140
        * i386/linux.h: Likewise.
9141
 
9142
Fri Jul  3 02:33:35 1998  David S. Miller  
9143
 
9144
        * sparc.c (sparc_operand, move_operand, arith_operand,
9145
        arith11_operand, arith10_operand, arith_double_operand,
9146
        arith11_double_operand, arith10_double_operand, small_int,
9147
        uns_small_int): Recognize CONSTANT_P_RTX.
9148
        (output_sized_memop, output_move_with_extension,
9149
        output_load_address, output_size_for_block_move,
9150
        output_block_move, delay_operand): Remove, has not been
9151
        enabled or referenced for years.
9152
        * sparc.md (movstrsi, block_move_insn): Likewise.
9153
        * sparc.h (PREDICATE_CODES): Define.
9154
        * linux-aout.h (MACHINE_STATE_{SAVE,RESTORE}): Override with
9155
        version which uses getcc/setcc traps to save/restore condition
9156
        codes.
9157
        * linux64.h: Likewise.
9158
        * sunos4.h: Likewise.
9159
        * linux.h: Likewise.
9160
        * sol2.h: Likewise.
9161
        * sun4o3.h: Likewise.
9162
 
9163
Fri Jul  3 02:28:05 1998  Richard Henderson  
9164
 
9165
        * alpha.c (alpha_initialize_trampoline): Hack around Pmode/ptr_mode
9166
        lossage on VMS.  Reported by kkaempf@rmi.de.
9167
        * alpha/vms.h (TRAMPOLINE_TEMPLATE): Add missing 0.
9168
 
9169
Thu Jul  2 17:41:14 1998  Nick Clifton  
9170
 
9171
        * config/m32r/m32r.h (MUST_PASS_IN_STACK): Override default
9172
        version.
9173
 
9174
Thu Jul  2 14:34:48 1998  David Edelsohn  
9175
 
9176
        * expr.h (STACK_SIZE_MODE): New macro.
9177
        * explow.c (allocate_dynamic_stack_space): Use it for
9178
        mode of allocate_stack pattern increment operand.
9179
        * tm.texi (STACK_SAVEAREA_MODE, STACK_SIZE_MODE): Document.
9180
        * md.texi (stack_save_block, ...): Reflect use of macro.
9181
 
9182
        * rs6000.h (PROMOTE_MODE): Always promote to word_mode.
9183
        (PROMOTE_FUNCTION_ARGS): Define.
9184
        (PROMOTE_FUNCTION_RETURN): Define.
9185
        (FUNCTION_VALUE): Promote to word_mode if smaller.
9186
        Convert to gen_rtx_FOO.
9187
        * rs6000.md (call_indirect): Store doubleword in 64-bit mode.
9188
        Convert to gen_rtx_FOO.
9189
        * rs6000.c: Convert to gen_rtx_FOO.
9190
 
9191
Thu Jul  2 14:16:11 1998  Michael Meissner  
9192
 
9193
        * varray.{c,h}: New files to provide virtual array support.
9194
 
9195
        * Makefile.in (OBJS): Add varray.o.
9196
        (varray.o): Add new file.
9197
        (REGS_H): New variable for dependencies for files including
9198
        regs.h.  Add varray.h and files it includes.  Change all regs.h
9199
        dependencies to $(REGS_H).
9200
 
9201
        * toplev.c (x{m,re}alloc): If size is 0, allocate 1 byte.
9202
        (xcalloc): Provide frontend for calloc.
9203
        * {tree,rtl}.h (xcalloc): Add declaration.
9204
 
9205
        * basic-block.h (REG_BASIC_BLOCK): Convert reg_n_info to be a
9206
        varray.
9207
 
9208
        * regs.h (toplevel): Include varray.h.
9209
        (reg_n_info): Switch to use a varray.
9210
        (REG_*): Likewise.
9211
        (allocate_reg_info): Change num_regs argument to be size_t.
9212
 
9213
        * regclass.c (reg_info_data): New structure to remember groups of
9214
        reg_info structures allocated that are to be zeroed.
9215
        ({pref,alt}class_buffer): New statics to hold buffers
9216
        allocate_reg_info allocates for {pref,alt}class_buffer.
9217
        (regclass): Use {pref,alt}class_buffer to initialize
9218
        {pref,alt}class.
9219
        (allocate_reg_info): Switch to make reg_n_info use varrays.
9220
        Allocate buffers for the preferred and alter register class
9221
        information.  Change num_regs argument to be size_t, not int.
9222
 
9223
        * flow.c (reg_n_info): Switch to use varrays.
9224
 
9225
Thu Jul  2 10:11:47 1998  Robert Lipe  
9226
 
9227
        * install.texi (sco3.2v5): Document new --with-gnu-as flag.
9228
        * config/i386/sco5.h (JUMP_TABLES_IN_TEXT_SECTION): Defined as
9229
        in other targets.
9230
        (USE_GAS): Conditionalize away native assembler usage.
9231
        * config/i386/sco5gas.h: New file.
9232
        * config/i386/t-sco5gas: New file.
9233
        * configure.in (ix86-sco3.2v5*): Use new files if --with-gnu-as
9234
 
9235
Thu Jul  2 08:20:00 1998  Catherine Moore  
9236
 
9237
        * haifa-sched.c (alloc_EXPR_LIST): Change to use
9238
        unused_expr_list.
9239
 
9240
Thu Jul  2 14:13:28 1998  Dave Love  
9241
 
9242
        * Makefile.in (install-info): Don't use $realfile.  Ignore
9243
        possible errors from the install-info program.
9244
 
9245
Thu Jul  2 01:53:32 1998  Alasdair Baird  
9246
 
9247
        * combine.c (simplify_comparison): Apply SUBREG_REG to SUBREGs.
9248
 
9249
Wed Jul  1 23:06:03 1998  Richard Henderson  
9250
 
9251
        * i386.h (HARD_REGNO_MODE_OK): Kill spurious test.
9252
        (MODES_TIEABLE_P): Tie SImode and HImode.
9253
 
9254
1998-07-01  Andreas Jaeger  
9255
 
9256
        * invoke.texi (Optimize Options): Fix typo.
9257
 
9258
Wed Jul  1 22:25:43 1998  Jim Wilson  
9259
 
9260
        * xcoffout.c (xcoffout_begin_function): Call xcoffout_block for
9261
        the zero'th block.
9262
 
9263
Wed Jul  1 23:12:58 1998  Ken Raeburn  
9264
 
9265
        * h8300.c (print_operand): Delete %L support.
9266
        * h8300.md (branch_true, branch_false): Use %= with a prefix
9267
        instead of %L for local branch labels.
9268
 
9269
Wed Jul  1 21:27:13 1998  J"orn Rennecke  
9270
 
9271
        * reload1.c (emit_reload_insns): Use proper register classes for
9272
        SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_MEMORY_NEEDED code.
9273
 
9274
Wed Jul  1 21:17:36 1998  J"orn Rennecke  
9275
 
9276
        * reload.c (find_reloads): If there are multiple
9277
        RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads for
9278
        one operand, change RELOAD_FOR_INPADDR_ADDRESS /
9279
        RELOAD_FOR_OUTADDR_ADDRESS for all but the first
9280
        RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads.
9281
 
9282
Wed Jul  1 17:23:23 1998  J"orn Rennecke  
9283
 
9284
        * regmove.c (fixup_match_2): Check that P has RTX_CLASS 'i' before
9285
        using its PATTERN.
9286
 
9287
Wed Jul  1 05:04:41 1998  Richard Henderson  
9288
 
9289
        * expr.c (emit_group_load, emit_group_store): Rewrite considering
9290
        the size and alignment of the structure being manipulated.
9291
        * expr.c, calls.c, function.c: Update all callers.
9292
        * expr.h: Update prototypes.
9293
        * cse.c (invalidate): Cope with parallels.
9294
 
9295
Wed Jul  1 04:22:23 1998  Richard Henderson  
9296
 
9297
        * sparc.c (function_arg_record_value): Take a MODE arg with which to
9298
        create the PARALLEL.  Update all callers.
9299
 
9300
Wed Jul  1 04:10:35 1998  Richard Henderson  
9301
 
9302
        * expr.c (expand_assignment, store_constructor, expand_expr): Use
9303
        convert_memory_address instead of convert_to_mode when possible.
9304
 
9305
Wed Jul  1 03:48:00 1998  Richard Henderson  
9306
 
9307
        * alpha.c (alpha_initialize_trampoline): Take arguments describing
9308
        the layout.  Use ptr_mode.  Disable hint generation.  Use gen_imb.
9309
        * alpha.h (INITIALIZE_TRAMPOLINE): Pass extra args to the init func.
9310
        (TRANSFER_FROM_TRAMPOLINE): Move ...
9311
        * alpha/osf.h: ... here.
9312
        * alpha/vms.h (INITIALIZE_TRAMPOLINE): Use alpha_initialize_trampoline.
9313
        (TRANSFER_FROM_TRAMPOLINE): Remove undef.
9314
        * alpha/win-nt.h: Likewise.
9315
        * alpha/vxworks.h: Likewise.
9316
 
9317
        * alpha/linux.h: Revert gcc2 merge lossage.
9318
 
9319
Wed Jul  1 10:56:55 1998  Andreas Schwab  
9320
 
9321
        * c-decl.c (grokdeclarator): Don't warn about implicit int in
9322
        `typedef foo = bar'.
9323
 
9324
Wed Jul  1 02:12:33 1998  Robert Lipe  
9325
 
9326
        * i386.c (asm_output_function_prefix): Make 686 function
9327
        prologues not issue .types for non-global labels.
9328
 
9329
Tue Jun 30 23:46:53 1998  Dmitrij Tejblum  
9330
 
9331
        * i386/freebsd.h (WCHAR_TYPE): Chagne to an "int".
9332
        (WCHAR_TYPE_SIZE): Update appropriately.
9333
 
9334
Tue Jun 30 23:16:39 1998  Jeffrey A Law  (law@cygnus.com)
9335
 
9336
        * flow.c (recompute_reg_usage): Does not return a value.
9337
        * rtl.h (recompute_reg_usage): Update prototype.
9338
 
9339
        * jump.c (jump_optimize): Show that the jump chain is not
9340
        valid when not optimizing.
9341
 
9342
Tue Jun 30 16:01:01 1998  Richard Henderson  
9343
 
9344
        * rtl.def (CONSTANT_P_RTX): New.
9345
        * rtl.h (CONSTANT_P): Recognize it.
9346
        * cse.c (fold_rtx): Eliminate it.
9347
        * expr.c (can_handle_constant_p): New variable.
9348
        (init_expr_once): Initialize it.
9349
        (expand_builtin): Generate CONSTANT_P_RTX if the expression is not
9350
        immediately recognizable as a constant.
9351
 
9352
        * alpha.c (reg_or_6bit_operand): Recognize CONSTANT_P_RTX.
9353
        (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
9354
        (sext_add_operand, and_operand, or_operand): Likewise.
9355
        (reg_or_cint_operand, some_operand, input_operand): Likewise.
9356
        * alpha.h (PREDICATE_CODES): Add CONSTANT_P_RTX where needed.
9357
 
9358
1998-06-30  Benjamin Kosnik  
9359
 
9360
        * dbxout.c (dbxout_type_methods): Remove warn_template_debugging.
9361
 
9362
Tue Jun 30 14:03:34 1998  Kaveh R. Ghazi  
9363
 
9364
        * aclocal.m4 (GCC_NEED_DECLARATION): Accept an optional second
9365
        argument, which is typically preprocessor code used to draw in
9366
        additional header files when looking for a function declaration.
9367
        (GCC_NEED_DECLARATIONS): Likewise.
9368
 
9369
        * configure.in (GCC_NEED_DECLARATIONS): Add checks for getrlimit
9370
        and setrlimit, search for them in sys/resource.h.
9371
 
9372
        * acconfig.h: Add stubs for NEED_DECLARATION_GETRLIMIT and
9373
        NEED_DECLARATION_SETRLIMIT.
9374
 
9375
        * system.h: Prototype getrlimit/setrlimit if necessary.
9376
 
9377
Tue Jun 30 10:54:48 1998  Mark Mitchell  
9378
 
9379
        * rtl.texi: Don't say that RTX_INTEGRATED_P is not depended
9380
        upon.
9381
 
9382
Tue Jun 30 13:11:42 1998  Franz Sirl  
9383
 
9384
        * rs6000/sysv4.h (asm output): Add tabs for asm directives.
9385
 
9386
Tue Jun 30 13:11:42 1998  David Edelsohn  
9387
 
9388
        * Makefile.in (FLAGS_TO_PASS): Set AR_FLAGS to AR_FOR_TARGET_FLAGS.
9389
 
9390
Tue Jun 30 08:59:15 1998  Kaveh R. Ghazi  
9391
 
9392
        * gansidecl.h (ATTRIBUTE_UNUSED): Use __unused__ not `unused'.
9393
        Don't define NULL here.  Also, remove all vestiges of autoconf
9394
        based checks for bcmp/bcopy/bzero/index/rindex.
9395
 
9396
        * system.h: Immediately after including stdio.h, check for and if
9397
        necessary provide a default definition of NULL.
9398
 
9399
Tue Jun 30 08:22:05 1998  Michael Meissner  
9400
 
9401
        * reload1.c (reload_cse_simplify_operands): Call
9402
        fatal_insn_not_found, not abort.
9403
 
9404
Tue Jun 30 02:34:02 1998  Jeffrey A Law  (law@cygnus.com)
9405
 
9406
        * choose-temp.c (make_temp_file): Accept new argument for the
9407
        file suffix to use.  Allocate space for it and add it to the
9408
        template.
9409
        * mkstemp.c (mkstemps): Renamed from mkstemp.  Accept new argument
9410
        for the length of the suffix.  Update template structure checks
9411
        to handle optional suffix.
9412
        * collect2.c (make_temp_file): Update prototype.
9413
        (main): Put proper suffixes on temporary files.
9414
        * gcc.c (make_temp_file): Update prototype.
9415
        (do_spec_1): Put proper suffixes on temporary files.
9416
 
9417
Tue Jun 30 00:56:19 1998  Bruno Haible  
9418
 
9419
        * invoke.texi: Document new implicit structure initialization
9420
        warning.
9421
 
9422
Mon Jun 29 21:40:15 1998  J"orn Rennecke  
9423
 
9424
        * toplev.c (flag_dump_unnumbered): Declare.
9425
        (f_options): Add dump-unnumbered.
9426
        * print-rtl.c (flag_dump_unnumbered): Define.
9427
        (print_rtx): Print only '#' for insn numbers if flag_dump_unnumbered
9428
        is nonzero.
9429
        (print_rtl): Don't output line number notes if flag_dump_unnumbered
9430
        is nonzero.
9431
        * flow.c (print_rtl_with_bb): Don't output newline after line
9432
        numbers note if flag_dump_unnumbered is nonzero.
9433
 
9434
Mon Jun 29 22:12:06 1998  Jeffrey A Law  (law@cygnus.com)
9435
 
9436
        * Merge from gcc2 June 9, 1998 snapshot.  See ChangeLog.13 for
9437
        details.
9438
 
9439
        * pa.c, pa.h, pa.md: Convert to gen_rtx_FOO.
9440
 
9441
Mon Jun 29 20:12:41 1998  Kaveh R. Ghazi  
9442
 
9443
        * Makefile.in (fix-header): Don't needlessly depend on cpperror.o.
9444
 
9445
        * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Cast expansion to
9446
        void since it is evaluated in a comma list.
9447
 
9448
        * mips.h (ASM_GENERATE_INTERNAL_LABEL): Always sprintf `NUM'
9449
        argument as a long and cast `NUM' to long to ensure it is of the
9450
        proper width.  Wrap macro arguments in parens when they appear in
9451
        the expansion.
9452
 
9453
        * sol2.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
9454
 
9455
        * sparc.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
9456
        (ASM_DECLARE_RESULT): Fix fprintf format specifier to match
9457
        function argument return type.
9458
        (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P,
9459
        REGNO_OK_FOR_CCFP_P): Use `(unsigned)' not `U'.
9460
 
9461
        * cpplib.c (cpp_message_from_errno): Remove unneeded argument to
9462
        cpp_message.
9463
 
9464
        * dbxout.c: Fix the comments after an #endif to reflect the actual
9465
        condition tested in the preceding #if.
9466
 
9467
        * except.c (find_all_handler_type_matches): Switch to old-style
9468
        function definition.
9469
 
9470
        * expr.c (expand_builtin): Remove unused variable `type' twice.
9471
 
9472
        * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Cast -1 before comparing it
9473
        to an unsigned long.
9474
 
9475
        * haifa-sched.c (print_insn_chain): Remove unused function.
9476
 
9477
        * objc/objc-act.c (build_msg_pool_reference): Hide prototype and
9478
        definition.
9479
 
9480
        * toplev.c: When testing whether to include dbxout.h, also include
9481
        it when XCOFF_DEBUGGING_INFO is defined.
9482
 
9483
        * unroll.c (unroll_loop): Add parentheses around assignment used
9484
        as truth value.
9485
 
9486
Mon Jun 29 12:18:00 1998  Catherine Moore  
9487
 
9488
        * config/lb1spc.asm (.div, .udiv): Replace routines.
9489
 
9490
Mon Jun 29 09:44:24 1998  Mark Mitchell  
9491
 
9492
        * rtl.h: Update comment about special gen_rtx variants.
9493
        * emit-rtl.c (gen_rtx): Handle MEMs using gen_rtx_MEM.
9494
 
9495
Sun Jun 28 20:58:51 1998  Jeffrey A Law  (law@cygnus.com)
9496
 
9497
        * choose-temp.c (choose_temp_base): Restore original variant of
9498
        this function for compatibility.
9499
        (make_temp_file): This is the new, preferred interface to create
9500
        temporary files.
9501
        * collect2.c (choose_temp_base): Delete declaration.
9502
        (make_temp_file): Declare.
9503
        (temp_filename_length, temp_filename): Delete.
9504
        (main): Use make_temp_file to get temporary files.  Use --lang-c
9505
        to force the resulting ctort/dtor file to be compiled with the C
9506
        compiler.  Make sure to remove temporary files on all exit paths.
9507
        * gcc.c (make_temp_file): Provide prototype if MKTEMP_EACH_FILE is
9508
        defined.
9509
        (choose_temp_base): Only provide prototype if MKTEMP_EACH_FILE is
9510
        not defined.
9511
        (do_spec): Use make_temp_file if MKTEMP_EACH_FILE is defined.
9512
 
9513
Sun Jun 28 08:57:09 1998  Kaveh R. Ghazi  
9514
 
9515
        * configure.in (GCC_NEED_DECLARATIONS): Add strerror, getcwd and
9516
        getwd.
9517
 
9518
        * acconfig.m4: Add stubs for NEED_DECLARATION_STRERROR,
9519
        NEED_DECLARATION_GETCWD and NEED_DECLARATION_GETWD.
9520
 
9521
        * cccp.c: Remove strerror()/sys_nerr/sys_errlist decls.
9522
        (my_strerror): Add prototype and make it static.
9523
 
9524
        * collect2.c: Likewise.
9525
 
9526
        * cpplib.c: Likewise.
9527
 
9528
        * gcc.c: Likewise, but keep `my_strerror' extern.
9529
 
9530
        * protoize.c: Likewise.
9531
 
9532
        * pexecute.c (my_strerror): Add argument to prototype.
9533
 
9534
        * system.h: Add prototypes for getcwd, getwd and strerror.  Add
9535
        extern decls for sys_nerr and sys_errlist.  Make abort decl
9536
        explicitly extern.
9537
 
9538
        * getpwd.c: Remove decls for getwd and getcwd.
9539
 
9540
Sun Jun 28 02:11:16 1998  Jeff Law  (law@cygnus.com)
9541
 
9542
        * version.c: Bump for snapshot.
9543
 
9544
Sat Jun 27 23:32:25 1998  Richard Henderson  
9545
 
9546
        * jump.c (jump_optimize): Use side_effects_p & may_trap_p instead
9547
        of rtx_unsafe_p.  Use modified_between_p instead of reg_set_between_p.
9548
        Allow FP moves to be optimized.
9549
        (rtx_unsafe_p): Delete.
9550
 
9551
Sat Jun 27 23:02:04 1998  Richard Henderson  
9552
 
9553
        * objc/archive.c: Remove  prototypes.
9554
 
9555
Sat Jun 27 22:37:05 1998  Jeffrey A Law  (law@cygnus.com)
9556
 
9557
        * tm.texi (NEED_MATH_LIBRARY): Document new target macro.
9558
 
9559
        * Makefile.in (gencheck): Remove $(TREE_H) dependency.
9560
 
9561
Sat Jun 27 20:20:00 1998  John Carr  
9562
 
9563
        * dsp16xx.h (FIRST_PSEUDO_REGISTER): Add parentheses to definition.
9564
        * dsp16xx.c (next_cc_user_unsigned): New function.
9565
        Remove save_next_cc_user_code.
9566
        (print_operand): Use HOST_WIDE_INT_PRINT_* macros.
9567
        * dsp16xx.md: Call next_cc_user_unsigned instead of using
9568
        save_next_cc_user_code.
9569
        Use gen_rtx_* functions instead of gen_rtx.
9570
 
9571
Sat Jun 27 20:18:34 1998  Franz Sirl  
9572
 
9573
        * rs6000.h: Add trap_comparison_operator to PREDICATE_CODES.
9574
 
9575
Sat Jun 27 16:45:42 1998  Jeffrey A Law  (law@cygnus.com)
9576
 
9577
        * flow.c (count_reg_sets): New function.
9578
        (count_reg_sets_1, count_ref_references): Likewise.
9579
        (recompute_reg_usage): Likewise.
9580
        * rtl.h (recompute_reg_usage): Add prototype.
9581
        * toplev.c (rest_of_compilation): Call recompute_reg_usage just
9582
        before local register allocation.
9583
 
9584
Sat Jun 27 13:15:30 1998  Richard Henderson  
9585
 
9586
        * alpha.md (negsf, negdf): Revert Jan 22 change.
9587
 
9588
Sat Jun 27 07:35:21 1998  Kaveh R. Ghazi  
9589
 
9590
        * mkstemp.c: Include gansidecl.h.  Rename uint64_t to gcc_uint64_t.
9591
        (mkstemp): Remove size specifier for variable `letters'.  Call
9592
        gettimeofday, not __gettimeofday.
9593
 
9594
        * Makefile.in (EXPR_H): New dependency variable.
9595
        (c-typeck.o): Depend on $(EXPR_H) instead of expr.h.
9596
        (c-iterate.o): Likewise.
9597
        (gencheck): Depend on $(TREE_H) instead of tree.h, etc.
9598
        (stor-layout.o): Depend on $(EXPR_H) instead of expr.h.
9599
        (toplev.o): Likewise.  Also depend on $(RECOG_H) instead of recog.h.
9600
        (varasm.o): Depend on $(EXPR_H) instead of expr.h.
9601
        (function.o): Likewise.
9602
        (stmt.o): Likewise.
9603
        (except.o): Likewise.
9604
        (expr.o): Likewise.
9605
        (calls.o): Likewise.
9606
        (expmed.o): Likewise.
9607
        (explow.o): Likewise.
9608
        (optabs.o): Likewise.
9609
        (sdbout.o): Likewise.
9610
        (dwarf2out.o): Likewise.
9611
        (emit-rtl.o): Likewise.
9612
        (integrate.o): Likewise.
9613
        (jump.o): Likewise.
9614
        (cse.o): Likewise.
9615
        (gcse.o): Likewise.  Also depend on $(BASIC_BLOCK_H) instead of
9616
        basic-block.h.
9617
        (loop.o): Depend on $(EXPR_H) instead of expr.h.
9618
        (unroll.o): Likewise.
9619
        (combine.o): Likewise.
9620
        (reload.o): Likewise.
9621
        (reload1.o): Likewise.
9622
        (caller-save.o): Likewise.
9623
        (reorg.o): Likewise.
9624
        (alias.o): Don't depend on insn-codes.h.
9625
        (regmove.o): Depend on $(RECOG_H)/$(EXPR_H) instead of recog.h/expr.h.
9626
        (insn-emit.o): Depend on $(EXPR_H) instead of expr.h.
9627
        (insn-opinit.o): Likewise.
9628
 
9629
Sat Jun 27 01:35:14 1998  Jeffrey A Law  (law@cygnus.com)
9630
 
9631
        * choose-temp.c (choose_temp_base): Remove MPW bits.  Use mkstemp
9632
        instead of mktemp.
9633
        * gcc.c (MKTEMP_EACH_FILE): Define.
9634
        (main): No need to call choose_temp_base if we are going to
9635
        use choose_temp_base to create each file later.
9636
        * mkstemp.c: New file.  Adapted from glibc.
9637
        * Makefile.in (xgcc, colect2, protoize, unprotoize): Link in mkstemp.o.
9638
        (mkstemp.o): Add dependencies.
9639
 
9640
        * configure.in (gettimeofday): Check for its existence.
9641
        * config.in (HAVE_GETTIMEOFDAY): Define.
9642
        * configure: Rebuilt.
9643
 
9644
1998-06-26  Michael Meissner  
9645
 
9646
        * rs6000.md (ne 0, non power case): Add missing & constraint.
9647
        Name pattern ne0.
9648
        (negative abs insns): Add pattern names.
9649
 
9650
Fri Jun 26 17:36:42 1998  Dave Love  
9651
 
9652
        * Makefile.in (install-info): Run install-info program in separate
9653
        loop.
9654
 
9655
Fri Jun 26 16:03:15 1998  Michael Meissner  
9656
 
9657
        * haifa-sched.c (schedule_block): Add hooks for the machine
9658
        description to reorder the ready list, and update how many more
9659
        instructions can be issued this cycle.
9660
        * tm.texi (MD_SCHED_{INIT,REORDER,VARIABLE_ISSUE}): Document.
9661
 
9662
Fri Jun 26 11:54:11 1998  David S. Miller  
9663
 
9664
        * config/sparc/sparc.h (REGNO_OK_FOR_{INDEX,BASE,FP,CCFP}_P):
9665
        Explicitly mark the constant being compared against as unsigned.
9666
        * config/sparc/sparc.c (sparc_select, cpu_default, cpu_table):
9667
        Fully initialize final members.
9668
        (mem_aligned_8): Explicit init of offset to zero.
9669
        (output_function_prologue): Explicit init of n_regs to zero.
9670
        (output_function_epilogue): Likewise, and mark arg size as
9671
        unused.
9672
        (init_cumulative_args): Mark libname and indirect as unused.
9673
        (function_arg_pass_by_reference): Likewise for cum and named.
9674
        (sparc_builtin_saveregs): Likewise for arglist.
9675
        (sparc_flat_eligible_for_epilogue_delay): Likewise for slot.
9676
 
9677
Fri Jun 26 06:58:54 1998  Richard Earnshaw  (rearnsha@arm.com)
9678
 
9679
        * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Only need a secondary reload
9680
        if reloading a MEM.
9681
 
9682
        * arm.h (arm_adjust_cost): Renamed bogus prototype from
9683
        arm_adjust_code.
9684
        (bad_signed_byte_operand): Add prototype.
9685
        * arm.c (arm_override_options): Make I unsigned.
9686
        (const_ok_for_arm): Add casts to the constants.
9687
        (load_multiple_operation): Don't redeclare elt in sub-block.
9688
        (arm_gen_movstrqi): Delete external declaration of optimize.
9689
        (gen_compare_reg): Declare parameter fp.
9690
 
9691
        * arm.c (final_prescan_insn): Only initialize scanbody if the insn
9692
        has a pattern.
9693
 
9694
Fri Jun 26 09:31:24 1998  Kaveh R. Ghazi  
9695
 
9696
        * alpha.c: Include system.h and toplev.h.
9697
        (cint8_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
9698
        (const48_operand): Likewise.
9699
        (mode_width_operand): Likewise.
9700
        (mode_mask_operand): Likewise.
9701
        (mul8_operand): Likewise.
9702
        (current_file_function_operand): Likewise.
9703
        (signed_comparison_operator): Likewise.
9704
        (divmod_operator): Likewise.
9705
        (any_memory_operand): Likewise.
9706
        (alpha_return_addr): Likewise for parameter `frame'.
9707
        (alpha_builtin_saveregs): Likewise for parameter `arglist'.
9708
        (vms_valid_decl_attribute_p): Likewise for parameters `decl' and
9709
        `attributes'.
9710
        (alpha_start_function): Likewise for parameter `decl'.  Use
9711
        HOST_WIDE_INT_PRINT_DEC in call to fprintf.  Fix various format
9712
        specifiers.  Remove unused variables `lab' and `name'.
9713
        (alpha_end_function): Mark parameter `decl' with ATTRIBUTE_UNUSED.
9714
        (check_float_value): Likewise for parameter `overflow'.
9715
        (alpha_need_linkage): Likewise for parameters `name' and `is_local'.
9716
 
9717
        * alpha.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Define as
9718
        taking an argument.
9719
        (ASM_OUTPUT_SHORT): Cast argument to `int' in call to fprintf.
9720
        (ASM_OUTPUT_CHAR): Likewise.
9721
        (ASM_OUTPUT_BYTE): Likewise.
9722
        (PRINT_OPERAND_ADDRESS): Use HOST_WIDE_INT_PRINT_DEC in call to
9723
        fprintf.
9724
        (PUT_SDB_EPILOGUE_END): Mention argument `NAME' in definition.
9725
        Add prototypes for functions in alpha.c.
9726
 
9727
        * alpha.md (ashldi3): Add default case in switch.
9728
 
9729
1998-06-26  Manfred Hollstein  
9730
 
9731
        * Makefile.in (gcc_version, gcc_version_trigger): New macros.
9732
        (version): Initialize from $(gcc_version).
9733
 
9734
        * configure.in (version): Rename to gcc_version.
9735
        (gcc_version_trigger): New variable; call AC_SUBST for it and
9736
        emit it into the generated config.status.
9737
        * configure: Regenerate.
9738
 
9739
Thu Jun 25 12:47:41 1998  Mark Mitchell  
9740
 
9741
        * fold-const.c (make_range): Don't go looking at TREE_OPERANDs of
9742
        nodes that are not expressions.
9743
 
9744
Thu Jun 25 15:08:16 1998  Mark Mitchell  
9745
 
9746
        * invoke.texi (-fstrict-aliasing): Document.
9747
        * rtl.texi (MEM_ALIAS_SET): Document.
9748
 
9749
        * flags.h (flag_strict_aliasing): Declare.
9750
        * toplev.c (flag_strict_aliasing): Define.
9751
        (f_options): Add -strict-aliasing.
9752
        (main): Set flag_strict_aliasing if -O2 or higher.
9753
 
9754
        * tree.h (tree_type): Add alias_set field.
9755
        (TYPE_ALIAS_SET): New macro.
9756
        (TYPE_ALIAS_SET_KNOWN_P): Likewise.
9757
        (get_alias_set): Declare.
9758
        * tree.c (lang_get_alias_set): Define.
9759
        (make_node): Initialize TYPE_ALIAS_SET.
9760
        (get_alias_set): New function.
9761
        * print-tree.c (print_node): Dump the alias set for a type.
9762
 
9763
        * c-tree.h (c_get_alias_set): Declare.
9764
        * c-common.c (c_get_alias_set): New function.
9765
        * c-decl.c (init_decl_processing): Set lang_get_alias_set.
9766
 
9767
        * expr.c (protect_from_queue): Propagate alias sets.
9768
        (expand_assignment): Calculate alias set for new MEMs.
9769
        (expand_expr): Likewise.
9770
        * function.c (put_var_into_stack): Likewise.
9771
        (put_reg_into_stack): Likewise.
9772
        (gen_mem_addressof): Likewise.
9773
        (assign_parms): Likewise.
9774
        * stmt.c (expand_decl): Likewise.
9775
        * varasm.c (make_decl_rtl): Eliminate redundant clearing of
9776
        DECL_RTL.  Calculate alias set for new MEMs.
9777
 
9778
        * rtl.def (REG): Add dummy operand.
9779
        (MEM): Add extra operand to store the MEM_ALIAS_SET.
9780
        * rtl.h (MEM_ALIAS_SET): New macro.
9781
        (gen_rtx_MEM): Declare.
9782
        * emit-rtl.c (gen_rtx_MEM): New function.
9783
        * gengenrtl.c (sepcial_rtx): Make MEMs special.
9784
 
9785
        * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): New macro.
9786
        (DIFFERENT_ALIAS_SETS_P): Likewise.
9787
        (canon_rtx): Propagate the alias set to the new MEM.
9788
        (true_dependence): Check the alias sets.
9789
        (anti_dependence): Likewise.
9790
        (output_dependence): Likewise.
9791
        * explow.c (stabilize): Progoate alias sets.
9792
        * integrate.c (copy_rtx_and_substitute): Likewise.
9793
        * final.c (alter_subreg): Make sure not to leave MEM_IN_STRUCT_P
9794
        in an unpredictable state.  Propagate alias sets.
9795
        * reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which
9796
        we have no alias information.
9797
 
9798
Thu Jun 25 16:59:18 1998  Andrew MacLeod  
9799
 
9800
        * except.h (CATCH_ALL_TYPE): Definition moved to eh-common.h.
9801
        (find_all_handler_type_matches): Add function prototype.
9802
        * eh-common.h (CATCH_ALL_TYPE): Definition added.
9803
        * except.c (find_all_handler_type_matches): Add function to find all
9804
        runtime type info in the exception table.
9805
        (output_exception_table_entry): Special case for CATCH_ALL_TYPE.
9806
 
9807
Thu Jun 25 15:47:55 1998  Kaveh R. Ghazi  
9808
 
9809
        * Makefile.in (xcoffout.o): Depend on toplev.h, output.h and dbxout.h.
9810
 
9811
        * config/fp-bit.c (_fpmul_parts): Move variables `x', `ylow',
9812
        `yhigh' and `bit' into the scope in which they are used.
9813
        (_fpdiv_parts): Remove unused variables `low', `high', `r0', `r1',
9814
        `y0', `y1', `q', `remainder', `carry', `d0' and `d1'.
9815
 
9816
        * rs6000.c: Move include of output.h below tree.h.  Include toplev.h.
9817
        (any_operand): Mark unused parameters `op' and `mode' with
9818
        ATTRIBUTE_UNUSED.
9819
        (count_register_operand): Likewise for parameter `mode'.
9820
        (fpmem_operand): Likewise.
9821
        (short_cint_operand): Likewise.
9822
        (u_short_cint_operand): Likewise.
9823
        (non_short_cint_operand): Likewise.
9824
        (got_operand): Likewise.
9825
        (got_no_const_operand): Likewise.
9826
        (non_add_cint_operand): Likewise.
9827
        (non_logical_cint_operand): Likewise.
9828
        (mask_operand): Likewise.
9829
        (current_file_function_operand): Likewise.
9830
        (small_data_operand): Likewise for parameters `op' and `mode' but
9831
        only when !TARGET_ELF.
9832
        (init_cumulative_args): Mark parameters `libname' with
9833
        ATTRIBUTE_UNUSED.
9834
        (function_arg_pass_by_reference): Likewise for parameters `cum',
9835
        `mode' and `named'.
9836
        (expand_builtin_saveregs): Likewise for parameter `args'.
9837
        (load_multiple_operation): Likewise for parameter `mode'.
9838
        (store_multiple_operation): Likewise.
9839
        (branch_comparison_operator): Likewise.
9840
        (secondary_reload_class): Likewise.
9841
        (print_operand): Add parentheses around & operation.
9842
        (output_prolog): Mark parameter `size' with ATTRIBUTE_UNUSED.
9843
        (output_epilog): Likewise.  Cast argument to fprintf to int.
9844
        (rs6000_adjust_cost): Mark parameter `dep_insn' with ATTRIBUTE_UNUSED.
9845
        (rs6000_valid_decl_attribute_p): Likewise for parameters `decl',
9846
        `attributes', `identifier' and `args'.
9847
        (rs6000_valid_type_attribute_p): Likewise for parameter `attributes'.
9848
        (rs6000_comp_type_attributes): Likewise for parameters `type1' and
9849
        `type2'.
9850
        (rs6000_set_default_type_attributes): Likewise for parameter `type'.
9851
 
9852
        * rs6000.h (RTX_COSTS): Add parentheses around & operation.
9853
        (toc_section, private_data_section, trap_comparison_operator): Add
9854
        prototypes.
9855
 
9856
        * dbxout.h (dbxout_parms, dbxout_reg_parms, dbxout_syms): Add
9857
        prototypes.
9858
 
9859
        * xcoffout.c: Include toplev.h, outout.h and dbxout.h.
9860
 
9861
        * xcoffout.h (stab_to_sclass, xcoffout_begin_function,
9862
        xcoffout_begin_block, xcoffout_end_epilogue,
9863
        xcoffout_end_function, xcoffout_end_block,
9864
        xcoff_output_standard_types, xcoffout_declare_function,
9865
        xcoffout_source_line): Add prototypes.
9866
 
9867
Thu Jun 25 09:54:55 1998  Nick Clifton  
9868
 
9869
        * config/arm/arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM,
9870
        noticed by grahams@rcp.co.uk.
9871
 
9872
Thu Jun 25 11:12:29 1998  Dave Brolley  
9873
 
9874
        * gcc.c (default_compilers): Use new | syntax to eliminate
9875
        string concatenation.
9876
 
9877
Thu Jun 25 01:00:48 1998  Richard Henderson  
9878
 
9879
        * alpha.c (alpha_function_name): Delete.
9880
        (alpha_ra_ever_killed): Notice current_function_is_thunk.
9881
        (alpha_sa_mask, alpha_sa_size, alpha_does_function_need_gp): Likewise.
9882
        (alpha_start_function): Reorg from output_prologue.
9883
        (alpha_end_function): Reorg from output_epilogue.
9884
        * alpha.h (ASM_DECLARE_FUNCTION_NAME): Call alpha_start_function.
9885
        (ASM_DECLARE_FUNCTION_SIZE): New.
9886
        (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
9887
        (PROFILE_BEFORE_PROLOGUE): Set.
9888
        (ASM_OUTPUT_MI_THUNK): Remove bits now output by start/end_function.
9889
        * alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
9890
 
9891
Thu Jun 25 01:18:47 1998  John Wehle  (john@feith.com)
9892
 
9893
        * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
9894
 
9895
1998-06-25  Herman A.J. ten Brugge  
9896
 
9897
        * expr.c (expand_assignment): Rework address calculation for structure
9898
        field members to expose more invariant computations to the loop
9899
        optimizer.
9900
        (expand_expr): Likewise.
9901
 
9902
Wed Jun 24 22:44:22 1998  Jeffrey A Law  (law@cygnus.com)
9903
 
9904
        * local-alloc.c (block_alloc): Do not try to avoid false dependencies
9905
        when SMALL_REGISTER_CLASSES is nonzero.
9906
 
9907
Wed Jun 24 17:55:15 1998  Klaus Kaempf  
9908
 
9909
        * alpha.md (call_vms, call_value_vms): Strip leading * from symbol.
9910
 
9911
Wed Jun 24 16:27:23 1998  John Carr  
9912
 
9913
        * expr.c (get_memory_rtx): New function.
9914
        (expand_builtin): Call get_memory_rtx for MEM arguments to builtin
9915
        string functions.
9916
 
9917
        * expmed.c (init_expmed): Initialize all elements of *_cost arrays.
9918
 
9919
        * optabs.c: Use gen_rtx_FOO (...) instead of gen_rtx (FOO, ...).
9920
        * expr.c: Likewise.
9921
        * explow.c: Likewise.
9922
        * combine.c: Likewise.
9923
        * reload1.c: Likewise.
9924
        * gcse.c: Likewise.
9925
 
9926
Wed Jun 24 15:13:01 1998  Dave Brolley  
9927
 
9928
        * README.gnat: Add patch for new lang_decode_options interface.
9929
 
9930
Wed Jun 24 09:14:04 1998  Andrew MacLeod  
9931
 
9932
        * except.c (start_catch_handler): Do nothing if EH is not on.
9933
 
9934
1998-06-24  Manfred Hollstein  
9935
 
9936
        * configure.in (gxx_include_dir): Initialize default value depending on
9937
        new flag --enable-version-specific-runtime-libs; remove superfluous
9938
        default initialization afterwards.
9939
        * configure: Regenerate.
9940
 
9941
Wed Jun 24 01:32:12 1998  David S. Miller  
9942
 
9943
        * toplev.c (rest_of_compilation): Revert May 15 change.
9944
 
9945
Tue Jun 23 21:27:27 1998  Ken Raeburn  
9946
 
9947
        * reload.c (find_reloads): Fix check for failure to match any
9948
        alternative, to account for Mar 26 change in initial "best" cost.
9949
 
9950
Tue Jun 23 16:44:21 1998  Dave Brolley  
9951
 
9952
        * cpplib.c (do_line): Typo broke #line directive.
9953
        (cpp_message_from_errno): New function.
9954
        (cpp_error_from_errno): Call cpp_message_from_errno.
9955
        * cpplib.h (cpp_message_from_errno): New function.
9956
 
9957
Tue Jun 23 13:38:18 1998  Andrew MacLeod  
9958
 
9959
        * libgcc2.c (__get_eh_table_version, __get_eh_table_language): New
9960
        functions to return exception descriptor information.
9961
        (find_exception_handler): Pass match_info field to runtime matcher,
9962
        not a descriptor table entry.
9963
 
9964
Tue Jun 23 09:30:58 1998  Dave Love  
9965
 
9966
        * cpp.texi, gcc.texi: Add @dircategory, @direntry meant to
9967
        accompany previous Makefile.in (install-info) change.
9968
 
9969
Tue Jun 23 10:06:07 1998  Andrew MacLeod  
9970
 
9971
        * eh-common.h (struct __eh_info): Remove coerced value field.
9972
        * libgcc2.c (find_exception_handler): Don't set coerced_value field.
9973
        * except.c (get_dynamic_handler_chain, get_dynamic_cleanup_chain): Use
9974
        POINTER_SIZE instead of Pmode.
9975
        (expand_start_all_catch): Call start_catch_handler() if we are not
9976
        using new style exceptions.
9977
 
9978
Tue Jun 23 06:45:00 1998  Catherine Moore  
9979
 
9980
        * varasm.c (assemble_variable): Remove reference to warn_bss_align.
9981
 
9982
Mon Jun 22 23:57:31 1998  David S. Miller  
9983
 
9984
        * config/sparc/sparc.md (zero_extendhidi2, extendhisi2,
9985
        extendqihi2, extendqisi2, extendqidi2, extendhidi2, adddi3,
9986
        subdi3, negdi2, call, call_value, untyped_return, nonlocal_goto,
9987
        splits and peepholes): Change remaining generic gen_rtx calls to
9988
        specific genrtl ones.
9989
        * config/sparc/sparc.c: Likewise.
9990
 
9991
Mon Jun 22 22:21:46 1998  Richard Henderson  
9992
 
9993
        * gcc.c (handle_braces): Recognize | between options as an or.
9994
 
9995
Mon Jun 22 23:13:47 1998  John Wehle  (john@feith.com)
9996
 
9997
        * i386/freebsd-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
9998
        * i386/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
9999
 
10000
        * i386.md (exception_receiver): Define.
10001
 
10002
Mon Jun 22 12:01:48 1998  Jim Wilson  
10003
 
10004
        * Makefile.in (PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME,
10005
        PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): New variables.
10006
        (install-common): Use them.
10007
 
10008
        * gcse.c (add_label_notes): New function.
10009
        (pre_insert_insn): Call it.
10010
        * unroll.c (unroll_loop): Look for insns with a REG_LABEL note, and
10011
        pass the label to set_label_in_map.
10012
 
10013
Mon Jun 22 19:01:14 1998  Dave Love  
10014
 
10015
        * Makefile.in (install-info): Fix typpo in previous change.
10016
 
10017
Mon Jun 22 11:10:00 1998  Catherine Moore  
10018
 
10019
        * varasm.c (assemble_variable): Emit alignment warning.
10020
 
10021
Mon Jun 22 08:18:46 1998  Kaveh R. Ghazi  
10022
 
10023
        * Makefile.in (varasm.o): Depend on sdbout.h.
10024
        (sdbout.o): Depend on toplev.h.
10025
 
10026
        * collect2.c (scan_prog_file): Cast fprintf argument to `long' and
10027
        use %ld specifier.
10028
 
10029
        * final.c (shorten_branches): Cast first arg of `bzero' to char *.
10030
 
10031
        * genextract.c (main): When creating insn-extract.c, mark variable
10032
        `i' with ATTRIBUTE_UNUSED.
10033
 
10034
        * genpeep.c (main): When creating insn-peep.c, mark variables
10035
        `insn', `x' and `pat' with ATTRIBUTE_UNUSED.
10036
 
10037
        * objc/init.c (__objc_tree_print): Wrap function definition in
10038
        macro `DEBUG'.
10039
 
10040
        * objc/objc-act.c (encode_array): Cast sprintf argument to `long'
10041
        and use %ld specifier.
10042
        (adorn_decl): Likewise, twice.
10043
 
10044
        * reload1.c (reload_cse_regs): Cast first arg of `bzero' to char *.
10045
 
10046
        * sdbout.c: Include output.h and toplev.h.
10047
        (PUT_SDB_INT_VAL): Use HOST_WIDE_INT_PRINT_DEV to print argument
10048
        `a'.  Cast `a' to HOST_WIDE_INT to force it to always be so.
10049
        (PUT_SDB_SIZE): Likewise.
10050
 
10051
        * sdbout.h (sdbout_mark_begin_function): Add prototype.
10052
 
10053
        * stmt.c (check_for_full_enumeration_handling): Cast argument of
10054
        `warning' to long and use %ld specifier.
10055
 
10056
        * toplev.c (main): Likewise for `fprintf'.
10057
 
10058
        * toplev.h (output_file_directive): Add prototype.
10059
 
10060
        * unroll.c (unroll_loop): Use HOST_WIDE_INT_PRINT_DEC specifier in
10061
        call to `fprintf'.
10062
        (precondition_loop_p): Likewise.
10063
 
10064
        * varasm.c Include sdbout.h.
10065
        (assemble_static_space): Move sometimes-unused variable `rounded'
10066
        into the scope in which it is used.
10067
 
10068
        * mips.c (gpr_mode): Don't say `static' twice.
10069
 
10070
        * cpplib.c (cpp_handle_option): Don't pass unneeded NULL to cpp_fatal.
10071
 
10072
        * objc/objc-act.c (init_selector): Hide prototype and definition.
10073
 
10074
        * optabs.c (gen_cond_trap): Remove unused variable `icode'.
10075
 
10076
        * regmove.c (copy_src_to_dest): Likewise for `i'.
10077
 
10078
        * mips-tfile.c (add_local_symbol): Cast width format specifier to int.
10079
        (add_ext_symbol): Likewise.
10080
        (add_file): Likewise.
10081
        (parse_def): Likewise.
10082
        (write_varray): Use HOST_PTR_PRINTF to print a pointer.  Fix
10083
        remaining format specifiers and arguments.
10084
        (write_object): Likewise, several times.
10085
        (read_seek): Likewise.
10086
        (out_of_bounds): Likewise.
10087
        (allocate_cluster): Likewise.
10088
        (xmalloc): Likewise.
10089
        (xcalloc): Likewise.
10090
        (xrealloc): Likewise.
10091
        (xfree): Likewise.
10092
 
10093
        * mips-tdump.c (print_symbol): Likewise.
10094
 
10095
Sun Jun 21 17:05:34 1998  Dave Love  
10096
 
10097
        * Makefile.in (install-info): Use install-info program if
10098
        available, per GNU standard.
10099
 
10100
Sun Jun 21 18:56:44 1998  Jeffrey A Law  (law@cygnus.com)
10101
 
10102
        * invoke.texi: Document -mrelax for the mn10300 and mn10200.
10103
 
10104
        * basic-block.h (init_regset_vector): Delete declaration.
10105
        * flow.c (init_regset_vector): Make it static and add a prototype.
10106
 
10107
        * bitmap.h (debug_bitmap): Declare.
10108
 
10109
        * haifa-sched.c (debug_ready_list): Make static.
10110
 
10111
        * toplev.h (fancy_abort): Declare.
10112
 
10113
Sun Jun 21 18:30:13 1998  H.J. Lu  (hjl@gnu.org)
10114
 
10115
        * basic-block.h (init_regset_vector): New declaration.
10116
 
10117
        * Makefile.in (sdbout.o): Add insn-codes.h to dependency.
10118
 
10119
        * global.c: Include machmode.h amd move hard-reg-set.h before
10120
        rtl.h.
10121
 
10122
        * haifa-sched.c (insn_issue_delay, birthing_insn_p,
10123
        adjust_priority, print_insn_chaino): New declaration.
10124
        (schedule_insns): Remove declaration.
10125
        (init_target_units, get_visual_tbl_length,
10126
        init_block_visualization): Add prototype.
10127
 
10128
        * integrate.c (pushdecl, poplevel): Remove declaration.
10129
 
10130
        * rtl.h (expand_expr): Remove declaration.
10131
 
10132
        * loop.c (oballoc): Remove declaration.
10133
        (replace_call_address): Add prototype.
10134
 
10135
Sun Jun 21 01:08:17 1998  Jeff Law  (law@cygnus.com)
10136
 
10137
        * version.c: Bump for snapshot.
10138
 
10139
Sun Jun 21 01:16:38 1998  John Wehle  (john@feith.com)
10140
 
10141
        * i386.c (output_fp_conditional_move): Don't bother handling
10142
        (cc_prev_status.flags && CC_NO_OVERFLOW) since the INSN patterns
10143
        prevent this from happening.
10144
 
10145
        * i386.md (nonlocal_goto_receiver): Delete.
10146
 
10147
Sun Jun 21 00:42:20 1998  H.J. Lu  (hjl@gnu.org)
10148
 
10149
        * Makefile.in (crtbeginS.o, crtendS.o): Add -fno-exceptions and
10150
        -DCRTSTUFFS_O.
10151
        (INSTALL): cd $(srcdir) before make.
10152
 
10153
        * flow.c (allocate_for_life_analysis, init_regset_vector):
10154
        Remove declaration.
10155
 
10156
        * function.h (get_first_block_beg): New declaration.
10157
 
10158
        * gbl-ctors.h (__do_global_dtors): Add prototype.
10159
 
10160
        * gcov-io.h (__fetch_long): New declaration.
10161
        (__store_long): Likewise.
10162
        (__read_long): Likewise.
10163
        (__write_long): Likewise.
10164
 
10165
        * gcov.c (print_usage): New declaration.
10166
 
10167
        * Makefile.in (c-iterate.o): Depend on insn-codes.h too.
10168
 
10169
Sat Jun 20 00:36:16 1998  Jeffrey A Law  (law@cygnus.com)
10170
 
10171
        * calls.c (expand_call): Initialize "src" and "dest".
10172
        * stmt.c (expand_return): Likewise.
10173
        * expmed.c (extract_split_bit_field): Similarly for "result"
10174
        * gcse.c (compute_hash_table): Mark first arg as unused.
10175
        * jump.c (jump_optimize): Initialize reversep.
10176
        * tree.c (make_node): Initialize length.
10177
 
10178
        * c-common.c (check_format_info): Initialize length_char and
10179
        fci to keep -Wall quiet.
10180
 
10181
        * except.c (jumpif_rtx): Put declaration and definition
10182
        inside a suitable #ifdef.
10183
        (jumpifnot_rtx): Delete dead function.
10184
 
10185
        * i386.h (output_int_conditional_move): Declare.
10186
        (output_fp_conditional_move): Likewise.
10187
        (ix86_can_use_return_insn_p): Likewise.
10188
 
10189
        * optabs.c (init_traps): Put prototype inside a suitable #ifdef.
10190
 
10191
Sat Jun 20 00:27:40 1998  Graham  
10192
 
10193
        * alias.c: Include toplev.h.
10194
        * caller-save.c: Include toplev.h.
10195
        * combine.c: Include toplev.h.
10196
        * flow.c Include toplev.h.
10197
        * global.c: Include toplev.h.
10198
        * jump.c: Include toplev.h.
10199
        * local-alloc.c: Include toplev.h.
10200
        * loop.c: Include toplev.h.
10201
        * regmove.c: Include toplev.h.
10202
        * stupid.c: Include toplev.h.
10203
        * unroll.c: Include toplev.h.
10204
        * Makefile.in: Add toplev.h dependencies.
10205
 
10206
Fri Jun 19 22:40:25 1998  Jason Merrill  
10207
 
10208
        * regmove.c (copy_src_to_dest): Add decl for loop_depth.
10209
 
10210
        * svr4.h (ASM_GENERATE_INTERNAL_LABEL): Cast arg to unsigned.
10211
        * dwarf2out.c (ASM_OUTPUT_DWARF_DATA1): Likewise.
10212
        Add parens to various macros.
10213
 
10214
Fri Jun 19 23:22:42 1998  Bruno Haible  
10215
 
10216
        * c-typeck.c (pop_init_level): Warn about implicit zero initialization
10217
        of struct members.
10218
 
10219
Fri Jun 19 23:06:33 1998  Jason Merrill  
10220
 
10221
        * varasm.c (assemble_start_function): Add weak_global_object_name.
10222
        * tree.c (get_file_function_name): Use it.
10223
 
10224
Fri Jun 19 22:55:14 1998  Jeffrey A Law  (law@cygnus.com)
10225
 
10226
        * except.c (jumpif_rtx): Make static and add prototype.
10227
        (jumpifnot_rtx): Likewise.
10228
 
10229
        * README.gnat: Add a build patch from Fred Fish.
10230
 
10231
        * c-lang.c (GNU_xref_begin, GNU_xref_end): Deleted.
10232
 
10233
        * Makefile.in (c-iterate.o): Depend on expr.h.
10234
 
10235
Fri Jun 19 20:38:34 1998  H.J. Lu  (hjl@gnu.org)
10236
 
10237
        * except.h (emit_unwinder, end_eh_unwinder): Removed.
10238
 
10239
        * dwarfout.c (getpwd): Add prototype.
10240
        (is_pseudo_reg, type_main_variant, is_tagged_type,
10241
        is_redundant_typedef): New declaration.
10242
        (output_decl): Add prototype for FUNC.
10243
        (type_main_variant): Make it static.
10244
        (is_tagged_type): Likewise.
10245
        (is_redundant_typedef): Likewise.
10246
 
10247
        * expr.c (do_jump_by_parts_greater_rtx): Removed.
10248
        (truthvalue_conversion): Likewise.
10249
 
10250
        * c-iterate.c: Include "expr.h".
10251
        (expand_expr): Use proper values when calling the function.
10252
 
10253
        * explow.c (emit_stack_save): Add prototype for FCN.
10254
        (emit_stack_restore): Likewise.
10255
 
10256
        * dwarf2out.c (getpwd): Add prototype.
10257
 
10258
        * dwarf2out.h (debug_dwarf, debug_dwarf_die): New declarations.
10259
 
10260
        * c-typeck.c (c_expand_asm_operands): Use proper values when calling
10261
        expand_expr.
10262
 
10263
        * c-lex.c (yyprint): Add prototype.
10264
        (check_newline, build_objc_string): Remove declaration.
10265
 
10266
        * c-tree.h (comptypes_record_hook): Removed.
10267
        (finish_incomplete_decl): New prototype.
10268
 
10269
        * alias.c (find_base_value): Add prototype.
10270
        (true_dependence): Add prototype for function argument.
10271
 
10272
        * c-aux-info.c (xmalloc): Remove declaration.
10273
 
10274
Fri Jun 19 20:23:05 1998  Robert Lipe  
10275
 
10276
        * i386.c: Include system.h.  Remove redundant includes.
10277
        (optimization_options): Mark param 'size' with ATTRIBUTE_UNUSED.
10278
        (i386_cc_probably_useless_p): Likewise for 'decl', 'attributes',
10279
        'identifier', 'args'.
10280
        (i386_valid_type_attribute_p): Likewise for 'attributes'.
10281
        (i386_comp_type_attribute_p): Likewise for 'type1', 'type2'.
10282
        (function_arg_partial_nregs): Likewise for 'cum', 'mode', 'type',
10283
        and 'named'.
10284
        (symbolic_operand): Likewise for 'mode'.
10285
        (call_insn_operand): Likewise.
10286
        (expander_call_insn_operand): Likewise.
10287
        (ix86_logical_operator): Likewise.
10288
        (ix86_binary_operator_ok): Likewise.
10289
        (emit_pic_move): Likewise.
10290
        (VOIDmode_compare_op): Likewise.
10291
        (is_mul): Likewise.
10292
        (str_immediate_operand): Likewise.
10293
        (ix86_uary_operator_ok): Likewise for 'code', 'mode', and 'operands'.yy
10294
        (asm_output_function_prefix): Likewise for 'name'.
10295
        (function_prologue): Likewise for 'file', and 'size'.
10296
        (function_epilogue): Likewise.
10297
 
10298
1998-06-19  Jim Wilson  
10299
 
10300
        * loop.h (struct induction): Clarify comment for unrolled field.
10301
        * unroll.c (find_splittable_givs): Move set of unrolled field
10302
        after address validity check.
10303
 
10304
Fri Jun 19 18:38:04 1998  Michael Meissner  
10305
 
10306
        * config/fp-bit.c (INLINE): Only define if not already defined.
10307
 
10308
1998-06-19  Manfred Hollstein  
10309
 
10310
        * Makefile.in (installdirs): Loop over directories in $(libsubdir)
10311
        creating probably missing ones, instead of single if statements.
10312
 
10313
Fri Jun 19 10:43:52 1998  Andreas Schwab  
10314
 
10315
        * c-common.c (truthvalue_conversion): Protect side effects in the
10316
        expression when splitting a complex value.
10317
        * fold-const.c (fold): Likewise.
10318
 
10319
Fri Jun 19 02:31:16 1998  Klaus Kaempf  (kkaempf@progis.de)
10320
 
10321
        * cccp.c (hack_vms_include_specification): Rewrite to handle
10322
        '#include ' correctly.
10323
 
10324
Fri Jun 19 02:24:11 1998  H.J. Lu  (hjl@gnu.org)
10325
 
10326
        * config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Defined.
10327
 
10328
Fri Jun 19 02:10:10 1998  John Wehle  (john@feith.com)
10329
 
10330
        * i386.c (notice_update_cc): Integer conditional moves don't
10331
        affect cc0.
10332
 
10333
        * i386.md (movsfcc, movdfcc, movxfcc): Use emit_store_flag
10334
        to support LT, LE, GE, and GT signed integer comparisons.
10335
        (movsfcc+1, movsfcc+2, movdfcc+1, movdfcc+2,
10336
        movxfcc+1, movxfcc+2): Pattern doesn't match if the comparison
10337
        is LT, LE, GE, or GT.
10338
        (movdicc): Remove code resulting from an earlier patch which
10339
        didn't apply correctly.
10340
 
10341
Fri Jun 19 02:00:19 1998  Richard Kenner  
10342
 
10343
        * reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't
10344
        consider a MEM in FP mode as equal.
10345
 
10346
Fri Jun 19 01:02:17 1998  Jeffrey A Law  (law@cygnus.com)
10347
 
10348
        * c-decl.c (duplicate_decls): Avoid setting TREE_ASM_WRITTEN for
10349
        duplicate declarations of a function.
10350
 
10351
Fri Jun 19 00:33:33 1998  H.J. Lu  (hjl@gnu.org)
10352
 
10353
        * config/float-i386.h: New.
10354
 
10355
        * configure.in (i[34567]86-*-linux-*): Set float_format to i386.
10356
 
10357
Thu Jun 18 20:11:00 1998  Jim Wilson  
10358
 
10359
        * sched.c (schedule_insns): Use xmalloc not alloca for max_uid
10360
        indexed arrays.  Call free at the end of the function for them.
10361
        * haifa-sched.c (schedule_insns): Likewise.
10362
 
10363
Thu Jun 18 18:16:01 1998  Jim Wilson  
10364
 
10365
        * dwarf2out.c (size_of_string): Do count backslashes.
10366
 
10367
Thu Jun 18 11:43:54 1998  Nick Clifton  
10368
 
10369
        * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow REG+REG
10370
        addressing when one register is the frame pointer or stack
10371
        pointer.  Disallow REG+CONST addressing in HI mode.
10372
 
10373
Thu Jun 18 17:30:39 1998  J"orn Rennecke  
10374
 
10375
        * reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to
10376
        RELOAD_FOR_INSN.
10377
 
10378
Thu Jun 18 09:36:50 1998  Kaveh R. Ghazi  
10379
 
10380
        * Makefile.in (c-lang.o): Depend on output.h.
10381
 
10382
        * c-lang.c: Include output.h.
10383
 
10384
        * sparc.c (sparc_builtin_saveregs): Remove unused variable `fntype'.
10385
 
10386
        * except.c (expand_builtin_eh_stub): Likewise for variable `jump_to'.
10387
 
10388
        * genrecog.c (write_subroutine): When writing insn-recog.c, mark
10389
        variables `insn', `pnum_clobbers', `x[0 .. max_depth]' and `tem'
10390
        with ATTRIBUTE_UNUSED.
10391
 
10392
        * regmove.c (copy_src_to_dest): Make function static to match its
10393
        prototype.
10394
 
10395
        * reload1.c Include hard-reg-set.h before rtl.h to get macro
10396
        HARD_CONST.  Include machmode.h before hard-reg-set.h.
10397
 
10398
        * rtl.h: Prototype `retry_global_alloc' and wrap with macro
10399
        HARD_CONST to protect usage of typedef HARD_REG_SET.
10400
 
10401
        * tree.c: Prototype `_obstack_allocated_p'.
10402
 
10403
        * varasm.c: Wrap prototype of `asm_output_aligned_bss' in macro
10404
        BSS_SECTION_ASM_OP.
10405
 
10406
Thu Jun 18 09:20:47 1998  Kaveh R. Ghazi  
10407
 
10408
        * pa.c: Include system.h and toplev.h.  Remove redundant code.
10409
        (call_operand_address): Mark parameter `mode' with ATTRIBUTE_UNUSED.
10410
        (symbolic_operand): Likewise.
10411
        (symbolic_memory_operand): Likewise.
10412
        (pic_label_operand): Likewise.
10413
        (fp_reg_operand): Likewise.
10414
        (pre_cint_operand): Likewise.
10415
        (post_cint_operand): Likewise.
10416
        (ireg_or_int5_operand): Likewise.
10417
        (int5_operand): Likewise.
10418
        (uint5_operand): Likewise.
10419
        (int11_operand): Likewise.
10420
        (uint32_operand): Likewise.
10421
        (ior_operand): Likewise.
10422
        (lhs_lshift_cint_operand): Likewise.
10423
        (pc_or_label_operand): Likewise.
10424
        (legitimize_pic_address): Likewise.
10425
        (hppa_legitimize_address): Likewise for parameter `old'.
10426
        (output_block_move): Likewise for parameter `size_is_constant'.
10427
        (output_function_prologue): Likewise for parameter `size'.
10428
        (output_function_epilogue): Likewise.
10429
        (return_addr_rtx): Likewise for parameter `count'.
10430
        (output_mul_insn): Likewise for parameter `unsignedp'.
10431
        (hppa_builtin_saveregs): Likewise for parameter `arglist'.
10432
        (output_bb): Likewise for parameter `operands'.
10433
        (output_bvb): Likewise.
10434
        (function_label_operand): Likewise for parameter `mode'.
10435
        (plus_xor_ior_operator): Likewise.
10436
        (shadd_operand): Likewise.
10437
        (non_hard_reg_operand): Likewise.
10438
        (eq_neq_comparison_operator): Likewise.
10439
        (movb_comparison_operator): Likewise.
10440
        (pa_combine_instructions): Likewise for parameter `insns'.
10441
 
10442
        * pa.h: Add prototypes for functions `output_deferred_plabels',
10443
        `override_options', `output_ascii', `output_function_prologue',
10444
        `output_function_epilogue', `print_operand',
10445
        `symbolic_expression_p', `reloc_needed', `compute_frame_size',
10446
        `hppa_address_cost', `and_mask_p', `symbolic_memory_operand',
10447
        `pa_adjust_cost', `pa_adjust_insn_length' and
10448
        `secondary_reload_class'.
10449
 
10450
Wed Jun 17 22:28:48 1998  Jason Merrill  
10451
 
10452
        * configure.in: Don't turn on collect2 unconditionally.
10453
 
10454
Wed Jun 17 20:20:48 1998  Mark Mitchell  
10455
 
10456
        * cse.c (cse_basic_block): Don't include NOTE insns in the count
10457
        that is used to decide whether or not it is time to erase the
10458
        equivalence table.
10459
 
10460
Wed Jun 17 18:30:43 1998  Franz Sirl  
10461
 
10462
        * rs6000/linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define to zero.
10463
 
10464
Wed Jun 17 19:05:03 1998  John Carr  
10465
 
10466
        * haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
10467
        (sched_analyze_2): Allow scheduling TRAP_IF.
10468
 
10469
        * reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
10470
 
10471
        * rtl.h (TRAP_CODE): New macro.
10472
 
10473
        * rtl.def (TRAP_IF): Change second operand type to rtx.
10474
 
10475
        * optabs.c (gen_cond_trap): New function.
10476
        (init_traps): New function.
10477
        (init_optabs): Call init_traps.
10478
        * expr.h: Declare gen_cond_trap.
10479
 
10480
        * jump.c (jump_optimize): Optimize jumps to and around traps.
10481
 
10482
        * sparc.md: Define trap instructions.
10483
 
10484
        * rs6000.md: Define trap instructions.
10485
        * rs6000.c (print_operand): New code 'V' for trap condition.
10486
        (trap_comparison_operator): New function.
10487
 
10488
        * m88k.md: Update use of TRAP_IF.
10489
 
10490
        * tree.h (enum built_in_function): New function code BUILT_IN_TRAP.
10491
        * c-decl.c (init_decl_processing): New builtin __builtin_trap.
10492
        * expr.c (expand_builtin): Handle BUILT_IN_TRAP.
10493
 
10494
        * expr.c (expand_builtin): Error if __builtin_longjmp second argument
10495
        is not 1.
10496
 
10497
Wed Jun 17 15:20:00 1998  Catherine Moore  
10498
 
10499
         * reload1.c (spill_hard_reg): Check mode of register when
10500
         spilling from scratch_list.
10501
 
10502
Wed Jun 17 16:25:38 1998  Andrew MacLeod  (amacleod@cygnus.com)
10503
 
10504
        * except.c (add_new_handler): Fix bug in finding last region handler.
10505
        * libgcc2.c (find_exception_handler): Pass exception table pointer
10506
        to runtime type matcher, not the match info field.
10507
 
10508
Wed Jun 17 15:57:48 1998  Andrew MacLeod  (amacleod@cygnus.com)
10509
 
10510
        * eh-common.h (struct eh_context): Add comment for hidden use of
10511
        field dynamic_handler_chain.
10512
        * except.c (get_dynamic_handler_chain): Comment on, and use the
10513
        correct offset of the dynamic_handler_chain field.
10514
 
10515
1998-06-17  Jim Wilson  
10516
 
10517
        * mips/iris6.h (LINK_SPEC): Add -woff 131.
10518
 
10519
1998-06-17  Jason Merrill  
10520
 
10521
        * dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
10522
 
10523
        * configure.in: Don't disable collect2 when we have GNU ld.
10524
 
10525
Wed Jun 17 08:38:13 1998  Jeffrey A Law  (law@cygnus.com)
10526
 
10527
        * fold-const.c (make_range): Do not widen the type of the expression.
10528
 
10529
        * expr.c (check_max_integer_computation_mode): New function.
10530
        (expand_expr): Avoid integer computations in modes wider than
10531
        MAX_INTEGER_COMPUTATION_MODE.
10532
        * fold-const.c (fold): Likewise.
10533
        * tree.h (check_max_integer_computation_mode): Declare.
10534
        * tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it.
10535
 
10536
        * configure.in (nm): Make a link to "nm" in the build tree too.
10537
 
10538
        * mn10300.md (andsi3): Fix typo.
10539
 
10540
Tue Jun 16 22:58:40 1998  Richard Henderson  
10541
 
10542
        * reload1.c (reload_cse_regs): Call bzero instead of looping.
10543
 
10544
Tue Jun 16 18:30:35 1998  Jim Wilson  
10545
 
10546
        * dwarf2out.c (stripattributes): Prepend '*' to the section name.
10547
 
10548
Tue Jun 16 16:49:26 1998  Richard Henderson  
10549
 
10550
        * alpha.c (alpha_expand_prologue, alpha_expand_epilogue): New fns.
10551
        (output_prologue, output_epilogue): Merge VMS and OSF versions;
10552
        Remove anything related to the actual code generation.
10553
        (output_end_prologue): New function.
10554
        (alpha_sa_mask, alpha_sa_size): Merge VMS and OSF versions.
10555
        (alpha_does_function_need_gp): Return false for VMS.
10556
        (alpha_function_needs_gp): Make static.
10557
        (add_long_const): Delete.
10558
        (summarize_insn): Don't assume a SUBREG is of a REG.
10559
        Prototype all static functions.  Rename VMS-specific global
10560
        variables vms_*.
10561
        * alpha.h (TARGET_CAN_FAULT_IN_PROLOGUE): Default to 0.
10562
        (FUNCTION_BOUNDARY): Align to cache line.
10563
        (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER): Align to octaword.
10564
        (FUNCTION_END_PROLOGUE): New macro.
10565
        * alpha.md (attribute length): New.  Mark all insns.
10566
        (return_internal, prologue_stack_probe_loop): New patterns.
10567
        (prologue, init_fp, epilogue): New patterns.
10568
        Disable peepholes.
10569
        * linux.h (TARGET_CAN_FAULT_IN_PROLOGUE): Define.
10570
 
10571
Tue Jun 16 17:36:35 1998  Dave Brolley  
10572
 
10573
        * toplev.c (lang_options): Add -trigraphs option for cpplib.
10574
 
10575
Tue Jun 16 23:33:24 1998  J"orn Rennecke  
10576
 
10577
        * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS
10578
        is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS
10579
        is earlier than RELOAD_FOR_INPUT_ADDRESS.
10580
 
10581
Tue Jun 16 13:15:16 1998  Jim Wilson  
10582
 
10583
        * libgcc1-test.c (memcpy): Define.
10584
 
10585
Tue Jun 16 13:44:02 1998  Michael Meissner  
10586
 
10587
        * genattrtab.c (struct attr_desc): Change int flags to bit
10588
        fields.  Add bit fields for this being function_units_used
10589
        or *_blockage_range attributes.
10590
        (write_unit_name): New function to print a function unit name
10591
        given unit #.
10592
        (expand_units): Indicate whether this is function_units_used or
10593
        *_blockage_range attributes.
10594
        (write_toplevel_expr): Print function_units_used and
10595
        *_blockage_range attributes in a more friendly fashion.
10596
        (make_internal_attr): Indicate whether this attribute is either
10597
        function_units_used or *_blockage_range.
10598
 
10599
Mon Jun 15 17:06:43 1998  Michael Meissner  
10600
                          Jim Wilson  
10601
 
10602
        * regmove.c (copy_src_to_dest): Do not copy src to dest if either
10603
        the source or destination is special.
10604
 
10605
Mon Jun 15 13:20:33 1998  Jim Wilson  
10606
 
10607
        * c-decl.c (shadow_tag_warned): Use specs not declspecs in for loop.
10608
 
10609
Mon Jun 15 07:16:29 1998  Jeff Law  (law@cygnus.com)
10610
 
10611
        * version.c: Bump for snapshot.
10612
 
10613
Sat Jun 13 13:10:40 1998  Krister Walfridsson  
10614
 
10615
        * config/sparc/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Undefine before
10616
        redefining it.
10617
 
10618
Fri Jun 12 18:06:45 1998  Doug Evans  
10619
 
10620
        * m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
10621
        (ENDFILE_SPEC): Add -lgloss.
10622
 
10623
Fri Jun 12 14:57:59 1998  Kaveh R. Ghazi  
10624
 
10625
        * mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
10626
        (large_int): Likewise.
10627
        (pc_or_label_operand): Likewise.
10628
        (call_insn_operand): Likewise.
10629
        (consttable_operand): Likewise.
10630
        (m16_uimm3_b): Likewise.
10631
        (m16_simm4_1): Likewise.
10632
        (m16_nsimm4_1): Likewise.
10633
        (m16_simm5_1): Likewise.
10634
        (m16_nsimm5_1): Likewise.
10635
        (m16_uimm5_4): Likewise.
10636
        (m16_nuimm5_4): Likewise.
10637
        (m16_simm8_1): Likewise.
10638
        (m16_nsimm8_1): Likewise.
10639
        (m16_uimm8_1): Likewise.
10640
        (m16_nuimm8_1): Likewise.
10641
        (m16_uimm8_m1_1): Likewise.
10642
        (m16_uimm8_4): Likewise.
10643
        (m16_nuimm8_4): Likewise.
10644
        (m16_simm8_8): Likewise.
10645
        (m16_nsimm8_8): Likewise.
10646
        (m16_usym8_4): Likewise.
10647
        (m16_usym5_4): Likewise.
10648
        (mips_move_1word): Change type of variable `i' from int to size_t.
10649
        (mips_move_2words): Likewise.
10650
        (output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
10651
        (function_arg_advance): Use HOST_PTR_PRINTF to print an address.
10652
        (function_arg): Likewise.
10653
        (function_arg_partial_nregs): Mark parameter `named' with
10654
        ATTRIBUTE_UNUSED.
10655
        (override_options): Use ISDIGIT instead of isdigit.
10656
        (mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
10657
        (final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
10658
        (save_restore_insns): Cast HOST_WIDE_INT arguments passed to
10659
        function `fatal' to long before printing.  Use
10660
        HOST_WIDE_INT_PRINT_DEC in fprintf.  Both changes done several
10661
        times in this function.
10662
        (function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
10663
        (function_epilogue): Likewise for parameters `file' and `size'.
10664
        Print an int with "%d" not "%ld".
10665
        (mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
10666
        (mips_function_value): Likewise for parameter `func'.
10667
        (function_arg_pass_by_reference): Likewise for parameters `cum'
10668
        and `named'.
10669
        (extend_operator): Likewise for parameter `mode'
10670
        (highpart_shift_operator): Likewise.
10671
 
10672
        * mips.md (mul_acc_si): Remove unused variable `macc'.
10673
 
10674
Fri Jun 12 09:33:44 1998  Richard Henderson  
10675
 
10676
        * fold-const.c (fold): Revert last change.  It breaks constant
10677
        expressions somehow.
10678
 
10679
Fri Jun 12 10:23:36 1998  Andreas Schwab  
10680
 
10681
        * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
10682
        prevent operands from being evaluated twice.
10683
 
10684
Fri Jun 12 00:50:27 1998  Sergey Okhapkin  
10685
 
10686
        * toplev.c (lang_options): Add -remap as a preprocessor option.
10687
 
10688
Fri Jun 12 00:30:32 1998  John Wehle  (john@feith.com)
10689
 
10690
        * i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
10691
        which set CC_REVERSED since reload should ensure that
10692
        the operands are already the correct type.
10693
 
10694
Thu Jun 11 17:14:15 1998  Jim Wilson  
10695
 
10696
        * except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
10697
        calling gen_rtx_SET.
10698
 
10699
Thu Jun 11 18:45:49 1998  David Edelsohn  
10700
 
10701
        * config/rs6000/x-aix43 (AR): Delete.
10702
        (AR_FOR_TARGET_FLAGS): Add -X32_64 here.
10703
 
10704
Thu Jun 11 16:19:17 1998  David W. Schuler  
10705
 
10706
        * config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
10707
 
10708
Thu Jun 11 12:40:27 1998  Jim Wilson  
10709
 
10710
        * mips.c (override_options): Replace word_mode with explicit
10711
        TARGET_64BIT check.
10712
 
10713
Thu Jun 11 14:50:02 1998  Michael Meissner  
10714
 
10715
        * regmove.c (regmove_optimize): If we can't replace the
10716
        destination in an insn that sets the source, generate an explicit
10717
        move of the source to the destination.
10718
        (copy_src_to_dest): New function.
10719
        (toplevel): Include basic-block.h.
10720
 
10721
        * Makefile.in (regmove.o): Add basic-block.h dependencies.
10722
 
10723
Thu Jun 11 10:30:09 1998  Dave Brolley  
10724
 
10725
        * toplev.c (lang_options): Add missing options (nostdinc, idirafter).
10726
 
10727
Wed Jun 10 23:39:32 1998  Mark Mitchell  
10728
 
10729
        * rtl.h (rtx_def): Improve documentation.
10730
        (MEM_IN_STRUCT_P): Likewise.
10731
 
10732
Wed Jun 10 23:23:17 1998  Graham  
10733
 
10734
        * c-decl.c (start_decl): Correct test for -Wmain.
10735
 
10736
        * c-decl.c (grokdeclarator): Remove unused variable "last".
10737
 
10738
Wed Jun 10 14:52:27 1998  Jim Wilson  
10739
 
10740
        * expr.c (expand_builtin_setjmp): Store const1_rtx in target.
10741
        (expand_builtin_longjmp): Abort if value isn't const1_rtx.
10742
        Delete code storing value in static_chain_rtx.
10743
        (expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
10744
        to second expand_expr call.
10745
 
10746
Wed Jun 10 13:08:41 1998  Mark Mitchell  
10747
 
10748
        * mips/mips.c: Remove -mabi=o32 and -mabi=n64.
10749
 
10750
Wed Jun 10 13:41:23 1998  Dave Brolley  
10751
 
10752
        * cppmain.c (fatal): New function.
10753
        * configure.in (cpp_main): New configuration variable.
10754
        * configure: Regenerated.
10755
        * Makefile.in (CCCP): Use a configuration variable to select basex
10756
        for cccp.
10757
        (cppmain$(exeext)): Add @extra_cpp_objs@.
10758
 
10759
Wed Jun 10 13:07:02 1998  Dave Brolley  
10760
 
10761
        * objc/objc-act.c: Add cpplib declarations.
10762
        (lang_decode_option): Initialize cpplib if necessary.
10763
        (lang_decode_option): New argc/argv interface.
10764
        * tree.h (lang_decode_option): New argc/argv interface.
10765
        * toplev.c (lang_options): Add cpp options.
10766
        (main): New interface for lang_decode_option.
10767
        * gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
10768
        unless -E, -M or -MM is specified.
10769
        * cpplib.h (cpp_handle_option): New function.
10770
        * cpplib.c (cpp_handle_option): New function.
10771
        (cpp_handle_options): Now calls cpp_handle_option.
10772
        * c-tree.h (c_decode_option): New argc/argv interface.
10773
        * c-lex.c (init_parse): cpplib now initialized in c_decode_option.
10774
        * c-lang.c (lang_decode_option): New argc/argv interface.
10775
        * c-decl.c: Add cpplib declarations.
10776
        (c_decode_option): New argc/argv interface.
10777
        (c_decode_option): Call cpp_handle_option.
10778
        (c_decode_option): Now returns number of strings processed.
10779
 
10780
Wed Jun 10 09:47:13 1998  Richard Earnshaw  (rearnsha@arm.com)
10781
 
10782
        * unroll.c (verify_addresses): Use validate_replace_rtx to undo the
10783
        changes.  Abort if the undo fails.
10784
 
10785
1998-06-10  Vladimir N. Makarov  
10786
 
10787
        * config/rs6000/rs6000.c (output_prolog): Change locations and
10788
        directions of saving and restoring arguments of main on the stack.
10789
 
10790
Wed Jun 10 08:56:27 1998  John Carr  
10791
 
10792
        * reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
10793
        for each alternative.  Do not replace a CONST_INT with a REG unless
10794
        the reg is cheaper.
10795
 
10796
Wed Jun 10 02:11:55 1998  Jeffrey A Law  (law@cygnus.com)
10797
 
10798
        * decl.c (init_decl_processing): Fix typo.
10799
 
10800
        * mips.c (gpr_mode): New variable.
10801
        (override_options): Initialize gpr_mode.
10802
        (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
10803
        determine size and offset of general purpose registers save slots.
10804
        (save_restore_insns, mips_expand_prologue): Similarly.
10805
 
10806
        * reload.c (find_reloads_toplev): Use gen_lowpart common to convert
10807
        between constant representations when we have (SUBREG (REG)) with
10808
        REG equivalent to a constant.
10809
 
10810
Wed Jun 10 01:39:00 1998  Juha Sarlin  
10811
 
10812
        * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
10813
 
10814
Tue Jun  9 22:05:34 1998  Richard Henderson  
10815
 
10816
        * fold-const.c (fold): Even with otherwise constant trees, look for
10817
        opportunities to combine integer constants.
10818
 
10819
Wed Jun  3 23:41:24 1998  John Wehle  (john@feith.com)
10820
 
10821
        * i386.c (notice_update_cc): Clear cc_status.value2 in the
10822
        case of UNSPEC 5 (bsf).
10823
 
10824
        * i386.md (movsfcc, movdfcc, movxfcc): The floating point
10825
        conditional move instructions don't support signed integer
10826
        comparisons.
10827
 
10828
Tue Jun  9 14:31:19 1998  Nick Clifton  
10829
 
10830
        * config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
10831
        overflows.
10832
 
10833
        * config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
10834
        16,sp,sp' ratehr than 'add 16,sp'.  Patch courtesy of Biomedin
10835
        .
10836
 
10837
Tue Jun  9 16:23:13 1998  Andrew MacLeod  
10838
 
10839
        * except.c (expand_start_catch): Rename to start_catch_handler.
10840
        (expand_end_catch): Delete function.
10841
        (expand_end_all_catch): Remove catch status that expand_end_catch
10842
        use to do.
10843
        * except.h (expand_start_catch): Rename prototype.
10844
        (expand_end_catch): Delete prototype.
10845
 
10846
Tue Jun  9 12:57:32 1998  Mark Mitchell  
10847
 
10848
        * invoke.texi: Add documentation for -mips4 and -mabi=*.
10849
 
10850
Tue Jun  9 12:12:34 1998  Klaus Kaempf  (kkaempf@progis.de)
10851
 
10852
        * alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
10853
        (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.
10854
        (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
10855
 
10856
Tue Jun  9 12:10:27 1998  John Carr  
10857
 
10858
        * haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
10859
        as the threshold to permit splitting memory operations.
10860
 
10861
Tue Jun  9 12:36:16 1998  Jeffrey A Law  (law@cygnus.com)
10862
 
10863
        * mips.c (gpr_mode): New variable.
10864
        (override_options): Initialize gpr_mode.
10865
        (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
10866
        determine size and offset of general purpose registers save slots.
10867
        (save_restore_insns, mips_expand_prologue): Similarly.
10868
 
10869
        * Makefile.in (LIB2FUNCS_EH): Define.  Just "_eh" for now.
10870
        (LIBGCC2_CFLAGS): Remove -fexceptions.
10871
        (LIB2FUNCS): Remove "_eh".
10872
        (libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
10873
        it with -fexceptions.
10874
 
10875
        * Makefile.in (local-alloc.o): Depend on insn-attr.h.
10876
        * local-alloc.c (block_alloc): Avoid creating false
10877
        dependencies for targets which use instruction scheduling.
10878
 
10879
Tue Jun  9 02:40:49 1998  Richard Henderson  
10880
 
10881
        * mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
10882
        (ASM_FINISH_DECLARE_OBJECT): Define;
10883
        * mips/elf64.h: Likewise.
10884
 
10885
Tue Jun  9 01:08:47 1998  Richard Henderson  
10886
 
10887
        * toplev.c (flag_new_exceptions): Remove extraneous `extern'.
10888
 
10889
Mon Jun  8 23:24:48 1998  Jeff Law  (law@cygnus.com)
10890
 
10891
        * version.c: Bump for snapshot.
10892
 
10893
Mon Jun  8 23:24:58 1998  David Edelsohn  
10894
 
10895
        * rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
10896
        (mulsidi3_ppc64): Delete.
10897
 
10898
Mon Jun  8 20:57:40 1998  Kaveh R. Ghazi  
10899
 
10900
        * Makefile.in (varasm.o): Depend on dbxout.h.
10901
        (cse.o): Depend on toplev.h and output.h.
10902
        (gcse.o): Depend on output.h.
10903
 
10904
        * mips.c: Include system.h and toplev.h and remove redundant code.
10905
        Include output.h after tree.h so all its prototypes get activated.
10906
        * mips.md (table_jump): Remove unused variable `dest'.
10907
 
10908
        * sparc.h: Add prototype for `v8plus_regcmp_op'.
10909
 
10910
        * crtstuff.c (fini_dummy, init_dummy): Mark function definitions
10911
        with __attribute__ ((__unused__)).
10912
        (__frame_dummy): Provide prototype before use, wrap it with
10913
        EH_FRAME_SECTION_ASM_OP.
10914
 
10915
        * cse.c: Move inclusion of  above local headers.
10916
        Include toplev.h and output.h.
10917
 
10918
        * dbxout.h: Add prototype for `dbxout_begin_function'.
10919
 
10920
        * final.c (final_scan_insn): Wrap variable `max_skip' in macro
10921
        ASM_OUTPUT_MAX_SKIP_ALIGN.
10922
 
10923
        * gcse.c: Include system.h and output.h.
10924
        (dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
10925
        Make extern instead of static.
10926
        (compute_can_copy): Only declare variables `reg' and `insn' when
10927
        AVOID_CCMODE_COPIES is not defined.
10928
        (record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
10929
        (hash_scan_clobber): Likewise for `x' and `insn'.
10930
        (hash_scan_call): Likewise.
10931
        (record_last_set_info): Likewise for `setter'.
10932
        (mark_call): Likewise for `pat'.
10933
        (pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
10934
 
10935
        * libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
10936
        length parameter so that it multiplies the number of elements by
10937
        the sizeof(element).
10938
 
10939
        * output.h: Add prototype for `weak_finish'.
10940
 
10941
        * recog.h: Likewise for `validate_replace_src'.
10942
 
10943
        * rtl.h: Likewise for `optimize_save_area_alloca',
10944
        `fix_sched_param', `purge_addressof', `gcse_main',
10945
        `regmove_optimize', `dbr_schedule', `branch_prob' and
10946
        `end_branch_prob'.
10947
 
10948
        * toplev.h: Likewise for `set_float_handler' and
10949
        `output_quoted_string'.
10950
 
10951
        * varasm.c: Include dbxout.h.
10952
 
10953
Mon Jun  8 18:12:06 1998  Jim Wilson  
10954
 
10955
        * mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
10956
        GP_REG_P.  Use gr_regs instead of GR_REGS.
10957
 
10958
Mon Jun  8 16:54:12 1998  Ken Raeburn   
10959
                          Jeff Law      
10960
 
10961
        * Revamped multiply support for MIPS chips.
10962
        * mips.c (extend_operator): New function.
10963
        (highpart_shift_operator): Likewise.
10964
        * mips.h: Declare new functions.
10965
        (PREDICATE_CODES): Add support for new predicates.
10966
        * mips.md (mulsi3 expander): Simplify.
10967
        (mulsi_mult3): Add another constraint alternative.  Support
10968
        3 operand multiply instructions as found on various mips
10969
        parts.
10970
        (mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
10971
        (mul_acc_si): New pattern and associated splitters.
10972
        (mulsidi3 expander): Rework to use mulsidi3_64bit and
10973
        mulsidi3_internal.
10974
        (umulsidi3): New expander.
10975
        (mulsidi3_internal): Accept either sign or zero extended
10976
        operands and generate code as appropriate appropriately.
10977
        (mulsidi3_64bit): Similarly.
10978
        (smulsi3_highpart): Turn into an expander and generate code
10979
        to match new patterns.
10980
        (umulsi3_highpart): Likewise.
10981
        (xmulsi3_highpart_internal): New pattern.
10982
        (maddi patterns): Delete.  Replace with:
10983
        (mul_acc_di, mul-acc_64bit_di): New patterns.
10984
 
10985
Mon Jun  8 14:16:15 1998  Andrew MacLeod  
10986
 
10987
        * eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
10988
        flag_new_exceptions runtime flag.
10989
        (struct old_exception_table): New struct which represents what
10990
        the exception table looks like without the new model.
10991
        (NEW_EH_RUNTIME): New value used as a tag in the exception table to
10992
        flag that this is a new style table.
10993
        * except.h: Remove compile time flag NEW_EH_MODEL.
10994
        (expand_builtin_eh_stub_old): New prototype.
10995
        * tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
10996
        * expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
10997
        * c-decl.c (init_decl_processing): Add new builtin function
10998
        __builtin_eh_stub_old.
10999
        * final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
11000
        * flags.h (flag_new_exceptions): New runtime flag.
11001
        * toplev.c (flag_new_exceptions): Initialize default to 0,
11002
        -fnew-exceptions sets to 1.
11003
        * except.c (output_exception_table_entry): Output New style exception
11004
        identifier into table, and replace compile time flag NEW_EH_MODEL
11005
        with runtime flag flag_new_exceptions.
11006
        (output_exception_table): Replace compile time flag NEW_EH_MODEL.
11007
        (expand_builtin_eh_stub_old): Duplicates original functionality of
11008
        expand_builtin_eh_stub.
11009
        (expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
11010
        * libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
11011
        (old_find_exception_handler): New func, same as find_exception_handler
11012
        except it works on the old style exception table.
11013
        (__throw): Replace NEW_EH_MODEL. Detect new model based on presence
11014
        of identifier in the exception table, and call appropriate routines.
11015
 
11016
Mon Jun  8 01:21:13 1998  Jason Merrill  
11017
 
11018
        * function.c: Define current_function_cannot_inline.
11019
        (push_function_context_to): Save it.
11020
        (pop_function_context_from): Restore it.
11021
        * function.h (struct function): Provide it a home.
11022
        * output.h: Declare it.
11023
        * integrate.c (function_cannot_inline_p): Check it.
11024
 
11025
Mon Jun  8 10:43:15 1998  Richard Henderson  
11026
 
11027
        * expr.c (force_operand): Detect PIC address loads before
11028
        splitting arithmetic.
11029
 
11030
Mon Jun  8 09:22:38 1998  Jeff Law  (law@cygnus.com)
11031
 
11032
        * version.c: Bump for snapshot.
11033
 
11034
Mon Jun  8 02:55:56 1998  Graham  
11035
 
11036
        * tree.c (tree_class_check): Add braces to eliminate ambiguous
11037
        else warning.
11038
        (tree_check): Likewise.
11039
 
11040
Mon Jun  8 02:49:23 1998  H.J. Lu  (hjl@gnu.org)
11041
 
11042
        * reg-stack.c (subst_stack_regs_pat): Make sure the top of
11043
        stack is the destination for conditional move insn.
11044
 
11045
Mon Jun  8 01:21:13 1998  Jason Merrill  
11046
 
11047
        * tree.h (TREE_VEC_END): Cast unused value to void.
11048
 
11049
        * i386.c (print_operand): Use %lx for long operand.
11050
 
11051
Mon Jun  8 00:04:07 1998  Richard Henderson  
11052
 
11053
        * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
11054
 
11055
Sun Jun  7 14:15:45 1998  John Carr  
11056
 
11057
        * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
11058
        conversion functions.
11059
 
11060
Sun Jun  7 14:02:58 1998  Richard Henderson  
11061
 
11062
        * toplev.c (flag_exceptions): Default to 0.
11063
        (compile_file): Remove flag_exceptions == 2 hack.
11064
        (main): Call lang_init_options.
11065
        * tree.h: Declare it.
11066
        * c-lang.c: Implement it.
11067
        * objc/objc-act.c: Likewise.
11068
 
11069
Sun Jun  7 12:27:30 1998  David Edelsohn  
11070
 
11071
        * rs6000.md (restore_stack_block): Generate MEM and specify mode.
11072
        * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
11073
        * rs6000.c (rs6000_output_load_toc_table): Use fputs.
11074
        (output_function_profiler): Use asm_fprintf and fputs.
11075
 
11076
Sat Jun  6 12:17:12 1998  Kaveh R. Ghazi  
11077
 
11078
        * gencheck.c: Remove redundant stdio.h include.  Add a definition
11079
        of xmalloc for when we are forced to link with alloca.o.
11080
 
11081
        * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
11082
        instead of `1U'.
11083
 
11084
        * fold-const.c (constant_boolean_node): Make definition static to
11085
        match the prototype.
11086
 
11087
Fri Jun  5 15:53:17 1998  Per Bothner  
11088
 
11089
        * gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
11090
        (lang_specific_extra_outfiles): New LANG_SPECIFIC_DRIVER variable.
11091
        (do_spec, input_filename, input_filename_length): Make public.
11092
        (main): Adjust outfiles allocation by lang_specific_extra_outfiles.
11093
        Call lang_specific_pre_link befor elinking.
11094
 
11095
Fri Jun  5 12:29:28 1998  Jeffrey A Law  (law@cygnus.com)
11096
 
11097
        * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
11098
        the insn which has the most insns dependent on it.
11099
 
11100
Fri Jun  5 09:03:22 1998  John Carr  
11101
 
11102
        * alias.c (find_base_value): Avoid reading past end of reg_base_value.
11103
 
11104
Fri Jun  5 03:05:34 1998  Richard Henderson  
11105
 
11106
        * alpha.md (insxh-1): New insxl pattern for combine.
11107
 
11108
Fri Jun  5 01:12:15 1998  H.J. Lu  (hjl@gnu.org)
11109
 
11110
        * i386/i386.c (output_fp_conditional_move): New function
11111
        to output floating point conditional move.
11112
        (output_int_conditional_move): New function to output integer
11113
        conditional move.
11114
 
11115
        * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
11116
        output_int_conditional_move () to output int conditional move.
11117
        (movsfcc+5, movdfcc+5, movxfcc+5): Call
11118
        output_fp_conditional_move () to output floating point
11119
        conditional move.
11120
 
11121
        * i386/i386.c (put_condition_code): In INT mode, check
11122
        cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
11123
 
11124
Thu Jun  4 16:09:51 1998  Dave Brolley  
11125
 
11126
        * dbxout.c (dbxout_type): Output arrays of bits as if
11127
        they were bitstrings for Chill
11128
 
11129
Thu Jun  4 14:35:27 1998  David Edelsohn  
11130
 
11131
        * tree.c (get_inner_array_type): New function.
11132
        * tree.h (get_inner_array_type): Prototype.
11133
        * expr.h (STACK_SAVEAREA_MODE): New macro.
11134
        * expr.c (expand_builtin_setjmp): Initialize sa_mode using
11135
        STACK_SAVEAREA_MODE.
11136
        (expand_builtin_longjmp): Likewise.
11137
        * explow.c (emit_stack_save): Likewise.
11138
        (allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
11139
 
11140
        * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
11141
        (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
11142
        * rs6000/aix43.h: New file.
11143
        * rs6000/t-aix43: New file.
11144
        * rs6000/x-aix41: New file.
11145
        * rs6000/x-aix43: New file.
11146
        * configure.in (rs6000-ibm-aix*): Use them.
11147
        * rs6000/powerpc.h: Delete.
11148
        * rs6000/sysv4.h: Move necessary powerpc.h definitions to here,
11149
        * rs6000/netware.h: and here,
11150
        * rs6000/win-nt.h: and here.
11151
 
11152
        * rs6000/rs6000.c (processor_target_table, 620): Do not affect
11153
        MASK_POWERPC64.
11154
        (rs6000_override_options): Ignore flag_pic for AIX.
11155
        (rs6000_immed_double_const): Delete.
11156
        (u_short_cint_operand): Don't assume 32-bit CONST_INT.
11157
        (reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
11158
        (num_insns_constant): mask64_operand() is 2 insns.
11159
        (logical_operand): Don't assume 32-bit CONST_INT.
11160
        (non_logical_cint_operand): Don't assume 32-bit CONST_INT.
11161
        (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
11162
        (mask_constant): HOST_WIDE_INT parameter.
11163
        (non_and_cint_operand): Delete.
11164
        (mask64_operand): New function.
11165
        (and64_operand): New function.
11166
        (function_arg_advance): DImode arguments do not need special
11167
        alignment when 64-bit.
11168
        (function_arg): Likewise.
11169
        (setup_incoming_varargs): Reverse reg_size assignment.
11170
        (print_operand): HOST_WIDE_INT second parameter.
11171
        (print_operand, 'B'): New case.
11172
        (print_operand, 'M'): Fix typo in lossage string.
11173
        (print_operandm 'S'): New case.
11174
        (rs6000_stack_info): Reverse reg_size assignment.  Use total_raw_size
11175
        to compute AIX push_p.  Use reg_size to compute {cr,lr}_save_offset.
11176
        (rs6000_output_load_toc_table): Reverse init_ptr assignment.  Use
11177
        TARGET_64BIT not TARGET_POWERPC64.  Convert fprintf to fputs.
11178
        Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
11179
        (rs6000_allocate_stack_space): Use {cal|la}.
11180
        (output_epilog): Use {cal|la}
11181
        (output_function_profiler): Add call glue to mcount call.
11182
        Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
11183
 
11184
        * rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
11185
        (STACK_BOUNDARY): Depend on TARGET_32BIT.
11186
        (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
11187
        (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
11188
        (EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'.  Replace 'S' with
11189
        64-bit mask operand.
11190
        (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
11191
        (STACK_SAVEAREA_MODE): New macro.
11192
        (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
11193
        (LEGITIMIZE_RELOAD_ADDRESS): New macro.
11194
        (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
11195
        (ASM_FILE_START): Emit 64-bit ABI directive.
11196
        (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
11197
        (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
11198
        (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
11199
        Delete "non_and_cint_operand".  "input_operand" includes CONST_DOUBLE.
11200
 
11201
        * rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
11202
        Restore define_splits.
11203
        (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
11204
        (floatsidf2_internal, floatunssidf2_internal2): Likewise.
11205
        Do not specify base register operand mode.
11206
        (floatsidf2_loadaddr): Do not specify base register operand mode.
11207
        (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
11208
        register; do not specify mode.  Remove !TARGET_POWERPC64 final
11209
        constraint.
11210
        (floatsidf2_load): Do not specify base register operand mode.  Remove
11211
        !TARGET_POWERPC64 final constraint.
11212
        (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
11213
        base register operand mode.
11214
        (adddi3): Split large constants early.
11215
        (absdi3): Shift by 63, not 31.
11216
        (*mulsidi3_ppc64): New pattern.
11217
        (rotldi3): Add masking combiner patterns.
11218
        (anddi3): Add rldic{r,l} masking.  Remove split of large constants
11219
        because PPC insns zero-extend.
11220
        (iordi3, xordi3): Split large constants early.
11221
        (movsi matcher): Remove S and T constraints.
11222
        (movsf const_double): Create SImode constant from TARGET_DOUBLE.
11223
        (movdf_hardfloat32): Add default abort() case.
11224
        (movdf easy_fp_const): Create DImode constant from TARGET_DOUBLE.
11225
        (movdi): Remove 64-bit constant generator.  Try to convert
11226
        CONST_DOUBLE to CONST_INT.  Handle TOC memory constants.
11227
        (movdi_32): Add default abort() case.
11228
        (movdi_64): Add numerous ways to split 64-bit constants.
11229
        Make catch-all define_split more optimal and never FAIL.
11230
        (movti_ppc64): Add default abort() case.
11231
        (allocate_stack): Remove operand modes.  Use Pmode.
11232
        (restore_stack_block): Remove operand modes.  Generate Pmode
11233
        temporary.
11234
        (save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode
11235
        temporary.  Save area is double Pmode.
11236
        (call_indirect_aix64, call_value_indirect_aix64): New patterns.
11237
        (call, call_value): Do not specify address operand mode.  Choose
11238
        appropriate AIX ABI.
11239
        (*call_local64, *ret_call_local64): New patterns.
11240
        (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
11241
        (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
11242
        (compare): Materialize DImode truthvalues.
11243
 
11244
Thu Jun  4 01:26:57 1998  Craig Burley  
11245
 
11246
        * expr.c (safe_from_p): Avoid combinatorial explosion
11247
        over duplicate SAVE_EXPRs by ensuring we never recurse
11248
        on one that has already been visited.
11249
 
11250
Thu Jun  4 00:54:21 1998  Graham  
11251
 
11252
        * loop.c (check_dbra_loop): Initialize final_value before
11253
        normalizing the loop.
11254
 
11255
Wed Jun  3 20:00:04 1998  J"orn Rennecke  
11256
 
11257
        * reload1.c (reload_reg_free_for_value_p): New arguments out and
11258
        reloadnum.  Changed all callers.
11259
 
11260
1998-06-03  Ulrich Drepper  
11261
 
11262
        * system.h: Add _() and N_() macros in preparation for gettext.
11263
 
11264
Wed Jun  3 11:02:24 1998  Andreas Schwab  
11265
 
11266
        * c-common.c (check_format_info): Put back check for C9x `hh'
11267
        length modifier.  Warn about %n format writing into const.  Remove
11268
        obsolete comment.
11269
        (format_char_info): Fix comments.
11270
 
11271
        * configure.in: Set float_format to m68k for all m68k targets that
11272
        do not override LONG_DOUBLE_TYPE_SIZE.
11273
        * config/float-m68k.h: New file.
11274
 
11275
Tue Jun  2 23:14:01 1998  Richard Henderson  
11276
 
11277
        * jump.c (jump_optimize): Remove debug messages accidentally left in
11278
        with the previous change.
11279
 
11280
Tue Jun  2 22:46:08 1998  Richard Henderson  
11281
 
11282
        * expr.c (store_expr): Revert stray patch associated with
11283
        1998-05-23 commit.
11284
 
11285
Tue Jun  2 21:59:01 1998  Richard Henderson  
11286
 
11287
        * jump.c (rtx_unsafe_p): New function.
11288
        (jump_optimize): Use it on if/then/else transformations and
11289
        conditional move transformations.
11290
 
11291
Tue Jun  2 22:50:10 1998  Andreas Schwab  
11292
 
11293
        * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
11294
        or VAR-- == CONST construct a proper mask if VAR is a bitfield.
11295
        Cope with CONST being out of range for the bitfield.
11296
 
11297
Tue Jun  2 22:28:31 1998  Bernd Schmidt  
11298
 
11299
        * expr.c (emit_move_insn_1): When moving complex values in several
11300
        steps, emit a CLOBBER to show the destination dies.
11301
 
11302
Tue Jun  2 22:17:26 1998  Jeffrey A Law  (law@cygnus.com)
11303
 
11304
        * Makefile.in (site.exp): Use the object testsuite directory as
11305
        the temporary directory.
11306
 
11307
        * expr.c (expand_expr, case ADDR_EXPR): Handle taking the
11308
        address of an ADDRESSOF rtx.
11309
 
11310
1998-06-02  Mike Stump  
11311
 
11312
        * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
11313
        * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
11314
        * i960.md (ret, flush_register_windows): Define.
11315
        (nonlocal_goto): Likewise.  Nested function nonlocal gotos don't
11316
        work yet.
11317
        * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
11318
 
11319
Tue Jun  2 14:02:38 1998  Richard Henderson  
11320
 
11321
        * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
11322
        around an OSF/1 library bug wrt sign-extension of inputs.
11323
 
11324
Tue Jun  2 13:02:44 1998  Richard Henderson  
11325
 
11326
        * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
11327
 
11328
Mon Jun  1 03:44:03 1998  Catherine Moore  
11329
 
11330
        * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
11331
 
11332
        * varasm.c (assemble_variable): Augment alignment warning.
11333
 
11334
Mon Jun  1 12:14:28 1998  Michael Meissner  
11335
 
11336
        * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
11337
        in the presence of IEEE negative 0's.
11338
 
11339
Sun May 31 16:11:41 1998  John Wehle  (john@feith.com)
11340
 
11341
        * reload.c (find_reloads): Record the existing mode if
11342
        operand_mode == VOIDmode before replacing a register with
11343
        a constant.
11344
        * i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
11345
        i386_compare_op1 to const0_rtx for the benefit of the
11346
        conditional move patterns.
11347
        (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
11348
        based on suggestions from Jim Wilson.
11349
 
11350
Sun May 31 00:44:02 1998  Jeff Law  (law@cygnus.com)
11351
 
11352
        * version.c: Bump for snapshot.
11353
 
11354
Sun May 31 00:34:17 1998  Bruce Korb  
11355
 
11356
        * Makefile.in (fixinc.sh): Update rules again.
11357
 
11358
Sun May 31 00:27:47 1998  Jeffrey A Law  (law@cygnus.com)
11359
 
11360
        * extend.texi: Bring back reference to trampoline paper.
11361
 
11362
Sun May 31 00:22:34 1998  Ulrich Drepper  
11363
 
11364
        * Makefile.in (USER_H): Add stdbool.h.
11365
        * ginclude/stdbool.h: New file.
11366
 
11367
Fri May 29 01:48:25 1998  Jeffrey A Law  (law@cygnus.com)
11368
 
11369
        * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
11370
        of a non-note insn.
11371
 
11372
        * gcse.c (pre_delete): Fix code to determine the mode of
11373
        the reaching pseudo register.
11374
 
11375
Fri May 29 01:07:28 1998  Bernd Schmidt  
11376
 
11377
        * Makefile.in (GEN): Add gencheck.
11378
        (STAGESTUFF): Add tree-check.h and gencheck.
11379
 
11380
Fri May 29 00:57:37 1998  Bruce Korb  
11381
 
11382
        * Makefile.in (cstamp-h.in): Remove before trying to recreate.
11383
        (fixinc.sh): Set some additional environment variables before
11384
        calling mkfixinc.sh.
11385
 
11386
Thu May 28 12:57:05 1998  Jeffrey A Law  (law@cygnus.com)
11387
 
11388
        * reload.c (find_reloads): Do not force a reloads of match_operators.
11389
 
11390
Thu May 28 10:22:22 1998  Andrew MacLeod  
11391
 
11392
        * except.h (remove_handler): Add new prototype.
11393
        * except.c (remove_handler): New function to remove handlers
11394
        from an exception region.
11395
        * flow.c (find_basic_blocks_1): Remove handlers from regions when
11396
        handler label is deleted; remove exception regions with no handlers.
11397
 
11398
Thu May 28 09:36:39 1998  Michael Meissner  
11399
 
11400
        * except.h (rtx): Define rtx type correctly if needed.
11401
        * function.h (rtx): Likewise.
11402
        (tree): Define tree type correctly if needed.
11403
 
11404
        * c-pragma.c (toplevel): Include rtl.h.
11405
 
11406
        * stor-layout.c (toplevel): Move include of rtl.h before
11407
        except.h.
11408
 
11409
        * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
11410
        (tree.o): Add except.h dependency.
11411
 
11412
Wed May 27 22:02:40 1998  Jeffrey A Law  (law@cygnus.com)
11413
 
11414
        * reload1.c: Revert accidental checkin.
11415
 
11416
        * configure.lang: Fix thinko when adding a definition for
11417
        target_alias to the Makefile.
11418
 
11419
Wed May 27 02:50:00 1998  Catherine Moore  (clm@cygnus.com)
11420
 
11421
        * config/sparc/lb1spc.asm (.rem and .urem): Replace
11422
        routines.
11423
 
11424
Wed May 27 02:48:31 1998  Richard Earnshaw  (rearnsha@arm.com)
11425
 
11426
        * arm.c (arm_gen_constant): Rework to eliminate uninitialized
11427
        variable warnings.  Don't generate scratch registers if only
11428
        counting insns.
11429
        (find_barrier): Eliminate unused variable SRC.
11430
 
11431
1998-05-27  Manfred Hollstein  
11432
 
11433
        * toplev.h (rtx_def): Provide global declaration to avoid
11434
        `limited scope' warnings.
11435
 
11436
Tue May 26 23:47:52 1998  Mumit Khan  
11437
 
11438
        * Makefile.in (gencheck.o): Use HOST_CC.
11439
        * i386/t-mingw32: New file.
11440
        * configure.in (i386-*-mingw32*): Use.
11441
 
11442
Tue May 26 07:31:04 1998  Richard Earnshaw  (rearnsha@arm.com)
11443
 
11444
        * arm.c (bad_signed_byte_operand): New predicate function.
11445
        * arm.h (PREDICATE_CODES): Add it to the list.
11446
        * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
11447
        can't handle.
11448
        (define_split): Two new splits for above insns.
11449
 
11450
        * arm.c: Include toplev.h.
11451
        (arm_override_options): Add parentheses around use of tune_flags.
11452
        (arm_split_constant): Remove unused variable.
11453
        (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
11454
        (output_func_prologue, arm_expand_prologue): Likewise.
11455
        (arm_canonicalize_comparison): Make I unsigned; rework constants
11456
        accordingly.  Add missing parentheses around << operation.
11457
        (arm_rtx_costs): Correctly parenthesize MULT costs.  Add a DEFAULT
11458
        clause.
11459
        ({load,store}_multiple_sequence): Initialize BASE_REG.
11460
        (select_dominance_cc_mode): Add DEFAULT clauses.
11461
        (broken_move): Return zero if the destination is not a register.
11462
        (arm_reorg): Move unused REGNO declaration into the dead code.
11463
        * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
11464
 
11465
Mon May 25 22:49:56 1998  Jeff Law  (law@cygnus.com)
11466
 
11467
        * version.c: Bump for snapshot.
11468
 
11469
Mon May 25 11:56:24 1998  Jeff Law  (law@cygnus.com)
11470
 
11471
        * version.c: Bump for snapshot.
11472
 
11473
Mon May 25 14:00:13 1998  Dave Brolley  
11474
 
11475
        * cpperror.c (v_cpp_message): Remove static prototype.
11476
        * cpplib.c (v_cpp_message): Move prototype to cpplib.h.
11477
        * cpplib.h (v_cpp_message): Add protoptype.
11478
        (stdarg.h,varargs.h): Needed for v_cpp_message prototype.
11479
 
11480
Sun May 24 20:36:15 1998  Jeff Law  (law@cygnus.com)
11481
 
11482
        * version.c: Bump for snapshot.
11483
 
11484
Sun May 24 02:08:57 1998  Jeff Law  (law@cygnus.com)
11485
 
11486
        * version.c: Bump for snapshot.
11487
 
11488
1998-05-24  Andreas Schwab  
11489
 
11490
        * m68k.h: Declare more functions used in macros.
11491
        (REG_CLASS_CONTENTS): Completely embrace initializer.
11492
        * m68k.md (adddi3, subdi3): Add abort call to avoid warning
11493
        about returning no value.
11494
        * cse.c (find_best_addr): Declare p and found_better only if
11495
        needed.
11496
        * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
11497
        * dwarfout.c (string_length_attribute): #if 0 away.
11498
        * function.c (expand_function_end): Define varible blktramp only
11499
        if needed.
11500
        * jump.c (find_insert_position): Define only if !HAVE_cc0.
11501
        * loop.c (combine_givs_p): Define variable tem only if needed.
11502
        * real.c: Comment out unused functions eabs, eround,
11503
        e{24,53,64,113}toasc and eiinfin.
11504
 
11505
Sat May 23 23:44:53 1998  Alexandre Oliva  
11506
 
11507
        * Makefile.in (boostrap2-lean, bootstrap3-lean,
11508
        bootstrap4-lean): New targets.
11509
 
11510
Sat May 23 23:35:14 1998  Jeffrey A Law  (law@cygnus.com)
11511
 
11512
        * warn_summary, test_summary: Moved into the contrib directory.
11513
 
11514
1998-05-23  Manfred Hollstein  
11515
 
11516
        * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
11517
        of the Makefile.
11518
        (FLOAT_H_TEST): Likewise.
11519
        (ENQUIRE): Likewise.
11520
        (float.h-nat): Likewise.
11521
        (float.h-cross): Likewise.
11522
        (enquire): Likewise.
11523
        (enquire.o): Likewise.
11524
        (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
11525
        (stmp-headers): Move actions to stmp-int-hdrs, retaining only a
11526
        no-op.
11527
        (FLOAT_H): Remove old float.h-nat version; move current definition
11528
        to CROSS_FLOAT_H location.
11529
        (all.cross): Remove comments about enquire stuff.
11530
 
11531
        * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
11532
        (rest.encap): Likewise.
11533
        (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
11534
 
11535
        * toplev.h (tree_node): Provide global declaration to avoid
11536
        `limited scope' warnings.
11537
 
11538
Sat May 23 23:23:35 1998  Robert Lipe  
11539
 
11540
        * test_summary: Display section breaks for each entry
11541
        in a multilibbed target's output.
11542
 
11543
1998-05-23  Richard Henderson  
11544
 
11545
        * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
11546
        offset's mode is not ptr_mode, convert it.
11547
 
11548
1998-05-22  Jason Merrill  
11549
 
11550
        * fold-const.c (ssize_binop): New fn.
11551
        * tree.h: Declare it.
11552
 
11553
Fri May 22 03:42:05 1998  Richard Earnshaw  (rearnsha@arm.com)
11554
 
11555
        * genextract.c (print_path): Handle zero-length path as a special
11556
        case.
11557
 
11558
Fri May 22 01:38:07 1998  Hans-Peter Nilsson  
11559
 
11560
        * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
11561
 
11562
Fri May 22 00:57:00 1998  Bernd Schmidt  (crux@pool.informatik.rwth-aachen.de>
11563
 
11564
        * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
11565
        (shorten_branches, final_scan_insn): Test value of
11566
        JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
11567
        is defined.
11568
        * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
11569
        * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
11570
        * arm/tcoff.h: Likewise.
11571
        * i386/386bsd.h: Likewise.
11572
        * i386/freebsd-elf.h: Likewise.
11573
        * i386/freebsd.h: Likewise.
11574
        * i386/netbsd.h: Likewise.
11575
        * i386/ptx4-i.h: Likewise.
11576
        * i386/sysv4.h: Likewise.
11577
        * pa/pa.h: Likewise.
11578
        * rs6000/linux.h: Likewise.
11579
        * rs6000/rs6000.h: Likewise.
11580
        * sh/sh.h: Likewise.
11581
        * sparc/sp64-elf.h: Likewise.
11582
        * v850/v850.h: Likewise.
11583
        * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
11584
        * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
11585
 
11586
Thu May 21 19:50:13 1998  J"orn Rennecke  
11587
 
11588
        * regmove.c (gen_add3_insn): New function.
11589
        (fixup_match_2): Use it instead of calling gen_addsi3.
11590
 
11591
Thu May 21 23:09:50 1998  Jeffrey A Law  (law@cygnus.com)
11592
 
11593
        * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
11594
 
11595
        * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
11596
        address.
11597
 
11598
Thu May 21 20:18:13 1998  Martin von Löwis  
11599
 
11600
        * Makefile.in (TREE_H): Add tree-check.h.
11601
        (tree-check.h, gencheck): New targets.
11602
        * gencheck.c: New file.
11603
        * tree.c (tree_check, tree_class_check): New functions.
11604
        * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
11605
        (TYPE_CHECK, DECL_CHECK): Define.
11606
        Modify all access macros to use generated checking macros.
11607
 
11608
Wed May 20 23:44:28 1998  John Wehle  (john@feith.com)
11609
 
11610
        * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
11611
        * configure.in: Check for it.
11612
        * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
11613
        * final.c (uid_align, uid_shuid, label_align): Make static.
11614
        (label_align): Change type to struct label_alignment pointer.
11615
        (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
11616
        (LABEL_TO_MAX_SKIP): Define.
11617
        (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
11618
        LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
11619
        (shorten_branches): Record the maximum bytes to skip when
11620
        aligning a label.
11621
        (final_scan_insn): Use the maximum bytes to skip when aligning a label
11622
        if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
11623
        * i386.h (LOOP_ALIGN_MAX_SKIP,
11624
        LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
11625
        * i386.c (override_options): i386_align_jumps and i386_align_loops
11626
        default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
11627
        * invoke.texi: Document new i386 align-loops and align-jumps behavior.
11628
 
11629
1998-05-21  Mark Mitchell  
11630
 
11631
        * cplus-dem.c (do_type): Handle volatile qualification.
11632
 
11633
Thu May 21 12:23:17 1998  Per Bothner  
11634
 
11635
        * function.c (init_function_start): Don't call emit_line_note if
11636
        lineno is 0.  (Can happen when compiling Java .class files.)
11637
 
11638
Thu May 21 19:50:13 1998  J"orn Rennecke  
11639
 
11640
        * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
11641
        end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
11642
 
11643
Thu May 21 19:32:27 1998  J"orn Rennecke  
11644
 
11645
        * combine.c (nonzero_bits): For paradoxical subregs, take
11646
        LOAD_EXTENDED_OP into account.
11647
 
11648
Thu May 21 11:51:15 1998  Dave Brolley  
11649
 
11650
        * configure.in (extra_c_objs): Add prefix.o.
11651
        (extra_cxx_objs): Extra objects for C++ with cpplib.
11652
        * configure: Regenerate.
11653
 
11654
        * c-tree.h (get_directive_line): Different prototype for cpplib.
11655
        (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
11656
 
11657
        * c-lex.h (get_directive_line): Not needed here for cpplib.
11658
 
11659
        * c-lex.c (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
11660
        (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
11661
 
11662
        * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
11663
        (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
11664
 
11665
Thu May 21 09:04:42 1998  Kaveh R. Ghazi  
11666
 
11667
        * gengenrtl.c (type_from_format, accessor_from_format): Change
11668
        type of parameter `c' from `char' to `int'.
11669
 
11670
Wed May 20 22:28:34 1998  Jeffrey A Law  (law@cygnus.com)
11671
 
11672
        * warn_summary, test_summary: New scripts from
11673
        Kaveh Ghazi and Alexandre Oliva respectively.
11674
 
11675
        * gcse.c (current_function_calls_longjmp): Declare.
11676
 
11677
1998-05-20  Jason Merrill  
11678
 
11679
        * dwarf2out.c (base_type_die): Use int_size_in_bytes.
11680
 
11681
Wed May 20 01:11:02 1998  Doug Evans  (devans@cygnus.com)
11682
                          Jeff Law  (law@cygnus.com)
11683
 
11684
        * Global CSE and constant/copy propagation.
11685
        * Makefile.in (OBJS): Add gcse.o.
11686
        (STAGESTUFF): Add *.gcse.
11687
        (gcse.o): Add dependencies.
11688
        (mostlyclean): Remove *.gcse and */*.gcse.
11689
        * gcse.c: New file.
11690
        * loop.c (loop_optimize): Move call to init_alias_analysis.
11691
        * recog.c (validate_replace_src): New function.
11692
        * toplev.c (gcse_dump): New global variable.
11693
        (flag_gcse, gcse_time): Likewise.
11694
        (compile_file): Initialize gcse_time and clean out the gcse dump
11695
        file if necessary.
11696
        (rest_of_compilation): Call gcse_main as requested.  Dump RTL
11697
        after gcse if requested.
11698
        (main): Enable gcse for -O2 and above.  Handle -dG.  Enable gcse
11699
        dumps for -da.
11700
        * gcc.texi: Add gcse related internal documentation.
11701
        * invoke.texi: Note new command line options for gcse.
11702
        * tm.texi: Document AVOID_CCMODE_COPIES.
11703
        * mips.h (AVOID_CCMODE_COPIES): Define.
11704
 
11705
Tue May 19 22:31:20 1998  Jeffrey A Law  (law@cygnus.com)
11706
 
11707
        * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
11708
        exists.
11709
        (stmp-fixproto): Simlarly for running fixproto.
11710
        * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
11711
 
11712
Tue May 19 19:08:52 1998  Jim Wilson  
11713
 
11714
        * config/mips/mips.c (double_memory_operand): Accept any MEM during
11715
        reload when TARGET_64BIT.
11716
 
11717
Tue May 19 18:21:25 1998  Jim Wilson  
11718
 
11719
        Finish incomplete change started by Kenner.
11720
        * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
11721
        (powerpcle-*-cygwin32): Delete xm_defines.
11722
        * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
11723
        HAVE_STAB_H instead of NO_STAB_H.
11724
        * config/xm-linux.h (NO_STAB_H): Delete.
11725
        (HAVE_STAB_H): Undefine.
11726
        * config/i386/xm-go32.h (NO_STAB_H): Delete.
11727
 
11728
1998-05-19  Jim Wilson  
11729
 
11730
        * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
11731
        LANG_TYPE trees with DECL_SOURCE_LINE of 0.
11732
 
11733
Tue May 19 15:07:54 1998  Todd Vierling  
11734
 
11735
        * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
11736
 
11737
Tue May 19 17:19:16 1998  J"orn Rennecke  
11738
 
11739
        * reload1.c (reload_reg_free_for_value_p): New function.
11740
        (allocate_reload_reg, choose_reload_regs): Use it.
11741
 
11742
Tue May 19 11:51:00 1998  Andrew MacLeod  (amacleod@cygnus.com)
11743
 
11744
        * except.c (expand_start_catch): Correct logic for when to
11745
        generate a new handler label, and when to use the old one.
11746
 
11747
Tue May 19 11:08:52 1998  Kaveh R. Ghazi  
11748
 
11749
        * Makefile.in (print-rtl.o): Depend on bitmap.h.
11750
        (dbxout.o): Depend on toplev.h.
11751
        ($(SCHED_PREFIX)sched.o): Likewise.
11752
        ($(out_object_file)): Likewise for system.h and toplev.h.
11753
        (cppmain.o): Depend on gansidecl.h.
11754
        (cpplib.o): Likewise.
11755
        (cpperror.o): Likewise.
11756
        (cppexp.o): Likewise.
11757
        (cpphash.o): Likewise.
11758
        (cppalloc.o): Likewise.
11759
        (fix-header.o): Depend on cpplib.h and cpphash.h.
11760
        (scan-decls.o): Depend on gansidecl.h.
11761
 
11762
        * basic-block.h (free_regset_vector): Add prototype.
11763
 
11764
        * cccp.c (check_precompiled): Mark parameter `fname' with
11765
        ATTRIBUTE_UNUSED.
11766
        (do_assert): Likewise for `op' and `keyword'.
11767
        (do_unassert): Likewise.
11768
        (do_line): Likewise for `keyword'.
11769
        (do_error): Likewise for `op' and `keyword'.
11770
        (do_warning): Likewise.
11771
        (do_ident): Likewise for `keyword'.
11772
        (do_pragma): Likewise for `limit', `op' and `keyword'.
11773
        (do_sccs): Likewise.
11774
        (do_if): Likewise for `keyword'.
11775
        (do_elif): Likewise.
11776
        (do_else): Likewise.
11777
        (do_endif): Likewise.
11778
 
11779
        * collect2.c (getenv): Remove redundant prototype.
11780
        (collect_exit, collect_execute, dump_file): Likewise.
11781
        (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
11782
        (dump_prefix_list): Hide prototype and definition.
11783
 
11784
        * sparc.c: Include toplev.h.
11785
        (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
11786
        (symbolic_memory_operand): Likewise.
11787
        (sp64_medium_pic_operand): Likewise.
11788
        (data_segment_operand): Likewise.
11789
        (text_segment_operand): Likewise.
11790
        (splittable_symbolic_memory_operand): Likewise.
11791
        (splittable_immediate_memory_operand): Likewise.
11792
        (eq_or_neq): Likewise.
11793
        (normal_comp_operator): Likewise.
11794
        (noov_compare_op): Likewise.
11795
        (v9_regcmp_op): Likewise.
11796
        (v8plus_regcmp_op): Likewise.
11797
        (extend_op): Likewise.
11798
        (cc_arithop): Likewise.
11799
        (cc_arithopn): Likewise.
11800
        (small_int): Likewise.
11801
        (uns_small_int): Likewise.
11802
        (clobbered_register): Likewise.
11803
        (legitimize_pic_address): Likewise.
11804
        (delay_operand): Likewise.
11805
        (sparc_builtin_saveregs): Remove unused variable `stdarg'.
11806
 
11807
        * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
11808
        sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
11809
 
11810
        * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
11811
 
11812
        * cppalloc.c: Include gansidecl.h.
11813
 
11814
        * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
11815
        (cpp_file_line_for_message): Mark parameter `pfile' with
11816
        ATTRIBUTE_UNUSED.
11817
        (v_cpp_message): New function.
11818
        (cpp_message): Use it.  Also convert to variable arguments.
11819
        (cpp_fatal): Likewise.
11820
        (cpp_pfatal_with_name): Constify parameter `name'.
11821
 
11822
        * cppexp.c: Move gansidecl.h before cpplib.h.
11823
        * cpphash.c: Likewise.
11824
        * cpphash.h (hashf, delete_macro): Add prototypes.
11825
 
11826
        * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
11827
        cpplib.h.  Don't include errno.h.
11828
        (update_path): Add arguments to prototype.
11829
        (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
11830
        cpp_print_containing_files): Remove redundant prototypes.
11831
        (cpp_hash_cleanup, add_import, append_include_chain,
11832
        make_assertion, path_include, initialize_builtins,
11833
        initialize_char_syntax, finclude, validate_else, comp_def_part,
11834
        lookup_import, redundant_include_p, is_system_include,
11835
        read_name_map, read_filename_string, open_include_file,
11836
        check_macro_name, compare_defs, compare_token_lists,
11837
        eval_if_expression, change_newlines): Add prototype arguments.
11838
        (hashf): Remove redundant prototype.
11839
        (read_token_list, free_token_list, safe_read, xcalloc, savestring,
11840
        conditional_skip, skip_if_group): Add prototype arguments.
11841
        (fdopen): Remove redundant prototype.
11842
        (do_define, do_line, do_include, do_undef, do_error, do_pragma,
11843
        do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
11844
        do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
11845
        (struct directive): Add prototype arguments to function pointer
11846
        member `func'.
11847
        (handle_directive): Add missing arguments to call to `do_line'.
11848
        (do_include): Mark parameters `unused1' and `unused2' with
11849
        ATTRIBUTE_UNUSED.
11850
        (do_line): Likewise for `keyword' and new parameters `unused1' and
11851
        `unused2'.
11852
        (do_error): Likewise for `keyword'.
11853
        (do_warning): Likewise.  Also add missing argument `pfile' in call
11854
        to cpp_pedwarn.
11855
        (do_once): Mark parameter `keyword', `unused1' and `unused2' with
11856
        ATTRIBUTE_UNUSED.
11857
        (do_ident): Likewise for `keyword', `buf' and `limit'.
11858
        (do_pragma): Likewise.  Also add missing arguments in call to do_once.
11859
        (do_sccs): Mark parameter `keyword', `buf' and `limit' with
11860
        ATTRIBUTE_UNUSED.
11861
        (do_if): Likewise for `keyword'.
11862
        (do_elif): Likewise.
11863
        (eval_if_expression): Likewise for `buf' and `length'.
11864
        (do_xifdef): Likewise for `unused1' and `unused2'.
11865
        (do_else): Likewise for `keyword', `buf' and `limit'.
11866
        (do_endif): Likewise.
11867
        (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
11868
        (cpp_handle_options): Remove superfluous NULL argument in call to
11869
        cpp_fatal.
11870
        (cpp_handle_options): Likewise.
11871
        (do_assert): Mark parameter `keyword', `buf' and `limit' with
11872
        ATTRIBUTE_UNUSED.
11873
        (do_unassert): Likewise.
11874
        (cpp_print_file_and_line): Add missing argument `pfile' in call to
11875
        cpp_file_line_for_message.
11876
        (v_cpp_error): New function.
11877
        (cpp_error): Use it. Also accept variable arguments.
11878
        (v_cpp_warning): New function.
11879
        (cpp_warning): Use it. Also accept variable arguments.
11880
        (cpp_pedwarn): Accept variable arguments.
11881
        (v_cpp_error_with_line): New function.
11882
        (cpp_error_with_line): Use it.  Accept variable arguments.
11883
        (v_cpp_warning_with_line): New function.
11884
        (cpp_warning_with_line): Use it.  Accept variable arguments.  Hide
11885
        definition.
11886
        (cpp_pedwarn_with_line): Accept variable arguments.
11887
        (cpp_pedwarn_with_file_and_line): Likewise.
11888
        (cpp_error_from_errno): Constify parameter `name'.  Add missing
11889
        argument `pfile' in call to cpp_file_line_for_message.
11890
        (cpp_perror_with_name): Constify parameter `name'.
11891
 
11892
        * cpplib.h: Define PARAMS() in terms of PROTO().
11893
        (fatal): Remove redundant prototype.
11894
        (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
11895
        cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
11896
        cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
11897
        cpp_fatal, cpp_message, cpp_pfatal_with_name,
11898
        cpp_file_line_for_message, cpp_print_containing_files): Add
11899
        arguments to prototypes.
11900
        (scan_decls, cpp_finish): Add prototypes.
11901
 
11902
        * cppmain.c: Include gansidecl.h.
11903
        (main): Remove unused variable `i'.
11904
 
11905
        * dbxout.c: Include toplev.h.
11906
 
11907
        * demangle.h (do_tlink, collect_execute, collect_exit,
11908
        collect_wait, dump_file, file_exists): Add prototype.
11909
 
11910
        * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
11911
        prototype and definition.
11912
        (gen_unspecified_parameters_die): Don't assign results of call to
11913
        function new_die() to unused variable `parm_die'.
11914
        (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
11915
        (dwarf2out_define): Likewise for `lineno' and `buffer'.
11916
 
11917
        * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
11918
        prototype and definition.
11919
        (output_die): Add prototype arguments to function pointer arg.
11920
        (output_unspecified_parameters_die): Mark parameter `arg' with
11921
        ATTRIBUTE_UNUSED.
11922
 
11923
        * except.c (output_exception_table_entry): Remove unused variable
11924
        `eh_entry'.
11925
 
11926
        * except.h (expand_fixup_region_start, expand_fixup_region_end):
11927
        Add prototypes.
11928
 
11929
        * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
11930
 
11931
        * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
11932
 
11933
        * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
11934
        before cpplib.h, include cpphash.h, remove redundant prototype of
11935
        cpp_fatal, don't define `const', add a prototype for `fatal'.
11936
        (cpp_file_line_for_message): Add missing arguments `pfile'.
11937
        (v_cpp_message): New function.
11938
        (cpp_message): Use it.
11939
        (v_fatal): New function.
11940
        (fatal, cpp_fatal): Use it.
11941
        (cpp_pfatal_with_name): Constify parameter `name'.
11942
 
11943
        * flow.c (free_regset_vector): Remove redundant prototype.
11944
 
11945
        * function.c (round_down): Wrap prototype and definition with
11946
        macro ARGS_GROW_DOWNWARD.
11947
        (record_insns): Wrap prototype and definition with
11948
        defined (HAVE_prologue) || defined (HAVE_epilogue).
11949
 
11950
        * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
11951
 
11952
        * gen-protos.c: Include gansidecl.h.
11953
        (hashf): Don't make it static, constify parameter `name'.
11954
 
11955
        * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
11956
        specifier %s in calls to function `fatal'.
11957
 
11958
        * haifa-sched.c: Include toplev.h.
11959
        (find_rgns): Remove unused variable `j'.
11960
 
11961
        * integrate.c (note_modified_parmregs): Mark parameter `x' with
11962
        ATTRIBUTE_UNUSED.
11963
        (mark_stores): Likewise.
11964
 
11965
        * jump.c (mark_modified_reg): Likewise.
11966
 
11967
        * output.h (insn_current_reference_address): Add prototype.
11968
        (eh_frame_section): Likewise.
11969
 
11970
        * print-rtl.c: Include bitmap.h.
11971
 
11972
        * reload1.c (reload): Wrap variables `note' and `next' in macro
11973
        PRESERVE_DEATH_INFO_REGNO_P.
11974
        (forget_old_reloads_1): Mark parameter `ignored' with
11975
        ATTRIBUTE_UNUSED.
11976
        (choose_reload_regs): Remove unused variable `in'.
11977
        (reload_cse_invalidate_mem): Mark parameter `ignore' with
11978
        ATTRIBUTE_UNUSED.
11979
        (reload_cse_check_clobber): Likewise.
11980
 
11981
        * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
11982
        (mark_elimination): Fix typo in prototype.
11983
 
11984
        * scan-decls.c: Include gansidecl.h.
11985
 
11986
        * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
11987
 
11988
Mon May 18 22:37:33 1998  Jeffrey A Law  (law@cygnus.com)
11989
 
11990
        * function.c (identify_blocks): Fix thinko when setting the
11991
        block number for NOTE_INSN_BLOCK_END.
11992
 
11993
Mon May 18 15:30:42 1998  Nick Clifton  
11994
 
11995
        * config/v850/lib1funcs.asm: Add .text pseudo op to start of
11996
        ___udivsi3.
11997
 
11998
        * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
11999
        underscores for the prefixes to the names of the maths functions.
12000
 
12001
        * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE.  Add
12002
        comment explaining why.
12003
 
12004
Mon May 18 13:20:23 1998  Richard Henderson  
12005
 
12006
        * tree.h (TYPE_SIZE_UNIT): New.
12007
        (struct tree_type): Add size_unit member.
12008
        * stor-layout.c (layout_type): Initialize it.
12009
        * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
12010
        * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
12011
 
12012
Mon May 18 12:07:37 1998  Richard Earnshaw  (rearnsha@arm.com)
12013
 
12014
        * stor-layout.c (layout_record): Fix off-by-one error when checking
12015
        length of the TYPE_BINFO vector.
12016
 
12017
Mon May 18 10:59:23 1998  Nick Clifton  
12018
 
12019
        * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
12020
        function parameter passed in memory.
12021
 
12022
Mon May 18 09:02:09 1998  Robert Lipe  
12023
 
12024
        * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h: New files.
12025
        Prototypes for externally used functions in respective C files.
12026
        * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
12027
        final.c: Include above files.
12028
        * Makefile.in (toplev.o): Add dependency for above four headers.
12029
        (final.o): Likewise.
12030
        (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
12031
        respective header files.
12032
 
12033
Mon May 18 01:23:33 1998  Jeffrey A Law  (law@cygnus.com)
12034
 
12035
        * Makefile.in (TARGET_TOOLPREFIX): No longer define.
12036
        (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
12037
        the build tree if they exist.
12038
        (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
12039
        appropriately.
12040
        (objdir): Let configure substitute value.
12041
        (FLOAT_H): Let configure select a pre-built version from the
12042
        config subdir.
12043
        * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
12044
        * configure.in: Substitute for objdir.
12045
 
12046
        * Makefile.in (build_canonical, host_canonical): Let configure
12047
        substitute values for these variables.
12048
        * configure.in: Substitute for build_canonical, host_canonical
12049
        and target_subdir in generated Makefile.
12050
 
12051
        * output.h (find_basic_blocks): Declare.
12052
        (free_basic_block_vars, set_block_num, life_analysis): Likewise.
12053
 
12054
        * Makefile.in (BISON): Use bison from the build tree if it exists.
12055
        (FLEX): Similarly.
12056
 
12057
Mon May 18 00:08:19 1998  Nick Clifton  
12058
 
12059
        * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
12060
        (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
12061
        (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
12062
        command line arguments to see if an executable is not being
12063
        created, and if so - do not append the suffix.
12064
 
12065
        * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
12066
        driver macro.
12067
 
12068
Sun May 17 23:59:45 1998  John Wehle  (john@feith.com)
12069
 
12070
        * i386.h (ALIGN_DFmode): Delete.
12071
        (CONSTANT_ALIGNMENT): Define.
12072
        * varasm.c (force_const_mem): Use it.
12073
 
12074
Sun May 17 19:31:05 1998  Richard Henderson  
12075
 
12076
        * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
12077
        using it with swap_condition, not before.
12078
 
12079
Sun May 17 13:44:32 1998  Jim Wilson  
12080
 
12081
        * alias.c (mode_alias_check): Delete.
12082
        (true_dependence, anti_dependence, output_dependence): Revert April 21
12083
        change.
12084
 
12085
Sun May 17 08:45:21 1998  Krister Walfridsson  
12086
 
12087
        * toplev.c (output_lang_identify): Enable prototype and definition.
12088
 
12089
Sun May 17 01:12:27 1998  Jeff Law  (law@cygnus.com)
12090
 
12091
        * version.c: Bump for snapshot.
12092
 
12093
Sat May 16 23:20:32 1998  Richard Henderson  
12094
 
12095
        * alpha/osf.h (HAVE_STAMP_H): Define.
12096
        * alpha.c: Use it.
12097
        * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
12098
        * configure.in (alpha*-*-netbsd*): New.
12099
        Based on patches from Paul H. Anderson .
12100
 
12101
        * configure.in (alpha*-*-linux-*): Kill xm_defines.
12102
        (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
12103
        * alpha/xm-linux.h: Remove file.
12104
 
12105
Sat May 16 18:32:45 1998  Doug Evans  
12106
 
12107
        * dbxout.c (dbxout_parms): If mode of type of parameter living
12108
        in memory doesn't match mode of DECL_RTL, make big endian correction.
12109
 
12110
Fri May 15 21:40:06 1998  John Wehle  (john@feith.com)
12111
 
12112
        * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
12113
 
12114
Fri May 15 18:55:22 1998  Jason Merrill  
12115
 
12116
        * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
12117
        * stor-layout.c (layout_record): Set it.
12118
 
12119
Fri May 15 18:49:30 1998  Mark Mitchell  
12120
 
12121
        * toplev.c (rest_of_compilation): Don't defer nested functions.
12122
 
12123
Fri May 15 17:42:52 1998  Bob Manson  
12124
 
12125
        * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
12126
        to an 8-byte boundary if info_ptr->fpmem_p.
12127
 
12128
Fri May 15 17:36:11 1998  Bill Moyer  
12129
 
12130
        * loop.c (basic_induction_var): Added test preventing
12131
        CCmode parameter passed to convert_modes().
12132
 
12133
Fri May 15 17:26:18 1998  Alexandre Petit-Bianco  
12134
 
12135
        * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
12136
        input_filename and lineno around expand_expr call.  Set them to values
12137
        in WFL before expand_expr call.
12138
 
12139
Fri May 15 12:44:57 1998  Benjamin Kosnik  
12140
 
12141
        * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
12142
 
12143
Fri May 15 07:20:03 1998  Mark Mitchell  
12144
 
12145
        * fold-const.c (constant_boolean_node): New function.
12146
        (fold): Use it.
12147
 
12148
Fri May 15 11:21:16 1998  J"orn Rennecke  
12149
 
12150
        * sh.c (gen_shl_and): Don't sign extend constant for kind two.
12151
        Abort if trying to split kind 3 or 4 outside of combine.
12152
 
12153
Fri May 15 01:47:37 1998  Jeffrey A Law  (law@cygnus.com)
12154
 
12155
        * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
12156
 
12157
Fri May 15 01:42:45 1998  Mumit Khan  
12158
 
12159
        * objc/Make-lang.in (OBJC_O): Add missing exeext.
12160
        (libobjc.a, runtime-info.h): Likewise.
12161
 
12162
Fri May 15 01:29:39 1998  John Wehle  (john@feith.com)
12163
 
12164
        * i386.h (DATA_ALIGNMENT): Define.
12165
 
12166
Fri May 15 05:35:37 1998  J"orn Rennecke  
12167
 
12168
        * reload1.c (delete_output_reload): Ignore single USE that
12169
        was emitted for the pseudo use of this INSN.
12170
        If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
12171
        remains, we can always delete OUTPUT_RELOAD_INSN.
12172
 
12173
Thu May 14 18:38:50 1998  Jim Wilson  
12174
 
12175
        * reload.c (find_reloads): Don't penalize SCRATCH output reload.
12176
 
12177
Thu May 14 15:10:30 1998  Jeffrey A Law  (law@cygnus.com)
12178
 
12179
        * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
12180
 
12181
Thu May 14 16:30:47 1998  Andrew MacLeod  
12182
 
12183
        * eh-common.h: New file for basic EH data structures.
12184
        * except.h: Various prototypes and structures for NEW_EH_MODEL.
12185
        * function.h (struct function): Add a struct eh_stack for the catch
12186
        clause stack.
12187
        * except.c (gen_exception_label): New function to generate an
12188
        exception label.
12189
        (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
12190
        (push_entry): New function to push an existing entry onto a stack.
12191
        (receive_exception_label): New function to emit the code required
12192
        at the start of all catch blocks.
12193
        (struct func_eh_entry): New structure for maintaining handlers
12194
        associated with EH regions.
12195
        (new_eh_region_entry): New function to register an EH region.
12196
        (add_new_handler): New function to register a handler with a region.
12197
        (get_new_handler): Creates  anew handler entry for registering.
12198
        (find_func_region): New function to convert a NOTE eh region number
12199
        to an Eh region index.
12200
        (get_first_handler): New function to get the first handler in a region.
12201
        (clear_function_eh_region): New function to release memory.
12202
        (duplicate_handlers): New function to duplicate a list of handlers.
12203
        (expand_eh_region_end): Create a new region entry node as well.
12204
        (expand_leftover_cleanups): Call receive_exception_label() and
12205
        register the cleanup as a handler to the current region.
12206
        (expand_start_catch): New function to start a catch clause.
12207
        (expand_end_catch): New function to end a catch clause.
12208
        (expand_start_all_catch): Restructure to not do the equivalent of
12209
        what expand_start_catch() does now. Push the exception region being
12210
        handled onto the catch stack.
12211
        (output_exception_table_entry): Issue an entry for each handler
12212
        associated with a region.
12213
        (set_exception_lang_code): New function for setting the language code.
12214
        (set_exception_version_code): New function to set the version number.
12215
        (output_exception_table): Output version and language codes.
12216
        (find_exception_handler_labels): Find handler labels using new scheme.
12217
        (is_exception_handler_label): New function, returns 1 if label is
12218
        present as a handler in some exception region.
12219
        (check_exception_handler_labels): Use the new scheme.
12220
        (init_eh_for_function): Initialize the catch stack.
12221
        (save_eh_status): Save the catch stack.
12222
        (restore_eh_status): Restore the catch stack.
12223
        (scan_region): Don't remove unreferenced handler label. Flow does it.
12224
        (get_reg_for_handler): New function to get the eh_context pointer
12225
        passed by __throw.
12226
        (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
12227
        * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
12228
        entry when processing END region rather that START region.
12229
        * flow.c (find_basic_blocks_1): Find all potential handler regions
12230
        now that we don't automatically know what the labels might be.
12231
        Let scan_region() remove unreferenced EH BEGIN/END labels.
12232
        * integrate.c (get_label_from_map): Put inlined labels onto the
12233
        permanent obstack since we don't know which ones might be exception
12234
        labels.
12235
        (save_for_inline_copying): Make new copies of all the handlers.
12236
        (expand_inline_function): Make new copies of all the handlers.
12237
        * libgcc2.c: Remove local struct decls, and include eh-common.h.
12238
        (find_exception_handler): With NEW_EH_MODEL the first matching
12239
        region we find is the right one. Add eh_info as a new parameter.
12240
        (__throw): Pass eh_info to find_exception_handler. Set handler
12241
        and pass use different regs  under NEW_EH_MODEL.
12242
 
12243
Thu May 14 12:58:21 1998  Jim Wilson  
12244
 
12245
        * i960.h (hard_regno_mode_ok): Changed to function from array of
12246
        unsigned.
12247
        (HARD_REGNO_MODE_OK): Call function instead of testing bit.
12248
        * i960.c (hard_regno_mode_ok): Changed to function from array of
12249
        unsigned.
12250
 
12251
Thu May 14 08:41:46 1998  J"orn Rennecke  
12252
 
12253
        * reload.c (remove_replacements): New function.
12254
        * reload.h (remove_replacements): Declare.
12255
        * reload1.c (choose_reload_regs): Disable some reloads that
12256
        belong to inherited reloads.
12257
 
12258
Thu May 14 02:17:17 1998  J"orn Rennecke  
12259
 
12260
        * loop.c (scan_loop): Don't call move_movables for optimize_size.
12261
 
12262
        * reload1.c (merge_assigned_reloads): When merging, reset
12263
        reload_spill_index for the eliminated reload.
12264
 
12265
Wed May 13 17:51:13 1998  Jeffrey A Law  (law@cygnus.com)
12266
 
12267
        * haifa-sched.c (schedule_insns): Fix merge goof.
12268
 
12269
1998-05-13  Jim Wilson  
12270
 
12271
        * varasm.c (make_decl_rtl): Revert April 1 change.
12272
        * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
12273
        m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
12274
        Get function name from the SYMBOL_REF in the DECL_RTL, not from
12275
        DECL_ASSEMBLER_NAME.
12276
        * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
12277
        DECL_ASSEMBLER_NAME.
12278
 
12279
Wed May 13 13:09:19 1998  Jim Wilson  
12280
 
12281
        * i386.c (notice_update_cc, output_float_compare): Disable
12282
        TARGET_CMOVE support.
12283
 
12284
Wed May 13 15:28:59 1998  Michael Meissner  
12285
                          Jeff Law  
12286
 
12287
        * rtlanal.c (find_reg_note): Ignore notes that are not on on
12288
        insns of class 'i'.
12289
        (find_regno_note): Likewise.
12290
 
12291
        * Makefile.in (stor-layout.o): Depend on except.h.
12292
        (varasm.o, function.o): Likewise.
12293
        (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
12294
 
12295
        * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
12296
        (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
12297
        ($(HOST_PREFIX_1)rtl.o): Likewise.
12298
        ($(HOST_PREFIX_1)bitmap.o): New host object.
12299
        * emit-rtl.c (toplevel): Include bitmap.h.
12300
        (gen_rtx): Handle 't' and 'b' nodes.
12301
        * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
12302
        Print block number for block begin/end notes.  Print 't' type
12303
        nodes as a pointer.  Know that the 3rd argument of live range
12304
        start/stop notes is really a range_info rtx.  If type is 'b', print
12305
        out argument as a bitmap.
12306
        * rtl.c: Include bitmap.c.
12307
        (copy_rtx): Copy tree nodes as is.  Copy bitmaps if type is 'b'.
12308
        (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
12309
        * rtl.def (RANGE_LIVE): New node to hold live information while we
12310
        recalculate the basic blocks.
12311
        (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
12312
        (RANGE_VAR): New node, to hold information saved in symbol node for New
12313
        communicating live range information to the debug output functions.
12314
        * rtl.h (rtunion_def): Add rttree and rtbit fields.
12315
        (XBITMAP, XTREE): New accessor macros.
12316
        (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
12317
        (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
12318
        (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
12319
        (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
12320
        (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
12321
        (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
12322
        (RANGE_INFO_*): Likewise.
12323
        * sched.c (sched_analyze): Keep live range start/stop notes.
12324
        (unlink_other_notes): Likewise.
12325
        * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
12326
        (unlink_other_notes): Likewise.
12327
        * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
12328
        (BLOCK_LIVE_RANGE_FLAG): Likewise.
12329
        (DECL_LIVE_RANGE_RTL): Likewise.
12330
        (struct tree_block): Add live_range_flag, live_range_var_flag,
12331
        live_range_start and live_range_end.
12332
        (struct tree_decl): Add live_range_rtl field.
12333
        * gengenrtl.c (type_from_format): Handle 'b' and 't'.
12334
        (accessor_from_format): Likewise.
12335
 
12336
        * haifa-sched.c (schedule_block): Make verbose output line up.
12337
        Also add a blank line in printing the individual ready lists.
12338
 
12339
Wed May 13 15:43:44 1998  Kaveh R. Ghazi  
12340
 
12341
        * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
12342
        (c-lex.o): Depend on output.h.
12343
        (c-common.o): Likewise.
12344
        (stmt.o): Likewise.
12345
        (calls.o): Likewise.
12346
        (integrate.o): Depend on toplev.h.
12347
        (regclass.o): Depend on output.h.
12348
        (final.o): Depend on reload.h.
12349
 
12350
        * c-common.c: Include output.h.
12351
        (check_format_info): Remove unused variable `integral_format'.
12352
 
12353
        * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
12354
        `indent' with ATTRIBUTE_UNUSED.
12355
        (print_lang_type): Likewise.
12356
        (maybe_build_cleanup): Likewise for parameter `decl'.
12357
        (copy_lang_decl): Likewise for parameter `node'.
12358
 
12359
        * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
12360
        (lang_print_xnode): Mark parameters `file', `node' and `indent'
12361
        with ATTRIBUTE_UNUSED.
12362
        (lookup_interface): Likewise for parameter `arg'.
12363
        (is_class_name): Likewise.
12364
        (maybe_objc_check_decl): Likewise for parameter `decl'.
12365
        (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
12366
        `reflexive'.
12367
        (maybe_objc_method_name): Likewise for parameter `decl'.
12368
        (build_objc_string): Likewise for parameters `len' and `str'.
12369
 
12370
        * c-lex.c: Include output.h.
12371
 
12372
        * c-lex.h (position_after_white_space): Correct typo in prototype.
12373
 
12374
        * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
12375
        c_expand_end_cond, init_iterators): Add prototypes.
12376
 
12377
        * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
12378
        with ATTRIBUTE_UNUSED.
12379
 
12380
        * calls.c: Include output.h.
12381
 
12382
        * cccp.c (pipe_closed): Mark parameter `signo' with
12383
        ATTRIBUTE_UNUSED.
12384
 
12385
        * combine.c: Move inclusion of expr.h to after insn-config.h.
12386
 
12387
        * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
12388
        as empty, rather define as ((void)0).
12389
 
12390
        * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
12391
        Add parentheses around assignment used as truth value.
12392
 
12393
        * cplus-dem.c (squangle_mop_up): Change return type to void.
12394
        (internal_cplus_demangle): Remove unused parameter `options'.
12395
        All callers changed.
12396
        (cplus_demangle_opname): Remove function wide variable `int i' and
12397
        replace with `size_t i' at each location where it is used.
12398
        (cplus_demangle_opname): Change type of `i' from int to size_t.
12399
 
12400
        * cppexp.c (right_shift): Mark parameter `pfile' with
12401
        ATTRIBUTE_UNUSED.
12402
 
12403
        * cpphash.c (cpp_lookup): Likewise.
12404
        (cpp_hash_cleanup): Likewise.
12405
 
12406
        * cpplib.c (parse_name): Add a prototype and make it static.
12407
        (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
12408
        (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
12409
        (macro_cleanup): Likewise for parameter `pfile'.
12410
        (file_cleanup): Likewise.
12411
 
12412
        * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
12413
        cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
12414
 
12415
        * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
12416
        __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
12417
 
12418
        * cse.c (cse_check_loop_start): Mark parameter `set' with
12419
        ATTRIBUTE_UNUSED.
12420
 
12421
        * dbxout.c (flag_minimal_debug, have_used_extensions,
12422
        source_label_number): Move inside macro wrapper check against
12423
        defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
12424
 
12425
        * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
12426
 
12427
        * except.h (doing_eh): Provide prototype.
12428
 
12429
        * expr.c: Move inclusion of expr.h to after insn-config.h.
12430
 
12431
        * final.c: Include reload.h.
12432
        (shorten_branches): Cast the first argument of bzero to char *.
12433
 
12434
        * fix-header.c (cpp_print_containing_files): Mark parameter
12435
        `pfile' with ATTRIBUTE_UNUSED.
12436
        (cpp_fatal): Likewise.
12437
 
12438
        * flow.c (find_basic_blocks_1): Cast the first argument of bzero
12439
        to char *.
12440
 
12441
        * genattrtab.c (make_length_attrs): Change the type of variable
12442
        `i' from int to size_t.
12443
        (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
12444
        (one_fn): Likewise.
12445
 
12446
        * genextract.c (main): When generating insn-extract.c, mark
12447
        variable `junk' with ATTRIBUTE_UNUSED.
12448
 
12449
        * gengenrtl.c (gencode): When generating genrtl.c, cast the first
12450
        argument of bzero to char*.
12451
 
12452
        * integrate.c: Include toplev.h.
12453
 
12454
        * libgcc2.c: Wrap `struct exception_table' and
12455
        `find_exception_handler' in macro DWARF2_UNWIND_INFO.
12456
 
12457
        * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
12458
 
12459
        * objc/objc-act.c: Include toplev.h.
12460
        (lang_print_xnode): Mark parameters `file', `node' and `indent'
12461
        with ATTRIBUTE_UNUSED.
12462
        (finish_protocol): Likewise for parameter `protocol'.
12463
 
12464
        * output.h (declare_weak): Add prototype.
12465
        (decode_reg_name): Don't wrap with TREE_CODE macro.
12466
        (assemble_alias): Add prototype.
12467
 
12468
        * regclass.c: Include output.h.
12469
 
12470
        * reload.h (reloads_conflict): Add prototype.
12471
 
12472
        * rtl.h (print_rtl_single, mark_elimination, reg_class_subset_p,
12473
        output_func_start_profiler): Add prototypes.
12474
 
12475
        * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
12476
        ATTRIBUTE_UNUSED.
12477
 
12478
        * scan-decls.c: Include scan.h.
12479
 
12480
        * scan.h (recognized_function, recognized_extern): Add prototypes.
12481
 
12482
        * stmt.c: Include output.h.
12483
 
12484
        * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
12485
        (output_lang_identify): Hide prototype and definition.
12486
        (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
12487
        (pipe_closed): Likewise.
12488
 
12489
        * toplev.h (count_error, strip_off_ending, error_for_asm,
12490
        warning_for_asm): Add prototypes.
12491
 
12492
Wed May 13 12:54:19 1998  Michael Meissner  
12493
 
12494
        * toplev.c (rest_of_compilation): "Charge" final for any time
12495
        doing various cleanup operations after finishing compilation
12496
        of a function.
12497
 
12498
        * flow.c (dump_flow_info): Also print number of sets and
12499
        whether or not the pseudo is a user variable.
12500
 
12501
        * flow.c (reg_n_max): New global variable.
12502
        * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
12503
        Delete regno_max variable.
12504
        * regs.h (REG_N_CHECK): Define.
12505
        (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
12506
        (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
12507
        (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
12508
 
12509
Wed May 13 12:54:19 1998  Martin von Löwis  
12510
 
12511
        * acconfig.h (ENABLE_CHECKING): Undefine.
12512
        * configure.in (--enable-checking): New option.
12513
 
12514
Wed May 13 08:52:08 1998  J"orn Rennecke  
12515
 
12516
        * reload1.c (merge_assigned_reloads): Can merge
12517
        RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
12518
        if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
12519
 
12520
Tue May 12 20:05:57 1998  Jim Wilson  
12521
 
12522
        * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
12523
 
12524
Wed May 13 03:23:45 1998  J"orn Rennecke  
12525
 
12526
        * reload1.c (gen_reload): Create REG_EQUIV notes.
12527
 
12528
Tue May 12 22:21:07 1998  J"orn Rennecke  
12529
 
12530
        * reload1.c (reload): Fix check for USEs to use code of pattern.
12531
        (choose_reload_regs): Remove dead variable use_insn.
12532
 
12533
Tue May 12 14:04:49 1998  Jeffrey A Law  (law@cygnus.com)
12534
 
12535
        * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
12536
 
12537
Tue May 12 15:16:02 1998  Michael Meissner  
12538
 
12539
        * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
12540
        already defined.
12541
        (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
12542
        (insn_{unit,issue_delay}): Likewise.
12543
        (blockage_range): Likewise.
12544
        (actual_hazard{,_this_instance}): Likewise.
12545
        (schedule_unit): Likewise.
12546
        (potential_hazard): Likewise.
12547
        (insn_cost): Likewise.
12548
        (swap_sort): Likewise.
12549
        (queue_insn): Likewise.
12550
        (birthing_insn_p): Likewise.
12551
        (adjust_priority): Likewise.
12552
        (get_block_head_tail): Likewise.
12553
        (init_rgn_data_dependences): Likewise.
12554
 
12555
Tue May 12 10:27:54 1998  Klaus Kaempf  
12556
 
12557
        * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
12558
 
12559
Tue May 12 11:44:14 1998  Gavin Koch  
12560
 
12561
        * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
12562
 
12563
Tue May 12 11:38:31 1998  Gavin Koch  
12564
 
12565
        * config/mips/mips.md (dslot): Move after definition of "cpu"
12566
        attribute.  Handle r3900 case.
12567
 
12568
Tue May 12 10:21:36 1998  Kaveh R. Ghazi  
12569
 
12570
        * system.h: Define the STRINGIFY macro here.
12571
        * protoize.c: Not here.
12572
        * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
12573
 
12574
Tue May 12 00:47:33 1998  John Wehle  (john@feith.com)
12575
 
12576
        * varasm.c (assemble_variable): Compute the alignment of the data
12577
        earlier so that both initialized and uninitialized variables are
12578
        effected by DATA_ALIGNMENT.
12579
        * tm.texi (DATA_ALIGNMENT): Updated appropriately.
12580
 
12581
Mon May 11 19:57:58 1998  Jeffrey A Law  (law@cygnus.com)
12582
 
12583
        * mips.c: Prototype static functions.
12584
 
12585
Mon May 11 17:43:03 1998  Jim Wilson  
12586
 
12587
        * regmove.c (fixup_match_2, find_matches, regmove_profitable):
12588
        Add explanatory comments.
12589
 
12590
        * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
12591
 
12592
Mon May 11 17:24:27 1998  Richard Henderson  
12593
 
12594
        * sparc.md (ffsdi2): Disable.  Simplify the expression as well.
12595
 
12596
Mon May 11 13:30:44 1998  Jim Wilson  
12597
 
12598
        * varasm.c (make_decl_rtl): Disable April 1 change.
12599
 
12600
Mon May 11 09:14:41 1998  Richard Henderson  
12601
 
12602
        * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
12603
 
12604
Mon May 11 08:24:18 1998  Richard Henderson  
12605
 
12606
        * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
12607
        * alpha.c (print_operand): Handle it.
12608
        * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
12609
        related define_splits.  Also add peepholes for SImode reload
12610
        plus sign_extend lossage.
12611
 
12612
Mon May 11 09:33:10 1998  Kaveh R. Ghazi  
12613
 
12614
        * genattr.c: Include stdarg.h/varargs.h.  Change function
12615
        `fatal' to use variable arguments instead of faking it with
12616
        integer parameters.  Provide a prototype which also
12617
        checks the format specifiers using ATTRIBUTE_PRINTF_1.
12618
 
12619
        * genattrtab.c: Likewise.
12620
        * gencodes.c: Likewise.
12621
        * genconfig.c: Likewise.
12622
        * genemit.c: Likewise.
12623
        * genextract.c: Likewise.
12624
        * genflags.c: Likewise.
12625
        * genopinit.c: Likewise.
12626
        * genpeep.c: Likewise.
12627
        * genrecog.c: Likewise.
12628
        * genoutput.c: Likewise.  Similarly for function `error'.
12629
 
12630
Sun May 10 02:27:03 1998  Kaveh R. Ghazi  
12631
 
12632
        * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
12633
        * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
12634
        * configure.in: Use GCC_C_VOLATILE.
12635
        * system.h (volatile): Define as empty if no volatile support is
12636
        available.
12637
 
12638
Sun May 10 01:21:43 1998  Jeffrey A Law  (law@cygnus.com)
12639
 
12640
        * genemit.c (output_add_clobbers): Removed unused variable 'i' from
12641
        generated function.
12642
 
12643
Sat May  9 02:02:15 1998  Richard Henderson  
12644
 
12645
        * loop.c (get_condition): Don't combine when either compare is MODE_CC.
12646
        * alpha.c (alpha_emit_conditional_branch): New function.  Taken from
12647
        the body of beq; additionally set the mode of the branch to CCmode for
12648
        FP compares and not fast_math.
12649
        (alpha_emit_conditional_move): Always use a compare insn for FP
12650
        when not fast_math, as well as setting CCmode on the cmov.
12651
        * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
12652
 
12653
        * machmode.h (COMPLEX_MODE_P): New macro.
12654
 
12655
Sat May  9 01:53:23 1998  Richard Henderson  
12656
 
12657
        * haifa-sched.c (print_exp): Fix typo.
12658
 
12659
Fri May  8 21:48:50 1998  Jeff Law  (law@cygnus.com)
12660
 
12661
        * version.c: Bump for snapshot.
12662
 
12663
Fri May  8 18:23:08 1998  Michael Meissner  
12664
 
12665
        * final.c (final_scan_insn): Call fatal_insn instead of abort if
12666
        we could not split an insn when required to.
12667
 
12668
        * m32r.md ({add,sub}di3): Add define_splits and appropriate low
12669
        level insns.
12670
        (peepholes): Disable peepholes that call dead_or_set_p.
12671
        (movsi): Rewrite to handle addresses better after last change.
12672
        Add define_split to split load of addresses in large/medium modes.
12673
        (prologue): Call m32r_expand_prologue.
12674
        (movsi_{push,pop}): Generators for push/pop.
12675
        (movsi): Support PRE_{INC,DEC}, POST_INC.
12676
        (mov{di,df}): Rewrite.  Always split the insns.
12677
        (movsf): Add define_split to get register load in correct mode.
12678
        (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
12679
        (attributes): Rewrite attributes so that type indicates both the
12680
        type and the length of the insn directly.
12681
        (all insns): Change to use new type attributes.
12682
        (debug): New attribute to convey whether -mdebug was used.
12683
        (opt_space): New attribute to convey whether -Os was used.
12684
        (function units): Loads are 3 cycles, not 2.  Better classify all
12685
        insns into short/long.
12686
        (load/store/extend insns): Add separate case for load/store
12687
        indirect operations without an offset.
12688
        (divsi3): Division is a long operation, not short.
12689
 
12690
        * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
12691
        modes > 1 word.
12692
        (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
12693
        (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
12694
        (EXTRA_CONSTRAINT): Remove 'S' special support.  Add 'U' for
12695
        operands with PRE_{INC,DEC}, POST_INC.
12696
        (FUNCTION_PROFILER): Call abort instead of doing nothing.
12697
        (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
12698
        SImode variables.
12699
        (gen_split_move_double): Declare.
12700
        (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
12701
 
12702
        * m32r.c (gen_split_move_double): Fix typo.  Also, don't call
12703
        emit_move_insn, build up SET's directly.
12704
        (toplevel): Include system.h, not stdio.h.
12705
        (move_double_src_operand): Allow any DF or DI mode constant.
12706
        (gen_split_move_double): Split moves of DI or DF values into the
12707
        appropriate moves, loads, or stores.  Don't handle use of auto
12708
        inc/dec if using dead index.  Do handle overlapping moves, etc.
12709
        (m32r_frame_info): Remove prologue_size field.
12710
        (m32r_compute_frame_size): Don't calculate prologue size.
12711
        (m32r_output_function_prologue): Change to pretty much a NOP.
12712
        (m32r_expand_prologue): Expand prologue as a series of INSNs.
12713
        (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
12714
        (m32r_print_operand_address): Likewise.
12715
 
12716
Fri May  8 14:13:21 1998  H.J. Lu  (hjl@gnu.org)
12717
 
12718
        * reload1.c (emit_reload_insns): When performing expensive
12719
        optimizations, do not output the last reload insn if OLD is
12720
        not the dest of NSN and is in the src and is clobbered by INSN.
12721
 
12722
Fri May  8 09:47:29 1998  Kaveh R. Ghazi  
12723
 
12724
        * Makefile.in (genrtl.o): Depend on system.h.
12725
        * gengenrtl.c (gencode): When creating genrtl.c, have it
12726
        include system.h.
12727
 
12728
Fri May  8 10:57:33 1998  Andreas Schwab  
12729
 
12730
        * config/m68k/t-linux: Remove extra stuff already included in
12731
        config/t-linux.
12732
 
12733
Fri May  8 09:53:24 1998  Paul Eggert  
12734
 
12735
        * fixinc.wrap: Renamed from fixinc.math.  Put wrapper around
12736
        curses.h if it contains `typedef char bool;', as suggested by
12737
        Manfred Hollstein .
12738
 
12739
        * configure.in: Rename fixinc.math to fixinc.wrap.
12740
 
12741
Thu May  7 19:26:34 1998  Jim Wilson  
12742
 
12743
        * gcc.c (read_specs): Handle missing blank line at end of specs file.
12744
 
12745
        * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
12746
        movdfcc_1): Disable.
12747
 
12748
Thu May  7 15:39:14 1998  Jim Wilson  
12749
 
12750
        * configure.in (enable_threads): Rename to enable_threads_flag before
12751
        main loop.  Set enable_threads to enable_threads_flag inside main
12752
        loop.
12753
 
12754
Thu May  7 17:38:03 1998  Michael Meissner  
12755
 
12756
        * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
12757
        multiple times.
12758
 
12759
Thu May  7 14:26:05 1998  Kaveh R. Ghazi  
12760
 
12761
        * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
12762
 
12763
        * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
12764
        (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
12765
        (AC_CHECK_FUNCS): Remove unused check for vprintf.
12766
 
12767
        * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
12768
        (cccp.o): Depend on gansidecl.h.
12769
        (cexp.o): Likewise.
12770
 
12771
        * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
12772
        per the rest of gcc source.
12773
        * cexp.y: Likewise.  Include gansidecl.h and remove all code made
12774
        redundant.
12775
 
12776
        * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
12777
        used when vfprintf is missing.
12778
        * cexp.y: Likewise.
12779
        * gcc.c: Likewise.
12780
        * genattrtab.c: Likewise.
12781
        * mips-tfile.c: Likewise.
12782
        * toplev.c: Likewise.
12783
 
12784
        * vfprintf.c: New file.
12785
        * doprint.c: New file.
12786
 
12787
Thu May  7 10:18:41 1998  Jeffrey A Law  (law@cygnus.com)
12788
 
12789
        * config/linux.h (ASM_COMMENT_START): Remove from here,
12790
        * config/linux-aout.h (ASM_COMMENT_START): and here,
12791
        * config/i386/linux.h (ASM_COMMENT_START): to here,
12792
        * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
12793
        * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
12794
        here as '#' too.
12795
 
12796
Thu May  7 10:55:59 1998  Andreas Schwab  
12797
 
12798
        * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
12799
        constant.
12800
 
12801
Wed May  6 22:32:37 1998  Robert Lipe  
12802
 
12803
        * Makefile.in (dwarfout.o): Add toplev.h dependency.
12804
        * dwarfout.c, i386.c: Include toplev.h.
12805
        * toplev.h (pfatal_with_name): Add prototype.
12806
 
12807
Wed May  6 19:02:29 1998  Jason Merrill  
12808
 
12809
        * Makefile.in: Fix .SUFFIXES.
12810
 
12811
Wed May  6 19:31:32 1998  Alan Modra  
12812
 
12813
        * config/linux.h (ASM_COMMENT_START): Define as "#".
12814
        * config/linux-aout.h (ASM_COMMENT_START): Likewise.
12815
 
12816
Wed May  6 15:51:39 1998  Jim Wilson  
12817
 
12818
        * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
12819
        * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
12820
 
12821
        * toplev.c: Include toplev.h.
12822
        * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
12823
        c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
12824
        dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
12825
        hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
12826
        reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
12827
        toplev.h dependency.
12828
 
12829
        * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
12830
        HARD_FRAME_POINTER_REGNUM.
12831
 
12832
        * expr.c (target_temp_slot_level): Delete duplicate definition.
12833
 
12834
Wed May  6 16:46:01 1998  Jeffrey A Law  (law@cygnus.com)
12835
 
12836
        * stmt.c (mark_seen_cases): Make it have external linkage again.
12837
        * expr.h (mark_seen_cases): Add declaration, but only when tree.h
12838
        has been included.
12839
 
12840
        * haifa-sched.c (print_value, case SUBREG): Fix typo.
12841
 
12842
        * i386.c (output_387_binary_op): Add some braces to avoid warnings.
12843
        * i386.h (REG_CLASS_CONTENTS): Similarly.
12844
 
12845
        * toplev.c (-fsched-max): Delete flag.
12846
        (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
12847
        * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
12848
        and -fsched-interblock-max-insns-N support.  Remove INTERBLOCK_DEBUG
12849
        conditionals.
12850
 
12851
        * haifa-sched.c (find_rgns): Correctly handle reducible loops with
12852
        inner loops which are not reducible.
12853
 
12854
        * loop.c (regs_match_p): Fix typo in prototype.
12855
 
12856
        * regmove.c (try_auto_increment): Wrap declaration inside an
12857
        #ifdef AUTO_INC_DEC.
12858
 
12859
Wed May  6 17:07:47 1998  Michael Meissner  
12860
 
12861
        * final.c (output_operand_lossage): Call fatal with the operand
12862
        lossage message instead of calling abort.
12863
 
12864
Wed May  6 15:37:27 1998  Kaveh R. Ghazi  
12865
 
12866
        * c-common.c: Convert to using ctype macros defined in system.h.
12867
        * c-lex.c: Likewise.
12868
        * cccp.c: Likewise.
12869
        * collect2.c: Likewise.
12870
        * rs6000.c: Likewise.
12871
        * cpplib.c: Likewise.
12872
        * fix-header.c: Likewise.
12873
        * gcc.c: Likewise.
12874
        * gen-protos.c: Likewise.
12875
        * pexecute.c: Likewise.
12876
        * protoize.c: Likewise.
12877
        * rtl.c: Likewise.
12878
        * scan.c: Likewise.
12879
        * stmt.c: Likewise.
12880
        * tlink.c: Likewise.
12881
        * toplev.c: Likewise.
12882
 
12883
Wed May  6 14:44:14 1998  Gavin Koch  
12884
 
12885
        * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
12886
        Replace -gdwarf-2 with -g0.
12887
 
12888
Wed May  6 11:43:18 1998  Kaveh R. Ghazi  
12889
 
12890
        * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
12891
        * mips-tdump.c: Include system.h, remove redundant headers.
12892
        * mips-tfile.c: Likewise.  Also, convert all ctype function calls
12893
        to calls of the macro versions defined in system.h.
12894
 
12895
        * objc/Make-lang.in (objc-act.o): Depend on system.h.
12896
        * objc/objc-act.c: Include system.h, remove redundant headers.
12897
 
12898
Wed May  6 11:21:06 1998  Kaveh R. Ghazi  
12899
 
12900
        * configure.in (AC_CHECK_FUNCS): Add isascii.
12901
        (GCC_NEED_DECLARATIONS): Add atof.
12902
 
12903
        * system.h: Provide prototypes for abort, atof, atol and sbrk here.
12904
        * rtl.c, rtl.h, toplev.c, tree.h: Not here.
12905
 
12906
Wed May  6 10:52:49 1998  Kaveh R. Ghazi  
12907
 
12908
        * system.h: Wrap time.h and sys/file.h in autoconf checks.
12909
        Provide default definitions for O_RDONLY and O_WRONLY here.
12910
 
12911
        * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
12912
 
12913
1998-05-06  Mark Mitchell  
12914
 
12915
        * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
12916
 
12917
Wed May  6 06:35:38 1998  Robert Lipe  
12918
 
12919
        * toplev.h: New file.  Protypes for functions in toplev.c.
12920
        * tree.h, rtl.h: Deleted protos for functions in toplev.c.
12921
        * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
12922
        c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
12923
        convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
12924
        function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
12925
        reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
12926
        varasm.c: Include it.
12927
 
12928
Wed May  6 01:09:01 1998  Jeffrey A Law  (law@cygnus.com)
12929
                          Jim Wilson  (wilson@cygnus.com)
12930
 
12931
        * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
12932
        blocks.  Check for 1 successor which is the EXIT_BLOCK.
12933
 
12934
        * haifa-sched.c (find_rgns): Detect unreachable blocks, including
12935
        unreachable loops with more than one block.
12936
 
12937
Wed May  6 08:22:24 1998  Manfred Hollstein  
12938
 
12939
        * fix-header.c (write_rbrac): Add "abort" to functions which need to
12940
        be protected.
12941
 
12942
Wed May  6 00:09:36 1998  Jeffrey A Law  (law@cygnus.com)
12943
 
12944
        * Check in merge from gcc2.  See ChangeLog.12 for details.
12945
 
12946
Tue May  5 14:33:49 1998  Jim Wilson  
12947
 
12948
        * c-common.c (scan_char_table): Separate 's' and 'c'.  'c' does not
12949
        accept 'a' flag.  'S' does accept 'a' flag.
12950
        (check_format_info): When pedantic, warn for m/C/S/a/A formats,
12951
        and `a' flag.
12952
 
12953
        * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
12954
 
12955
Tue May  5 10:50:39 1998  Andreas Schwab  
12956
 
12957
        * config/m68k/m68k.h: Declare functions from m68k.c used in
12958
        macros and machine description.
12959
        (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
12960
        long values.
12961
        (ASM_OUTPUT_FLOAT): Likewise.
12962
        (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
12963
 
12964
Tue May  5 01:28:12 1998  Jason Merrill  
12965
 
12966
        * tree.def: Add NAMESPACE_DECL.
12967
        * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
12968
        * dwarf2out.c (push_decl_scope): Likewise.
12969
        (scope_die_for): Likewise.
12970
        * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
12971
        how to get next context level.
12972
 
12973
Tue May  5 01:43:16 1998  Jim Wilson  
12974
 
12975
        * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
12976
        case.
12977
 
12978
Tue May  5 01:15:06 1998  Jeffrey A Law  (law@cygnus.com)
12979
 
12980
        * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
12981
 
12982
        * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
12983
        for any insns skipped at the start of a block because they were
12984
        redundant.
12985
 
12986
Mon May  4 20:23:51 1998  Jim Wilson  
12987
 
12988
        * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
12989
 
12990
1998-05-04  Ulrich Drepper  
12991
 
12992
        * c-common.c (format_char_info): Add new field hhlen.
12993
        (print_char_table, scan_char_table, time_char_table): Initialize
12994
        hhlen field appropriately.
12995
        (char_format_info): Recognize hh modifier and lookup correct char
12996
        table entry.
12997
 
12998
Mon May  4 19:15:29 1998  Jim Wilson  
12999
 
13000
        * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
13001
        reference if this is a store.
13002
 
13003
Mon May  4 17:25:17 1998  Richard Henderson  
13004
 
13005
        * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
13006
 
13007
Sun May  3 23:57:25 1998  Robert Lipe  
13008
 
13009
        Make UnixWare 7 bootstrap support work with final shipping product.
13010
        * configure.in (i[34567]86-*-sysv5): Append, not overwrite, xm_file.
13011
        Pick up xm-siglist and xm-alloca.
13012
        (xm_defines): Add USG so dbxout will build.
13013
        * configure: Regenerate.
13014
 
13015
Sun May  3 13:51:34 1998  Richard Henderson  
13016
 
13017
        Support for official SPARC V9 ABI:
13018
        * sparc.c (sparc_override_options): Force stack bias off for !arch64.
13019
        Care for flag_pcc_struct_return default.
13020
        (output_move_quad): Rewrite to move by halves on v9 and in the
13021
        proper direction.
13022
        (move_quad_direction): New function.
13023
        (output_fp_move_quad): Use it to determine the direction of copy.
13024
        (function_arg_slotno): Return -1 for FP reg overflow as well.
13025
        (function_arg_record_value*): New functions.
13026
        (function_arg): Use them.  Streamline unprototyped parameter passing.
13027
        (function_arg_pass_by_reference): Pass TCmode by reference.
13028
        (function_value): New function.
13029
        * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
13030
        long long in 64-bit mode.
13031
        (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
13032
        (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
13033
        (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
13034
        (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
13035
        (BASE_INCOMING_ARG_REG): Likewise.
13036
        (FUNCTION_VALUE): Call function_value.
13037
        (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
13038
        * sparc.md (movdi_sp32_v9): Disable for arch64.
13039
        (movsf, movdf, movtf): Sort all alternatives using fp regs first.
13040
        (call_value_address_sp64): Remove register class constraints.
13041
        (call_value_symbolic_sp64): Likewise.
13042
        (nonlocal_goto): Pass label reg directly to goto_handlers.  Constrain
13043
        v9 case to 32-bit constants.
13044
        (goto_handler_and_restore_v9): Provide a version for arch64.
13045
        * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
13046
        * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
13047
        (CPP_PREDEFINES): New.
13048
        * sparc/sp64-elf.h: Likewise.
13049
        (PREFERRED_DEBUGGING_TYPE): Dwarf2.
13050
        (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
13051
        * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
13052
 
13053
Sat May  2 17:47:17 1998  Jeff Law  (law@cygnus.com)
13054
 
13055
        * version.c: Bump for snapshot.
13056
 
13057
Sat May  2 01:37:29 1998  J"orn Rennecke  
13058
 
13059
        * reload.c (find_reloads): Emit USEs to mark where a pseudo
13060
        is reloaded with the MEM of its stack slot.
13061
        * reload1.c (cannot_omit_stores): Delete.
13062
        (reload): Don't initialize it.
13063
        Don't apply avoid_return_reg logic to USEs.
13064
        When done, remove USEs that have a REG_EQUAL note on them.
13065
        (emit_reload_insns): Handle case where we have inherited a MEM.
13066
        (choose_reload_regs): Likewise.
13067
        (delete_output_reload): Don't use cannot_omit_stores.
13068
 
13069
Thu Apr 30 18:59:03 1998  Jim Wilson  
13070
 
13071
        * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
13072
 
13073
Thu Apr 30 16:57:34 1998  Michael Meissner  
13074
 
13075
        * haifa-sched.c (print_{exp,value}): Various changes to make the
13076
        debug output easier to read.  Also, use only one buffer, and make
13077
        sure the buffer we are passed in doesn't overflow.
13078
        (safe_concat): Concatenate to a buffer without overflow.
13079
 
13080
Thu Apr 30 16:57:34 1998  Kaveh R. Ghazi  
13081
 
13082
        * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
13083
        with the prototype.
13084
 
13085
Wed Apr 29 21:45:16 1998  J"orn Rennecke  
13086
 
13087
        * sched.c (new_insn_dead_notes): Check if the register was
13088
        used in the original instruction.
13089
        * haifa-sched.c (new_insn_dead_notes): Likewise.
13090
 
13091
Wed Apr 29 13:46:03 1998  Jim Wilson  
13092
 
13093
        * dwarf2out.c (scope_die_for): If could not find proper scope,
13094
        check for and handle tagged type with incorrect TYPE_CONTEXT.
13095
 
13096
Wed Apr 29 15:34:40 1998  John Carr  
13097
 
13098
        * calls.c (expand_call): Fix recognition of C++ operator new.
13099
 
13100
        * alias.c (mode_alias_check): Disable type based alias detection.
13101
 
13102
Wed Apr 29 15:06:42 1998  Gavin Koch  
13103
 
13104
        * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
13105
        ASM_OUTPUT_WEAK_ALIAS): Define.
13106
        * config/mips/elf64.h: Same.
13107
        * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
13108
        ASM_WEAKEN_LABEL): Removed.
13109
 
13110
Wed Apr 29 10:53:29 1998  Andreas Schwab  
13111
 
13112
        * calls.c (expand_call): Bump the length limit on the specially
13113
        recognized function names to 17.
13114
 
13115
Tue Apr 28 17:53:33 1998  Jim Wilson  
13116
 
13117
        * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
13118
        when undefining macros at the end.
13119
 
13120
        * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
13121
        val or len has TREE_SIDE_EFFECTS set.
13122
 
13123
        * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
13124
        (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
13125
        (smuldi3_highpart): Call const v8plus routine.
13126
        (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
13127
        (const_smulsi3_highpart_v8plus): New pattern.
13128
        (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
13129
        (umulsidi3): Call const v8plus routine.
13130
        (umulsi3_highpart): Handle const before v8plus.  Call const v8plus
13131
        routine.
13132
        (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
13133
        (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
13134
 
13135
Tue Apr 28 08:55:26 1998  Michael Meissner  
13136
 
13137
        * m32r.c (*_oper{and|ator}): Change enum arguments and return
13138
        values to int, so they can be prototyped even in files that don't
13139
        include rtl.h.
13140
        ({small,large}_insn_p): Likewise.
13141
        (m32r_select_cc_mode): Likewise.
13142
        (gen_compare): Likewise.
13143
        (function_arg_partial_nregs): Likewise.
13144
        (m32r_setup_incoming_varargs): Likewise.
13145
        (init_reg_tables): Add prototype.
13146
        (m32r_frame_info): Add prolog_size field.
13147
        (m32r_compute_frame_size): Calculate the size of the prologue.
13148
        (m32r_first_insn_address): Return prologue size.
13149
        (m32r_output_function_prologue): Calculate frame size before
13150
        printing out information.  Print out the prologue size.
13151
 
13152
        * m32r.h: Prototype all functions in m32r.c.
13153
        (FIRST_INSN_ADDRESS): Declare, returning prologue size.
13154
 
13155
        * m32r.md (bcc functions): Cast enum's to int.
13156
 
13157
        * m32r.c (conditional_move_operand): Silence a debug message.
13158
        ({small,long}_insn): New predicates.
13159
 
13160
        * m32r.h (TARGET_M32R): New macro.
13161
        (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
13162
        (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
13163
        was selected.
13164
        (ISSUE_RATE): Define as 2.
13165
 
13166
        * m32r.md (insn_size): New attribute.
13167
        ({,rev_}branch_insn): Add .s qualifier to branches believed to be
13168
        short.
13169
        (m32r): New attribute.
13170
 
13171
        * configure.in (enable_haifa): Switch m32r to Haifa by default.
13172
        * configure: Regenerate.
13173
 
13174
        (Changes from Nick Clifton )
13175
        * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
13176
        the equivalent of a negated 'I' constraint.
13177
        (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
13178
        optimization to work.
13179
 
13180
        * m32r.md (cmp_ne_small_const_insn): Use 'S' constraint rather
13181
        than 'I' since the value is negated.
13182
        (peephole): Add peephole optimization to cope with optimization of
13183
        divide and subtracts of the same operands.
13184
 
13185
        * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
13186
        * m32r.h: Likewise.
13187
        * m32r.md: Likewise.
13188
 
13189
        * m32r.h (PREDICATE_CODES): Add declaration of machine specific
13190
        predicates.
13191
 
13192
Tue Apr 28 07:25:53 1998  Manfred Hollstein  
13193
 
13194
        * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
13195
 
13196
Mon Apr 27 18:39:47 1998  Nick Clifton  
13197
 
13198
        * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
13199
        frame_pointer_rtx not FRAME_POINTER_REGNUM.
13200
 
13201
Mon Apr 27 18:36:28 1998  Jim Wilson  
13202
 
13203
        * reg-stack.c: Revert last patch (Apr 20).
13204
        (convert_regs): Set insn to PREV_INSN (next) after do while loop.
13205
 
13206
        * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
13207
 
13208
        * loop.c (check_dbra_loop): New locals jump, first_compare, and
13209
        compare_and_branch.  Call get_condition to set first_compare.
13210
        Set compare_and_branch to number of compare/branch instructions.
13211
        Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
13212
        Replace '2' with compare_and_branch.
13213
 
13214
Mon Apr 27 15:53:30 1998  Andrew MacLeod  
13215
 
13216
        * cplus-dem.c (demangle_qualified): Replace missing else.
13217
 
13218
Mon Apr 27 20:22:08 1998  J"orn Rennecke  
13219
 
13220
        * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
13221
 
13222
Mon Apr 27 18:23:51 1998  J"orn Rennecke  
13223
 
13224
        * sh.c (sh_expand_prologue, sh_expand_epilogue):
13225
        If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
13226
        * sh.h (STACK_BOUNDARY): Likewise.
13227
 
13228
Mon Apr 27 17:22:48 1998  J"orn Rennecke  
13229
 
13230
        * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
13231
 
13232
Mon Apr 27 08:55:23 1998  Michael Meissner  
13233
 
13234
        * system.h (abort): If abort is not defined, and neither is
13235
        USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
13236
        reporting the line and filename of the error.
13237
 
13238
        * .gdbinit: Add breakpoints on exit and fancy_abort.
13239
 
13240
        * final.c (split_double): Avoid a compiler warning if
13241
        BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
13242
 
13243
        * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
13244
        for calling jump_optimize.
13245
 
13246
        * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
13247
        macros, rather than 0/1's.
13248
 
13249
Sun Apr 26 23:19:10 1998  Richard Henderson  
13250
 
13251
        * alpha.h (CONST_COSTS): Zero is always free.
13252
        (RTX_COSTS): Add EV6 costs.  Abort if alpha_cpu is unknown.
13253
 
13254
Sun Apr 26 15:38:50 1998  Andreas Schwab  
13255
 
13256
        * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
13257
        length in the name of a virtual table.
13258
 
13259
Sun Apr 26 01:21:06 1998  Richard Henderson  
13260
 
13261
        * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
13262
 
13263
Sat Apr 25 22:11:38 1998  Jeff Law  (law@cygnus.com)
13264
 
13265
        * version.c: Bump for snapshot.
13266
 
13267
Sat Apr 25 17:17:15 1998  Jeffrey A Law  (law@cygnus.com)
13268
 
13269
        * fold-const.c (fold_convert): Fix typo.
13270
 
13271
Sat Apr 25 17:55:54 1998  John Carr  
13272
 
13273
        * alias.c (alias_invariant): New variable.
13274
        (record_base_value): New argument INVARIANT.
13275
        (memrefs_conflict_p): If a register has an entry in the alias_invariant
13276
        array, try substituting that value for the register.
13277
 
13278
        * rtl.h: Declare record_base_value.
13279
 
13280
        * loop.c, unroll.c: Update callers of record_base_value.
13281
 
13282
        * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
13283
        ZERO_EXTEND do not affect base values.
13284
 
13285
Fri Apr 24 15:57:02 1998  Jeffrey A Law  (law@cygnus.com)
13286
 
13287
        * dbxout.c (dbxout_type): Fix typo.
13288
        (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
13289
 
13290
        * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
13291
 
13292
Fri Apr 24 16:11:47 1998  John Carr  
13293
 
13294
        * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
13295
        if the argument is the address of a structure or array.
13296
 
13297
        * configure.in: Enable Haifa scheduler by default for SPARC.
13298
 
13299
Fri Apr 24 20:55:47 1998  J"orn Rennecke  
13300
 
13301
        * cse.c (cse_set_around_loop): Don't do optimization when
13302
        new pseudos are created.
13303
 
13304
Fri Apr 24 11:00:18 1998  Jeffrey A Law  (law@cygnus.com)
13305
 
13306
        * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
13307
        appropriately.
13308
        (dbxout_type_method_1, dbxout_type): Likewise.
13309
        (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
13310
        (dbxout_type): Fix check for when to print a type range in
13311
        octal vs decimal.
13312
 
13313
Fri Apr 24 16:45:03 1998  J"orn Rennecke  
13314
 
13315
        * (gen_shl_and, in case 1): Fix comparison with mask.
13316
 
13317
Fri Apr 24 06:46:40 1998  Nick Clifton  
13318
 
13319
        * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
13320
        pointer as second register in REG+REG pair.
13321
 
13322
Fri Apr 24 09:22:23 1998  Kaveh R. Ghazi  
13323
 
13324
        * c-common.c (check_format_info): Don't check for the 'x' format
13325
        character twice, instead check for 'x' and 'X'
13326
 
13327
Fri Apr 24 08:02:30 1998  Manfred Hollstein  
13328
 
13329
        * Makefile.in (libgcc2.ready): Add explicit dependency from
13330
        $(STMP_FIXPROTO) to ensure all necessary include files have
13331
        been created and to guarantee proper parallel builds.
13332
 
13333
Fri Apr 24 04:42:35 1998  J"orn Rennecke  
13334
 
13335
        * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
13336
        register for stdarg functions.
13337
        * sh.h (current_function_varargs): Declare.
13338
        (FUNCTION_ARG): Ignore NAMED for stdarg functions.
13339
 
13340
1998-04-23  Jim Wilson  
13341
 
13342
        * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
13343
        inhibit_libc is defined.
13344
 
13345
        * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
13346
 
13347
Thu Apr 23 19:09:33 1998  Jim Wilson  
13348
 
13349
        * profile.c (tablejump_entry_p): New function.
13350
        (branch_prob): Add code to recognize MIPS tablejump entry branch.
13351
        Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
13352
 
13353
Thu Apr 23 15:01:13 1998  Nick Clifton  
13354
 
13355
        * config/arm/arm.c (find_barrier): Return as soon as a barrier is
13356
        found, rather than at end of the loop, after the insn has been
13357
        changed.
13358
 
13359
Thu Apr 23 20:21:06 1998  J"orn Rennecke  
13360
 
13361
        * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
13362
        * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
13363
 
13364
Wed Apr 22 17:07:35 1998  Michael Meissner  
13365
 
13366
        * loop.c (note_addr_stored): Correct function to take 2 arguments,
13367
        instead of 1.
13368
 
13369
        * rtl.def (MATCH_INSN2): Add new matching pattern.
13370
        * genrecog.c (add_to_sequence): Support MATCH_INSN2.
13371
 
13372
Wed Apr 22 15:52:22 1998  John Carr  
13373
 
13374
        * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
13375
        if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
13376
 
13377
        * final.c (split_double): Sign extend both halves of a split CONST_INT.
13378
 
13379
Wed Apr 22 10:42:45 1998  Jeffrey A Law  (law@cygnus.com)
13380
 
13381
        * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
13382
 
13383
Wed Apr 22 10:53:49 1998  Andrew MacLeod  
13384
 
13385
        * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
13386
        (cplus_demangle_opname): Call mop_up_squangle.
13387
        (cplus_demangle): Initialize squangle info, then call
13388
        internal_cplus_demangle. (Most code moved there as well)
13389
        (internal_cplus_demangle): New function, performs most of what use
13390
        to be done in cplus_demangle, but is only called with this file.
13391
        (squangle_mop_up): New function to clean up B and K code data.
13392
        (mop_up): Set pointers to NULL after freeing.
13393
        (demangle_signature, demangle_template, demangle_class): Add
13394
        switch elements to handle K and B codes.
13395
        (demangle_prefix, gnu_special, demangle_qualified): Add
13396
        code to handle K and B codes.
13397
        (do_type, demangle_fund_type): Handle B and K codes.
13398
        (remember_Ktype): New function to store K info.
13399
        (register_Btype, remember_Btype): New functions for B codes.
13400
        (forget_B_and_K_types): New function to destroy B and K info.
13401
 
13402
1998-04-21  Jim Wilson  
13403
 
13404
        * stmt.c (check_seenlabel): When search for line number note for
13405
        warning, handle case where there is no such note.
13406
 
13407
Tue Apr 21 20:48:37 1998  John Carr  
13408
 
13409
        * genemit.c (gen_exp): Allow machine description to set mode of
13410
        MATCH_OP_DUP.
13411
 
13412
Tue Apr 21 16:36:01 1998  John Carr  
13413
 
13414
        * alias.c (mode_alias_check): New function.
13415
        (true_dependence, anti_dependence, output_dependence): Call
13416
        mode_alias_check.
13417
 
13418
Tue Apr 21 12:05:32 1998  Jeffrey A Law  (law@cygnus.com)
13419
 
13420
        * mips.h (STACK_BOUNDARY): Allow specific targets to override.
13421
        (MIPS_STACK_ALIGN): Similarly.
13422
 
13423
        * c-common.c (type_for_mode): Handle TI types.
13424
        * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
13425
        (init_decl_processing): Handle TI types.
13426
        * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
13427
 
13428
        * mips.c (block_move_loop): Test Pmode == DImode instead of
13429
        TARGET_MIPS64.
13430
        (expand_block_move, save_restore_insns): Likewise.
13431
        (function_prologue, mips_expand_prologue): Likewise.
13432
        (mips_expand_epilogue): Likewise.
13433
        * mips.h (POINTER_SIZE): Allow specific targets to override.
13434
        (Pmode): Allow specific targets to override.
13435
        (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64.
13436
        (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
13437
        (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
13438
        (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
13439
        (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
13440
        (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
13441
        * mips.md (indirect, tablejump & casesi support): Test for
13442
        Pmode == DImode instead of TARGET_MIPS64.
13443
        (call patterns): Likewise.
13444
 
13445
Tue Apr 21 09:43:55 1998  Kaveh R. Ghazi  
13446
 
13447
        * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
13448
        for gen_rtx(MEM, ...).
13449
 
13450
Tue Apr 21 02:15:36 1998  Richard Henderson  
13451
 
13452
        * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
13453
        to not be so gross, and to properly function with PIC.
13454
 
13455
Mon Apr 20 20:44:25 1998  Jim Wilson  
13456
 
13457
        * frame.c (heapsort): Rename to frame_heapsort.
13458
 
13459
        * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
13460
 
13461
Mon Apr 20 12:43:09 1998  Doug Evans  
13462
 
13463
        * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
13464
 
13465
Mon Apr 20 15:04:14 1998  John Wehle  (john@feith.com)
13466
 
13467
        * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
13468
        operands during and after reload.
13469
 
13470
Mon Apr 20 22:37:50 1998  J"orn Rennecke  
13471
 
13472
        * final.c (shorten_branches, init_insn_lengths): Move code
13473
        to free label_align, uid_shuid, insn_lengths, insn_addresses
13474
        and uid_align from the former function into the latter one;
13475
        Add code to clear these variables.
13476
        * sh.h (label_align): Remove declaration.
13477
 
13478
Mon Apr 20 14:48:29 1998  Michael Meissner  
13479
 
13480
        * gcc.c (lang_specific_driver): Declare prototype properly so
13481
        fatal can be passed to it without error.
13482
 
13483
        * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
13484
        * configure: Regenerate.
13485
        * config.in: Add #undef's for strchr and strrchr.
13486
 
13487
        * protoize.c (toplevel): If we have rindex, but not strrchr, map
13488
        rindex to strrchr.
13489
        (file_could_be_converted): Use strrchr, not rindex since rindex is
13490
        not defined on Linux systems when _POSIX_SOURCE is defined.
13491
        (file_normally_convertible): Likewise.
13492
        (process_aux_info_file): Likewise.
13493
        (main): Likewise.
13494
 
13495
        * rs6000.md (mov{sf,df} define_splits): When splitting a move of
13496
        a constant to an integer register, don't split the insns that do
13497
        the simple AND and OR operations, rather just split each word, and
13498
        let the normal movsi define split handle it further.
13499
 
13500
Mon Apr 20 18:19:40 1998  J"orn Rennecke  
13501
 
13502
        * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
13503
        (split_branches): Call init_insn_lengths.
13504
 
13505
Mon Apr 20 07:37:49 1998  Michael Meissner  
13506
 
13507
        * i386.c: Include expr.h to get the change_address prototype
13508
        declared.
13509
 
13510
Mon Apr 20 01:00:05 1998  H.J. Lu  (hjl@gnu.org)
13511
 
13512
        * reg-stack.c (subst_asm_stack_regs): Change to return the last
13513
        new insn generated by this function.
13514
        (subst_stack_regs): Likewise.
13515
        (convert_regs): Record the last newly generated insn and use
13516
        it for change_stack () instead of INSN.
13517
 
13518
Sun Apr 19 15:41:24 1998  Manfred Hollstein  
13519
 
13520
        * fix-header.c (enum special_file): Undefine enumerators if they
13521
        are already defined by include files.
13522
        * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
13523
        macro with '__' to not pollute user namespace.
13524
 
13525
Sun Apr 19 02:42:06 1998  Richard Henderson  
13526
 
13527
        * haifa-sched.c (queue_to_ready): Fix typo in prototype.
13528
 
13529
Sat Apr 18 23:52:35 1998  Jeff Law  (law@cygnus.com)
13530
 
13531
        * version.c: Bump for snapshot.
13532
 
13533
Sat Apr 18 18:30:22 1998  Jim Wilson  
13534
 
13535
        * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
13536
 
13537
        * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
13538
        Add missing -Dpentium* options.
13539
        (CPP_CPU_SPEC): Delete redundant definition.  Include cpp_cpu_default
13540
        instead of CPP_CPU_DEFAULT.
13541
        (EXTRA_SPECS): Add entry for cpp_cpu_default.
13542
 
13543
Sat Apr 18 19:06:59 1998  David Edelsohn  
13544
 
13545
        * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
13546
        negative in a stackless frame.
13547
        * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
13548
        in stackless frame size.  Support 64-bit stackless frame size.
13549
        Combine fpmem offset calculations and don't add total_size to
13550
        offset if not pushing a stack frame.
13551
 
13552
Sat Apr 18 15:41:16 1998  Jim Wilson  
13553
 
13554
        * regmove.c (fixup_match_1): In three places, in flag_exceptions
13555
        check, change p to q.
13556
 
13557
Sat Apr 18 15:30:49 1998  Jim Wilson  
13558
 
13559
        * gcc.c (lang_specific_driver): Add new parm type to prototype.
13560
        (added_libraries): New file scope static variable.
13561
        (process_command): Initialize added_libraries.  Pass it to
13562
        lang_specific_driver.
13563
        (main): Use added_libraries in check for no input files.
13564
 
13565
Sat Apr 18 01:23:11 1998  John Carr  
13566
 
13567
        * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
13568
        code generation.  Use 64 bit instructions in 32 bit mode when
13569
        possible.  Use V9 return instruction.  UltraSPARC optimizations.
13570
 
13571
        * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
13572
 
13573
Fri Apr 17 22:38:17 1998  Jeffrey A Law  (law@cygnus.com)
13574
 
13575
        * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
13576
        just pass zero.  That will work regardless of the size of HARD_REG_SET.
13577
 
13578
        * libgcc2.c (__floatdisf): Fix a couple typos.
13579
 
13580
Fri Apr 17 17:28:26 1998  Jim Wilson  
13581
 
13582
        * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
13583
 
13584
Fri Apr 17 16:35:35 1998  Greg McGary  
13585
 
13586
        * emit-rtl.c (gen_highpart): Initialize `word' properly for pseudo.
13587
 
13588
Fri Apr 17 14:30:37 1998  John Carr  
13589
 
13590
        * emit-rtl.c (operand_subword_force): If a register can not be
13591
        accessed by words, copy it to a pseudo register.
13592
 
13593
Fri Apr 17 14:30:37 1998  Jim Wilson  
13594
 
13595
        * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
13596
 
13597
Fri Apr 17 17:01:25 1998  Michael Meissner  
13598
 
13599
        * tree.h (mark_seen_cases): Delete declaration.
13600
 
13601
Fri Apr 17 13:32:20 1998  Jeffrey A Law  (law@cygnus.com)
13602
 
13603
        * stmt.c (mark_seen_cases): Make static and add prototype.
13604
 
13605
Fri Apr 17 11:21:43 1998  Kaveh R. Ghazi  
13606
 
13607
        * frame.c: Include stdlib.h and unistd.h to possibly get various
13608
        function prototypes.  The fixproto script guarantees these header
13609
        files exist on the target system.
13610
        * libgcc2.c: Likewise.
13611
 
13612
        * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
13613
        __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
13614
        function parameters.
13615
        * libgcc2.c (__udiv_w_sdiv): Likewise.
13616
 
13617
Thu Apr 16 22:41:02 1998  Jeffrey A Law  (law@cygnus.com)
13618
 
13619
        * varasm.c (asm_output_bss): Add prototype.
13620
        (asm_output_aligned_bss): Likewise.
13621
 
13622
        * unroll.c (verify_addresses): Add prototype.
13623
 
13624
        * toplev.c: Add many prototypes.  Too many to mention here.
13625
 
13626
        * stmt.c (check_seenlabel): Add prototype.
13627
 
13628
        * rtlanal.c (reg_set_p_1): Add prototype.
13629
        (reg_set_last_1): Likewise.
13630
 
13631
        * reorg.c (find_dead_or_set_registers): Add prototype.
13632
 
13633
        * regmove (try_auto_increment): Add prototype.
13634
 
13635
        * reg-stack.c (pop_stack): Add prototype.
13636
 
13637
        * recog.c (validate_replace_rtx_1): Add prototype.
13638
        (find_constant_term_loc): Likewise.
13639
 
13640
        * loop.c (regs_patch_p): Add prototype.
13641
        (add_label_notes, count_nonfixed_reads): Likewise.
13642
        (find_single_use_in_loop): Likewise.
13643
        (express_from): Surround prototype with #ifdef.
13644
        (giv_sort): Similarly.
13645
 
13646
        * jump.c (mark_modified_reg): Add prototype.
13647
 
13648
        * haifa-sched.c (is_prisky): Add prototype.
13649
        (queue_to_ready): Likewise.
13650
 
13651
        * genextract.c (gen_insn): Add prototype.
13652
 
13653
        * genemit.c (max_operand_1): Add prototype.
13654
        (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
13655
        (gen_expand, gen_explit, output_add_clobbers): Likewise.
13656
        (output_init_mov_optab): Likewise.
13657
 
13658
        * genattrtab.c (attr_hash_add_rtx): Add prototype.
13659
        (attr_hash_add_string, write_length_unit_log): Likewise.
13660
 
13661
        * genattr.c (init_range): Add prototype.
13662
 
13663
        * combine.c (sets_function_arg_p): Add prototype.
13664
 
13665
        * expr.c (store_constructor_field): Add prototype.
13666
        (get_memory_usage_from_modifier): Likewise.
13667
 
13668
        * expmed.c (synth_mult): Add prototype.
13669
        (choose_multiplier, invert_mod2n): Likewise.
13670
 
13671
        * except.c (push_eh_entry): Add prototype.
13672
        (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
13673
        (call_get_eh_context, start_dynamic_cleanup): Likewise.
13674
        (start_dynamic_handler, can_throw): Likewise.
13675
        (output_exception_table_entry, scan_region): Likewise.
13676
        (eh_regs, set_insn_eh_region): Likewise.
13677
 
13678
        * dwarfout.c (decl_class_context): Add prototype.
13679
        (output_inheritance_die, type_ok_for_scope): Likewise.
13680
 
13681
        * c-lex.c (skip_white_space_on_line): Add prototype.
13682
 
13683
        * alias.c (record_set): Add prototype.
13684
        (find_base_term, base_alias_check): Likewise.
13685
 
13686
        * function.c (assign_outer_stack_local): Make static and add prototype.
13687
 
13688
        * haifa-sched.c (build_control_flow): Accept raw data as inputs
13689
        instead of computing it locally.  Callers changed.
13690
        (find_rgns): Several new arguments.  Callers changed.
13691
        Generally clean up and comment better.  Use dominators to
13692
        identify reducible loops.  Convert some flag arrays to bitmaps.
13693
        Convert most of the code to work on pred/succ lists instead of
13694
        an edge table.  Add comments for future improvements.
13695
        (schedule_insns): Allocate temporary tables for flow data, call
13696
        routines to compute flow data and pass it along to children as
13697
        arguments.
13698
        (debug_control_flow): Delete.  Use dump_bb_data instead.
13699
 
13700
        * basic-block.h (compute_dominators): Declare.
13701
 
13702
        * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
13703
        functions.
13704
        * basic-block.h: Declare them.
13705
 
13706
Thu Apr 16 13:45:51 1998  Jim Wilson  
13707
 
13708
        * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
13709
        no operands.
13710
 
13711
Wed Apr 15 11:33:09 1998  Alexandre Petit-Bianco  
13712
 
13713
        * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
13714
        Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
13715
        node is non NULL. Cache last file name and file name identifier node.
13716
 
13717
1998-04-15  Mark Mitchell  
13718
 
13719
        * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
13720
        the length of an array, not TREE_TYPE.
13721
 
13722
Wed Apr 15 15:31:34 1998  Jeffrey A Law  (law@cygnus.com)
13723
 
13724
        * flow.c (sbitmap_union_of_successors): New function.
13725
        * basic-block.h (sbitmap_union_of_successors): Declare it.
13726
 
13727
Wed Apr 15 12:38:03 1998  Jim Wilson  
13728
 
13729
        * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
13730
        Set gnu_ld to gnu_ld_flag inside main loop.
13731
        (gas): Likewise.
13732
 
13733
Wed Apr 15 14:50:05 1998  Dave Brolley  
13734
 
13735
        * toplev.c (compile_file): Call init_parse using new interface.
13736
        (init_lex): Remove declaration.
13737
 
13738
        * c-lex.c (init_parse): Now returns char* containing filename.
13739
 
13740
Wed Apr 15 12:37:10 1998  Jeffrey A Law  (law@cygnus.com)
13741
 
13742
        * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
13743
 
13744
Wed Apr 15 12:10:18 1998  Michael Meissner  
13745
 
13746
        * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
13747
        (gen{extract,peep,opinit,output}): Likewise.
13748
 
13749
        * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
13750
        global definition so print-rtl.o can be linked in.
13751
        * gen{peep,recog}.c (insn_attr_name): Likewise.
13752
 
13753
Tue Apr 14 07:30:57 1998  K. Richard Pixley  
13754
 
13755
        * fixincludes: Discard empty C++ comments, as found in sys/time.h
13756
        on hpux-11.0.
13757
 
13758
Wed Apr 15 10:47:21 1998  Andreas Schwab  
13759
 
13760
        * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
13761
        operand.
13762
 
13763
Wed Apr 15 01:21:21 1998  Jeffrey A Law  (law@cygnus.com)
13764
 
13765
        * emit-rtl.c (operand_subword): Rework slightly to avoid
13766
        bogus warning from previous change.
13767
 
13768
Tue Apr 14 23:39:13 1998  Richard Henderson  
13769
 
13770
        * alpha.md: Revert Oct 27 change, as it is superseded by Kenner's
13771
        Nov 8 find_replacement change.  Move decls of get_unaligned_address
13772
        * alpha.h: ... here.
13773
 
13774
Tue Apr 14 22:00:39 1998  John Carr  
13775
 
13776
        * function.c (assign_parms): Initialize unsignedp before passing
13777
        its pointer to promote_mode.
13778
 
13779
        * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
13780
        (write_test_expr): Allow MATCH_INSN.
13781
 
13782
Tue Apr 14 21:57:57 1998  Paul Eggert  
13783
 
13784
        * install.texi: Update section on warnings that can be safely ignored.
13785
 
13786
Tue Apr 14 14:55:16 1998  Jim Wilson  
13787
 
13788
        * mips.md (reload_outdi): Change the scratch mode from DImode to
13789
        TImode.  New variable scratch, used instead of operand[2] in template.
13790
        Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
13791
 
13792
Tue Apr 14 16:19:03 1998  Michael Meissner  
13793
 
13794
        * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
13795
 
13796
Tue Apr 14 11:31:28 1998  Krister Walfridsson  
13797
 
13798
        * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
13799
 
13800
Tue Apr 14 09:02:32 1998  Jeffrey A Law  (law@cygnus.com)
13801
 
13802
        * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
13803
        (ASM_FINISH_DECLARE_OBJECT): Likewise.
13804
 
13805
        * Idea and part of the patch from HJ.
13806
        * Makefile.in: auto-host.h renamed from auto-config.h.  All references
13807
        changed.
13808
        (distclean): Remove auto-build.h too.
13809
        * configure.in: Rename host autoconf generated file to auto-host.h.
13810
        If host != build, then run autoconf to generate auto-build.h for
13811
        the build machine and include it in build_xm_files.
13812
        Check for wait.h and sys/wait.h.
13813
 
13814
        * combine.c (simplify_rtx, case TRUNCATE): Respect value of
13815
        TRULY_NOOP_TRUNCATION.
13816
 
13817
Mon Apr 13 11:31:49 1998  Jason Merrill  
13818
 
13819
        * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
13820
 
13821
Sun Apr 12 20:55:32 1998  Catherine Moore  
13822
 
13823
        * invoke.texi (ld options): Include memset requirements
13824
        for options -nodstdlib and -nodefaultlibs.
13825
 
13826
1998-04-12  Paul Eggert  
13827
 
13828
        This change is from an idea suggested by Arthur David Olson.
13829
 
13830
        * c-common.c (decl_attributes, record_function_format,
13831
        check_format_info, init_function_format_info):
13832
        Add support for strftime format checking.
13833
        (enum format_type): New type.
13834
        (record_function_format): Now static, and takes value of type
13835
        enum format_type instead of int.
13836
        (time_char_table): New constant.
13837
        (struct function_format_info): format_type member renamed from is_scan.
13838
        (check_format_info): Use `warning' rather than sprintf followed by
13839
        `warning', to avoid mishandling `%' in warnings.
13840
        Change `pedwarn' to `warning', since these warnings do not necessarily
13841
        mean the program does not conform to the C Standard, as the code
13842
        need not be executed.
13843
 
13844
        * c-tree.h (record_function_format): Remove decl; no longer extern.
13845
 
13846
        * extend.texi: Add documentation for strftime format checking.
13847
 
13848
Sun Apr 12 20:23:03 1998  Jeffrey A Law  (law@cygnus.com)
13849
 
13850
        * mips/ecoffl.h: Do not include mips.h.
13851
        * mips/elf.h: Likewise.
13852
 
13853
        * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
13854
        * mips/ecoff.h: Include "mips/mips.h".
13855
 
13856
Sat Apr 11 22:42:54 1998  Jeff Law  (law@cygnus.com)
13857
 
13858
        * version.c: Bump for snapshot.
13859
 
13860
Sat Apr 11 01:24:28 1998  Jeffrey A Law  (law@cygnus.com)
13861
 
13862
        * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
13863
        (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
13864
        * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns              instead of delete_dead_from_cse.  Also call delete_trivially_dead_insns
13865
        between loop optimization passes.
13866
        * rtl.h: Updated appropriately.
13867
 
13868
Fri Apr 10 22:28:32 1998  Jeffrey A Law  (law@cygnus.com)
13869
 
13870
        Reinstall this patch from Jason.
13871
        * function.c (push_function_context_to): Don't call init_emit.
13872
 
13873
Fri Apr 10 13:40:20 1998  Nick Clifton  
13874
 
13875
        * rtl.c (read_skip_spaces): Prevent infinite loops upon
13876
        encountering unterminated comments.
13877
 
13878
Fri Apr 10 10:43:41 1998  Jeffrey A Law  (law@cygnus.com)
13879
 
13880
        * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
13881
        64x32 cross builds.
13882
 
13883
        * configure.in: Handle --with-fast-fixincludes.
13884
        (fixincludes): If --with-fast-fixincludes, then use a different
13885
        fixincludes program by default.
13886
        * Makefile.in (fixinc.sh): New rule.
13887
 
13888
Fri Apr 10 00:36:31 1998  H.J. Lu  (hjl@gnu.org)
13889
 
13890
        * i386.md (movqi+1): Handle invalid QI register.
13891
        (movsf_push-1): Likewise.
13892
 
13893
Thu Apr  9 16:53:59 1998  Nick Clifton  
13894
 
13895
        * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
13896
        addresses.
13897
        symbolic_memort_operand(), call32_operand(), int8_operand(),
13898
        int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
13899
        Not used.
13900
        uint16_operand(): Made static.
13901
 
13902
Thu Apr  9 01:43:04 1998  Jeffrey A Law  (law@cygnus.com)
13903
 
13904
        * calls.c (expand_call): Fix typo.
13905
 
13906
Thu Apr  9 00:18:44 1998  Dave Brolley  (brolley@cygnus.com)
13907
 
13908
        * c-lex.c (finput): New global.
13909
        (init_parse): Always included.  Handle !USE_CPPLIB using
13910
        code originally in compile_file.
13911
        (finish_parse): Update for CPPLIB.
13912
        * toplev.c (init_parse, finish_parse): Declare.
13913
        (finput): Delete variable.  Now in front-ends.
13914
        (compile_file): Remove code which is now handled by init_parse
13915
        which is unconditionally called.  Similarly for finish_parse.
13916
 
13917
Wed Apr  8 23:13:50 1998  Gavin Koch  
13918
 
13919
        * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
13920
        ASM_WEAKEN_LABEL): Add.
13921
 
13922
Wed Apr  8 18:21:30 1998  Richard Henderson  
13923
 
13924
        * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
13925
        * configure.in (alpha-*-linux*): Use them.
13926
 
13927
Fri Apr  3 17:02:13 1998  Alexandre Petit-Bianco  
13928
 
13929
        * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
13930
        * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
13931
        COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
13932
        (build_expr_wfl): New prototype declaration.
13933
        * tree.c (build_expr_wfl): New function, to build
13934
        EXPR_WITH_FILE_LOCATION nodes.
13935
        (copy_node): Don't zero TREE_CHAIN if copying a
13936
        EXPR_WITH_FILE_LOCATION node.
13937
        * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
13938
        * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
13939
 
13940
Wed Apr  8 12:51:19 1998  Jeffrey A Law  (law@cygnus.com)
13941
 
13942
        * configure.in (v850): Use t-v850.
13943
        (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
13944
 
13945
        * protoize.c (creat, read, write): Do not declare.
13946
 
13947
        * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
13948
        refer to the CODE_LABEL before a dispatch table.
13949
 
13950
        * invoke.texi: Add ARC options.
13951
 
13952
        * gcc.c (process_command): Improve error message for -o with
13953
        either -c or -S.
13954
 
13955
        * i386/x-cygwin32 (CLIB): Link in advapi32.
13956
 
13957
        * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
13958
        (ASM_IDENTIFY_LANGUAGE): Likewise.
13959
 
13960
        * i386.md (movqi recognizer): Don't perfom byte increment into
13961
        a NON_QI_REG_P.
13962
 
13963
        * configure.in (x86-dg-dgux): Run fixinc.dgux.
13964
 
13965
        * i370.h: Fix typo in GEN_INT changes.
13966
 
13967
        * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
13968
        of an empty arglist in prototype.
13969
 
13970
        * Makefile.in: Remove bytecode crud that crept back in after the
13971
        gcc2 merge.
13972
 
13973
1998-04-08  Brendan Kehoe  
13974
 
13975
        * c-lex.h (is_class_name): Fix arg type to be tree, not void.
13976
        (make_pointer_declarator, reinit_parse_for_function): Fix typo.
13977
 
13978
Wed Apr  8 06:16:45 1998  Richard Earnshaw  (rearnsha@arm.com)
13979
 
13980
        * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
13981
 
13982
Wed Apr  8 00:44:18 1998  Bernd Schmidt  (crux@pool.informatik.rwth-aachen.de>
13983
 
13984
        * c-lex.c (is_class_name): Delete declaration.
13985
        (whitespace_cr): Make static and add prototype.
13986
        * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
13987
        yylex, get_directive_line): Turn declarations into prototypes.
13988
        (position_after_whitespace, check_newline, yyerror,, is_class_name,
13989
        forget_protocol_qualifiers, remember_protocol_qualifiers): Add
13990
        prototypes.
13991
        * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
13992
        prototypes.
13993
        * gencodes.c (gen_insn): Add prototype.
13994
        * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
13995
        gen_peephole): Add prototypes.
13996
        * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
13997
        prototypes.
13998
        * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
13999
        special_format, find_formats, gendecl, genmacro, gendef, genlegend,
14000
        genheader, gencode): Add prototypes.
14001
        * genopinit.c (gen_insn): Add prototype.
14002
        * genoutput.c (output_prologue, output_epilogue, scan_operands,
14003
        process_template, validate_insn_alternatives, gen_insn, gen_peephole,
14004
        gen_expand, gen_split, n_occurrences): Add prototypes.
14005
        * genpeep.c (gen_peephole): Add prototype.
14006
        * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
14007
        reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
14008
        labels_in_range_p, count_loop_regs_set, note_addr_stored,
14009
        loop_reg_used_before_p, scan_loop, replace_call_address,
14010
        skip_consec_insns, libcall_benefit, ignore_some_movables,
14011
        force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
14012
        strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
14013
        check_final_value, record_giv, update_giv_derive, basic_induction_var,
14014
        simplify_giv_expr, general_induction_var, consec_sets_giv,
14015
        check_dbra_loop, express_from, combine_givs_p, combine_givs,
14016
        product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
14017
        last_use_this_basic_block, record_initial, update_reg_last_use,
14018
        iteration_info, analyze_loop_iterations, insert_bct,
14019
        instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
14020
        into prototypes.
14021
 
14022
Tue Apr  7 21:48:52 1998  Jeffrey A Law  (law@cygnus.com)
14023
 
14024
        * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
14025
 
14026
1998-04-07  Ken Raeburn  
14027
 
14028
        * config/mips/mips.c (siginfo): Deleted.
14029
        (override_options): Don't install SIGINFO signal handler.
14030
 
14031
Tue Apr  7 11:58:04 1998  Jim Wilson  
14032
 
14033
        * loop.c (check_dbra_loop): When normalize comparison_val, add check
14034
        to verify it is non-negative.
14035
 
14036
Tue Apr  7 02:01:47 1998  Richard Henderson  
14037
 
14038
        * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
14039
        (alpha_expand_block_clear): Likewise.
14040
 
14041
Mon Apr  6 23:36:01 1998  Richard Henderson  
14042
 
14043
        * tree.h (sizetype_tab): Fix previous change for K&R.
14044
 
14045
Mon Apr  6 22:23:29 1998  Jeff Law  (law@cygnus.com)
14046
 
14047
        * version.c: Bump for snapshot.
14048
 
14049
Mon Apr  6 23:16:10 1998  Richard Earnshaw  (rearnsha@arm.com)
14050
 
14051
        * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
14052
        Add USG and POSIX to xm_defines.
14053
 
14054
Mon Apr  6 21:49:57 1998  Bob Manson  
14055
 
14056
        * gcc.c: Add linker spec.
14057
        (link_command_spec): Use %(linker) instead of ld.
14058
        (main): If collect2 is requested as the linker, see if it exists;
14059
        if not, use ld instead.
14060
 
14061
        * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
14062
        (ld): Deleted.
14063
        (install-collect2): Install as collect2, not ld.
14064
 
14065
        * configure.in(will_use_collect2): It's named collect2 now.
14066
 
14067
        * collect2: Remove checks to see if we were invoked recursively.
14068
        (collect_execute): Use _spawnvp under cygwin32.
14069
 
14070
Mon Apr  6 17:23:41 1998  Jim Wilson  
14071
 
14072
        * haifa-sched.c (build_control_flow): Set unreachable for block whose
14073
        only predecessor is itself.
14074
 
14075
Mon Apr  6 16:08:04 1998  Kaveh R. Ghazi  
14076
 
14077
        * c-parse.in: Include system.h, and remove stuff now made redundant.
14078
        * cccp.c: Likewise.
14079
        * cexp.y: Likewise.
14080
        * protoize.c: Likewise.  Properly check for cpp stringification.
14081
 
14082
        * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
14083
        Depend on system.h.
14084
 
14085
        * objc/Make-lang.in (objc-parse.o): Likewise.
14086
 
14087
Mon Apr  6 14:59:58 1998  Kaveh R. Ghazi  
14088
 
14089
        * gansidecl.h: Check if compiler supports __attribute__.  Provide
14090
        definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
14091
        __attribute__ when its available.  Also provide definitions for
14092
        ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
14093
        terms of ATTRIBUTE_PRINTF.
14094
 
14095
        * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
14096
        of __attribute__.
14097
 
14098
Mon Apr  6 07:17:52 1998  Catherine Moore  
14099
 
14100
        * combine.c (can_combine_p): Include successor in volatile test.
14101
 
14102
Mon Apr  6 14:16:33 1998  J"orn Rennecke  
14103
 
14104
        * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
14105
        offset_unsigned.
14106
 
14107
Mon Apr  6 02:03:29 1998  Jeffrey A Law  (law@cygnus.com)
14108
 
14109
        * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
14110
        in prototype and definition.
14111
 
14112
Mon Apr  6 00:48:56 1998  Jeff Law  (law@cygnus.com)
14113
 
14114
        * version.c: Bump for snapshot.
14115
 
14116
Mon Apr  6 00:08:50 1998  Richard Henderson  
14117
 
14118
        * alpha.c (alpha_expand_block_clear): Add missing offset arg to
14119
        alpha_expand_unaligned_store_words.
14120
 
14121
Sun Apr  5 21:31:24 1998  John Wehle  (john@feith.com)
14122
 
14123
        * i386.md (movsf_push, movsf_mem): Remove.
14124
        (movsf_push): Rename from movsf_push_nomove and move in front of
14125
        movsf.  Use nonmemory_operand predicate and don't bother checking
14126
        TARGET_MOVE.
14127
        (movsf_push_memory): New pattern.
14128
        (movsf): Don't bother checking for push_operand.  If TARGET_MOVE and
14129
        both operands refer to memory then force operand[1] into a register.
14130
        (movsf_normal): Change to unnamed pattern.
14131
        Likewise for movdf, movxf, and friends.
14132
 
14133
Sun Apr  5 18:45:51 1998  Jeff Law  (law@cygnus.com)
14134
 
14135
        * version.c: Bump for snapshot.
14136
 
14137
Sun Apr  5 16:31:10 1998  Richard Henderson  
14138
 
14139
        * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
14140
 
14141
Sun Apr  5 16:53:37 1998  Don Bowman  
14142
 
14143
        * configure.in (mips-wrs-vxworks): New target.
14144
 
14145
Sat Apr  4 23:34:32 1998  Jeff Law  (law@cygnus.com)
14146
 
14147
        * expmed.c (synth_mult): The value -1, has no zeros, so it can
14148
        never have the form ...011.
14149
 
14150
        * version.c: Bump for snapshot.
14151
 
14152
Sat Apr  4 20:16:46 1998  Richard Henderson  
14153
 
14154
        * i386.c (asm_output_function_prefix, load_pic_register):
14155
        Use ASM_GENERATE_INTERNAL_LABEL properly.
14156
        (output_pic_addr_const): Recognize %X to suppress any PIC sym suffix.
14157
        (print_operand): Ignore it.
14158
        (load_pic_register): Use it for the got load call.
14159
        * i386.md (prologue_set_got, prologue_get_pc): Likewise.
14160
        (prologue_get_pc_and_set_got): Likewise.
14161
        * i386.h: Update print_operand docs.
14162
 
14163
Sat Apr  4 19:08:37 1998  Richard Henderson  
14164
 
14165
        * i386.md (ffssi, ffshi): Rewrite as define_expands.
14166
        (ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
14167
        * i386.c (notice_update_cc): Recognize unspec 5.
14168
 
14169
Sat Apr  4 18:07:16 1998  David Mosberger-Tang  (davidm@mostang.com)
14170
 
14171
        * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
14172
        * alpha.c (print_operand): Handle it.
14173
        * alpha.md (fix_truncsfdi2): Use it.  Add earlyclobber pattern
14174
        for ALPHA_TP_INSN.
14175
        (fix_truncdfdi2): Likewise.
14176
 
14177
Sat Apr  4 17:42:05 1998  Richard Henderson  
14178
 
14179
        * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
14180
        of these into a single struct, with additional [us]sizetype entries.
14181
        * stor-layout.c (set_sizetype): Initialize [us]sizetype.
14182
        * fold-const.c (size_int_wide): Don't rely on sizetype_tab being
14183
        an array.
14184
 
14185
Sat Apr  4 17:04:41 1998  Richard Henderson  
14186
 
14187
        * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
14188
 
14189
Sat Apr  4 13:50:01 1998  Richard Henderson  
14190
 
14191
        * haifa-sched.c (split_block_insns): Don't suppress insn splitting
14192
        on subsequent passes.
14193
 
14194
        * alpha.c (hard_fp_register_operand): New function.
14195
        * alpha.h (PREDICATE_CODES): Add it.
14196
        * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case.  Add an
14197
        f<-m case and accompanying define_split.
14198
        (trapb): Use a unique unspec_volatile number.
14199
 
14200
Sat Apr  4 13:32:08 1998  Richard Henderson  
14201
 
14202
        * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
14203
        from gcc2 merge.
14204
 
14205
Sat Apr  4 10:23:41 1998  Jeffrey A Law  (law@cygnus.com)
14206
 
14207
        * Check in merge from gcc2.  See ChangeLog.11 and ChangeLog.12
14208
        for details.
14209
 
14210
        * haifa-sched.c: Mirror recent changes from gcc2.
14211
 
14212
Fri Apr  3 00:17:01 1998  Jeffrey A Law  (law@cygnus.com)
14213
 
14214
        * Makefile.in (insn*.o): Depend on system.h.
14215
 
14216
        * pa.c (output_global_address): Initialize base.
14217
        * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
14218
 
14219
1998-04-03  Mike Stump  
14220
 
14221
        * gthr.h: Support systems that don't have weak, but have threads.
14222
        * configure.in (*wrs-vxworks*): Use VxWorks threads by default.
14223
        * gthr-vxworks.h: New file.
14224
        * objc/thr-vxworks.h: Dummy file from thr-single.c for now.
14225
 
14226
Thu Apr  2 18:00:52 1998  Jim Wilson  
14227
 
14228
        * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
14229
 
14230
1998-04-02  Vladimir N. Makarov  
14231
 
14232
        * ginclude/va-i960.h (va_end): Change void * to void.
14233
 
14234
Thu Apr  2 13:51:10 1998  Kaveh R. Ghazi  
14235
 
14236
        * Makefile.in (choose-temp.o): Depend on system.h.
14237
 
14238
        * choose-temp.c: Include system.h when IN_GCC.
14239
 
14240
Thu Apr  2 02:37:07 1998  Joern Rennecke  (amylaar@cygnus.co.uk)
14241
                          Richard Henderson  
14242
 
14243
        * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
14244
        (move_replacements): New function.
14245
        * reload.h: Prototype it.
14246
 
14247
        * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
14248
 
14249
Thu Apr  2 01:01:34 1998  Richard Henderson  
14250
 
14251
        * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
14252
        Run fixincludes.
14253
 
14254
        * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
14255
        (gen_highpart): Likewise.
14256
        * final.c (alter_subreg): Allow the target to hook by-mode subreg
14257
        hard register number changes.
14258
 
14259
Wed Apr  1 22:26:22 1998  Jeffrey A Law  (law@cygnus.com)
14260
 
14261
        * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
14262
        rnbitsize, rnmode and rinner.
14263
        (make_range): Initialize type.
14264
        (fold): Initialize arg0, arg1 and varop.
14265
 
14266
        * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
14267
        and regnor.
14268
        (expand_function_start): Initialize last_ptr.
14269
 
14270
        * stor-layout.c (layout_record): Initialize desired_align.
14271
        (get_best_mode): Initialize unit.
14272
 
14273
        * tree.c (copy_node): Initialize length.
14274
 
14275
        * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
14276
 
14277
        * caller-save.c (insert_save_restore): Initialize pat, code and
14278
        numregs.
14279
 
14280
        * emit-rtl.c (push_to_sequence): Initialize top.
14281
        (push_topmost_sequence): Likewise.
14282
 
14283
        * genattrtab.c (simplify_by_exploding): Initialize defval.
14284
 
14285
        * profile.c (branch_prob): Initialize dest.
14286
 
14287
        * rtl.h (note_stores): Remove duplicate prototype.
14288
        (GEN_INT): Reinstate cast of second arg to HOST_WIDE_INT.
14289
 
14290
        * cplus-dem.c (gnu_special): Don't get confused by .
14291
        strings that are not actually lengths.
14292
 
14293
        * genattrtab.c: Make generated file use system.h, instead of
14294
        including stdio.h, etc directly.
14295
        * genextract.c, genopinit.c, genoutput.c: Likewise.
14296
        * genpeep.c, genrecog.c: Likewise.
14297
 
14298
        * genoutput.c (process_template): Mark operands in the generated
14299
        function as potentially unused if compiling with GNU CC.
14300
 
14301
        * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
14302
 
14303
        * pa.md (reload peepholes): Remove unused variable "mode".
14304
 
14305
Wed Apr  1 17:06:19 1998  Nick Clifton  
14306
 
14307
        * config/arm/thumb.h: Add super interworking support.
14308
        * config/arm/thumb.c: Add super interworking support.
14309
        * config/arm/thumb.md: Add super interworking support.
14310
        * config/arm/lib1funcs.asm: Add interworking support.
14311
        * config/arm/lib1thumb.asm: Add super interworking support.
14312
        * config/arm/t-semi: Add interworking support.
14313
        * config/arm/t-thumb: Add interworking support.
14314
        * config/arm/README-interworking: New file.
14315
 
14316
Wed Apr  1 14:38:10 1998  Jim Wilson  
14317
 
14318
        * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
14319
        (MD_STARTFILE_PREFIX): Unset.
14320
 
14321
1998-04-01  Mark Mitchell  
14322
 
14323
        * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
14324
        entity in a local scope.
14325
 
14326
        * fold-const.c (fold): Call truthvalue_conversion for values which
14327
        are folded to boolean type.
14328
 
14329
Wed Apr  1 06:09:53 1998  Jeffrey A Law  (law@cygnus.com)
14330
 
14331
        * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
14332
        * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
14333
        * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
14334
        * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
14335
        * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
14336
        * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
14337
        * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
14338
        * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
14339
        * md.texi: Likewise.
14340
 
14341
Wed Apr  1 08:33:44 1998  Manfred Hollstein  
14342
 
14343
        * fixincludes (limits.h): Fix nested comments in Motorola's
14344
        limits.h and sys/limits.h.
14345
 
14346
Tue Mar 31 16:57:33 1998  Jim Wilson  
14347
 
14348
        * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
14349
        as dest of expand_binop call.
14350
 
14351
        * alpha.md (extzv): Correct check for valid operand[2] values.
14352
 
14353
        * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
14354
        branch.
14355
 
14356
        * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
14357
 
14358
Mon Mar 30 13:11:05 1998  Stan Cox  
14359
 
14360
        * libgcc2.c (__main, __do_global_dtors, __do_global_ctors):
14361
        For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
14362
 
14363
        * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
14364
        cygwin32 can override this to allow both unix and win32 style PATHs.
14365
 
14366
        * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
14367
        style environment paths.
14368
 
14369
Mon Mar 30 14:43:20 1998  Kaveh R. Ghazi  
14370
 
14371
        * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
14372
        cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
14373
        gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
14374
        system.h.
14375
 
14376
        * cpphash.c: Include config.h.
14377
        * cppalloc.c: Include system.h.  Add parameters to various
14378
        function prototypes.
14379
        * cpperror.c: Likewise.
14380
        * cppexp.c: Likewise.
14381
        * cpphash.c: Likewise.
14382
        * cpplib.c: Likewise.
14383
        * cppmain.c: Likewise.
14384
        * fix-header.c: Likewise.
14385
        * gcov.c: Likewise.
14386
        * gen-protos.c: Likewise.
14387
        * gengenrtl.c: Likewise.
14388
        * halfpic.c: Likewise.
14389
        * hash.c: Likewise.
14390
        * scan-decls.c: Likewise.
14391
        * scan.c: Likewise.
14392
 
14393
Mon Mar 30 11:06:45 1998  Jim Wilson  
14394
 
14395
        * README.gnat: Add lang_print_xnode definition.
14396
 
14397
Mon Mar 30 11:12:24 1998  Andreas Schwab  
14398
 
14399
        * config/m68k/m68k.c (standard_68881_constant_p): Don't use
14400
        fmovecr on the 68060.
14401
 
14402
Mon Mar 30 00:21:03 1998  Jeffrey A Law  (law@cygnus.com)
14403
 
14404
        * genemit.c (DONE): Rework so that it works in the true arm if
14405
        an if-else conditional.
14406
        (FAIL): Likewise.
14407
 
14408
Sun Mar 29 12:45:23 1998  Jeffrey A Law  (law@cygnus.com)
14409
 
14410
        * rs6000.c: Do not include stdioh or ctype.h anymore.
14411
 
14412
        * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
14413
        $(RTL_H).
14414
        (stor-layout.o): Likewise.
14415
        * c-typeck.c: Include rtl.h and expr.h.
14416
        * stor-layout.c: Likewise.
14417
 
14418
        * cpplib.c (cpp_file_line_for_message): Delete unused parameter.
14419
        All callers changed.
14420
        (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
14421
        * fix-header.c (cpp_file_line_for_message): Delete unused parameter.
14422
        All callers changed.
14423
 
14424
        * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
14425
 
14426
        * local-alloc.c (reg_classes_overlap_p): Delete dead function.
14427
 
14428
        * tree.h (lang_print_xnode): Provide prototype.
14429
 
14430
Sat Mar 28 23:50:44 1998  Jeff Law  (law@cygnus.com)
14431
 
14432
        * version.c: Bump for snapshot.
14433
 
14434
Sun Mar 29 00:42:21 1998  Jeffrey A Law  (law@cygnus.com)
14435
 
14436
        * objc/sendmsg.c (__objc_block_forward): Add braces for return
14437
        value if INVISIBLE_STRUCT_RETURN.
14438
 
14439
        * pa.c (arith_double_operand): Fix parens.
14440
 
14441
        * haifa-sched.c (print_pattern): Correct arg to sprintf.
14442
 
14443
        * Makefile.in (libgcc1.null): Make return type for __foo void.
14444
 
14445
Sat Mar 28 14:37:20 1998  Jeffrey A Law  (law@cygnus.com)
14446
 
14447
        * pa.h: Add declarations for many functions defined in pa.c.
14448
 
14449
        * genpeep.c (main): Remove unused variable 'i' from the generated
14450
        file.
14451
 
14452
        * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
14453
        (gen_split): Likewise.
14454
        (main): Rework generated definitions of DONE and FAIL so that they
14455
        no longer use gotos.  Avoids warnings about unused labels.
14456
 
14457
        * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
14458
        unused "junk" variable.
14459
 
14460
        * genattrtab.c (write_complex_function): Add a default case in
14461
        generated switch statement to keep -W -Wall quiet.
14462
 
14463
Sat Mar 28 10:47:21 1998  Nick Clifton  
14464
 
14465
        * invoke.texi: Document more ARM and Thumb command line options.
14466
 
14467
        * config/arm/xm-thumb.h: New file.
14468
 
14469
Sat Mar 28 01:37:33 1998  Craig Burley  
14470
 
14471
        * stmt.c (expand_expr_stmt): Must generate code for
14472
        statements within an expression (gcc's `({ ... )}')
14473
        even if -fsyntax-only.
14474
 
14475
Sat Mar 28 01:06:12 1998  Bernd Schmidt  
14476
                          Jeffrey A Law  (law@cygnus.com)
14477
 
14478
        * basic-block.h (basic_block_computed_jump_target): Declare.
14479
        * flags.h (current_function_has_computed_jump): Declare.
14480
        * flow.c (basic_block_computed_jump_target): Define.
14481
        (flow_analysis): Allocate it. Set current_function_has_computed_jump
14482
        to 0.
14483
        (find_basic_blocks): Set current_function_has_computed_jump and
14484
        elements of basic_block_computed_jump_target to 1 as appropriate.
14485
        * function.c (current_function_has_computed_jump): Define.
14486
        * global.c (global_conflicts): Don't allocate pseudos into stack regs
14487
        at the start of a block that is reachable by a computed jump.
14488
        * reg-stack.c (stack_reg_life_analysis): If must restart, do so
14489
        immediately.
14490
        (subst_stack_regs): Undo change from Sep 4 1997.
14491
        (uses_reg_or_mem): Now unused, deleted.
14492
        * stupid.c (stupid_life_analysis): Compute
14493
        current_function_has_computed_jump.
14494
        (stupid_find_reg): Don't allocate stack regs if the function has a
14495
        computed goto.
14496
        * haifa-sched.c (is_cfg_nonregular): Delete code to determine if
14497
        the current function has a computed jump.  Use the global value
14498
        instead.
14499
 
14500
Sat Mar 28 00:21:37 1998  Jeffrey A Law  (law@cygnus.com)
14501
 
14502
        * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
14503
        (DWARF2_UNWIND_INFO): Define to zero.
14504
 
14505
Fri Mar 27 16:04:49 1998  Michael Meissner  
14506
 
14507
        * gcc.c (set_std_prefix): Add declaration.
14508
        (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
14509
        suffix, and update the standard prefix prefix.c uses.
14510
 
14511
        * prefix.c (std_prefix): New global to hold default prefix value.
14512
        (get_key_value): Change to use std_prefix instead of PREFIX.
14513
        (translate_name): Likewise.
14514
        (update_path): Likewise.
14515
        (get_key_value): Release allocated scratch storage.
14516
        (set_std_prefix): New function to reset the standard prefix.
14517
 
14518
Fri Mar 27 18:08:21 1998  J"orn Rennecke  
14519
 
14520
        * sh.c (find_barrier): Fix calculations for alignment increase.
14521
 
14522
Fri Mar 27 08:56:52 1998  Manfred Hollstein  
14523
 
14524
        * Makefile.in (stmp-fixinc): If we're actually fixing include
14525
        files, copy gcc's assert.h into the fixed include dir.
14526
        * fixincludes (assert.h): Avoid any attempts to fix a probably
14527
        broken system specific assert.h file.
14528
        * fixproto (stdlib.h): Make sure, it'll contain a definition of
14529
        size_t.
14530
 
14531
Fri Mar 27 00:49:46 1998  Jeffrey A Law  (law@cygnus.com)
14532
 
14533
        * regclass.c (reg_scan_mark_refs): Be more selective about
14534
        when we mark a register with REGNO_POINTER_FLAG.
14535
 
14536
Thu Mar 26 23:00:11 1998  J"orn Rennecke  
14537
 
14538
        reload inheritance improvement:
14539
        * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
14540
        Change meaning: index is now hard reg number.
14541
        (reg_reloaded_valid, reg_reloaded_dead): New variables.
14542
        (reload_spill_index): Content is now a hard reg number.
14543
        (reload_as_needed): Change to fit new variable meaning.
14544
        (forget_old_reloads_1, allocate_reload_reg): Likewise.
14545
        (choose_reload_regs, emit_reload_insns): Likewise.
14546
 
14547
Thu Mar 26 18:34:13 1998  J"orn Rennecke  
14548
 
14549
        * regclass.c (record_reg_classes): '?' increases cost by two.
14550
 
14551
        * reload.c (find_reloads): Double previous costs.  Output
14552
        reloads cost one unit extra.
14553
 
14554
        * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
14555
        boiled down to && ! 0.
14556
 
14557
        * reload.c (find_equiv_reg): Also consider a goal offset from the
14558
        frame pointer to be constant.
14559
 
14560
Thu Mar 26 17:34:46 1998  J"orn Rennecke  
14561
 
14562
        * sh.h (OPTIMIZATION_OPTIONS): Define.
14563
 
14564
Thu Mar 26 00:19:47 1998  Richard Henderson  
14565
 
14566
        * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
14567
 
14568
Wed Mar 25 23:53:11 1998  Jeffrey A Law  (law@cygnus.com)
14569
 
14570
        * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
14571
 
14572
Wed Mar 25 13:40:48 1998  Jim Wilson  
14573
 
14574
        * c-common.c (check_format_info): Initialize type, is_type.  New local
14575
        integral_format.  Don't warn for 'L' when pedantic.  Do warn for 'L'
14576
        when pedantic if used with integral format specifier.
14577
 
14578
Wed Mar 25 16:09:01 1998  Michael Meissner  
14579
 
14580
        * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
14581
        direction.
14582
        (function_arg_padding): Declare.
14583
 
14584
        * rs6000.c: Include system.h.
14585
        (function_arg_padding): Change return type to int, cast enum's to
14586
        int.
14587
 
14588
        (From Kaveh R. Ghazi  )
14589
        * collect2.c (scan_prog_file): Add explicit braces to avoid
14590
        ambiguous `else'.
14591
 
14592
        * dbxout.c (dbxout_type_fields): Add braces around empty body in
14593
        an if-statement.
14594
        (dbxout_type): Likewise.
14595
 
14596
        * rs6000.c (rs6000_override_options): Change type of `i', `j' and
14597
        `ptt_size' from int to size_t.
14598
        (rs6000_file_start): Likewise for `i'.
14599
        (rs6000_replace_regno): Add default case in enumeration switch.
14600
        (output_epilog): Remove unused variable `i'.
14601
        (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
14602
        and `reg2'.
14603
 
14604
        * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
14605
        initializer.
14606
        (get_issue_rate, non_logical_cint_operand): Add prototype.
14607
        (rs6000_output_load_toc_table): Likewise.
14608
 
14609
        * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
14610
        `else'.
14611
 
14612
Wed Mar 25 10:05:19 1998  Nick Clifton  
14613
 
14614
        * config/arm/thumb.c: New File.  Support for ARM's Thumb
14615
        instruction set.
14616
        * config/arm/thumb.h: New File.  Thumb definitions.
14617
        * config/arm/thumb.md: New File.  Thumb machine description.
14618
        * config/arm/tcoff.h: New File.  Thumb COFF support.
14619
        * config/arm/t-thumb: New File.  Thumb makefile fragment.
14620
        * config/arm/lib1thumb.asm: New File.  Thumb libgcc support functions.
14621
 
14622
        * configure.in: Add Thumb-coff target.
14623
        * configure: Add Thumb-coff target.
14624
        * config.sub: Add Thumb-coff target.
14625
 
14626
Wed Mar 25 10:30:32 1998  Jim Wilson  
14627
 
14628
        * loop.c (scan_loop): Initialize move_insn_first to zero.
14629
 
14630
Wed Mar 25 01:06:49 1998  Joel Sherrill  (joel@OARcorp.com)
14631
 
14632
        * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
14633
        * config/i386/rtems.h: Likewise.
14634
        * config/i960/rtems.h: Likewise.
14635
        * config/m68k/rtems.h: Likewise.
14636
        * config/mips/rtems64.h: Likewise.
14637
        * config/pa/rtems.h: Likewise.
14638
        * config/rs6000/rtems.h: Likewise.
14639
        * config/sh/rtems.h: Likewise.
14640
        * config/sparc/rtems.h: Likewise.
14641
 
14642
Wed Mar 25 00:57:26 1998  Richard Kenner  
14643
 
14644
        * pa.c (emit_move_sequence): If in reload, call find_replacement.
14645
 
14646
Tue Mar 24 10:44:11 1998  Nick Clifton  
14647
 
14648
        * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
14649
 
14650
        * collect2.c (find_a_file): Add debugging.
14651
        (find_a_file): Test for win32 style absolute paths if
14652
        DIR_SERPARATOR is defined.
14653
        (prefix_from_string): Add debugging.
14654
        (main): Test for debug command line switch at start of program
14655
        execution.
14656
        (main): Use GET_ENVIRONMENT rather than getenv().
14657
        (prefix_from_env): Use GET_ENVIRONMENT.
14658
 
14659
1998-03-24  Mark Mitchell  
14660
 
14661
        * cplus-dem.c (optable): Add sizeof.
14662
        (demangle_template_value_parm): New function containing code
14663
        previously found in demangle_template.
14664
        (demangle_integral_value): New function which handles complicated
14665
        integral expressions.
14666
        (demangle_template): Use them.
14667
 
14668
Tue Mar 24 12:13:18 1998  Kaveh R. Ghazi  
14669
 
14670
        * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
14671
        genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
14672
        genattrtab.o, genoutput.o): Depend on system.h.
14673
 
14674
        * genattr.c: Include system.h.  Add arguments to various function
14675
        prototypes.  Remove redundant prototype of read_rtx().
14676
        * genattrtab.c: Likewise.
14677
        * gencodes.c: Likewise.
14678
        * genconfig.c: Likewise.
14679
        * genemit.c: Likewise.
14680
        * genextract.c: Likewise.
14681
        * genflags.c: Likewise.
14682
        * genopinit.c: Likewise.
14683
        * genoutput.c: Likewise.
14684
        * genpeep.c: Likewise.
14685
        * genrecog.c: Likewise.
14686
 
14687
1998-03-24  Martin von Löwis  
14688
 
14689
        * c-lang.c (lang_print_xnode): New function.
14690
        * objc/objc-act.c (lang_print_xnode): Likewise.
14691
        * print-tree.c (print_node): Call it
14692
 
14693
Mon Mar 23 23:59:11 1998  H.J. Lu  (hjl@gnu.org)
14694
 
14695
        * c-parse.in: Recognize protocol qualifiers in class
14696
        definitions for objc.
14697
        Include "output.h".
14698
        (yyerror): Remove redundant decl.
14699
        (yyprint): Fix prototype.
14700
 
14701
Mon Mar 23 23:49:47 1998  Jeffrey A Law  (law@cygnus.com)
14702
 
14703
        * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
14704
 
14705
        * stmt.c (unroll_block_trees): Free block_vector if needed.
14706
 
14707
Mon Mar 23 23:26:42 1998  Philippe De Muyter  
14708
 
14709
        * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
14710
        (zero_extendsidi2): Avoid useless copy.
14711
        (iordi_zext): New pattern.
14712
        (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
14713
        operand 2.
14714
        (iorsi_zext): New name for old unnamed pattern; indentation fixes.
14715
 
14716
        * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
14717
        (ashldi3): Allow constant shift count in range ]32,63].
14718
        (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
14719
 
14720
1998-03-22  Mark Mitchell  
14721
 
14722
        * tree.h (IS_EXPR_CODE_CLASS): New macro.
14723
 
14724
Mon Mar 23 23:18:48 1998  Jeffrey A Law  (law@cygnus.com)
14725
 
14726
        * h8300.h (CONST_COSTS): Remove definition.
14727
        (DEFAULT_RTX_COSTS): Define.
14728
 
14729
Mon Mar 23 22:58:22 1998  Joel Sherrill  (joel@OARcorp.com)
14730
 
14731
        * config/sh/rtems.h: Switched from ELF to COFF.
14732
 
14733
Mon Mar 23 14:14:20 1998  J"orn Rennecke  
14734
 
14735
        * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
14736
 
14737
Sat Mar 21 23:52:56 1998  Jeff Law  (law@cygnus.com)
14738
 
14739
        * version.c: Bump for snapshot.
14740
 
14741
Sun Mar 22 00:50:42 1998  Nick Clifton  
14742
                          Geoff Noer    
14743
 
14744
        * Makefile.in: Various fixes for building cygwin32 native toolchains.
14745
 
14746
        * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
14747
        * objc/Make-lang.in: Likewise.
14748
 
14749
        * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
14750
 
14751
Sun Mar 22 00:21:46 1998  R. Ganesan  
14752
 
14753
        * configure.in: Handle with-PACKAGE=no correctly
14754
 
14755
Fri Mar 20 17:36:23 1998  Kaveh R. Ghazi  
14756
 
14757
        * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
14758
        c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
14759
        caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
14760
        dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
14761
        expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
14762
        integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
14763
        prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
14764
        reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
14765
        rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
14766
        tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
14767
        on system.h.
14768
 
14769
        * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
14770
        c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
14771
        caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
14772
        dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
14773
        expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
14774
        integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
14775
        prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
14776
        reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
14777
        rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
14778
        stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
14779
        xcoffout.c: Include system.h.  Organize include ordering so
14780
        that stdarg/varargs comes before other system headers.  Remove
14781
        spurious casts of functions assured of a prototype in system.h.
14782
 
14783
Fri Mar 20 11:19:40 1998  Stan Cox  
14784
 
14785
        * reg-stack.c (pop_stack): Define. Pops any register on the
14786
        regstack and adjusts regstack.
14787
        (compare_for_stack_reg): Use pop_stack.
14788
 
14789
Thu Mar 19 23:51:01 1998  Jeffrey A Law  (law@cygnus.com)
14790
 
14791
        * configure.in (hppa1.0-hp-hpux10): Handle threads for this
14792
        config too.
14793
 
14794
Thu Mar 19 20:30:31 1998  Philippe De Muyter  
14795
 
14796
        * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
14797
 
14798
        * fold-const.c (fold): Replace sign-extension of a zero extended
14799
        value by a single zero extension.
14800
 
14801
Thu Mar 19 00:58:07 1998  Jason Merrill  
14802
 
14803
        * except.c (init_eh): Do nothing.
14804
        (save_eh_status): Call init_eh_for_function, not init_eh.
14805
        * function.c (push_function_context_to): Don't call init_emit.
14806
 
14807
Thu Mar 19 13:39:52 1998  Michael Meissner  
14808
 
14809
        * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
14810
        and EABI.
14811
 
14812
Thu Mar 19 10:10:36 1998  Kaveh R. Ghazi  
14813
 
14814
        * final.c (shorten_branches): Add parentheses around +/- in
14815
        operand of &.
14816
 
14817
        * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
14818
 
14819
Thu Mar 19 09:15:17 1998  Manfred Hollstein  
14820
 
14821
        * regclass.c (memory_move_secondary_cost): Wrap uses of
14822
        SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
14823
        with #ifdef tests.
14824
 
14825
Thu Mar 19 09:06:35 1998  Manfred Hollstein  
14826
 
14827
        * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
14828
 
14829
        * flow.c (life_analysis): #include  to make sure
14830
        size_t is defined.
14831
        * cplus-dem.c (demangle_function_name): Likewise.
14832
 
14833
Thu Mar 19 09:00:01 1998  Manfred Hollstein  
14834
 
14835
        * final.c (insn_noperands): Change type to unsigned int.
14836
        (final_scan_insn): Likewise for noperands;
14837
        properly check operand number boundaries.
14838
 
14839
Wed Mar 18 16:20:30 1998  Richard Henderson  
14840
 
14841
        * alpha.md (extzv): Don't reject register operands.  Fix
14842
        mode of operand 1.
14843
 
14844
Wed Mar 18 16:14:23 1998  Richard Henderson  
14845
 
14846
        * dbxout.c (dbxout_function_end): Fix last change.  The correct
14847
        predicate is ASM_OUTPUT_SECTION_NAME.
14848
 
14849
Wed Mar 18 12:43:20 1998  Jim Wilson  
14850
 
14851
        * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
14852
        (ashlsi): Use match_dup 1 instead of match_operand 2.
14853
 
14854
Wed Mar 18 13:46:07 1998  Richard Kenner  
14855
 
14856
        * fold-const.c (operand_equal_for_comparison_p): See if equal
14857
        when nop conversions are removed.
14858
 
14859
Wed Mar 18 13:42:01 1998  Richard Kenner  
14860
 
14861
        * expr.c (expand_expr, case COND_EXPR): If have conditional move,
14862
        don't use ORIGINAL_TARGET unless REG.
14863
 
14864
Wed Mar 18 16:53:19 1998  J"orn Rennecke  
14865
 
14866
        * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
14867
 
14868
Wed Mar 18 12:43:20 1998  Jim Wilson  
14869
 
14870
        * loop.c (struct movable): New field move_insn_first.
14871
        (scan_loop): In consec sets code, set it.  Clear it otherwise.
14872
        (move_movables): In consec sets code, use it.  Copy REG_NOTES from
14873
        p to i1 only if i1 does not have REG_NOTES.  Delete obsolete ifdefed
14874
        out code.
14875
 
14876
Wed Mar 18 09:52:56 1998  Richard Henderson  
14877
 
14878
        * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
14879
        is large, and the system doesn't provide atoll or atoq.
14880
        (atoll): New.
14881
 
14882
        * alpha/xm-vms.h (HAVE_ATOLL): Define.
14883
        Reported by Klaus Kaempf .
14884
 
14885
Wed Mar 18 09:56:26 1998  Kaveh R. Ghazi  
14886
 
14887
        * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
14888
        test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
14889
 
14890
        * calls.c (emit_call_1): Wrap variable `already_popped' with macro
14891
        test !ACCUMULATE_OUTGOING_ARGS.
14892
 
14893
        * collect2.c (write_c_file_glob): Wrap function definition in
14894
        macro test !LD_INIT_SWITCH.
14895
 
14896
        * combine.c (try_combine): Wrap variables `cc_use' and
14897
        `compare_mode' in macro test EXTRA_CC_MODES.
14898
 
14899
        * cpplib.c (do_ident): Remove unused variable `len'.
14900
        (skip_if_group): Remove unused variables `at_beg_of_line' and
14901
        `after_ident'.
14902
        (cpp_get_token): Remove unused variable `dummy'.
14903
 
14904
        * dbxout.c (scope_labelno): Move static variable definition inside
14905
        the one function scope where it is used.
14906
        (dbxout_function_end): Wrap prototype and definition in
14907
        macro test !NO_DBX_FUNCTION_END.
14908
 
14909
        * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
14910
        in macro test !MIPS_DEBUGGING_INFO.
14911
 
14912
        * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
14913
        into the scope where it is used.  Wrap empty else-statement body
14914
        in braces.
14915
 
14916
        * fix-header.c: Fix typo in comment.
14917
        (inf_skip_spaces): Cast results of INF_UNGET to (void).
14918
        (check_protection, main): Likewise.
14919
 
14920
        * flow.c (find_basic_blocks_1): Remove dangling comment text.
14921
 
14922
        * function.c (contains): Wrap prototype and definition in macro
14923
        test HAVE_prologue || HAVE_epilogue.
14924
        (fixup_var_refs_1): Remove unused variable `width'.
14925
 
14926
        * gen-protos.c (main): Remove unused variable `optr'.
14927
 
14928
        * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
14929
 
14930
        * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
14931
        (__sjpopnthrow): Remove unused variable `jmpbuf'.
14932
        (__throw): Remove unused variable `val'.
14933
 
14934
        * protoize.c: Check for a previously existing definition before
14935
        defining *_OK macros.
14936
 
14937
        * scan-decls.c (scan_decls): Remove unused variable `old_written'.
14938
 
14939
Tue Mar 17 00:45:48 1998  J"orn Rennecke  
14940
 
14941
        * vax.h (ADDR_VEC_ALIGN): Define.
14942
 
14943
Mon Mar 16 15:57:17 1998  Michael Meissner  
14944
 
14945
        * gcc.c (default_arg): Don't wander off the end of allocated
14946
        memory.
14947
 
14948
        (From Geoffrey Keating  )
14949
        * rs6000.c (small_data_operand): Ensure that any address
14950
        referenced relative to the small data area is inside the SDA.
14951
 
14952
Mon Mar 16 12:55:15 1998  Jim Wilson  
14953
 
14954
        * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
14955
 
14956
Mon Mar 16 15:50:20 1998  Andrew MacLeod  
14957
 
14958
        * except.h (in_same_eh_region): New prototype.
14959
        (free_insn_eh_region, init_insn_eh_region): New prototypes.
14960
        * except.c (insn_eh_region, maximum_uid): New static variables.
14961
        (set_insn_eh_region): New static function to set region numbers.
14962
        (free_insn_eh_region): New function to free EH region table.
14963
        (init_insn_eh_region): New function to initialize EH region table.
14964
        (in_same_eh_region): New function used to determine if two rtl
14965
        instructions are in the same exception region or not.
14966
        * final.c (final): Initialize the table indicating which instructions
14967
        belong in which exception region.
14968
        * genpeep.c (main): Add "except.h" to include file list in generated
14969
        file insn-peep.c.
14970
        * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
14971
        peepholes involving calls and unconditional branches.
14972
 
14973
Mon Mar 16 11:16:50 1998  Jim Wilson  
14974
 
14975
        * README.gnat: New file.
14976
 
14977
Mon Mar 16 11:14:20 1998  Andreas Schwab  
14978
 
14979
        * config/m68k/m68k.c: Include  for atoi.  Include
14980
        "recog.h" for offsettable_memref_p.
14981
        (legitimize_pic_address): Remove unused variable `offset'.
14982
        (notice_update_cc): Change return type to void.  Add default label
14983
        to switch.
14984
        (standard_68881_constant_p): Remove unused variable mode.
14985
        (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
14986
        (const_int_cost): Explicitly declare as returning int.
14987
        (output_dbcc_and_branch): Change return type to void.
14988
 
14989
        * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
14990
        config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
14991
        (...).  Use GEN_INT instead of gen_rtx_CONST_INT.
14992
 
14993
Sun Mar 15 22:30:44 1998  Jeff Law  (law@cygnus.com)
14994
 
14995
        * version.c: Bump for snapshot.
14996
 
14997
Fri Mar 13 11:30:12 1998  Andreas Schwab  
14998
 
14999
        * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
15000
        check for 'M' constraint.
15001
 
15002
Thu Mar 12 14:47:14 1998  Jim Wilson  
15003
 
15004
        * cccp.c (create_definition): If pedantic, call pedwarn for macro
15005
        varargs feature.
15006
 
15007
Thu Mar 12 13:43:25 1998  Bernd Schmidt  
15008
 
15009
        * i386.c (ix86_logical_operator): New function.
15010
        (split_di): Ensure that when a MEM is split, the resulting MEMs have
15011
        SImode.
15012
        * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
15013
        to implement them.
15014
 
15015
Thu Mar 12 15:13:16 1998  Kaveh R. Ghazi  
15016
                          Richard Earnshaw  
15017
                          Nick Clifton  
15018
 
15019
        * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
15020
 
15021
        * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
15022
 
15023
        * cse.c (rtx_cost): Provide a default case in an enumeration
15024
        switch, and call DEFAULT_RTX_COSTS if it's defined.
15025
 
15026
Thu Mar 12 10:02:38 1998  Manfred Hollstein  
15027
 
15028
        * basic-block.h (compute_preds_succs): Change return type in
15029
        prototype to void.
15030
        * flow.c (compute_preds_succs): Likewise in function definition.
15031
 
15032
        * regmove.c (find_matches): Cast char used as array index to unsigned char
15033
        to suppress warning.
15034
 
15035
Thu Mar 12 09:39:40 1998  Manfred Hollstein  
15036
 
15037
        * i386.h (RTX_COSTS): Insert braces around nested if.
15038
        (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
15039
        elements.
15040
 
15041
        * gcc.c (default_compilers): Properly put brackets around array elements in
15042
        initializer.
15043
 
15044
        * getopt.c (_getopt_internal): Add explicit braces around nested if;
15045
        reformatted.
15046
 
15047
        * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
15048
        (record_reg_life_pat): Add explicit parens around && and || in expression.
15049
        (stack_reg_life_analysis): Add parens around assignment used as expression.
15050
        (convert_regs): Likewise.
15051
 
15052
Thu Mar 12 09:25:29 1998  Manfred Hollstein  
15053
 
15054
        * bitmap.c (bitmap_element_allocate): Remove unused parameter;
15055
        change callers accordingly.
15056
 
15057
        * cplus-dem.c (arm_special): Remove unused parameter work in prototype
15058
        and definition; change all callers accordingly.
15059
 
15060
        * except.c (init_eh): Avoid assignment of unused return value of
15061
        build_pointer_type; cast it to void, instead, and remove unused
15062
        variable type.
15063
 
15064
        * gcc.c (lang_specific_driver): Define prototype only #ifdef
15065
        LANG_SPECIFIC_DRIVER.
15066
        (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
15067
 
15068
        * genoutput.c (output_epilogue): Initialize next_name to 0.
15069
 
15070
        * real.c (efrexp): #if 0 prototype and function definition.
15071
        (eremain): Likewise.
15072
        (uditoe): Likewise.
15073
        (ditoe): Likewise.
15074
        (etoudi): Likewise.
15075
        (etodi): Likewise.
15076
        (esqrt): Likewise.
15077
 
15078
        * reload.c (push_secondary_reload): Define prototype only
15079
        #ifdef HAVE_SECONDARY_RELOADS.
15080
 
15081
        * varasm.c (assemble_static_space): Define rounded only
15082
        #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
15083
 
15084
Thu Mar 12 09:11:35 1998  Manfred Hollstein  
15085
 
15086
        * i386.md (andsi): Add default case in enumeration switch.
15087
        (iorsi3): Likewise.
15088
        (iorhi3): Likewise.
15089
        (xorsi3): Likewise.
15090
 
15091
Thu Mar 12 08:37:02 1998  Manfred Hollstein  
15092
 
15093
        * c-decl (finish_struct): Change type of min_align to unsigned.
15094
 
15095
        * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
15096
        remove unused variable len.
15097
 
15098
        * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
15099
        comment indicating this is proper behavior.
15100
        (reg_loc_descriptor): Remove redundant comparison of unsigned variable
15101
        reg >= 0.
15102
        (based_loc_descr): Likewise.
15103
 
15104
        * enquire.c (bitpattern): Change type of variable i to unsigned.
15105
 
15106
        * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
15107
 
15108
        * flow.c (life_analysis): Change type of variable i to size_t;
15109
        remove unused variable insn.
15110
 
15111
        * gcc.c (translate_options): Change type of variables optlen, arglen and
15112
        complen to size_t.
15113
        (input_filename_length): Change type to size_t.
15114
        (do_spec_1): Change type of variable bufsize to size_t.
15115
        (main): Change type of variables i and j to size_t;
15116
        remove subblock local definition of variable i.
15117
        (lookup_compiler): Change type of second argument to size_t;
15118
        change type of variable i to size_t.
15119
 
15120
        * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
15121
 
15122
        * genopinit.c (get_insn): Change type of variable pindex to size_t.
15123
 
15124
        * genrecog.c (add_to_sequence): Change type of variable i to size_t.
15125
 
15126
        * global.c (global_alloc): Change type of variable i to size_t.
15127
 
15128
        * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
15129
 
15130
        * stmt.c (expand_end_bindings): Change type of variable i to size_t.
15131
        (expand_end_case): Change type of variable count to size_t.
15132
 
15133
        * toplev.c (main): Change type of variable j to size_t.
15134
        (set_target_switch): Change type of variable j to size_t.
15135
        (print_switch_values): Change type of variable j to size_t;
15136
        remove unused variable flags.
15137
 
15138
        * varasm.c (assemble_variable): Change type of variable align to size_t.
15139
        (const_hash_rtx): Change type of variable i to size_t.
15140
 
15141
1998-03-11  Mark Mitchell  
15142
 
15143
        * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
15144
        TREE_VEC if that's what it really is.
15145
 
15146
Wed Mar 11 15:16:01 1998  Michael Meissner  
15147
 
15148
        * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
15149
        as per ISO C spec.
15150
 
15151
Wed Mar 11 12:05:20 1998  Teemu Torma  
15152
 
15153
        * gthr.h: Changed the comment about return values.
15154
        * gthr-solaris.h (__gthread_once): Do not use errno; return the
15155
        error number instead of -1.
15156
        (__gthread_key_create): Any nonzero return value is an error.
15157
        * libgcc2.c (eh_context_initialize): Check for nonzero return
15158
        value from __gthread_once.
15159
        Check that the value of get_eh_context was really changed.
15160
 
15161
Wed Mar 11 18:26:25 1998  J"orn Rennecke  
15162
 
15163
        * sh.h (LOOP_ALIGN): Only align when optimizing.
15164
        * sh.c (find_barrier): Clear inc for CODE_LABELs.
15165
        When not optimizing, calculate alignment for BARRIERs directly.
15166
 
15167
Wed Mar 11 15:07:18 1998  J"orn Rennecke  
15168
 
15169
        * final.c (shorten_branches): Remove conditionalizing on
15170
        SHORTEN_WITH_ADJUST_INSN_LENGTH.
15171
        * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
15172
 
15173
Wed Mar 11 02:37:41 1998  Jeffrey A Law  (law@cygnus.com)
15174
 
15175
        * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
15176
        an unconditional jump around deleted blocks.
15177
 
15178
Mon Mar  9 12:02:23 1998  Jim Wilson  
15179
 
15180
        * profile.c (branch_prob): If see computed goto, call fatal instead of
15181
        abort.
15182
 
15183
        * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
15184
 
15185
        * configure.in (alpha-dec-osf): Add default case for osf* to switch.
15186
        Patch from Bruno Haible.
15187
 
15188
        * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
15189
        (assign_parms): Set aggregate if hide_last_arg and last_named.
15190
 
15191
Mon Mar  9 19:57:56 1998  J"orn Rennecke  
15192
 
15193
        * final.c (shorten_branches): Initialize insn_addresses.
15194
 
15195
Mon Mar  9 14:10:23 1998  J"orn Rennecke  
15196
 
15197
        * sh.h (MUST_PASS_IN_STACK): Define.
15198
 
15199
Sun Mar  8 13:01:56 1998  Jeffrey A Law  (law@cygnus.com)
15200
 
15201
        * final.c (shorten_branches): Fix minor logic error in
15202
        ADDR_DIFF_VEC shortening support.
15203
 
15204
Sun Mar  8 02:17:42 1998  Jeff Law  (law@cygnus.com)
15205
 
15206
        * version.c: Bump for snapshot.
15207
 
15208
Sat Mar  7 00:54:15 1998  Jeffrey A Law  (law@cygnus.com)
15209
 
15210
        * haifa-sched.c (is_cfg_nonregular): Change return type to
15211
        an int.  No longer compute "estimated" number of edges.  Use
15212
        computed_jump_p instead of duplicating the code.  Fixup/add
15213
        some comments.
15214
        (build_control_flow): Returns a value indicating an irregularity
15215
        in the cfg was detected.  Count the number of edges in the cfg.
15216
        allocate various edge tables.
15217
        (find_rgns): No longer look for unreachable blocks.
15218
        (schedule_insns): Do not allocate memory for edge tables here.
15219
        Free memory for edge tables before returning.  Do not perform
15220
        cross block scheduling if build_control_flow returns nonzero.
15221
        * flow.c (compute_preds_succs): More accurately determine when
15222
        a block drops in.
15223
 
15224
        * basic-block.h (free_basic_block_vargs): Provide prototype.
15225
 
15226
        * cccp.c (main): Fix dumb mistakes in last change.
15227
 
15228
Fri Mar  6 21:28:45 1998  J"orn Rennecke  
15229
 
15230
        * rtl.h (addr_diff_vec_flags): New typedef.
15231
        (union rtunion_def): New member rt_addr_diff_vec_flags.
15232
        (ADDR_DIFF_VEC_FLAGS): New macro.
15233
 
15234
        * sh.c (output_branch): Fix offset overflow problems.
15235
 
15236
        * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
15237
        (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
15238
        * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
15239
        * stmt.c (expand_end_case): Supply new arguments to
15240
        gen_rtx_ADDR_DIFF_VEC.
15241
        * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
15242
        * alpha.h, arc.h, clipper.h, convex.h : Likewise.
15243
        * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
15244
        * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
15245
        * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
15246
        * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
15247
        * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
15248
        * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
15249
        * i386/freebsd.h, i386/linux.h : Likewise.
15250
        * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
15251
        * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
15252
        * m68k/mot3300.h, m68k/sgs.h : Likewise.
15253
        * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
15254
        * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
15255
        (CASE_VECTOR_SHORTEN_MODE): Define.
15256
        (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
15257
        (med_branch_p, braf_branch_p): Don't declare.
15258
        (mdep_reorg_phase, barrier_align): Declare.
15259
        (ADJUST_INSN_LENGTH): Remove alignment handling.
15260
        * sh.c (uid_align, uid_align_max): Deleted.
15261
        (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
15262
        (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
15263
        (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
15264
        (output_far_jump): Don't use braf_branch_p.
15265
        (output_branchy_insn): Don't use branch_offset.
15266
        (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
15267
        Remove paired barrier stuff.
15268
        Don't use cache_align_p.
15269
        Take alignment insns into account.
15270
        (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
15271
        the addr_diff_vec.
15272
        (barrier_align, branch_dest): New function.
15273
        (machine_dependent_reorg, split_branches): Remove infrastructure
15274
        for branch shortening that is now provided in the backend.
15275
        * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
15276
        (braf_branch_p, braf_cbranch_p): Likewise.
15277
        (attribute length): Use new attributes.
15278
        (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
15279
        (addr_diff_vec_adjust): Delete.
15280
        (align_2): Now a define_expand.
15281
        (align_log): Now length 0.
15282
 
15283
Fri Mar  6 14:41:33 1998  Michael Meissner  
15284
 
15285
        * m32r.md (right): Correctly check for length == 2, not 1.
15286
 
15287
Fri Mar  6 14:00:04 1998  Kaveh R. Ghazi  
15288
 
15289
        * mips/mips.h: Prototype `machine_dependent_reorg'.
15290
        (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
15291
 
15292
Fri Mar  6 11:43:35 1998  Joern Rennecke  (amylaar@cygnus.co.uk)
15293
 
15294
        * final.c (shorten_branches): Restore accidentally removed code.
15295
 
15296
Fri Mar  6 11:00:49 1998  Andreas Schwab  
15297
 
15298
        * configure.in: Remove duplicate uses of AC_PROG_CC and
15299
        AC_PROG_MAKE_SET.
15300
 
15301
Fri Mar  6 00:59:30 1998  Richard Henderson  
15302
 
15303
        * configure.in (target_cpu_default2): Correct typo for alphapca56.
15304
 
15305
Thu Mar  5 23:24:50 1998  Jeffrey A Law  (law@cygnus.com)
15306
                          Doug Evans     (devans@cygnus.com)
15307
 
15308
        * haifa-sched.c (build_jmp_edges): Delete dead function.
15309
        (build_control_flow): Use cfg routines from flow.c.
15310
        (schedule_insns): Remove debugging code accidentally checked
15311
        in earlier today.
15312
 
15313
        * basic-block.h: Add external integer list structures, typdefs,
15314
        accessor macros and function declarations.  Similarly for
15315
        basic block pred/succ support and simple bitmap stuff.
15316
        * flow.c: Add functions for integer list, basic block pred/succ
15317
        support and simple bitmap support.
15318
        (compute_dominators): New function to compute dominators and
15319
        post dominators.
15320
        (find_basic_blocks): Split into two functions.
15321
        (life_analysis): Likewise.
15322
        (flow_analysis): Removed.  Now handled by calling find_basic_blocks,
15323
        the life_analysis from toplev.c.
15324
        * toplev.c (rest_of_compilation): Call find_basic_blocks, then
15325
        life_analysis instead of flow_analysis.
15326
 
15327
Thu Mar  5 23:06:26 1998  J"orn Rennecke  
15328
 
15329
        * jump.c (jump_optimize): Call mark_jump_label also for deleted
15330
        insns.
15331
        (mark_jump_label): Don't increment ref counts for deleted insns.
15332
 
15333
Thu Mar  5 09:55:15 1998  Kaveh R. Ghazi  
15334
 
15335
        * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
15336
 
15337
        * mips/mips.c: Include stdlib.h and unistd.h.
15338
        (mips_asm_file_end): Add braces around empty body in an if-statement.
15339
        (function_prologue): Wrap variable `fnname' in
15340
        !FUNCTION_NAME_ALREADY_DECLARED.  Correct format specifier in fprintf.
15341
        (mips_select_rtx_section, mips_select_section): Declare as void.
15342
 
15343
        * mips/mips.h: Add prototypes for extern functions in mips.c.
15344
        (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
15345
        (ENCODE_SECTION_INFO): Add braces around empty body in an
15346
        if-statement.
15347
 
15348
        * mips/mips.md (movdi): Add parentheses around && within ||.
15349
        (movsf, movdf): Likewise.
15350
        (branch_zero, branch_zero_di): Add default case in
15351
        enumeration switch.
15352
 
15353
Thu Mar  5 02:45:48 1998  Richard Henderson  
15354
 
15355
        * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
15356
        real constants, since they can't be changed.
15357
        (TARGET_AS_CAN_SUBTRACT_LABELS): New.
15358
        * alpha/alpha.md (builtin_setjmp_receiver): Use it.
15359
        * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
15360
        * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
15361
        * alpha/vms.h (TARGET_OPEN_VMS): New.
15362
        * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
15363
 
15364
Thu Mar  5 02:41:27 1998  Richard Henderson  
15365
 
15366
        * reload.c (find_reloads): Always force (subreg (mem)) to be
15367
        reloaded if WORD_REGISTER_OPERATIONS.
15368
 
15369
Thu Mar  5 02:14:44 1998  Richard Henderson  
15370
 
15371
        * haifa-sched.c (free_list): Rename from free_pnd_lst.
15372
        (free_pending_lists): Rename free_pnd_lst uses.
15373
        (remove_dependence): Place expunged element on unused_insn_list.
15374
        (alloc_INSN_LIST, alloc_EXPR_LIST): New.  Change all callers of
15375
        gen_rtx_*_LIST and alloc_rtx to use them.
15376
        (compute_block_backward_dependences): Free the reg_last_* lists.
15377
 
15378
Thu Mar  5 00:05:40 1998  Jeffrey A Law  (law@cygnus.com)
15379
 
15380
        * cccp.c (main): Avoid undefined behavior when setting pend_includes
15381
        and pend_files.
15382
 
15383
Wed Mar  4 21:58:25 1998  Franz Sirl  
15384
 
15385
        * rs6000/linux.h: Don't define DEFAULT_VTABLE_THUNKS to 1 if
15386
        USE_GNULIBC_1 is defined.
15387
        * configure.in: Add a new case powerpc-*-linux-gnulibc1 which
15388
        includes the t-linux-gnulibc1 fragment.
15389
 
15390
Wed Mar  4 12:11:36 1998  Jim Wilson  
15391
 
15392
        * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
15393
 
15394
Wed Mar  4 18:47:48 1998  J"orn Rennecke  
15395
 
15396
        * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
15397
 
15398
Wed Mar  4 15:51:19 1998  J"orn Rennecke  
15399
 
15400
        * final.c (shorten_branches): Tag the loop alignment onto the
15401
        first label after NOTE_INSN_LOOP_BEG even if there is an
15402
        intervening insn.
15403
 
15404
Tue Mar  3 21:48:35 1998  J"orn Rennecke  
15405
 
15406
        * final.c (insn_current_reference_address):
15407
        Use SEQ instead of BRANCH as argument to align_fuzz, to get a
15408
        proper alignment chain.
15409
 
15410
        * final.c (max_labelno): New static variable.
15411
        (final_scan_insn): Check max_labelno before outputting an
15412
        alignment for a label.
15413
        (shorten_branches): Remove unused variable length_align.
15414
 
15415
Tue Mar  3 14:27:23 1998  Kaveh R. Ghazi  
15416
 
15417
        * sparc.c (ultrasparc_adjust_cost): Add default case in
15418
        enumeration switch.
15419
 
15420
        * sparc.h: Add prototypes for extern functions defined in
15421
        sparc.c.
15422
 
15423
Tue Mar  3 10:00:11 1998  Nick Clifton  
15424
 
15425
        * toplev.c: Only generate .dbr file when dumping RTL if
15426
        DEALY_SLOTS is defined.
15427
 
15428
Tue Mar  3 07:36:37 1998  Manfred Hollstein  
15429
 
15430
        * reorg.c (fill_eager_delay_slots): Add new argument delay_list
15431
        in call to fill_slots_from_thread.
15432
 
15433
Mon Mar  2 13:45:03 1998  Richard Henderson  
15434
 
15435
        * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
15436
        to SUB_CPP_PREDEFINES.  Reported by asun@saul4.u.washington.edu.
15437
 
15438
Mon Mar  2 22:59:28 1998  J"orn Rennecke  
15439
 
15440
        * final.c (insn_last_address, insn_current_align, uid_align):
15441
        New variables.
15442
        (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
15443
        (insn_current_reference_address): Likewise.
15444
        (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
15445
        LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
15446
        (label_to_alignment): New function.
15447
        * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
15448
        LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
15449
        insn_current_reference_address instead of insn_current_address.
15450
        (or_attr_value, write_length_unit_log): New functions.
15451
        (main): Call write_length_unit_log.
15452
        (write_const_num_delay_slots): Output extra '\n'.
15453
        * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
15454
        Replace with:
15455
        (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
15456
        * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
15457
        * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): Replace with:
15458
        (LOOP_ALIGN).
15459
        * i960.h, m88k.h (ASM_OUTPUT_ALIGN_CODE): Replace with:
15460
        (LABEL_ALIGN_AFTER_BARRIER).
15461
        * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
15462
        * ns32k/tek6000.h: Likewise.
15463
        * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
15464
        * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
15465
        ASM_OUTPUT_ALIGN_CODE.
15466
 
15467
Mon Mar  2 01:05:50 1998  Jeff Law  (law@cygnus.com)
15468
 
15469
        * version.c: Bump for snapshot.
15470
 
15471
Mon Mar  2 00:52:18 1998  Jeff Law  (law@cygnus.com)
15472
 
15473
        * version.c: Bump for snapshot.
15474
 
15475
Sun Mar  1 18:25:49 1998  Michael P. Hayes  
15476
 
15477
        * reorg.c (fill_slots_from_thread): Don't steal delay list from target
15478
        if condition code of jump conflicts with opposite_needed.
15479
 
15480
        * reorg.c (fill_slots_from_thread): Mark resources referenced in
15481
        opposite_needed thread.  Return delay_list even when cannot get
15482
        any more delay insns from end of subroutine.
15483
 
15484
Sun Mar  1 18:26:21 1998  Ken Rose  (rose@acm.org)
15485
 
15486
        * reorg.c (fill_slots_from_thread): New parameter, delay_list.
15487
        All callers changed.
15488
 
15489
Sun Mar  1 18:25:37 1998  Bruno Haible  
15490
 
15491
        * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
15492
        end_fde_sort): New functions for fast sorting of an FDE array.
15493
        (fde_insert): Simplified.
15494
        (add_fdes): Change argument list.
15495
        (frame_init): Use the new functions.
15496
 
15497
Sun Mar  1 18:06:21 1998  Jeffrey A Law  (law@cygnus.com)
15498
 
15499
        * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
15500
 
15501
        * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
15502
 
15503
        * fold-const.c (fold_range_test): Always return a value.
15504
 
15505
Sun Mar  1 17:57:34 1998  Mumit Khan  
15506
 
15507
        * config/i386/winnt.c (i386_pe_unique_section): Put read-only
15508
        data in the text section unless READONLY_DATA_SECTION is defined.
15509
 
15510
Sun Mar  1 17:48:46 1998  Jeffrey A Law  (law@cygnus.com)
15511
 
15512
        * c-parse.in (undeclared variable error): Tweak error message to
15513
        be clearer.
15514
 
15515
Sun Mar  1 10:22:36 1998  Jeff Law  (law@cygnus.com)
15516
 
15517
        * version.c: Bump for snapshot.
15518
 
15519
1998-02-28  Mark Mitchell  
15520
 
15521
        * final.c (final_scan_insn): Undo overzealous removal of `set'.
15522
 
15523
Sat Feb 28 07:54:03 1998  Kaveh R. Ghazi  
15524
 
15525
        * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
15526
        case, add parentheses to specify the proper order of precedence in
15527
        the if-statement.
15528
 
15529
        * c-aux-info.c: Include string.h/strings.h.
15530
 
15531
        * pa.c: Include stdlib.h.
15532
        (pa_combine_instructions): Prototype the function.
15533
        (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
15534
        (reloc_needed): Add default case for enumeration switch.
15535
        (remove_useless_addtr_insns): Remove unused variable `all'.
15536
        (hppa_expand_prologue): Add explicit braces to avoid
15537
        ambiguous `else'.
15538
        (output_function_epilogue): Remove unused variable `i'.
15539
        (output_millicode_call): Remove unused variable `link'.
15540
        (shadd_constant_p, forward_branch_p): Make the function static.
15541
        (following_call): Explicitly declare to return int.
15542
        (pa_reorg): Declare as void.
15543
        (pa_combine_instructions): Declare as static void.  Add
15544
        parentheses around && within ||.
15545
 
15546
        * pa.h: Add prototypes for pa_reorg, symbolic_operand,
15547
        following_call, function_label_operand, lhs_lshift_cint_operand
15548
        and zdepi_cint_p.
15549
 
15550
        * pa.md: Add parentheses around && within ||.
15551
 
15552
        * cppalloc.c: Include stdlib.h.
15553
 
15554
        * cpperror.c (cpp_print_containing_files): Remove unused variable
15555
        `i'.  Fix format specifier in fprintf.
15556
 
15557
        * cse.c (cse_around_loop): Add explicit braces to avoid
15558
        ambiguous `else'.
15559
        (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
15560
 
15561
        * expr.c (expand_expr): Add parentheses around && within ||.
15562
 
15563
        * final.c (app_enable): Replace fprintf with fputs where there are
15564
        no format specifiers and no trailing argument after the string.
15565
        Eg, when printing ASM_APP_ON/ASM_APP_OFF.
15566
        (app_disable): Likewise.
15567
        (final_end_function): Likewise.
15568
        (final_scan_insn): Likewise.  Remove unused variable `set'.
15569
        (profile_function): Wrap empty if-statement body in {} brackets.
15570
 
15571
        * function.c: Include stdlib.h.
15572
        (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
15573
        (reposition_prologue_and_epilogue_notes): Add parentheses
15574
        around assignment used as truth value.
15575
 
15576
        * integrate.c (expand_inline_function): Wrap variable
15577
        `cc0_insn' in macro HAVE_cc0.
15578
 
15579
        * jump.c (jump_optimize): Wrap variable `q' in macro
15580
        HAVE_cc0.  Remove unused variable `prev1'.
15581
 
15582
        * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
15583
        within ||.  Fix format specifier in fprintf.
15584
        (__bb_init_prg): Add parentheses around assignment used as
15585
        truth value.
15586
 
15587
        * local-alloc.c: Include stdlib.h.
15588
        (requires_inout): Add parentheses around assignment used
15589
        as truth value.
15590
 
15591
        * loop.c (analyze_loop_iterations): Wrap prototype and definition
15592
        in macro HAVE_decrement_and_branch_on_count.
15593
        (insert_bct, instrument_loop_bct): Likewise.
15594
        (move_movables): Add parentheses around assignment used as
15595
        truth value.
15596
        (consec_sets_invariant_p): Likewise.
15597
        (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
15598
 
15599
        * objc/objc-act.c: Include stdlib.h.
15600
        (lookup_method_in_protocol_list): Wrap empty else-statement body
15601
        in braces.
15602
        (lookup_protocol_in_reflist): Likewise.
15603
        (objc_add_static_instance): Remove unused variables `decl_expr'
15604
        and `decl_spec'.
15605
        (get_objc_string_decl): Remove unused variable `decl'.
15606
        (generate_static_references): Remove unused variables `idecl' and
15607
        `instance'.
15608
        (check_protocols): Wrap empty else-statement body in braces.
15609
 
15610
        * protoize.c: Include stdlib.h.
15611
        (substr): Add parentheses around assignment used as truth value.
15612
        (abspath): Likewise.
15613
        (shortpath): Likewise.
15614
 
15615
        * regmove.c (fixup_match_1): Add parentheses around assignment
15616
        used as truth value.
15617
 
15618
        * reload.c (push_secondary_reload): Remove unused variable `i'.
15619
        (find_reloads): Add parentheses around assignment used as truth
15620
        value.
15621
 
15622
        * reload1.c: Include stdlib.h.
15623
 
15624
        * rtl.h: Correct typo in prototype of offsettable_memref_p.
15625
 
15626
        * stmt.c (add_case_node): Add parentheses around assignment used
15627
        as truth value.
15628
        (case_tree2list): Likewise.
15629
 
15630
        * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
15631
        in macro VALID_MACHINE_DECL_ATTRIBUTE.  Wrap variable
15632
        `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
15633
        (merge_attributes): Add explicit braces to avoid ambiguous
15634
        `else'.
15635
 
15636
        * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
15637
        macro HAVE_cc0.
15638
 
15639
        * varasm.c: Include stdlib.h.
15640
 
15641
        * system.h: Remove sys/stat.h.
15642
        * gcc.c: Add sys/stat.h.
15643
 
15644
        * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
15645
        * genattrtab.c: Likewise.
15646
        * genconfig.c: Likewise.
15647
        * genemit.c: Likewise.
15648
        * genextract.c: Likewise.
15649
        * genflags.c: Likewise.
15650
        * genopinit.c: Likewise.
15651
        * genoutput.c: Likewise.
15652
        * genpeep.c: Likewise.
15653
        * genrecog.c: Likewise.
15654
        * tlink.c: Likewise.  Also wrap `getenv' in NEED_DECLARATION_GETENV.
15655
 
15656
Fri Feb 27 11:02:47 1998  Andreas Schwab  
15657
 
15658
        * invoke.texi: Use @itemx for a secondary item in a @table.
15659
 
15660
        * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
15661
        zero.
15662
 
15663
Thu Feb 26 00:13:21 1998  Ian Lance Taylor  
15664
 
15665
        * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
15666
 
15667
Wed Feb 25 23:40:54 1998  Jeffrey A Law  (law@cygnus.com)
15668
 
15669
        * i386.c (struct machine_function): Add new fields for PIC stuff.
15670
        (save_386_machine_status): Fix argument to xmalloc.  Save pic_label_rtx
15671
        and pic_label_name.
15672
        (restore_386_machine_status): Corresponding changes.
15673
        (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
15674
 
15675
Wed Feb 25 01:31:40 1998  Jeffrey A Law  (law@cygnus.com)
15676
 
15677
        * c-parse.y (undeclared variable error): Tweak error message
15678
        to be clearer.
15679
 
15680
Tue Feb 24 23:54:07 1998  Richard Henderson  
15681
 
15682
        * flags.h (g_switch_value, g_switch_set): Declare.
15683
        * alpha.c (override_options): Set g_switch_value=8 if not set.
15684
        * alpha/elf.h (CC1_SPEC): New.
15685
        (ASM_SPEC): New.
15686
        (LINK_SPEC): Pass along the -G value we were given.
15687
        (LOCAL_ASM_OP): Remove.
15688
        (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
15689
        (MAX_OFILE_ALIGNMENT): New.
15690
        (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
15691
        (EXTRA_SECTIONS): Add sbss and sdata.
15692
        (SECTION_FUNCTION_TEMPLATE): New.
15693
        (EXTRA_SECTION_FUNCTIONS): Use it.
15694
        (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
15695
        (SELECT_SECTION): Use sdata when small enough.
15696
        * alpha/linux.h (ASM_SPEC): Remove.
15697
 
15698
Mon Feb 23 15:09:18 1998  Bruno Haible  
15699
        * config.sub (sco5): Fix typo.
15700
 
15701
Mon Feb 23 18:19:31 1998  Manfred Hollstein  
15702
 
15703
        * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
15704
        set to empty.
15705
        * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
15706
        * config/alpha/t-linux: Remove file.
15707
        * config/sparc/t-linux: Remove file.
15708
        * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
15709
        * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
15710
        * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
15711
        for tmake_file.
15712
        (alpha*-*-linux-gnu*): Likewise.
15713
        (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
15714
        (sparc-*-linux-gnu*): Likewise.
15715
 
15716
Mon Feb 23 10:47:39 1998  Robert Lipe  
15717
        * collect2.c (ldd_file_name): Bracket declaration with same
15718
        manifests as use.
15719
        (full_real_ld_suffix): Deleted.  Variable was calloced and
15720
        written into, but never read.
15721
 
15722
1998-02-23  Mike Stump  
15723
 
15724
        * configure.in: Add support for i386-wrs-vxworks configuration.
15725
        * i386/vxi386.h: New file.
15726
 
15727
Sun Feb 22 21:16:51 1998  Bruno Haible  
15728
 
15729
        * tree.c (contains_placeholder_p): Ensure function always returns
15730
        a value.
15731
        * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
15732
        (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
15733
 
15734
Sun Feb 22 20:58:19 1998  Jeffrey A Law  (law@cygnus.com)
15735
 
15736
        * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
15737
 
15738
1998-02-22  Paul Eggert  
15739
 
15740
        * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
15741
        Define this new symbol.
15742
        (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
15743
        * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
15744
        LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
15745
 
15746
Sun Feb 22 20:07:32 1998  Jim Wilson  
15747
 
15748
        * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
15749
        * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
15750
 
15751
Sun Feb 22 15:29:48 1998  Richard Henderson  
15752
 
15753
        * objc/Object.m (-error): Call objc_verror with our va_list.
15754
 
15755
Sun Feb 22 09:45:39 1998  Kaveh R. Ghazi  
15756
 
15757
        * collect2.c (scan_prog_file): Completely cover uses of variable
15758
        `exports' with macro COLLECT_EXPORT_LIST.
15759
 
15760
Sat Feb 21 20:36:23 1998  Jeff Law  (law@cygnus.com)
15761
 
15762
        * version.c: Bump for snapshot.
15763
 
15764
Fri Feb 20 16:22:13 1998  Michael Meissner  
15765
 
15766
        * sched.c (schedule_block): Remove code to get arguments from hard
15767
        regs into pseudos early.  Same as Aug 25, 1997 change to
15768
        haifa-sched.c.
15769
 
15770
1998-02-20  Jason Merrill  
15771
 
15772
        * collect2.c (main): Still handle !do_collecting for non-AIX targets.
15773
 
15774
1998-02-16  Mark Mitchell  
15775
 
15776
        * toplev.c (rest_of_compilation): Do not defer the output of a
15777
        nested function.
15778
 
15779
Fri Feb 20 10:39:47 1998  Michael Tiemann  
15780
 
15781
        * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
15782
        continuation character (line 243).
15783
 
15784
Fri Feb 20 12:10:26 1998  Andreas Schwab  
15785
 
15786
        * genrecog.c (main): Remove duplicated sentence in emitted comment.
15787
 
15788
Thu Feb 19 22:36:53 1998  Andrey Slepuhin  
15789
                          David Edelsohn  
15790
 
15791
        * collect2.c (XCOFF_SCAN_LIBS): Remove.
15792
        (export_flag): New variable.
15793
        (export_file): #ifdef COLLECT_EXPORT_LIST.
15794
        (import_file, exports, imports, undefined): New variables.
15795
        (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
15796
        (dump_list, dump_prefix_list, is_in_list): New functions.
15797
        (write_export_file): $ifdef COLLECT_EXPORT_LIST.
15798
        (write_import_file, resolve_lib_name): New functions.
15799
        (use_import_list, ignore_library): Same.
15800
        (collect_exit): maybe_unlink import_file and #ifdef.
15801
        (handler): Same.
15802
        (main): New variable importf, #ifdef exportf.  Move parsing of
15803
        -shared before general argument parsing.  Resolve AIX library
15804
        paths and import libgcc.a symbols.  Treat .so shared libraries the
15805
        same as objects and .a libraries.  Create alias for object_lst and
15806
        increment it instead of original pointer.  Scan AIX libraries as
15807
        objects earlier instead of using scan_libraries.  Perform AIX
15808
        tlink later to resolve templates instead of forking ld.
15809
        (GCC_OK_SYMBOL): Ensure symbol not in undef section.
15810
        (GCC_UNDEF_SYMBOL): New macro.
15811
        (scan_prog_file): Loop for members of AIX libraries.  Handle
15812
        export/import of ctors/dtors.
15813
        (aix_std_libs): New variable.
15814
        (scan_libraries, XCOFF): Delete.
15815
 
15816
Thu Feb 19 22:36:52 1998  Robert Lipe  
15817
 
15818
        * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
15819
 
15820
1998-02-19  Mike Stump  
15821
 
15822
        * Makefile.in: Use $tooldir for sys-include to match toplevel
15823
        configure.
15824
 
15825
Thu Feb 19 01:32:37 1998  Jeffrey A Law  (law@cygnus.com)
15826
                          Richard Kenner  
15827
 
15828
        * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
15829
 
15830
        * emit-rtl.c (hard-reg-set.h): Include.
15831
        (get_lowpart_common): Don't make new REG for hard reg in a
15832
        class that cannot change size.
15833
        * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
15834
 
15835
        * combine.c: Revert previous patch.
15836
 
15837
1998-02-19  Paul Eggert  
15838
 
15839
        * config/sparc/sol2-sld.h: New file.
15840
        * configure.in (sparc-*-solaris2*): Use it when using the
15841
        system linker.
15842
 
15843
Thu Feb 19 00:46:59 1998  Jeffrey A Law  (law@cygnus.com)
15844
 
15845
        * loop.c (force_movables): Fix typo.
15846
 
15847
Thu Feb 19 08:26:30 1998  Manfred Hollstein  
15848
 
15849
        * m88k.h: Change file pattern to match reality.
15850
 
15851
Wed Feb 18 23:19:52 1998  Jeffrey A Law  (law@cygnus.com)
15852
 
15853
        * varasm.c (output_constant_pool): Fix dumb thinko in last
15854
        change.
15855
 
15856
        * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
15857
        a function name to a section name.
15858
 
15859
1998-02-18  Doug Evans  
15860
 
15861
        * tree.h (merge_machine_{type,decl}_attributes): Declare.
15862
        (split_specs_attrs, strip_attrs): Add prototypes.
15863
        * tree.c (merge_machine_{type,decl}_attributes): New functions.
15864
        * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
15865
        Update olddecl's attributes too.
15866
        * c-common.c (strip_attrs): New function.
15867
        * c-typeck.c (common_type): Call merge_machine_type_attributes.
15868
        * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
15869
        (make_decl_rtl): Likewise.
15870
 
15871
1998-02-18  Jim Wilson  
15872
 
15873
        * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
15874
 
15875
Wed Feb 18 09:09:50 1998  Jeffrey A Law  (law@cygnus.com)
15876
 
15877
        Remove this change until we can fix it correctly.
15878
        * collect2.c: Bracket declaration of 'exportf' and
15879
        'full_real_ld_suffix'.
15880
 
15881
Wed Feb 18 08:44:25 1998  Bernd Schmidt  
15882
 
15883
        * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
15884
 
15885
Tue Feb 17 23:30:20 1998  Bernd Schmidt  
15886
 
15887
        * c-common.c (c_expand_start_cond, c_expand_end_cond,
15888
        c_expand_start_else): Don't warn about non-ambiguous else even if
15889
        braces are missing.
15890
 
15891
Tue Feb 17 23:56:50 1998  Robert Lipe  
15892
 
15893
        * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
15894
        ASM_OUTPUT_LONG_DOUBLE): Delete.  Use the ones from i386.h
15895
        instead.
15896
 
15897
Tue Feb 17 22:56:14 1998  Richard Henderson  
15898
 
15899
        * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
15900
        simplifying a subreg of a hard reg.
15901
        (expand_compound_operation): Likewise.
15902
        (force_to_mode): Likewise.
15903
 
15904
Tue Feb 17 22:37:22 1998  Kaveh R. Ghazi  
15905
 
15906
        * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
15907
        (lshift_double): Add parentheses around + or - inside shift.
15908
        (rshift_double): Likewise.
15909
        (size_int_wide): Explicitly set type of `bit_p' to `int'.
15910
 
15911
        * Makefile.in (fold-const.o): Depend on system.h.
15912
 
15913
        * Makefile.in (gcc.o): Depend on system.h, in accordance with last
15914
        change to gcc.c.
15915
 
15916
        * haifa-sched.c: Include "system.h" to get  and .
15917
        (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
15918
        (sched_note_set): Remove unused parameter `b', all callers changed.
15919
        (schedule_block): Likewise for `rgn'.
15920
        (split_hard_reg_notes): Likewise for `orig_insn'.
15921
        (check_live): Likewise for `trg'.
15922
        (update_live): Likewise.
15923
        (check_live_1): Explicitly declare variable `i' as int.
15924
        (update_live_1): Likewise.
15925
        (insn_issue_delay): Remove unused variable `link'.
15926
        (sched_analyze_2): Add default case in enumeration switch.
15927
        (schedule_insns): Remove unused variable `i'.
15928
 
15929
        * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
15930
 
15931
Tue Feb 17 22:31:04 1998  Jeffrey A Law  (law@cygnus.com)
15932
 
15933
        * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
15934
        a dangling else clause.
15935
 
15936
Tue Feb 17 21:28:12 1998  Gavin Koch  
15937
 
15938
        * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
15939
        pointer for the stack pointer in MIPS16 and 64BIT.
15940
 
15941
Tue Feb 17 21:17:30 1998  J"orn Rennecke  
15942
 
15943
        * rtl.h (force_line_numbers, restore_line_number_status): Declare.
15944
        * emit-rtl.c (force_line_numbers, restore_line_number_status):
15945
        New functions.
15946
        * stmt.c (struct nesting): Replace seenlabel with line_number_status.
15947
        (expand_start_case): Adjust to this change.
15948
        (check_seenlabel): New function.
15949
        (pushcase, pushcase_range, expand_endcase): Use it.
15950
 
15951
Tue Feb 17 10:14:32 1998  J"orn Rennecke  
15952
 
15953
        * i386.md (adddi3): Add =!r,0,0,X alternative.
15954
 
15955
Mon Feb 16 16:13:43 1998  David Edelsohn  
15956
 
15957
        * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
15958
        * x-aix31 (INSTALL): Delete.
15959
 
15960
Mon Feb 16 09:24:32 1998  Gavin Koch  
15961
 
15962
        * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
15963
        tsize changes to something other than zero.
15964
 
15965
Mon Feb 16 09:11:48 1998  Gavin Koch  
15966
 
15967
        * ginclude/va-mips.h: Replace casts of pointers to int with
15968
        casts of pointers to __PTRDIFF_TYPE__.
15969
 
15970
Mon Feb 16 08:17:14 1998  John Carr  
15971
 
15972
        * loop.c (strength_reduce, record_biv, record_giv): Use
15973
        HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
15974
 
15975
1998-02-16  Jason Merrill  
15976
 
15977
        * tree.c (first_rtl_op): New fn.
15978
        (unsave_expr_now): Use it.
15979
        * print-tree.c (print_node): Likewise.
15980
        * tree.c (has_cleanups): New fn.
15981
        * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it.  Be more
15982
        conservative about pushing the cleanup point down.
15983
        * tree.h: Declare them.
15984
 
15985
Sun Feb 15 23:28:44 1998  Jeffrey A Law  (law@cygnus.com)
15986
 
15987
        * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
15988
        (flag_schedule_reverse_after_reload): Likewise.
15989
        (f_options): Remove reverse scheduling support.
15990
        * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
15991
        (flag_schedule_reverse_after_reload): Likewise.
15992
        * haifa-sched.c (rank_for_schedule): Remove support for reverse
15993
        scheduling.
15994
 
15995
Sun Feb 15 21:33:55 1998  Kaveh R. Ghazi  
15996
 
15997
        * gcc.c: Get system includes, prototypes and macros via "system.h"
15998
        instead of doing it manually.  Change all calls of the ctype
15999
        macros to custom versions defined in "system.h".
16000
 
16001
        * system.h: Fix return type of bcmp prototype from `void' to `int'.
16002
        Make bcopy, bcmp and bzero prototypes explicitly `extern'.
16003
        Add a prototype for getenv.
16004
 
16005
Sun Feb 15 17:05:41 1998  Jim Wilson  
16006
 
16007
        * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
16008
 
16009
Sun Feb 15 15:23:15 1998  John Carr  
16010
 
16011
        * alias.c: Include  and .
16012
        (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
16013
 
16014
Sat Feb 14 11:23:09 1998  Jeff Law  (law@cygnus.com)
16015
 
16016
        * version.c: Bump for snapshot.
16017
 
16018
Sat Feb 14 05:08:21 1998  Richard Earnshaw  (rearnsha@arm.com)
16019
 
16020
        * arm.md (movsfcc): Also validate operands[3] when compiling hard
16021
        float.
16022
        (movdfcc): Only accept fpu_add_operand for operands[3].
16023
 
16024
        * arm/t-semi (STMP_FIXPROTO): Define to nothing.
16025
        * arm/t-semiaof (STMP_FIXPROTO): Likewise.
16026
 
16027
Sat Feb 14 02:02:41 1998  Jeffrey A Law  (law@cygnus.com)
16028
 
16029
        * varasm.c (output_constant_pool): Bring back 'done' label inside
16030
        an appropriate #ifdef.
16031
 
16032
        * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
16033
        appropriate #ifdef.
16034
        (bitmap_copy, bitmap_operation): Likewise.
16035
        * combine.c (combinable_i3pat): Similarly for 'src'.
16036
        * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
16037
        (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
16038
        * regclass.c (copy_cost): Similarly for 'secondary_class'.
16039
        * reload.c (make_memloc): Similarly for 'i'.
16040
        (find_reloads_address_1): Similarly for 'link'.
16041
        * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
16042
        (emit_reload_insns): Similarly for 'second_reloadreg'.
16043
        * unroll.c (iteration_info): Similarly for 'v'.
16044
 
16045
        * caller-save.c (insert_save_restore): Remove unused variable 'i'.
16046
        * calls.c (expand_call): Similarly for 'i'.
16047
        (emit_library_call, emit_library_call_value): Similarly for 'mode'.
16048
        * fold-const.c (strip_compound_expr): Similarly for 'type'.
16049
        * function.c (fixup_var_refs_1): Similarly  for 'width'.
16050
        (fixup_memory_subreg): Similarly for 'saved'.
16051
        (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
16052
        (setjmp_protect): Similarly for 'sub'.
16053
        (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
16054
        * loop.c (record_giv): Similarly for 'p'.
16055
        (combine_givs): Similarly for 'temp_iv'.
16056
        (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
16057
        * recog.c (validate_replace_rtx_1): Similarly for 'width'.
16058
        * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
16059
        * unroll.c (unroll_loop): Similarly for 'copy'.
16060
        (iteration_info): Similarly for 'b'.
16061
        * varasm.c (assemble_string): Similarly for 'i'.
16062
        * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
16063
 
16064
1998-02-13  Martin von Löwis  
16065
 
16066
        * c-lang.c (lang_print_xnode): New function.
16067
        * objc/objc-act.c (lang_print_xnode): Likewise.
16068
        * print-tree.c (print_node): Call it
16069
 
16070
Fri Feb 13 14:38:34 1998  Jim Wilson  
16071
 
16072
        * dwarf2out.c (decl_scope_node): New type.
16073
        (decl_scope_table): Change type to use it.
16074
        (decl_scope_table_allocated, decl_scope_depth): Change type to int.
16075
        (push_decl_scope): Use new type.  New locals containing_scope, i.
16076
        Add code to handle setting previous field.
16077
        (scope_die_for): Change type of local i to int.  Add code to use
16078
        previous field.
16079
        (dwarf2out_init): Use new type.
16080
 
16081
1998-02-13  Jason Merrill  
16082
 
16083
        * except.c (emit_throw): Lose throw_used.
16084
 
16085
Fri Feb 13 20:36:05 1998  J"orn Rennecke  
16086
 
16087
        * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
16088
        was deleted.
16089
        * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
16090
 
16091
Fri Feb 13 12:18:40 1998  Jeffrey A Law  (law@cygnus.com)
16092
 
16093
        * genextract.c (main): Fix typo.
16094
 
16095
Fri Feb 13 08:41:49 1998  Robert Lipe  
16096
 
16097
        * c-lang.c (finish_file): Bracket declaration of static_ctors,
16098
        static_dtors.
16099
 
16100
        * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
16101
        'old_stack_arg_under_construction'
16102
        (emit_library_call): Bracket declaration of 'upper_bound',
16103
        'lower_bound', 'i', 'reg_parm_stack_space'
16104
        (emit_library_call_value): Likewise.
16105
        (store_one_arg):
16106
 
16107
        * collect2.c: Include  when appropriate.
16108
        Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
16109
 
16110
        * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
16111
 
16112
        * explow.c (plus_constant_for_output_wide): Remove unused variable
16113
        'code'.
16114
        (memory_address): Remove unused variable 'orig_x'.
16115
 
16116
        * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
16117
        (write_const_num_delay_slots): Remove unused variable 'i'.
16118
 
16119
        * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
16120
        (gen_insn): Remove unused variable 'obstack_ptr'.
16121
 
16122
        * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
16123
        'j', 'tmp', 'i'.
16124
        (__bb_exit_trace_func): Remove unused variable 'e'.
16125
 
16126
        * optabs.c (expand_binop): Remove unused variables 'lhs', 'rhs',
16127
        'funexp'.
16128
        (expand_unop): Remove unused variable 'funexp'.
16129
        (expand_complex_abs): Remove unused variable 'funexp'.
16130
        (init_optabs): Bracket declaration of 'j'.
16131
        (init_complex_libfuncs): Deleted.  Dead static function.
16132
 
16133
        * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
16134
 
16135
        * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
16136
        (reg_to_stack): 'initialized', 'before_function_beg'
16137
        explicitly type as ints instead of defaulting.
16138
        (emit_swap_insn): Remove unused variable 'i2'.
16139
        (compare_for_stack_reg): Remove unused variable 'src_note'.
16140
 
16141
        * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
16142
 
16143
        * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
16144
 
16145
        * stmt.c (add_case_node): Add parens for assignment used as truth.
16146
        (all_cases_count): Remove unused variable 'count_high'.
16147
        (mark_seen_cases): Remove unused variable 'i'.
16148
        (check_for_full_enumeration_handling): Remove unused variable 't'.
16149
        Bracket declaration of  'all_values', 'l'.
16150
 
16151
        * tlink.c: Include , , /.
16152
 
16153
        * varasm.c (assemble_string): Remove unused variable 'i'.
16154
        (immed_double_const): Remove unused variable 'in_current_obstack'.
16155
        (immed_real_const_1): Likewise.
16156
        (output_constant_pool): Remove unreferenced label 'done'.
16157
        (output_constant): Remove unused variable 'x'.
16158
 
16159
        * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
16160
        a string.
16161
 
16162
        * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
16163
        as truth.
16164
 
16165
Fri Feb 13 10:21:41 1998  J"orn Rennecke  
16166
 
16167
        * combine.c (can_combine_p): Handle USEs in PARALLELs.
16168
 
16169
Fri Feb 13 01:34:14 1998  H.J. Lu  (hjl@gnu.org)
16170
 
16171
        * config/linux.h (LIB_SPEC): Add -lc for -shared if
16172
        USE_GNULIBC_1 is not defined.
16173
        * config/sparc/linux.h; Likewise.
16174
 
16175
        * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
16176
 
16177
        * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
16178
        USE_GNULIBC_1 is not defined.
16179
 
16180
Fri Feb 13 01:29:29 1998  Franz Sirl  
16181
 
16182
        * rs6000/sysv4.h (ENDFILE_SPEC): Add missing %(endfile_linux)
16183
        for -mcall-linux.
16184
 
16185
Fri Feb 13 01:23:46 1998  Kaveh R. Ghazi  
16186
 
16187
        * system.h: New file to get common systems includes and various
16188
        definitions and declarations based on autoconf macros.
16189
 
16190
Fri Feb 13 00:46:19 1998  Jeffrey A Law  (law@cygnus.com)
16191
 
16192
        * cccp.c (new_include_prefix): Correctly handle -I./.
16193
 
16194
Thu Feb 12 20:16:35 1998  Michael Meissner  
16195
 
16196
        * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
16197
 
16198
Thu Feb 12 16:45:17 1998  Robert Lipe  
16199
 
16200
        * expr.c (expand_assignment): Correct typo exposed by -Wall.
16201
        offset should have been a truth value, not an assignment.
16202
 
16203
Thu Feb 12 15:26:50 1998  Jeffrey A Law  (law@cygnus.com)
16204
 
16205
        * cse.c (delete_dead_from_cse): If a libcall produces a constant
16206
        result and that result can be substituted into SET_SRC of the
16207
        insn with the REG_RETVAL note, then perform the substitution
16208
        and delete the libcall.
16209
 
16210
Thu Feb 12 14:04:09 1998  Gavin Koch  
16211
 
16212
        * mips.md (trucndihi2,truncdiqi2): Change these to support
16213
        mips16.
16214
 
16215
Thu Feb 12 11:34:55 1998  Gavin Koch  
16216
 
16217
        * mips/mips.c (movdi_operand): Direct references to symbols
16218
        that arn't mips16 consts in mips16 mode arn't valid operands.
16219
 
16220
        * mips/mips.c (mips_move_2words): Add gprel handling.
16221
 
16222
Thu Feb 12 11:18:37 1998  Gavin Koch  
16223
 
16224
        * mips.md (extendsidi2): Allow extension to/from a non-mips16
16225
        register.
16226
 
16227
Thu Feb 12 00:04:16 1998  Marc Lehmann  
16228
 
16229
        * i386.c: Conditionally include , , and
16230
        .
16231
 
16232
Wed Feb 11 11:43:34 1998  Kaveh R. Ghazi  
16233
 
16234
        * Makefile.in (WARN_CFLAGS): New variable.
16235
        (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
16236
 
16237
1998-02-11  Mark Mitchell  
16238
 
16239
        * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
16240
        falling through default case in switch.
16241
        (i386_aligned_p): Likewise.
16242
 
16243
Wed Feb 11 12:59:56 1998  Lee Iverson  
16244
 
16245
        * mips/mips.h (mips_abi_string): Correct typo in comment.
16246
 
16247
Wed Feb 11 08:29:56 1998  Gavin Koch  
16248
 
16249
        * mips/mips.md (movdi): These PLUS's need to be Pmode.
16250
 
16251
Wed Feb 11 01:47:54 1998  Kaveh R. Ghazi  
16252
 
16253
        * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
16254
        reorg.o, regmove.o): Depend on insn-codes.h, it gets included
16255
        indirectly via expr.h.
16256
 
16257
Wed Feb 11 01:44:13 1998  Richard Henderson  
16258
 
16259
        * stor-layout.c (layout_type): Do upper - lower in the native type,
16260
        so as to properly handle negative indices.
16261
 
16262
Wed Feb 11 01:35:55 1998  Robert Lipe  
16263
 
16264
        * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
16265
        (expand_eh_region_start_tree): Remove unused variable 'note'.
16266
        (exception_optimize): Remove unused variable 'regions'.
16267
        (expand_builtin_eh_stub): Remove unused variable 'temp'.
16268
        (copy_eh_entry): Deleted.  Dead function.
16269
 
16270
        * expr.c (move_block_to_reg): Bracket declaration of 'pat' and
16271
        'last' with same #if HAVE_load_multiple as use of it.
16272
        (move_block_from_reg): Likewise.
16273
        (emit_move_insn_1): Remove unused variable 'insns'.
16274
        (store_constructor): Bracket declaration of startb, endb with
16275
        #if TARGET_MEMFUNCTIONS.  Remove unused variables 'set_word_size'
16276
        'target', and 'xtarget'.
16277
        (expand_builtin_setjmp): Remove unused variables 'op0',
16278
        'next_arg_reg', 'old_inhibit_defer_pop'.
16279
        (expand_builtin): Remove unused variable 'offset'.
16280
        (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
16281
        (emit_queue): Add parens for assignment used as conditional.
16282
        (expand_expr): Case TARGET_EXPR: Remove unused variable 'temp'.
16283
 
16284
Wed Feb 11 01:30:49 1998  Marc Lehmann  
16285
 
16286
        * i386.c: Added include for recog.h.
16287
        (override_options): Removed unused variable p. Initialized regno to
16288
        avoid warning.
16289
        (order_regs_for_local_alloc): Initialized regno to avoid warning.
16290
        (legitimize_address): Likewise for 'other'.
16291
        (i386_aligned_reg_p): Added default case with abort ().
16292
        (print_operand): Likewise.
16293
        (reg_mentioned_in_mem): Likewise.
16294
        (ix86_expand_binary_operator): Removed unused variables i & insn.
16295
        (ix86_expand_unary_operator): Removed unused variable insn.
16296
        (output_fp_cc0_set): Removed unused variable unordered_label.
16297
 
16298
Wed Feb 11 01:23:03 1998  John F. Carr  
16299
 
16300
        * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
16301
        Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
16302
        and format string match.
16303
 
16304
Wed Feb 11 01:17:39 1998  Jeffrey A Law  (law@cygnus.com)
16305
 
16306
        * flow.c (life_analysis): Do not consider the stack pointer live at
16307
        the end of a function if the function calls alloca.
16308
        (mark_used_regs): Similarly.
16309
 
16310
1998-02-10  John F Carr  
16311
 
16312
        * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
16313
        1, fzero on alternative 8.
16314
 
16315
Tue Feb 10 09:02:19 1998  Richard Kenner  
16316
 
16317
        * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
16318
 
16319
Tue Feb 10 03:35:43 1998  J"orn Rennecke  
16320
 
16321
        * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
16322
        SUBREGs of CONST_INTs.
16323
 
16324
Mon Feb  9 17:52:36 1998  John Carr  
16325
 
16326
        * mips.c (print_operand, function_prologue): Make printf format
16327
        match argument type.
16328
 
16329
Mon Feb  9 02:37:25 1998  Kaveh R. Ghazi  
16330
 
16331
        * alpha.c (alpha_return_addr): Remove unused variable `first'.
16332
        (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
16333
        (output_epilog): Remove unused variable `frame_size_from_reg_save'.
16334
 
16335
Sun Feb  8 14:56:03 1998  Richard Kenner  
16336
 
16337
        * loop.c (strength_reduce): When placing increment for auto-inc
16338
        case, do comparison in loop order.
16339
 
16340
Sun Feb  8 13:21:38 1998  John Carr  
16341
 
16342
        * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
16343
        not a HOST_WIDE_INT.
16344
 
16345
        * calls.c (expand_call): Change test of expand_inline_function
16346
        return value to stop compiler warning.
16347
 
16348
        * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
16349
 
16350
Sun Feb  8 12:04:24 1998  Jim Wilson  (wilson@cygnus.com)
16351
                          Jeff Law  (law@cygnus.com)
16352
 
16353
        * regmove.c: Fix various minor formatting problems.
16354
        (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
16355
        is true.  Make end of basic block tests consistent through regmove.c.
16356
        (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
16357
        (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
16358
 
16359
Sun Feb  8 01:49:18 1998  Kaveh R. Ghazi  
16360
 
16361
        * gansidecl.h: Check for a conflicting macro definition before
16362
        attempting to prototype bcopy, bcmp or bzero.
16363
 
16364
Sun Feb  8 00:09:59 1998  Jeffrey A Law  (law@cygnus.com)
16365
 
16366
        * expr.c (clear_pending_stack_adjust): Handle case where a function
16367
        calls alloca, but the user has specified -fomit-fframe-pointer.
16368
 
16369
        * function.c (assign_parms): Fix typo in last change.
16370
 
16371
Sat Feb  7 23:54:29 1998  Robert Lipe  
16372
 
16373
        * gcc.c: Include /, , ,
16374
        .
16375
        (free_path_suffix): Remove unreferenced static function.
16376
        (process_command): Remove unused variable temp.
16377
        (default_arg): Remove unused variable i.
16378
        (do_spec_1): Add parens for assignment used as truth value.
16379
        (main): Likewise.
16380
        (validate_all_switches): Likewise.
16381
        (main): Remove unused variables i, first_time>
16382
 
16383
        * c-common.c: Include  and /.
16384
 
16385
        * calls.c (expand_call): Remove unused variables funtree,
16386
        n_regs, and tmpmode.
16387
 
16388
        * dbxout.c, except.c: Include /.
16389
 
16390
        * explow.c (plus_constant_for_output_wide): Removed unused
16391
        variable all_constant.
16392
 
16393
        * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
16394
        genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
16395
        genrecog.c, global.c, integrate.c , stupid.c : Include
16396
        .
16397
 
16398
        * genextract.c (walk_rtx): Remove unused variable link.
16399
 
16400
        * genrecog.c (concat): Remove unreferenced static function.
16401
 
16402
        * prefix.c: Include /, 
16403
 
16404
        * stmt.c: Include .
16405
        (expand_asm_operands): Remove unused variable val1.
16406
        (expand_return): Remove unused variable block.
16407
        (pushcase): Remove unused variables l and n.
16408
        (pushcaserange): Likewise.
16409
 
16410
        * unroll.c (unroll_loop): Remove unused variable temp.
16411
 
16412
Sat Feb  7 23:46:09 1998  Greg McGary  
16413
 
16414
        * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
16415
 
16416
Sat Feb  7 15:11:28 1998  Kaveh R. Ghazi  
16417
 
16418
        * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
16419
        functions for whether they support the %p format specifier.
16420
        * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
16421
        * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
16422
        * configure, config.in: Rebuild.
16423
 
16424
Fri Feb  6 14:20:16 1998  Jim Wilson  
16425
 
16426
        * function.c (assign_parms): New variable named_arg, with value
16427
        depending on STRICT_ARGUMENT_NAMING.  Use instead of ! last_named.
16428
 
16429
Fri Feb  6 14:34:28 1998  Gavin Koch  
16430
 
16431
        * mips/t-r3900: New - same as t-ecoff but eliminate
16432
        multilibs: mips1 and mips3.
16433
        * configure.in (tx39*): Use new mips/t-r3900.
16434
        * configure: Rebuild.
16435
        * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
16436
 
16437
1998-02-06  Jason Merrill  
16438
 
16439
        * dwarf2out.c: Add old_args_size.
16440
        (dwarf2out_args_size): Use it.
16441
        (dwarf2out_begin_prologue): Initialize it.
16442
        (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
16443
        pushed args until we see a call.
16444
        * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
16445
        before outputting them.
16446
 
16447
1998-02-06  Kriang Lerdsuwanakij  
16448
 
16449
        * cplus-dem.c (demangle_template_template_parm): New function.
16450
        (demangle_template): Handle template template parameters.
16451
 
16452
1998-02-02  Mark Mitchell  
16453
 
16454
        * calls.c (expand_call): Don't confuse member functions named
16455
        realloc, setjmp, and so forth with the standard library
16456
        functions of the same names.
16457
 
16458
Thu Feb  5 21:59:49 1998  Jeffrey A Law  (law@cygnus.com)
16459
 
16460
        * stmt.c (expand_asm_operands): Correctly identify asm statements
16461
        no output operands.
16462
 
16463
Thu Feb  5 21:56:06 1998  Mumit Khan  
16464
 
16465
        * c-common.c (decl_attributes): Flag unrecognized attribute
16466
        functions as warnings instead of as errors.
16467
 
16468
1998-02-05  Marc Lehmann  
16469
 
16470
        * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
16471
        when -Os is specified.
16472
        * toplev.c (main): Don't disable flag_inline_functions anymore when
16473
        -Os is in effect.
16474
 
16475
Fri Feb  6 00:27:36 1998  J"orn Rennecke  
16476
 
16477
        * regmove.c: Update.
16478
        * flags.h (flag_regmove): Declare.
16479
        * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
16480
        * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
16481
        Moved into regmove; changed caller.
16482
        * toplev.c (rest_of_compilation): Call regmove_optimize also for
16483
        expensive_optimizations.
16484
 
16485
Thu Feb  5 13:38:42 1998  Jeff Law  (law@cygnus.com)
16486
 
16487
        * version.c: Bump for snapshot.
16488
 
16489
Thu Feb  5 01:45:19 1998  J"orn Rennecke  
16490
        Undo this change (the problem was actually in reload):
16491
        Fri Jan 23 23:28:59 1998  J"orn Rennecke  
16492
 
16493
          * sh.md (movqi_i+1): New peephole.
16494
 
16495
Tue Feb  3 01:11:12 1998  Jeffrey A Law  (law@cygnus.com)
16496
 
16497
        * jump.c (jump_optimize): Lose calls to modified_in_p they are
16498
        not needed anymore due to changes elsewhere in jump.c.
16499
 
16500
        * jump.c (jump_optimize): Fix first arg to modified_in_p in
16501
        previous change.
16502
 
16503
Mon Feb  2 19:18:14 1998  Richard Henderson  
16504
 
16505
        * expr.c (expand_builtin_setjmp): Accept two new arguments for
16506
        the labels to branch to on first and subsequent executions.  Don't
16507
        play with __dummy.  Rename `setjmp' insn to `builtin_setjmp_setup',
16508
        and provide it with the jmp_buf.  Use only one of
16509
        `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
16510
        and provide the former with the target label.
16511
        (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
16512
        (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
16513
        (expand_builtin_longjmp): ... here.  Recognize a `builtin_longjmp'
16514
        insn to replace all of the normal nonlocal_goto code.  Don't play
16515
        with __dummy.  Correct arguments to nonlocal_goto.
16516
        * expr.h (expand_builtin_setjmp): Update prototype.
16517
        * except.c (start_dynamic_handler): When using builtin_setjmp,
16518
        generate more accurate flow information.
16519
 
16520
        * alpha.md (nonlocal_goto_receiver_osf): Delete.
16521
        (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
16522
        (builtin_longjmp, builtin_setjmp_receiver): New.
16523
        * sparc.md (update_return): Disambiguate unspec number.
16524
        (nonlocal_goto): Rearrange arguments to match caller in except.c.
16525
        (builtin_setjmp_setup): Rename from setjmp.  Match and ignore the
16526
        jmp_buf operand.
16527
        * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
16528
        (builtin_setjmp_setup*, builtin_longjmp): New.
16529
 
16530
Mon Feb  2 16:43:10 1998  John Carr  
16531
 
16532
        * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
16533
 
16534
Mon Feb  2 13:06:47 1998  Jim Wilson  
16535
 
16536
        * vmsconfig.com: Remove bytecode references.
16537
 
16538
1998-01-30  Andreas Schwab  
16539
 
16540
        * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
16541
        -fno-sjlj-exceptions works for a target that defines
16542
        DWARF2_UNWIND_INFO as zero.
16543
 
16544
        * regmove.c (fixup_match_1): Undo last change which removed some
16545
        "useless" code, and add a comment explaining this.
16546
 
16547
Mon Feb  2 10:47:14 1998  Gavin Koch  (gavin@cygnus.com)
16548
 
16549
        * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
16550
        to TARGET_LONG64.
16551
 
16552
Mon Feb  2 10:38:41 1998  Klaus Kaempf  
16553
 
16554
        * makefile.vms: Remove bytecode references.
16555
        Create genrtl files.
16556
 
16557
Mon Feb  2 02:08:04 1998  Michael P. Hayes  
16558
 
16559
        * jump.c (jump_optimize): Allow conditional loading of floating point
16560
        constants and constants from memory.  Reinstalled modified_in_p tests.
16561
 
16562
Mon Feb  2 01:38:39 1998  J"orn Rennecke  
16563
 
16564
        * loop.c (get_condition): Handle sign-extended constants.
16565
 
16566
Mon Feb  2 01:22:46 1998  Hans-Peter Nilsson  
16567
 
16568
        * expr.c (emit_push_insn): Add code to use movstrti if present.
16569
 
16570
        * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
16571
        and movstrqi as in emit_block_move ().
16572
 
16573
Mon Feb  2 00:09:52 1998  Toon Moene  
16574
 
16575
        * config/m68k/x-next: Remove /NextDeveloper/Headers from
16576
        the directories to fixinclude - /usr/include is a link
16577
        to it and hence its contents are fixed by default.
16578
 
16579
Sun Feb  1 14:15:33 1998  Franz Sirl  
16580
 
16581
        * rs6000/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION.
16582
 
16583
Sun Feb  1 13:01:15 1998  Klaus Kaempf  
16584
 
16585
        * cccp.c (main): Predefine __VMS_VER on VMS.
16586
 
16587
Sun Feb  1 12:39:53 1998  J"orn Rennecke  
16588
 
16589
        * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
16590
        * fold-const.c (size_int): Replace with
16591
        (size_int_wide).
16592
        (make_bit_field_ref): Use bitsize_int for bit position.
16593
        * stor-layout.c (sizetype): Delete.
16594
        (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
16595
        (layout_record, layout_union, layout_type):
16596
        Use bitsize_int for bit size.
16597
        (set_sizetype): New function.
16598
        (make_signed_type, make_unsigned_type): Use it.
16599
        * c-decl.c (init_decl_processing): Likewise.
16600
        * tree.h (size_int): Don't delcare, #define.
16601
        (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
16602
        (set_sizetype): Declare.
16603
        (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
16604
        Define.
16605
        * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
16606
        Convert result to sizetype.
16607
        (really_start_incremental_init, push_init_level):
16608
        Set type of constructor_bit_index to sbitsizetype.
16609
        (push_init_level): Use unsigned arithmetic to determine padding.
16610
        (output_init_element): Likewise.
16611
 
16612
Sun Feb  1 03:32:07 1998  Jeffrey A Law  (law@cygnus.com)
16613
 
16614
        * combine.c (simplify_shift_const): Fix typo in last change.
16615
 
16616
Sun Feb  1 02:50:46 1998  John Carr  
16617
 
16618
        * combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
16619
        is (truncate (lshiftrt)).
16620
 
16621
Sun Feb  1 01:06:53 1998  Richard Henderson  
16622
 
16623
        * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
16624
        Make sure result winds up in TGT.
16625
        (alpha_expand_unaligned_store): Use expand_binop properly.  Allow
16626
        src to be other than DImode.
16627
        (alpha_expand_unaligned_load_words): Tidy.  Take an offset argument.
16628
        (alpha_expand_unaligned_store_words): Likewise.
16629
        (alpha_expand_block_move): Use REGNO_POINTER_ALIGN.  Restructure so
16630
        that source and destination are separately optimized for alignment.
16631
        (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
16632
 
16633
Sun Feb  1 01:55:09 1998  Jeffrey A Law  (law@cygnus.com)
16634
 
16635
        * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
16636
        with handling of -32768.
16637
 
16638
Sun Feb  1 01:48:18 1998  Kaveh R. Ghazi  
16639
 
16640
        * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
16641
        shell variable argument instead of only hard coded functions.
16642
        (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
16643
 
16644
        * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
16645
        call.  Collapse multiple calls to GCC_NEED_DECLARATION into one
16646
        call to GCC_NEED_DECLARATIONS (new macro.)  Check if we need
16647
        declarations for bcopy, bcmp and bzero.
16648
 
16649
        * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
16650
 
16651
        * gansidecl.h: If we have bcopy but don't declare it, then do so.
16652
        Likewise for bcmp and bzero.  Only define macros for bcopy, bcmp,
16653
        bzero, index and rindex if they aren't already present.
16654
 
16655
Sat Jan 31 11:26:58 1998  Jeffrey A Law  (law@cygnus.com)
16656
 
16657
        * toplev.c (close_dump_file): Wrap function prototype for
16658
        argument "func" in PROTO.
16659
        (dump_rtl): Likewise.
16660
 
16661
Fri Jan 30 22:30:39 1998  John Carr  
16662
 
16663
        * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
16664
        MASK_V8PLUS.
16665
        (output_function_epilogue): Omit epilogue if nothing drops through.
16666
        (output_move_double): Suppress int ldd usage on ultrasparc and v9.
16667
        (registers_ok_for_ldd_peep): Likewise.
16668
        (print_operand): Suppress b,a on ultrasparc.  Let Y accept a constant.
16669
        (ultrasparc_adjust_cost): New function.
16670
        (sparc_issue_rate): New function.
16671
        * sparc.h (MASK_VIS, TARGET_VIS): New.
16672
        (MASK_V8PLUS, TARGET_V8PLUS): New.
16673
        (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
16674
        (TARGET_SWITCHES): Add vis and v8plus.
16675
        (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
16676
        (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
16677
        (RTX_COSTS): Use TARGET_HARD_MUL.
16678
        (ADJUST_COST): Call ultrasparc_adjust_cost.
16679
        (ISSUE_RATE): New.
16680
        * sparc.md (attr type): Add sload, fpmove, fpcmove.  Adjust users
16681
        of load & fp appropriately.
16682
        (supersparc function units): Adjust for Haifa.
16683
        (ultrasparc function units): Likewise.
16684
        (get_pc_via_rdpc): All v9, not just arch64.
16685
        (movdi_v8plus, movdi_v8plus+1): New.
16686
        (adddi3_sp32+1): New.
16687
        (subdi3_sp32+1): New.
16688
        (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
16689
        (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
16690
        (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
16691
        (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
16692
        (one_cmpldi2_sp32, one_cmplsi2): Likewise.
16693
        (ldd peepholes): Suppress for v9.
16694
        (return_adddi): Kill redundant test.  Arg1 may be arith_operand.
16695
        (return_subsi): Revmove.
16696
 
16697
Fri Jan 30 18:30:03 1998  John F Carr  
16698
 
16699
        * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
16700
        save/restore MEM rtl.
16701
 
16702
Fri Jan 30 09:08:16 1998  Jeffrey A Law  (law@cygnus.com)
16703
 
16704
        * configure.in: Check for declaration of abort.
16705
        * acconfig.h: Corresponding changes.
16706
        * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
16707
        be declared.
16708
 
16709
Thu Jan 29 20:26:12 1998  Jeffrey A Law  (law@cygnus.com)
16710
 
16711
        * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
16712
        uses it.
16713
 
16714
Thu Jan 29 09:27:56 1998  Jeff Law  (law@cygnus.com)
16715
 
16716
        * version.c: Bump for snapshot.
16717
 
16718
Thu Jan 29 10:12:27 1998  Jeffrey A Law  (law@cygnus.com)
16719
 
16720
        * configure.in: Check for atoq and atoll.
16721
        * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
16722
        proper routine for converting ascii into long long values.
16723
 
16724
Thu Jan 29 01:28:14 1998  Klaus Kaempf  
16725
 
16726
        * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
16727
 
16728
        * vmsconfig.com: Remove bytecode references.
16729
 
16730
        * alpha/vms.h (PREFIX): Define.
16731
 
16732
        * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
16733
 
16734
        * am-alpha.h: Don't include alloca for OPEN_VMS.
16735
 
16736
        * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
16737
 
16738
        * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
16739
        (GCC_INCLUDE_DIR): Define.
16740
 
16741
        * make-cc.com, make-cccp.com, make-cc1.com: Removed.
16742
        * makefile.vms: New file.
16743
 
16744
        * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
16745
 
16746
        * alpha.c (output_prolog): Output '.name' directive
16747
        for minimal traceback information.
16748
 
16749
        * alpha.c (output_prolog): Don't prepend entry point symbols
16750
        with '$' on OPEN_VMS.
16751
 
16752
Thu Jan 29 00:25:35 1998  David S. Miller  
16753
                          Jeffrey A Law  (law@cygnus.com)
16754
 
16755
        * rtl.c (read_rtx): Use atol/atoq based upon disposition of
16756
        HOST_WIDE_INT.
16757
 
16758
        * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
16759
        as needed.
16760
        * genemit.c (gen_exp): Likewise.
16761
        * genpeep.c (match_rtx): Likewise.
16762
        * genrecog.c (write_tree_1): Likewise.
16763
 
16764
        * c-lex.c (yyprint): Use proper format string based upon
16765
        disposition of HOST_BITS_PER_WIDE_INT.
16766
        (yylex): Put casts in right place for args to build_int_2.
16767
 
16768
Thu Jan 29 00:24:29 1998  Jeffrey A Law  (law@cygnus.com)
16769
 
16770
        * combine.c: Fix typos in Jan27 changes.
16771
 
16772
Thu Jan 29 00:07:49 1998  Ollivier Robert  
16773
 
16774
        * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
16775
        (LINK_SPEC): Likewise.
16776
        (STARTFILE_SPEC): Likewise.
16777
 
16778
1998-01-28  Mike Stump  
16779
 
16780
        * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
16781
        reload completes.
16782
        * genattrtab.c (reload_completed): Define.
16783
 
16784
        * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
16785
        comments.
16786
 
16787
Wed Jan 28 20:11:06 1998  J"orn Rennecke  
16788
 
16789
        * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
16790
        SUBREG_REG if the word count is unchanged, also in the input reload
16791
        case.  Disable non-applicable sanity checks.
16792
 
16793
Wed Jan 28 20:08:26 1998  Jeffrey A Law  (law@cygnus.com)
16794
 
16795
        * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
16796
 
16797
Wed Jan 28 20:04:43 1998  Ian Lance Taylor  
16798
 
16799
        * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
16800
 
16801
Wed Jan 28 11:45:27 1998  Per Bothner  
16802
 
16803
        * dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
16804
        is a TREE_VEC before trying to use it for baseclasses.
16805
        (Chill uses the same field for a different purpose.)
16806
 
16807
        * toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
16808
 
16809
Tue Jan 27 23:15:55 1998  Lassi A. Tuura  
16810
 
16811
        * config.sub: More accurate determination of HP processor types.
16812
 
16813
Tue Jan 27 23:11:11 1998  Kaveh R. Ghazi  
16814
 
16815
        * c-lex.c: Include  and /.  Add
16816
        prototype for `handle_sysv_pragma', and make it static.  Add
16817
        parentheses around assignment used as truth value.
16818
 
16819
        * combine.c (combine_instructions): Protect variable `prev' with
16820
        macro HAVE_cc0.
16821
        (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
16822
        (extract_left_shift): Add parentheses around operand of &.
16823
        (merge_outer_ops): Avoid an empty body in an else-statement.
16824
        (gen_rtx_combine): Remove unused variable `i'.
16825
 
16826
        * sparc/gmon-sol2.c: Include .  Make return type of
16827
        function monstartup `void'.  Likewise for internal_mcount.  Add
16828
        `static void' prototype for moncontrol.  Reconcile sprintf format
16829
        vs. args.
16830
 
16831
        * sparc/sparc.c: Include  and /.
16832
        Make return type of function_arg_slotno explicitly `int'.
16833
        (reg_unused_after): Add parentheses around assignment used as
16834
        truth value.
16835
        (save_regs): Add explicit braces to avoid ambiguous `else'.
16836
        (function_arg_slotno): Add parentheses around && within ||.
16837
        (function_arg_pass_by_reference): Likewise.
16838
        (sparc_flat_output_function_prologue): Reconcile fprintf format
16839
        vs. args.
16840
 
16841
        * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
16842
        assignment used as truth value.
16843
 
16844
        * cplus-dem.c: Include .
16845
        (demangle_signature): Avoid an empty body in an else-statement.
16846
        (do_type): Remove unused variable `lvl'.
16847
 
16848
        * cppexp.c: Don't have  depend on MULTIBYTE_CHARS.
16849
        Include /.
16850
        (cpp_lex): Remove unused variable `namelen'.
16851
        (cpp_lex): Explicitly declare `num_chars' as an int.
16852
 
16853
        * cpplib.c: Avoid duplicate inclusion of , include
16854
         instead.  Explicitly declare is_system_include
16855
        returning int.
16856
        (make_assertion): Remove unused variable `kt'.
16857
        (cpp_expand_to_buffer): Hide variable `obuf'.
16858
        (output_line_command): Remove unused variables, `line_end',
16859
        `line_cmd_buf' and `len'.
16860
        (macarg): Remove unused variable `arg_start'.
16861
        (special_symbol): Remove unused variable `i'.  Add parentheses
16862
        around assignment used as truth value.
16863
        (do_include): Remove unused variables `pcfname' and `retried',
16864
        hide `pcf' and `pcfbuflimit'.
16865
        (do_line): Remove unused variable `i'.
16866
        (finclude): Hide variable `missing_newline'.
16867
        (cpp_handle_options): Remove unused variable `j'.
16868
        (read_token_list): Remove unused variable `eofp'.
16869
        (cpp_error_with_line): Remove unused variable `i'.
16870
        (cpp_warning_with_line): Likewise.
16871
        (cpp_pedwarn_with_line): Explicitly declare `column' as int.
16872
        (cpp_error_from_errno): Remove unused variable `i'.
16873
 
16874
        * cse.c (invalidate): Add parentheses around assignment used as
16875
        truth value.
16876
        (find_best_addr): Move declaration of variable `our_cost' inside
16877
        the conditional macro where its used.
16878
        (fold_rtx): Avoid an empty body in an if-statement.
16879
        (cse_insn): Wrap variables  `this_insn_cc0_mode' and
16880
        `this_insn_cc0' in macro HAVE_cc0.
16881
 
16882
        * dwarf2out.c: Include  and /.
16883
        (ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
16884
        (output_uleb128): Likewise.
16885
        (output_sleb128): Likewise.
16886
        (output_cfi): Likewise.
16887
        (output_call_frame_info): Remove unused variables `j', `fde_size'
16888
        and `fde_pad'.
16889
        (comp_unit_has_inlines): Hide declaration as per rest of file.
16890
        (size_of_line_prolog): Correct typo in prototype.
16891
        (add_arange): Likewise.
16892
        (output_aranges): Likewise.
16893
        (add_name_and_src_coords_attributes): Likewise.
16894
        (gen_array_type_die): Likewise.
16895
        (gen_inlined_subroutine_die): Likewise.
16896
        (equate_decl_number_to_die): Remove unused variable `i'.
16897
        (print_die): Reconcile format vs. args in fprintf's.
16898
        (print_dwarf_line_table): Likewise.
16899
        (output_die): Likewise.
16900
        (output_line_info): Likewise.
16901
        (add_subscript_info): Avoid an empty body in an else-statement.
16902
        (gen_subprogram_die): Remove unused variable `fp_loc'.
16903
 
16904
        * dwarfout.c: Explicitly declare `next_pubname_number' as int.
16905
        Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
16906
        macro.  Protect `src_coords_attribute' prototype with
16907
        DWARF_DECL_COORDINATES macro.  Hide `output_entry_point_die'
16908
        prototype as in the rest of the file.  Likewise for
16909
        `output_pointer_type_die' and `output_reference_type_die'.  Remove
16910
        prototype for `type_of_for_scope'.
16911
        (output_unsigned_leb128): Reconcile format vs. args in fprintf.
16912
        (type_attribute): Add explicit braces to avoid ambiguous `else'.
16913
 
16914
        * final.c: Include  and /.
16915
        (shorten_branches): Protect declaration of tmp_length with
16916
        SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
16917
        (profile_function): Protect declaration of `sval' and `cxt'
16918
        variables with appropriate macros.
16919
        (final_scan_insn): Likewise for `note' variable.  Add explicit
16920
        braces to avoid empty body in an if-statement.
16921
        (output_asm_insn): Move variable `i' inside macro conditional
16922
        where it is used.  Add parentheses around assignment used as truth
16923
        value.
16924
        (asm_fprintf): Likewise, likewise.
16925
 
16926
        * fix-header.c (main): Remove unused variable `done'.  Protect
16927
        declaration of `i' with FIXPROTO_IGNORE_LIST.
16928
 
16929
        * pexecute.c: Include .  Prototype `my_strerror'.
16930
 
16931
        * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
16932
        `ind'.
16933
 
16934
        * profile.c: Include /.
16935
        (instrument_arcs): Remove unused variables `note', `inverted',
16936
        `zero' and `neg_one'.
16937
        (branch_prob): Avoid empty body in an if-statement.
16938
 
16939
        * regclass.c: Include .
16940
        (reg_alternate_class): Explicitly declare parameter `regno'.
16941
 
16942
        * regmove.c (regmove_optimize): Remove unused variable `p'.  Add
16943
        parentheses around assignment used as truth value.
16944
        (find_matches): Remove unused variables `output_operand' and
16945
        `matching_operand'.
16946
        (fixup_match_1): Remove statement with no effect: "if (0) ;".
16947
 
16948
        * scan.c (sstring_append): Explicitly declare `count' as int.
16949
        (scan_string): Explicitly declare parameter `init' as int.
16950
 
16951
        * sched.c: Include .
16952
        (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
16953
        (rank_for_schedule): Add parentheses around assignment used as
16954
        truth value.
16955
        (schedule_block): Likewise.
16956
        (regno_use_in): Likewise.
16957
        (schedule_insns): Remove unused variable `i'.
16958
 
16959
        * toplev.c: Include  and /.
16960
        (v_message_with_decl): Remove unused variable `n'.
16961
        (botch): Explicitly declare parameter `s' as char *.
16962
        (main): Add parentheses around assignment used as truth value.
16963
 
16964
        * tree.c (make_node): Protect the variable `kind' with the
16965
        GATHER_STATISTICS macro.
16966
        (real_value_from_int_cst): Move variable `e' inside conditional
16967
        macro area where it is used.
16968
        (tree_last): Add parentheses around assignment used as truth value.
16969
        (build1): Protect the variable `kind' with the GATHER_STATISTICS
16970
        macro.
16971
        (print_obstack_statistics): Reconcile format vs. args in fprintf.
16972
        Protect variables `i', `total_nodes', and `total_bytes' with the
16973
        GATHER_STATISTICS macro.
16974
 
16975
Tue Jan 27 23:01:55 1998  Mike Stump  
16976
 
16977
        * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
16978
        some comments regarding use of dead_or_set_p.
16979
 
16980
Tue Jan 27 22:14:48 1998  Todd Vierling  
16981
 
16982
        * fixincludes: Tweak fix for struct exception in math.h
16983
 
16984
Tue Jan 27 17:21:09 1998  Gavin Koch  (gavin@cygnus.com)
16985
 
16986
        * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
16987
        Change mode of registers used to add/sub from
16988
        hard_frame_pointer_rtx from word_mode to Pmode.
16989
 
16990
Tue Jan 27 11:02:04 1998  Nick Clifton  
16991
 
16992
        * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
16993
        asm_output_aligned_bss() instead of asm_output_bss().
16994
 
16995
        * toplev.c (rest_of_compilation): Replace references to
16996
        stack_reg_dump_file and dbr_sched_dump_file with references to
16997
        rtl_dump_file.
16998
 
16999
Tue Jan 27 10:22:13 1998  Kamil Iskra  
17000
 
17001
        * tlink.c (scan_linker_output): Call fclose() for opened files.
17002
 
17003
Tue Jan 27 05:05:26 1998  Richard Henderson  
17004
 
17005
        * alpha.c (output_epilog [!VMS]): Don't tag global functions if
17006
        compiling with -fpic -- we want to be able to override symbols
17007
        properly.
17008
        (alpha_expand_block_move): Fix thinko in last change.
17009
 
17010
        * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
17011
        * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
17012
        * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
17013
 
17014
Tue Jan 27 03:21:23 1998  Richard Henderson  
17015
 
17016
        * alpha.md (abssf, absdf): Revert last change.
17017
 
17018
Tue Jan 27 00:26:50 1998  John Carr  
17019
 
17020
        * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
17021
        * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
17022
 
17023
Tue Jan 27 00:07:02 1998  Jeffrey A Law  (law@cygnus.com)
17024
 
17025
        * emit-rtl.c (gen_lowpart_common): Handle more case where converting
17026
        a CONST_INT into SFmode.
17027
 
17028
Tue Jan 20 16:01:03 1998  Anthony Green  
17029
 
17030
        * flags.h: New flag (optimize_size).
17031
        * toplev.c (main): Parse -Os option and set optimize_space
17032
        accordingly.
17033
        * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
17034
        __OPTIMIZE_SIZE__ when compiling with -Os.
17035
        * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
17036
        config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
17037
        config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
17038
        to macro.
17039
        * config/i386/i386.c (optimization_options): Accept new SIZE argument.
17040
 
17041
Mon Jan 26 23:57:39 1998  Manfred Hollstein  
17042
 
17043
        * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
17044
        stuff only if MCT_TEXT is #define'd.
17045
 
17046
Mon Jan 26 23:52:51 1998  Markus F.X.J. Oberhumer  
17047
 
17048
        * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
17049
        configurations.
17050
 
17051
Fri Jan 23 09:39:36 1998  Nick Clifton  
17052
 
17053
        * toplev.c: Add -dM command line option to dump RTL after the
17054
        machine dependent reorganization pass, if there is one.
17055
        Reorganize RTL dump code, so that only one file handle is
17056
        needed.
17057
 
17058
Mon Jan 26 12:09:42 1998  Benjamin Kosnik  
17059
 
17060
        * except.c (check_exception_handler_labels): Disable warning when
17061
        flag_syntax_only.
17062
 
17063
Mon Jan 26 18:17:32 1998  Jim Wilson  
17064
 
17065
        * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
17066
 
17067
Mon Jan 26 18:11:30 1998  J"orn Rennecke  
17068
 
17069
        * c-decl.c (grokdeclarator): Get parameter tags from
17070
        last_function_parm_tags.
17071
        * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
17072
        traversing the parameter types.
17073
        (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
17074
 
17075
Mon Jan 26 01:44:12 1998  Jeffrey A Law  (law@cygnus.com)
17076
 
17077
        * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
17078
        the default case.
17079
        (get_shift_alg): Fix typo.
17080
 
17081
Sun Jan 25 22:22:04 1998  Richard Henderson  
17082
 
17083
        * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
17084
 
17085
Sun Jan 25 22:14:28 1998  Richard Henderson  
17086
 
17087
        * toplev.c (get_run_time): Make sure each case gets its variables.
17088
 
17089
Sun Jan 25 22:10:21 1998  Richard Henderson  
17090
 
17091
        * configure.in (build_xm_file): Add auto-config.h if host=build.
17092
        (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
17093
        (build_xm_file_list): Likewise.
17094
        * configure: Rebuild.
17095
 
17096
Sun Jan 25 22:00:25 1998  Alasdair Baird  
17097
 
17098
        * recog.c (validate_replace_rtx_1): Only perform substitutions
17099
        of arguments to commutative and comparison operators once.
17100
 
17101
Sun Jan 25 12:30:18 1998  Kaveh R. Ghazi  
17102
 
17103
        * sparc.c (output_cbranch): Add default case in
17104
        enumeration switch.
17105
 
17106
        * reorg.c (insn_sets_resource_p): Correct typo in prototype.
17107
        (emit_delay_sequence): Eliminate unused parameter, all callers
17108
        changed.
17109
        (fill_simple_delay_slots): Likewise.
17110
        (fill_slots_from_thread): Likewise.
17111
        (fill_eager_delay_slots): Likewise.
17112
        (mark_referenced_resources): Add default case in enumeration switch.
17113
        (mark_set_resources): Likewise.
17114
        (rare_destination): Likewise.
17115
        (mostly_true_jump): Likewise.
17116
        (find_dead_or_set_registers): Likewise.
17117
        (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
17118
        (update_reg_unused_notes): Remove unused variable `p'.
17119
        (mark_target_live_regs): Remove unused variables `next' and
17120
        `jump_count'.
17121
        (fill_simple_delay_slots): Remove unused variable `j'.
17122
        (fill_slots_from_thread): Add parentheses around assignment used
17123
        as truth value.
17124
        (dbr_schedule): Likewise.
17125
 
17126
        * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
17127
        (objc.stage2, objc.stage3, objc.stage4): Likewise.
17128
 
17129
Sun Jan 25 12:13:47 1998  Michael Tiemann  
17130
 
17131
        * cse.c (simplify_ternary_operation): Don't try to simplify
17132
        IF_THEN_ELSE expressions (created by combine) that don't use
17133
        relational operators.
17134
 
17135
Fri Jan 23 22:48:24 1998  Jeffrey A Law  (law@cygnus.com)
17136
 
17137
        * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
17138
        simplifications.
17139
 
17140
        * crtstuff.c (init_dummy): Keep the epilogue in the init
17141
        section for non-ELF systems.
17142
 
17143
Fri Jan 23 23:28:59 1998  J"orn Rennecke  
17144
 
17145
        * sh.md (movqi_i+1): New peephole.
17146
 
17147
Fri Jan 23 15:39:42 1998  Jim Wilson  
17148
 
17149
        * Makefile.in: Remove remaining bytecode stuff.
17150
        * emit-rtl.c, expr.c: Likewise.
17151
 
17152
Fri Jan 23 12:41:10 1998  Nick Clifton  (nickc@cygnus.com)
17153
 
17154
        * toplev.c (lang_options): Add unknown-pragma options.
17155
 
17156
Thu Jan 22 23:43:38 1998  Per Bothner  
17157
 
17158
        * dwarfout.c (byte_size_attribute): Simplify and fix - don't need
17159
        special (and incomplete) handling for Chill arrays.
17160
 
17161
Fri Jan 23 00:27:23 1998  John Carr  
17162
 
17163
        * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
17164
        to get clock rate.
17165
 
17166
Fri Jan 23 00:19:36 1998  Gavin Koch  (gavin@cygnus.com)
17167
 
17168
        * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
17169
 
17170
1998-01-22  scott snyder  
17171
 
17172
        * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
17173
        .frame directive instead of FRAME_POINTER_REGNUM.
17174
 
17175
Fri Jan 23 00:08:55 1998  Robin Kirkham  
17176
 
17177
        * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
17178
        (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
17179
        * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
17180
        (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
17181
        (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
17182
        * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
17183
        (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
17184
        (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
17185
        mcpu32 or m5200.
17186
        * longlong.h: Replace __mc68332__ with __mcpu32__.
17187
 
17188
Thu Jan 22 19:55:40 1998  Jeff Law  (law@cygnus.com)
17189
 
17190
        * version.c: Bump for snapshot.
17191
 
17192
Thu Jan 22 14:47:31 1998  Jim Wilson  
17193
 
17194
        * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
17195
        to require the SUBREG mode to be smaller than the SUBREG_REG mode.
17196
        * reload1.c (eliminate_regs): Likewise.
17197
 
17198
Thu Jan 22 14:49:14 1998  Jeffrey A Law  (law@cygnus.com)
17199
 
17200
        * regmove.c (find_matches): Initialize matches->earlyclobber too.
17201
 
17202
Thu Jan 22 01:40:52 1998  Richard Henderson  
17203
 
17204
        * alpha.md (abssf2, absdf2): Disable in IEEE mode.
17205
        (negsf2, negdf2): Use proper subtract in IEEE mode.
17206
 
17207
Tue Jan 20 09:29:09 1998  Jeffrey A Law  (law@cygnus.com)
17208
 
17209
        * Makefile.in: Remove more bytecode stuff.
17210
        * expr.c, stmt.c, config/msdos/top.sed: Likewise.
17211
        * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
17212
        * f/install.texi, objc/Make-lang.in: Likewise.
17213
 
17214
        * Makefile.in: Remove all bytecode support.
17215
        (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
17216
        * emit-rtl.c: Remove all bytecode support.
17217
        * expr.c, expr.h function.c, integrate.c: Likewise.
17218
        * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
17219
        * tree.h, varasm.c: Likewise.
17220
        * config/m68k/m68k.h: Likewise.
17221
        * bi-*, bc-*, bytecode*: Delete bytecode related files.
17222
        * modemap.def: Likewise.
17223
 
17224
Tue Jan 20 09:02:31 1998  Gavin Koch  (gavin@cygnus.com)
17225
 
17226
        * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
17227
        umodsi3,umoddi3): Handle mips16 div/mod by a constant.
17228
 
17229
Mon Jan 19 21:57:00 1998  Richard Henderson  
17230
 
17231
        * i386.md (push): Prohibit symbolic constants if flag_pic.
17232
        (movsi+1): Likewise for move to non-register.
17233
 
17234
Mon Jan 19 11:15:38 1998  Jim Wilson  
17235
 
17236
        * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
17237
        (print_operand): Handle 0xffffffff on 32 bit host.
17238
 
17239
        * configure.in (thread_file): Rename uses before main loop to
17240
        target_thread_file.  Initialize to empty in main loop.  Set thread_file
17241
        to target_thread_file after main loop if not set.
17242
        * configure: Rebuild.
17243
 
17244
        * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
17245
        (add_values_to_cover): Revert last change (which had no ChangeLog
17246
        entry).
17247
        (simplify_with_current_value_aux): Handle CONST_INT.
17248
 
17249
Mon Jan 19 10:14:55 1998  Andreas Schwab  
17250
 
17251
        * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
17252
 
17253
Mon Jan 19 10:11:52 1998  Richard Henderson  
17254
 
17255
        * configure.in: Add cpp stringify test.
17256
        * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
17257
        * gengenrtl.c: Use it.
17258
        * configure, config.in: Rebuild.
17259
 
17260
Mon Jan 19 09:43:15 1998  Andreas Schwab  
17261
 
17262
        * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
17263
 
17264
Mon Jan 19 09:38:18 1998  Richard Henderson  
17265
 
17266
        * configure.in: Find declaration for sbrk.
17267
        * acconfig.h (NEED_DECLARATION_SBRK): New tag.
17268
        * config.in, configure: Rebuild.
17269
        * mips-tfile.c: Properly protect declaration of sbrk and free.
17270
        * toplev.c: Properly protect declaration of sbrk.
17271
 
17272
Sun Jan 18 20:18:01 1998  Richard Henderson  
17273
 
17274
        * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
17275
 
17276
Sun Jan 18 01:54:27 1998  Jeffrey A Law  (law@cygnus.com)
17277
 
17278
        * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
17279
 
17280
Sun Jan 18 00:57:35 1998  Mike Stump  
17281
 
17282
        * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
17283
 
17284
Sat Jan 17 23:41:36 1998  David S. Miller  
17285
 
17286
        * combine.c (force_to_mode, nonzero_bits): Correctly optimize
17287
        constant offset computations from objects with known alignment in
17288
        the presence of STACK_BIAS.
17289
 
17290
        * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
17291
        necessary.
17292
        (const_hash): Hash val is unsigned long.
17293
        (SYMHASH): Likewise.
17294
 
17295
        * tree.c (TYPE_HASH): Type of hash val is unsigned long.
17296
 
17297
        * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
17298
        char pointer, not HOST_WIDE_INT.
17299
        (print_node): Likewise.  Also hash is unsigned long not
17300
        HOST_WIDE_INT.
17301
 
17302
        * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
17303
 
17304
        * explow.c (optimize_save_area_alloca): New function for targets
17305
        where SETJMP_VIA_SAVE_AREA is true.
17306
        (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
17307
        compute the amount of stack space needed should we find later that
17308
        setjmp is never called by this function, stuff rtl for this inside
17309
        a REG_NOTE of the final SET of stack_pointer_rtx.
17310
        * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
17311
        current_function_calls_alloca, call optimize_save_area_alloca.
17312
 
17313
Sat Jan 17 23:22:59 1998  John Wehle  (john@feith.com)
17314
 
17315
        * i386.md: Remove redundant integer push patterns.
17316
        Don't bother checking for TARGET_PUSH_MEMORY when
17317
        pushing constants or registers.
17318
 
17319
Sat Jan 17 22:35:39 1998  Mumit Khan  
17320
                          J.J VanderHeijden  
17321
 
17322
        * pexecute.c (pexecute): New function for mingw32. Supports pipes.
17323
        (pwait): New function for mingw32.
17324
 
17325
        * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
17326
        pipe support is broken for now.
17327
 
17328
1998-01-17  Lee Iverson  
17329
 
17330
        * emit_rtl.c (init_emit_once): Ensure that potential aliasing
17331
        between frame_pointer_rtx, hard_frame_pointer_rtx, and
17332
        arg_pointer_rtx is respected in initialization.
17333
        (init_emit_once): Use gen_rtx_raw_REG() to create
17334
        return_address_pointer_rtx.
17335
 
17336
        * reorg.c: #include "expr.h" for rtx prototypes.
17337
        * Makefile.in (reorg.o): Depend on expr.h
17338
 
17339
Sat Jan 17 21:28:08 1998  Pieter Nagel  
17340
 
17341
        * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
17342
        local_prefix to sub-make invocations.
17343
 
17344
Sat Jan 17 21:24:16 1998  David T. McWherter  
17345
 
17346
        * objc-parse.c: Recognize protocol qualifiers in class definitions.
17347
 
17348
Sat Jan 17 21:16:19 1998  Jeffrey A Law  (law@cygnus.com)
17349
 
17350
        * rtl.h: Fix typos.
17351
 
17352
        * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
17353
        * configure.in: Check for atol.
17354
        * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
17355
 
17356
        * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
17357
 
17358
        * loop.c (find_and_verify_loops): When attempting to move insns from
17359
        inside the loop outside the loop, create a BARRIER if no suitable
17360
        one was found.
17361
 
17362
        * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
17363
        favor of an equivalent change from gcc-2.8.
17364
 
17365
        * i386/x-sco5 (CC): Remove trailing whitespace.
17366
 
17367
Sat Jan 17 21:09:46 1998  Kaveh R. Ghazi  
17368
 
17369
        * gengenrtl.c (type_from_format): De-ANSIfy function signature.
17370
        (accessor_from_format): Likewise.
17371
        (xmalloc): New function for use when linking with alloca.o.
17372
 
17373
Mon Jan  5 02:53:01 1998  Bruno Haible  
17374
 
17375
        * frame.c (find_fde): Correct FDE's upper bound.
17376
 
17377
Fri Jan 16 16:23:52 1998  Richard Henderson  
17378
 
17379
        * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
17380
 
17381
Fri Jan 16 10:16:10 1998  Jeffrey A Law  (law@cygnus.com)
17382
 
17383
        * calls.c (expand_call): Move #ifdef code out of macro argument
17384
        lists.
17385
        (emit_library_call, emit_library_call_value): Likewise.
17386
 
17387
Fri Jan 16 00:46:40 1998  Jeffrey A Law  (law@cygnus.com)
17388
 
17389
        * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
17390
 
17391
Thu Jan 15 01:02:30 1998  Jeffrey A Law  (law@cygnus.com)
17392
 
17393
        * version.c: Bump for snapshot.
17394
 
17395
Wed Jan 14 22:49:17 1998  Richard Henderson  
17396
 
17397
        * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
17398
        change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
17399
        * caller-save.c, calls.c, combine.c, cse.c: Likewise.
17400
        * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
17401
        * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
17402
        * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
17403
        * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
17404
        * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
17405
        * unroll.c, varasm.c: Likewise.
17406
        * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
17407
 
17408
Wed Jan 14 19:36:08 1998  Gavin Koch  (gavin@cygnus.com)
17409
 
17410
        * mips.h: Fix some type-o's from a previous change.
17411
 
17412
Wed Jan 14 01:26:05 1998  Jeffrey A Law  (law@cygnus.com)
17413
 
17414
        * loop.c (check_dbra_loop): Make sure initial value is a
17415
        CONST_INT before trying to normalize it.
17416
 
17417
Tue Jan 13 23:27:54 1998  Robert Lipe  (robertl@dgii.com)
17418
 
17419
        * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
17420
 
17421
Tue Jan 13 22:47:02 1998  Herman ten Brugge  
17422
 
17423
        * cppexp.c: Include gansidecl.h
17424
 
17425
Tue Jan 13 22:43:35 1998  Ian Lance Taylor  
17426
 
17427
        * svr4.h (LINK_SPEC): Never specify -h.
17428
        * ptx4.h (LINK_SPEC): Likewise.
17429
        * rs6000/sysv4.h (LINK_SPEC): Likewise.
17430
        * sparc/sol2.h (LINK_SPEC): Likewise.
17431
 
17432
Tue Jan 13 22:39:40 1998  Richard Henderson  (rth@cygnus.com)
17433
 
17434
        * c-typeck.c (comptypes): Exit early on NULL input.
17435
 
17436
        * haifa-sched.c (schedule_insns): Correctly remove inter-block
17437
        dependencies after reload.
17438
 
17439
Tue Jan 13 22:22:31 1998  Franz Sirl  
17440
 
17441
        * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
17442
 
17443
Tue Jan 13 22:14:57 1998  Klaus Kaempf  
17444
 
17445
        * alpha/vms.h (DIR_SEPARATOR): Define.
17446
 
17447
Tue Jan 13 22:13:04 1998  Bruno Haible  
17448
 
17449
        * Makefile.in (stamp-proto): Remove.
17450
        (protoize.o, unprotoize.o): Straightforward compile.
17451
        * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
17452
 
17453
Tue Jan 13 21:59:39 1998  Mumit Khan  
17454
 
17455
        * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
17456
        off the trailing @[NUM] added by ENCODE_SECTION_INFO.
17457
 
17458
Tue Jan 13 21:55:06 1998  Jeffrey A Law  (law@cygnus.com)
17459
 
17460
        * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
17461
        * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
17462
        * sparc/netbsd.h, vax/netbsd.h: Likewise.
17463
 
17464
Tue Jan 13 21:37:07 1998  Shigeya Suzuki  
17465
 
17466
        * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
17467
 
17468
Tue Jan 13 17:50:55 1998  Jim Wilson  
17469
 
17470
        * configure.in (target_cpu_default, target_cpu_default2): Use double
17471
        quotes around them when testing their value.
17472
        * configure: Rebuilt.
17473
 
17474
Tue Jan 13 09:07:44 1998  John Carr  
17475
 
17476
        * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
17477
        to allocate rtx.
17478
        (gendef): Call obstack_alloc_rtx.
17479
 
17480
Tue Jan 13 01:16:36 1998  Robert Lipe  (robertl@dgii.com)
17481
 
17482
        * configure.in (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
17483
        for now.
17484
 
17485
Thu Dec 18 18:40:17 1997  Mumit Khan  
17486
 
17487
        * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
17488
        of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
17489
        (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
17490
 
17491
Tue Jan 13 00:44:02 1998  Jim Wilson  
17492
 
17493
        * mips.md (return_internal): Change mode from SImode to VOIDmode.
17494
 
17495
Sat Jan 10 22:11:39 1998  J. Kean Johnston  
17496
 
17497
        * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
17498
        "-static".
17499
 
17500
Sat Jan 10 22:04:15 1998  Stan Cox  
17501
 
17502
        * i386.md (movsicc_1, movhicc_1): For alternate 3 set the opcode
17503
        suffix from operand 3.
17504
 
17505
Sat Jan 10 21:50:16 1998  J"orn Rennecke  
17506
                          Jeffrey A Law  (law@cygnus.com)
17507
 
17508
        * regmove.c: New implementation of regmove pass.
17509
        * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
17510
        decls, make them have external linkage.  Return a value from
17511
        optimize_reg_copy_1.
17512
        * reload.h (count_occurrences): Add decl.
17513
        * reload1.c (count_occurrences): Delete decl, make it have external
17514
        linkage.
17515
        * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
17516
 
17517
Sat Jan 10 20:30:12 1998  Jeffrey A Law  (law@cygnus.com)
17518
 
17519
        * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
17520
        if it is not defined.
17521
 
17522
Thu Jan  8 21:06:54 1998  Richard Henderson  
17523
 
17524
        * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
17525
        * emit-rtl.c (gen_rtx): Move special code to ...
17526
        (gen_rtx_CONST_INT): New function.
17527
        (gen_rtx_REG): New function.
17528
        (*): Update all calls to gen_rtx.
17529
        * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
17530
        * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
17531
        (GEN_INT): Call gen_rtx_CONST_INT.
17532
        * gengenrtl.c: New file.
17533
 
17534
Mon Jan  5 13:00:18 1998  John F. Carr  
17535
 
17536
        * alias.c (*_dependence): Call base_alias_check before canon_rtx.
17537
        (base_alias_check): If no base found for address call canon_rtx and
17538
        try again.
17539
 
17540
Mon Jan  5 11:39:49 1998  Jeffrey A Law  (law@cygnus.com)
17541
 
17542
        * mips.c (mips_expand_prologue): Handle large frame with no outgoing
17543
        arguments for mips16.
17544
        (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
17545
        Don't lose if tsize is zero after handling large stack for mips16.
17546
        * mips.md (return): For trivial return, return address is in $31.
17547
 
17548
Sun Jan  4 20:24:00 1998  Nigel Stephens  
17549
 
17550
        *  mips/mips16.S: Various changes to make it work with -msingle-float
17551
        and -EL.
17552
 
17553
Sun Jan  4 14:25:18 1998  Gavin Koch  
17554
                          Ian Lance Taylor  
17555
                          Jeff Law  
17556
 
17557
        * mips.c, mips.h, mips.md: First cut at merging in mips16
17558
        support.  Major modifications throughout all three files.
17559
 
17560
Sun Jan  4 01:01:50 1998  scott snyder  
17561
 
17562
        * configure.in: Make gthr-default.h a forwarding header instead of
17563
        a symlink.
17564
 
17565
Sat Jan  3 12:08:06 1998  Kaveh R. Ghazi  
17566
 
17567
        * gcov-io.h: Include sys/types.h to ensure we get size_t.
17568
 
17569
        * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
17570
 
17571
Fri Jan  2 23:40:09 1998  Jim Wilson  (wilson@cygnus.com)
17572
                          Jeffrey A Law  (law@cygnus.com)
17573
 
17574
        * crtstuff.c (__frame_dummy): New function for irix6.
17575
        (__do_global_ctors): Call __frame_dummy for irix6.
17576
        * iris6.h (LINK_SPEC): Hide __frame_dummy too.
17577
 
17578
Fri Jan  2 04:57:57 1998  Weiwen Liu  
17579
 
17580
        * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
17581
 
17582
Fri Jan  2 04:34:14 1998  Richard Henderson  
17583
 
17584
        * c-decl.c (init_decl_processing): Provide proper fallback symbol
17585
        for __builtin_memset.
17586
        * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
17587
        not INTEGER_CST.  Assert arg 3 is a constant.
17588
 
17589
        * alpha.c (mode_width_operand): Accept 64-bit modes.
17590
        (mode_mask_operand): Likewise.
17591
        (print_operand): Likewise for 'M' and 'U' codes.
17592
        (alpha_expand_unaligned_load): New function.
17593
        (alpha_expand_unaligned_store): Likewise.
17594
        (alpha_expand_unaligned_load_words): Likewise.
17595
        (alpha_expand_unaligned_store_words): Likewise.
17596
        (alpha_expand_block_move): Likewise.
17597
        (alpha_expand_block_clear): Likewise.
17598
        * alpha.h (MOVE_RATIO): New define.
17599
        * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
17600
        (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
17601
 
17602
        * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
17603
        (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
17604
 
17605
Thu Jan  1 15:40:15 1998  Richard Henderson  
17606
 
17607
        * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
17608
        * configure: Update.
17609
 
17610
Thu Jan  1 10:49:12 1998  Jeffrey A Law  (law@cygnus.com)
17611
 
17612
        * emit-rtl.c (operand_subword): Correctly handle extracting a word
17613
        from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
17614
 
17615
        * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
17616
        for first argument.
17617
 
17618
 
17619
Copyright (C) 1998 Free Software Foundation, Inc.
17620
 
17621
Copying and distribution of this file, with or without modification,
17622
are permitted in any medium without royalty provided the copyright
17623
notice and this notice are preserved.

powered by: WebSVN 2.1.0

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