]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
* README.Portability: Small update.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
59a5130c
NB
12000-07-16 Neil Booth <NeilB@earthling.net>
2
3 * README.Portability: Small update.
4
557b9df5
RH
52000-07-15 Richard Henderson <rth@cygnus.com>
6
7 * config/ia64/ia64-protos.h (ia64_move_ok): Prototype.
8 * config/ia64/ia64.c (ia64_move_ok): New function.
9 * config/ia64/ia64.md (movqi, movqi_internal): Use it.
10 (movhi, movsi, movdi, movsf, movdf, movxf): Likewise.
11
2c0accc9
ZW
122000-07-15 Zack Weinberg <zack@wolery.cumb.org>
13
14 * cpphash.c (save_expansion): Clear PREV_WHITE on tokens
15 immediately following a paste operator.
16 * cppinit.c (sort_options): New function (only for HOST_EBCDIC).
17 (cpp_reader_init): Call it, if HOST_EBCDIC.
18 (cpp_handle_options): Do not sort option list here.
19 (handle_option): Rename to cpp_handle_option and export.
20 * cpplex.c (cpp_scan_buffer_nooutput, cpp_scan_buffer): Use
21 _cpp_get_token directly.
22 (cpp_scan_line): Return 0 at EOF, 1 otherwise.
23 * cpplib.c (cpp_push_buffer): Don't set new->lineno to 1.
24 * cpplib.h: Prototype cpp_handle_option. Update prototype of
25 cpp_scan_line.
26
eff9c80d
RH
272000-07-15 Richard Henderson <rth@cygnus.com>
28
29 * fold-const.c (extract_muldiv): Don't optimize past an unsigned
30 cast around an expression. Tidy other unsigned tests.
31
b27ca4d1
GDR
322000-07-15 Gabriel Dos Reis <gdr@codesourcery.com>
33
34 * diagnostic.c (doing_line_wrapping, line_wrapper_printf, notice,
35 v_error_with_decl, v_warning_with_decl, v_pedwarn_with_decl): Remove.
36 (v_message_with_decl): Rename to ...
37 (format_with_decl): ... this. Tweak
38 (diagnostic_for_decl): New function.
39 (fatal_io_error): Use verbatim in lieu of notice.
40 (announce_function): Use verbatim.
41 (default_print_error_function): Likewise.
42 (error_with_decl, warning_with_decl, pedwarn_with_decl): Use new
43 infratructure.
44
404e4854
KG
452000-07-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
46
47 * mips.c (function_arg_pass_by_reference): Don't do automatic
48 aggregate initialization.
49 (machine_dependent_reorg): Initialize variable `mode'.
50
51 * mips.md (absdi2): Change variable `regno1' to unsigned int.
52 (reload_indi): Rename loword/hiword to lo_word/hi_word to avoid
53 conflicts with sys/param.h macro of the same name.
54 (reload_outdi): Likewise.
55
4d06bcc5
MM
562000-07-15 Michael Meissner <meissner@redhat.com>
57
58 * fold-const.c (fold): When optimizing FOO++ == CONST into ++FOO
59 == CONST + INCREMENT, don't overwrite the tree node for FOO++,
60 create a new node instead.
61
46b6bb95
NB
622000-07-15 Neil Booth <NeilB@earthling.net>
63
64 * README.Portability: Correct example about calling a function
65 through a pointer to function. Format wide paragraphs.
66
ae0e50e8
MM
672000-07-15 Michael Meissner <meissner@redhat.com>
68
69 * README.Portability: Update integer suffixes and function
70 prototype sections.
71
7de51554
NB
722000-07-15 Neil Booth <NeilB@earthling.net>
73
74 * README.Portability: Small update.
75
91399395
NB
762000-07-15 Neil Booth <NeilB@earthling.net>
77
78 * README.Portability: New file.
79
245aefec
MM
80Fri Jul 14 18:13:53 2000 Mark P Mitchell <mark@codesourcery.com>
81
82 * INSTALL: Give special instructions for building GCC on Irix 6.
83 * config/mips/x-iris6 (CC): Don't set it.
84 (OLDCC): Likewise.
85
626d1efd
JM
862000-07-14 Jason Merrill <jason@redhat.com>
87
88 * dwarf2out.c (dwarf2out_frame_debug_expr): If we store the CFA
89 register in the stack and later in another register, use the new
90 register.
91
12a345cd
CP
92Fri Jul 14 10:25:53 2000 Clinton Popetz <cpopetz@cygnus.com>
93
94 * config/mips/mips.md: (absdi2): Handle sign_extend for
95 second operand.
96
ecd36557
NS
972000-07-14 Nathan Sidwell <nathan@codesourcery.com>
98
99 * cpplib.c (do_pragma_dependency): Tidy warning messages.
100
bfbbc080
ZW
1012000-07-14 Zack Weinberg <zack@wolery.cumb.org>
102
103 * .cvsignore: Correct typo.
104
83a90717
MM
1052000-07-13 Mark Mitchell <mark@codesourcery.com>
106
107 * .cvsignore: Add generated YACC files.
108 * objc/.cvsignore: New file.
109
52fadca8
NB
1102000-07-14 Neil Booth <NeilB@earthling.net>
111
112 * cpplex.c (adjust_column): New funcion.
113 (skip_whitespace): Use it.
114 (skip_block_comment): Use it, and warn about /*/* with
115 -Wcomments.
116
b30892f9
NB
1172000-07-14 Neil Booth <NeilB@earthling.net>
118
119 * cpphash.c (struct macro_info): Add new members.
120 (_cpp_free_definition): Delete the macro directly.
121 (count_params): Return void, with first token of
122 expansion in struct macro_info on success.
123 (parse_define): Return int. Hoist syntax checking from
124 save_macro_expansion. Leave call to save_expansion to
125 _cpp_create_definition.
126 (alloc_macro): Needs just 2 arguments.
127 (free_macro): Delete.
128 (save_expansion): Don't perform syntax check.
129 (_cpp_create_definition): Call save_expansion.
130
2021c8d2
KG
1312000-07-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
132
3f6790bf
KG
133 * genrecog.c (write_header): Split long string.
134
af0d1578
KG
135 * cpphash.c (macro_info): Don't use the `signed' keyword.
136
2021c8d2
KG
137 * system.h (alloca): Prototype if __GNUC__ && __SIZE_TYPE__.
138
c67846f2
JJ
1392000-07-13 Jakub Jelinek <jakub@redhat.com>
140
141 * calls.c (stored_args_map): New variable.
142 (check_sibcall_argument_overlap_1): New.
143 (check_sibcall_argument_overlap): New.
144 (expand_call): Initialize stored_args_map.
145 Call check_sibcall_argument_overlap.
146
7dec90a1
BK
1472000-07-13 Bruce Korb <bkorb@gnu.org>
148
149 * fixinc/fixfixes.c: move EXIT_BROKEN to header, add sub-expr max count
150 (emit_gnu_type): utility procedure for gnu_type_fix
151 (gnu_type_fix): implement various pre-processor guards around
152 standard types so these types can be defined over and over
153 * fixinc/fixincl.tpl: add a "gnu_type_map" that forces the standard
154 types alluded to above will have GNU-compliant base types
155 * fixinc/fixlib.h: add EXIT_BROKEN define and the gnu_type_map struct
156 * fixinc/inclhack.def: add test_text entries and utilize the new
157 "gnu_types" fix for the ptrdiff_t, size_t and wchar_t types.
158 * fixinc/fixincl.x: regenerate
159
c91ad699
GDR
1602000-07-12 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
161
162 * diagnostic.c (vline_wrapper_message_with_location,
163 v_message_with_file_and_line, v_error_with_file_and_file,
164 v_error_for_asm, v_warning_for_asm, vfatal,
165 v_warning_with_file_and_line, v_pedwarn_with_file_and_line,
166 vsorry, verror, vwarning, vpedwarn): Remove.
167 (diagnostic_for_asm): New function.
168 (pedwarn, error, warning, pedwarn_with_file_and_line,
169 error_with_file_and_line, warning_with_file_and_line, sorry,
170 error_for_asm, warning_for_asm, fatal): Reimplement.
171 (finish_diagnostic): Clear diagnostic info as well.
172
530d0ba5
NB
1732000-07-13 Neil Booth <NeilB@earthling.net>
174
175 * c-common.h (flag_digraphs): New.
176 * c-decl.c (c_decode_option): Set flag_digraphs as appropriate.
177 * c-lex.c (yylex): Use flag_digraphs to decide whether to
178 honour digraphs.
179
ea414c97
ZW
1802000-07-13 Zack Weinberg <zack@wolery.cumb.org>
181
182 * gcc.c (do_spec_1): Add new %B operator.
183 (set_input): Prepare for %B.
184
185 (link_command_spec): Move up with the other tm.h-
186 overrideable specs. Factor out the portion conditional on
187 LINK_LIBGCC_SPECIAL into a new spec, %(link_libgcc).
188 (struct compiler): Just have a single spec string. All users
189 updated.
190 (default_compilers): Remove unnecessary braces.
191 (static_specs): Update.
192
193 (trad_capable_cpp, cpp_options, cc1_options, asm_options): New
194 named specs.
195 (C and assembly specs): Use the new named specs, as appropriate.
196
197 * objc/lang-specs.h: Use the new named specs.
198 Remove unnecessary braces.
199
c334349b
ZW
2002000-07-12 Zack Weinberg <zack@wolery.cumb.org>
201
202 * gcc.c (execute): If a subprocess gets a fatal signal, report
203 strsignal() of the signal number, and ask for a bug report.
204 Do not do this for SIGPIPE if there's already been an error.
205
206 * tradcpp.c: Don't include signal.h. Don't catch SIGPIPE.
207 Delete pipe_closed.
208
45062494
ZW
209 * tradcif.c: Remove.
210
dcacfa04
ZW
2112000-07-12 Zack Weinberg <zack@wolery.cumb.org>
212
213 * final.c (profile_function): Do not emit profile counters in
214 the data section, if NO_PROFILE_COUNTERS is defined.
215 * tm.texi: Document NO_PROFILE_COUNTERS. Update doc for
216 FUNCTION_PROFILER.
217
218 * config/i386/linux.h (NO_PROFILE_COUNTERS): Define.
219 (FUNCTION_PROFILER): Just emit a call to mcount.
220
f9a0e96c
ZW
2212000-07-12 Zack Weinberg <zack@wolery.cumb.org>
222
6e993bdb
ZW
223 * tradcpp.c (main): Rename 'perror' label to 'sys_error'.
224
f9a0e96c
ZW
225 * cppexp.c, cpphash.c, cpphash.h, cppinit.c, cpplex.c,
226 cpplib.c, cpplib.h: Eradicate all traces of code dependent on
227 traditional, lang_chill, or lang_fortran.
228
229 * cppfiles.c: #undef strcmp to suppress warning about macros
230 used without arguments.
231 (_cpp_execute_include): Use f, not fname, in "No include path"
232 error.
233 (_cpp_pop_file_buffer): New function.
234 * cpplib.c: Don't include <sys/mman.h>.
235 (cpp_push_buffer): Set line_base and lineno in new buffer.
236 (cpp_pop_buffer): Use _cpp_pop_file_buffer.
237
238 * cpplex.c: Move all prototypes and structure declarations to the
239 top of the file. Properly parenthesise some macro arguments.
240 (cpp_scan_line): New function.
241 (special_symbol [case T_INCLUDE_DEPTH]): Use pfile->include_depth,
242 don't need to walk up the stack counting.
243
1326a48b
KG
2442000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
245
246 * c-common.c (combine_strings): Emit a pedantic warning when a
247 string length is greater than the minimum ANSI C is required
248 to support.
249
733dee92
JL
250Wed Jul 12 13:24:30 2000 Jeffrey A Law (law@cygnus.com)
251
252 * pa/xm-pa64.h (NO_SYS_SIGLIST): Kill.
253 * d30v/xm-d30v.h (NO_SYS_SIGLIST): Kill.
254
895ea614
KG
2552000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
256
257 * c-decl.c (define_label): Warn about identifier conflicts with
258 labels in traditional C.
259
260 * c-parse.in (unop +): Warn about the unary plus operator for
261 traditional C.
262
263 * c-typeck.c (store_init_value): Warn about automatic aggregate
264 initialization for traditional C.
265
266 * invoke.texi (-Wtraditional): Document new warnings.
267
8364301f
GDR
2682000-07-12 Gabriel Dos Reis <gdr@codesourcery.com>
269
270 * Makefile.in (c-errors.o): Fix thinko in dependency.
271
f5896af2
ZW
2722000-07-12 Zack Weinberg <zack@wolery.cumb.org>
273
274 * gcc.c (C specs [!USE_CPPLIB]): Invoke tradcpp if any of
275 -traditional, -ftraditional, or -traditional-cpp was given.
c334349b 276 Do not pass -traditional to the preprocessor.
f5896af2
ZW
277 (.S spec): Likewise. Don't bother defining __ASSEMBLER__, the
278 preprocessor does it automatically.
279 * objc/lang-specs.h: Likewise. Don't bother defining __OBJC__.
280
281 * ch/lang-specs.h: Always use tradcpp. Do not pass
c334349b 282 -traditional, -trigraphs, or -pedantic to the preprocessor.
f5896af2
ZW
283 * f/lang-specs.h (.F spec): Likewise. Don't bother defining
284 _LANGUAGE_FORTRAN.
285
0080e892
ZW
2862000-07-12 Zack Weinberg <zack@wolery.cumb.org>
287
288 * cppexp.c (LOGICAL): Delete macro.
289 (_cpp_parse_expr): Do not use UNARY for unary +. Implement ||
290 and && directly.
291
292 * cpphash.c (HASHSIZE): Increase to 4096.
293 (struct hashdummy): Add hash field.
294 (eq_HASHNODE): Compare unreduced hashes, then lengths, then
295 the string values using memcmp.
296 (cpp_lookup): Set dummy.hash.
297
50ceaae0
ME
298Wed Jul 12 13:15:16 2000 Marc Espie <espie@openbsd.org>
299
300 * configure.in (m88k-openbsd): Express configuration using new fragment
301 style.
302 * configure: Rebuilt.
303 * m88k/aout-dbx.h: New.
304 * m88k/openbsd.h: New.
305 * m88k/xm-openbsd.h: New.
306
a592f288
KG
3072000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
308
309 * expr.c (expand_expr): Return const0_rtx, not error_mark_node.
310
6fe8aebc
RH
3112000-07-12 Richard Henderson <rth@cygnus.com>
312
313 * reload.c (push_secondary_reload): Make sure to add the new
314 reload at the end, after acquiring secondary memory.
315
20217ac1
KG
3162000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
317
b9bf5af8 318 * cpplex.c (is_macro_disabled): Use CPP_WTRADITIONAL.
e4a2ac1a 319
20217ac1
KG
320 * c-decl.c (set_current_function_name_declared, anon_aggr_type_p,
321 lang_expand_stmt): Mark parameters with ATTRIBUTE_UNUSED.
c334349b 322
20217ac1
KG
323 * c-parse.in (stmt): Delete unused variables.
324
325 * convert.c (convert_to_vector): Likewise.
326
327 * gensupport.c (process_rtx): Declare attr as `rtvec' not `rtx'.
328
329 * tree.c (finish_vector_type): Prototype.
330
878a5794
BK
3312000-07-12 Bruce Korb <bkorb@gnu.org>
332
333 * fixinc/fixfixes.c: use xmalloc
334 * fixinc/fixincl.c(initialize): set program name for xmalloc
335 * fixinc/fixlib.c(must_malloc): obsolete
336 (is_cxx_header): no longer used - disabled
337 (skip_quote): inserted and disabled for future use
338 * fixinc/fixlib.h: reflects above
339 * fixinc/fixtests.c: removed dinkleberries
340
2964d54f
NB
3412000-07-12 Neil Booth <NeilB@earthling.net>
342
343 * cpphash.h: (TOKEN_SPELL) Pulled from cpplex.c.
344 * cpplex.c (TOKEN_SPELL) Move to cpphash.h.
345
346 * cpphash.c: (struct macro_info, alloc_macro, free_macro,
347 struct toklist_dummy): New.
348 (cpp_free_definition): Free macros with free_macro.
349 (count_params): Don't save paramter spellings. Save macro
350 information in a struct macro_info.
351 (parse_define): Don't allocate a token list.
352 (save_expansion): Allocate the macro's token list, and
353 save parameter spellings if necessary. Use TOKEN_SPELL.
354 (cpp_create_definition): Make list const.
355
b9161f44
GDR
3562000-07-12 Gabriel Dos Reis <gdr@codesourcery.com>
357
358 * c-typeck.c (pedwarn_c99): Move to
359 * c-errors.c: ... Here.
360 * toplev.h (verror, vwarning, vpedwarn): Remove prototypes.
361 * diagnostic.c (verror, vwarning, vpedwarn): Make static.
362 * Makefile.in (C_AND_OBJC_OBJS): Include c-errors.o
363 (c-errors.o): List dependency.
364
792abd35
MM
3652000-07-12 Mark Mitchell <mark@codesourcery.com>
366
367 * c-parse.c: Remove.
368 * c-parse.h: Likewise.
369 * c-parse.y: Likewise.
370 * objc/objc-parse.c: Likewise.
371 * objc/objc-pasre.y: Likewise.
c334349b 372
2a59078d
RB
3732000-07-11 Rodney Brown <RodneyBrown@pmsc.com>
374
375 * gcc.texi: Fix minor typos
376 * extend.texi: Fix minor typos
377
31d432e4
ME
3782000-07-11 Marc Espie <espie@openbsd.org>
379
380 * collect2.c (main): Recognize .lo as object files.
381
4c1331d6
DA
3822000-07-11 J. David Anglin <dave@hiauly1.hia.nrc.ca>
383
5c6f90e7
DA
384 * pa.c (hppa_encode_label): Store labels in gc memory when ggc_p is
385 true.
386
4c1331d6
DA
387 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Extend test to detect systems
388 with MAP_ANONYMOUS and MAP_ANON.
389 * configure, config.in: Rebuilt.
390
406a65d0
GDR
3912000-07-12 Gabriel Dos Reis <gdr@codesourcery.com>
392
393 * diagnostic.c (save_output_state): Remove.
394 (restore_output_state): Likewise.
395 (clear_text_info): New function.
396 (clear_diagnostic_info): Likewise.
397 (output_text_length, is_starting_newline, output_prefix,
398 line_wrap_cutoff, ideal_line_wrap_cutoff, prefix_was_emitted_for,
399 prefixing_policy, output_buffer_ptr_to_format_args): New macros
400 (set_real_maximum_length, output_set_maximum_length,
c334349b 401 output_set_prefix, output_get_prefix, output_set_maximum_length,
406a65d0
GDR
402 output_destroy_prefix, init_output_buffer,
403 reshape_diagnostic_buffer, output_space_left, output_emit_prefix,
404 output_add_newline, output_add_character, output_add_space,
405 output_append_r, output_append, wrap_text, output_format,
406 output_do_printf, output_printf, output_do_verbatim,
407 output_verbatim, verbatim): Use them.
408 (output_clear): Split into cleat_text_info and
409 clear_diagnostic_info.
410 (struct output_state): Move to...
411
412 * diagnostic.h: ...Here
c334349b
ZW
413 (struct output_buffer): Adjust.
414
417f3e3a
ZW
4152000-07-11 Zack Weinberg <zack@wolery.cumb.org>
416
417 * cpplex.c (parse_name): No longer inline (premature optimization).
418 (do_pop_context): Fold into pop_context.
419 (pop_context): Returns int.
420 (lex_next): Hoist test for end of directive into pop_context.
421 (push_macro_context): Returns int; takes just reader and token.
422 Hoist test for excessive nesting to caller.
423 (push_arg_context): Returns void; takes just reader and token.
424 Do not call stringify_arg or get_raw_token.
425 (get_raw_token): Convert tail recursion through push_arg_context
426 to a loop at this level. Call stringify_arg here if appropriate.
427 (maybe_paste_with_next): Convert tail recursion to a while loop.
428 Hoist test of paste_level to caller.
429
430 (stringify_arg): Push arg context at beginning.
431 (cpp_get_token): Split out core into _cpp_get_token. Call
432 process_directive here. Throw away CPP_PLACEMARKER tokens.
433 (_cpp_get_token): Convert tail recursion through
434 push_macro_context to a loop at this level.
435 (_cpp_glue_header_name, is_macro_disabled, stringify_arg,
436 _cpp_get_raw_token): Use _cpp_get_token.
437 (_cpp_skip_rest_of_line): Drop the context stack directly; do
438 not call pop_context.
439 (_cpp_run_directive): Call lex_next directly.
440
441 * cpphash.h: Prototype _cpp_get_token.
442 * cppexp.c (lex): Use it.
443 * cpphash.c (parse_define): Use it.
444 * cpplib.c (get_define_node, do_undef, parse_include,
445 read_line_number, do_line, do_ident, do_pragma, do_pragma_gcc,
446 do_pragma_implementation, do_pragma_poison, do_pragma_dependency,
447 parse_ifdef, validate_else): Use it.
448 (cpp_push_buffer): Tweak error message; abort if anyone tries
449 to push a buffer while macro expansions are stacked.
450
4512000-07-11 Donn Terry <donnte@microsoft.com>
452
453 * cpplex.c (free_macro_args, save_token): Cast arg of free
454 and/or xrealloc to PTR.
455 (_cpp_init_input_buffer): Clear all fields of the base context.
456
ee138cf8
CP
457Tue Jul 11 15:28:21 CDT 2000 Clinton Popetz <cpopetz@cygnus.com>
458
459 * gensupport.c (process_rtx): Make rtl checking stop
460 complaining about the define_insn while it is being
461 converted from a define_insn_and_split.
462
821a8792
CP
463Tue Jul 11 16:26:17 2000 Clinton Popetz <cpopetz@cygnus.com>
464
465 * config/mips/mips.c (simple_memory_operand): Access the
466 INTVAL of the address, not it's containing MEM.
467
c5d9004e
BK
4682000-07-11 Bruce Korb <bkorb@gnu.org>
469
470 * fixinc/fixtests.c(double_slash): obsolete
471 (else_endif_label): likewise
9bb2d436 472 * fixinc/inclhack.def(irix_multiline_cmnt): obsolete
4f923eb8
BK
473 (libc1_ifdefd_memx): correct initial comment
474 and omit the #if/#endif pair from the memxxx declarations
9bb2d436 475 * fixinc/fixincl.x: regen
c5d9004e 476
b449f23a
KG
4772000-07-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
478
479 * cpplex.c (T, I, S, C, N): Avoid non-constant initializers.
480
745ef6d6
NB
4812000-07-11 Neil Booth <NeilB@earthling.net>
482
483 * cpp.texi: Update.
484
9b55f29a
NB
4852000-07-11 Neil Booth <NeilB@earthling.net>
486
487 * cppinit.c: (cpp_reader_init): Allow digraphs by default.
488 (handle_option): Set digraphs according to standard.
489 Merge OPT_lang_c89 handler with OPT_std_c89.
490
491 * cpplex.c: (lex_line, can_paste): Honour digraphs in
492 accordance with the digraphs flag.
493
494 * cpplib.h: (struct cpp_options): New option digraphs.
495
6ed6bf32 4962000-07-10 Hans-Peter Nilsson <hp@axis.com>
62a37b6f
HPN
497 Bruce Korb <bkorb@gnu.org>
498
499 * fixinc/inclhack.def (libc1_ifdefd_memx): New fix.
500 * fixinc/fixincl.x: Regenerate.
501 * fixinc/tests/base/testing.h: Add testcase.
502
ec039e3c
RH
5032000-07-10 Richard Henderson <rth@cygnus.com>
504
505 * config/ia64/ia64.c (got_symbolic_operand): New.
506 (symbolic_operand, move_operand): Revert 0701 change.
507 * config/ia64/ia64.h (PREDICATE_CODES): Update.
508 * config/ia64/ia64-protos.h (got_symbolic_operand): Declare.
509 * config/ia64/ia64.md (movdi): Revert 0701 wrt symbolic_operand;
510 split the offset into a 14-bit low part instead of a 13-bit low part.
511 (load_fptr): Mark the mem as unchanging.
512 (load_symptr): Use got_symbolic_operand.
513
14e7eabd
NC
5142000-07-10 Nick Clifton <nickc@cygnus.com>
515
516 * libgcc2.c (next_stack_level): Cast result of computation to
b49c94cb 517 (void **) so that the assignment does not generate a warning.
14e7eabd 518
46d3a873
CC
5192000-07-10 Chandrakala Chavva <cchavva@redhat.com>
520
521 * flags.h : Add new variable flag_single_precision_constant.
522 * toplev.c (display_help) : Add -fsingle-precision-constant option.
523 (flag_single_precision_constant): New.
524 * c-lex.c (yylex): Convert floating point constant to single
525 precision constant.
526 * invoke.texi : Add documentation for this new option.
527
92c26242
GDR
5282000-07-10 Gabriel Dos Reis <gdr@codesourcery.com>
529
530 * diagnostic.c (output_octal): Second parameter is unsigned.
531 (output_long_octal): Likewise.
532 (output_hexadecimal): Likewise.
533 (output_long_hexadecimal): Likewise.
534 (output_format): Adjust arguments extraction. Tweak.
535 (output_verbatim, verbatim): End variable argument list.
536 (report_diagnostic): Improve documentation.
c334349b 537
0dfdeca6
BC
5382000-07-10 Benjamin Chelf <chelf@codesourcery.com>
539
540 * c-common.h (build_stmt): Declare.
541 (build_continue_stmt): Likewise.
542 (build_break_stmt): Likewise.
543 (build_return_stmt): Likewise.
544
545 * c-decl.c (do_case): Rewrite to do what previously done in
546 c-parse.in.
547
548 * c-semantics.c (build_stmt): Define.
549 (build_return_stmt): Likewise.
550 (build_break_stmt): Likewise.
551 (build_continue_stmt): Likewise.
552 (build_case_label): Likewise.
553
554 * c-parse.in (BREAK): Change to build tree, then generate RTL.
555 (CONTINUE): Likewise.
556 (RETURN): Likewise.
557 (CASE): Likewise.
558 (DEFAULT): Likewise.
559
560 * c-parse.y: Regenerate.
561 * c-pasre.c: Likewise.
c334349b 562
9a6bb3f7
JM
5632000-07-09 Jason Merrill <jason@redhat.com>
564
4a53008b
JM
565 * expr.c (expand_expr): Bail earlier if we get an error_mark_node.
566
9a6bb3f7
JM
567 * tree.h (STRIP_NOPS): Check for error_mark_node.
568 (STRIP_SIGN_NOPS, STRIP_TYPE_NOPS): Likewise.
569 (dwarf2out_*): Remove duplicate declarations.
570
571 * c-decl.c (duplicate_decls): Copy DECL_ABSTRACT_ORIGIN from
572 DECL_ABSTRACT_ORIGIN, not DECL_ORIGIN.
573
93d87cb1
GDR
5742000-07-10 Gabriel Dos Reis <gdr@codesourcery.com>
575
576 * diagnostic.c (wrap_text): New function.
577 (maybe_wrap_text): Likewise.
578 (output_add_string): Use it.
579 (output_format): Likewise.
580 (count_error): Use verbatim instead of notice.
581 (report_error_function): Likewise. Don't use plain fprintf.
582 (finish_diagnostic): New function.
583 (output_do_verbatim): Tweak. Commonalize functionalities in
584 output_verbatim and verbatim.
585 (output_verbatim): Adjust.
586 (verbatim): Likewise.
587 (report_diagnostic): Define.
588
589 * diagnostic.h (report_diagnostic): Prototype.
c334349b 590
66267cdb
ZW
5912000-07-09 Zack Weinberg <zack@wolery.cumb.org>
592
593 * cppexp.c (_cpp_parse_expr): Don't use unary plus.
594
91fcd158
NB
5952000-07-09 Neil Booth <NeilB@earthling.net>
596
597 * cpphash.h: ISvspace, is_vspace, is_nvspace: New.
598 IShspace, ISspace: Update.
599
600 * cppinit.c: ISTABLE: Update.
601 V: New.
602
603 * cpplex.c (IS_HSPACE, S_NEWLINE): Remove.
604 (IS_DIRECTIVE): Rename KNOWN_DIRECTIVE.
605 (skip_block_comment, skip_line_comment, parse_string,
606 lex_line): Use is_vspace rather than IS_NEWLINE.
607 (skip_whitespace, lex_line): Clean up to use is_nvspace.
608 (lex_line): Use KNOWN_DIRECTIVE. Any kind of directive
609 gets a BOL flag.
610 (lex_next): Unconditionally stop if within a directive.
611 Treat directives within macro invocations as directives
612 (after parse_args emits error), not as the argument.
613
8514e318
GDR
6142000-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
615
616 * diagnostic.c (diagnostic_args): New macro.
617 (diagnostic_msg): Likewise.
618 (output_formatted_integer): Likewise.
619 (output_state): New data type.
620 (digit_buffer): Make global.
621 (output_add_integer): Rename to output_decimal. Squeeze
c334349b 622 digit_buffer.
8514e318
GDR
623 (output_long_decimal, output_unsigned_decimal,
624 output_long_unsigned_decimal, output_octal, output_long_octal,
625 output_hexadecimal, output_long_hexadecimal): New functions.
626 (output_append_r): New function.
627 (output_append): Tweak.
628 (output_flush_on): Rename to output_to_stream.
629 (output_format): Change prototype. Improve documentation. Handle
630 more format specifiers.
631 (build_location_prefix): Rename to context_as_prefix.
632 (output_notice): Rename to output_do_printf.
633 (output_printf): Tweak.
634 (line_wrapper_printf): Likewise.
635 (vline_wrapper_message_with_location): Adjust call to renamed
c334349b 636 functions.
8514e318
GDR
637 (v_message_with_decl): Likewise.
638 (default_print_error_function): Likewise.
639 (save_output_state): New function.
640 (restore_output_state): Likewise.
641 (output_do_verbatim): Likewise.
642 (output_verbatim): Define.
643 (verbatim): Likewise.
644
645 * diagnostic.h (printer_fn): Change return type from void to int.
646 Improve documentation.
647 (output_add_integer): Rename to output_decimal.
648 (output_flush_on, output_format): Don't export.
649 (output_verbatim, verbatim): Declare.
650
12644a9a
TM
6512000-07-08 Toon Moene <toon@moene.indiv.nluug.nl>
652
653 * fold-const.c (extract_muldiv) case PLUS_EXPR, MINUS_EXPR:
654 Check whether c divides op1 exactly if operation is not
655 multiplication.
656
0ac76ad9
RH
6572000-07-08 Richard Henderson <rth@cygnus.com>
658
ec039e3c 659 * final.c (final): Do not abort when reg-stack introduces
0ac76ad9
RH
660 a new insn.
661
bfb9dc7f
ZW
6622000-07-08 Zack Weinberg <zack@wolery.cumb.org>
663
664 * cpplib.h (struct cpp_name): Now struct cpp_string.
665 (CPP_INT, CPP_FLOAT, CPP_NUMBER, CPP_COMMENT,
666 CPP_HEADER_NAME): Change to type S.
667 (struct cpp_token): Rename 'name' field to 'str'. Add 'node'
668 field, a cpp_hashnode *. All references to val.name updated
669 to use val.str or val.node as appropriate.
670 (struct cpp_reader): Add spec_nodes field.
671 (cpp_idcmp): Now cpp_ideq; takes a token * and a char *.
672
673 * cpphash.h (struct spec_nodes): New.
674 (enum spell_type): Reorder. Only SPELL_STRING tokens use
675 val.str. All references to 'spelling > SPELL_NONE' updated to
676 match.
677
678 (CPP_IN_SYSTEM_HEADER): Check pfile->buffer and
679 pfile->buffer->inc are not NULL before dereferencing them.
680
681 * cpplex.c (parse_name): Take a pointer to the current token,
682 plus current position and limit as args; return the new
683 position; don't copy the text of a name into the string
684 buffer, instead call cpp_lookup and store the node pointer.
685 If extending a token, copy out the text of the old into a
686 scratch buffer, append the new, look that up and store the new
687 node pointer. Inline.
688 (maybe_paste_with_next): If the result of paste is a NAME,
689 then look up the pasted text and store its node pointer.
c334349b 690 (lex_line): Adjust for new parse_name interface.
bfb9dc7f
ZW
691 Check for L"str", L'str' using spec_nodes->n_L.
692 (spell_token): SPELL_IDENT tokens have their spelling in
693 val.node->name. Handle SPELL_STRING tokens that don't have
694 string delimiters.
c334349b 695 (_cpp_expand_name_space,
bfb9dc7f
ZW
696 (can_paste): Check for L ## "str" using spec_nodes->n_L.
697 (cpp_get_token, special_symbol): No need to call cpp_lookup.
698 (cpp_idcmp): Now cpp_ideq; take a token * and a const char *;
699 return 1=equal 0=not, not a tristate.
700
701 * cpphash.c (var_args_str): Delete.
702 (find_param): Compare node fields directly.
703 (is__va_args__): Use CPP_PEDANTIC. Just compare
704 token->val.node with spec_nodes->n__VA_ARGS__.
705 (dump_funlike_macro): Don't use var_args_str.
706
707 * cpplib.c (_cpp_check_directive): Just walk through
708 spec_nodes->dirs comparing pointers.
709 (get_define_node, do_pragma_poison, detect_if_not_defined,
710 parse_ifdef): The identifier has already been looked up.
711 (do_ifdef, do_ifndef): parse_ifdef won't return a poisoned
712 node.
713 (do_if): Only call detect_if_not_defined at beginning of file.
714 (_cpp_parse_assertion): Only copy string pointers for
715 SPELL_STRING tokens.
716 (pragma_dispatch): Take a node pointer and examine its name
717 field.
718 (_cpp_init_stacks): Also initialize the spec_nodes structure.
719
720 * cppinit.c (cpp_reader_init): Call _cpp_init_stacks after
c334349b 721 _cpp_init_macros.
bfb9dc7f
ZW
722 (cpp_cleanup): Free pfile->spec_nodes. Call _cpp_cleanup_* in
723 reverse order from the corresponding _cpp_init_* routines.
724
725 * cppexp.c (parse_number, parse_charconst, parse_defined,
726 lex): Check val.node->type instead of calling cpp_defined.
727 Use spec_nodes entries where appropriate.
728
729 * fix-header.c, scan-decls.c: Update for interface changes.
730
ffc14f31
GK
7312000-07-08 Geoffrey Keating <geoffk@cygnus.com>
732
733 * config/rs6000/rs6000.c (rs6000_emit_move): Fix conditions for
734 emitting aux_truncdfsf2.
735
aaaf7848
DT
7362000-07-03 Donn Terry (donnte@microsoft.com)
737
738 * cppinit.c (print_help): split overlong line into ISO C89
739 maximum chunks.
740
cf00a885
ZW
7412000-07-07 Zack Weinberg <zack@wolery.cumb.org>
742
743 * cppexp.c: Update all code for new lexer interface.
744 (op_t, operator codes, struct token, tokentab2, op_to_str): Remove.
745 (struct suffix, vsuf_1, vsuf_2, vsuf_3, op_to_prio): New.
746 * cpplex.c (token_names): Trim leading CPP_ from names; make
747 the strings unsigned.
748 (_cpp_spell_operator): New.
749 (is_macro_disabled): Disable all macros if rescanning
750 preprocessed text.
751 (_cpp_get_directive_token): Remove.
752
753 * cppinit.c: Don't set no_macro_expand.
754 * cpplib.c (read_line_number, do_line): Check only for EOF,
755 not VSPACE.
756 * cpphash.h: Update prototypes.
757 * cpplib.h (CPP_VSPACE): Remove.
758 (struct cpp_reader): Remove no_macro_expand.
759
563dd08a
NB
7602000-07-08 Neil Booth <NeilB@earthling.net>
761
762 * cpphash.c (is__va_args__): New function.
763 (count_params): Fix line reported in error messages. Use
764 is__va_args__. Don't return ')' on error. Flag GNU style
765 rest args macro definitions.
766 (parse_define): Check macro name is not __VA_ARGS__.
767 (save_expansion): Check identifier in non-varargs-macro is
768 not __VA_ARGS__. Don't flag GNU_VARARGS.
769 * cpplex.c (parse_args): Accept no argument iff GNU_REST_ARGS.
770 (maybe_paste_with_next): Use per-macro GNU_REST_ARGS rather
771 than per-token GNU_VARARGS.
772 * cpplib.h (GNU_VARARGS): Remove.
773 (GNU_REST_ARGS): New.
774
b848ded1
JH
775Sat Jul 8 01:38:25 MET DST 2000 Jan Hubicka <jh@suse.cz>
776
777 * i386.md (call_pop, call, call_value_pop): Do not set
778 current_function_uses_pic_offset_table for calls to static
779 functions or indirect calls.
780
12c2c7aa
JW
7812000-07-07 Jim Wilson <wilson@cygnus.com>
782
783 * config/ia64/ia64.c (rws_access_reg): New local write_count. If
784 is_predicate_reg, then take max write_count of register pair.
785
5c7525ac
KG
7862000-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
787
788 * tradcpp.c (main): Rename label `include' to `add_include' to
789 avoid conflicts with variable `include' in traditional C.
790
ca81c149
JJ
7912000-07-07 Jakub Jelinek <jakub@redhat.com>
792
793 * integrate.c (copy_insn_list): Remove REG_LABEL notes.
794
f5afd9e9
JJ
7952000-07-07 Jakub Jelinek <jakub@redhat.com>
796
797 * sibcall.c (uses_addressof): Add INMEM argument, check for
798 current_function_internal_arg_pointer outside of MEM rtxs in addition
799 to ADDRESSOFs.
800 (sequence_uses_addressof): Update caller.
801
09bb5d9a
ZW
8022000-07-07 Zack Weinberg <zack@wolery.cumb.org>
803
804 * tradcpp.c (initialize_builtins): Honor NO_BUILTIN_SIZE_TYPE
805 and friends.
806
7de9cc38
KG
8072000-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
808
809 * system.h (UNION_INIT_ZERO): New macro for initializing union
810 members in structs.
811
812 * cpplex.c (placemarker_token, eof_token): Use UNION_INIT_ZERO.
813
d199cba4
NB
8142000-07-07 Neil Booth <NeilB@earthling.net>
815
816 * cpp.texi: Update.
817
a12cf650
JL
818Fri Jul 7 07:47:35 2000 Jeffrey A Law (law@cygnus.com)
819
820 * final.c (final): Detect out of bounds array access to
821 the insn_lengths array.
822
fba5638f
KH
8232000-07-07 Kazu Hirata <kazu@hxi.com>
824
825 * fold-const.c (fold): Fix a comment typo.
826
92a7a103
NB
8272000-07-07 Neil Booth <NeilB@earthling.net>
828
829 * cpp.texi: Update to new lexer.
830
24c3c71a
ZW
8312000-07-06 Zack Weinberg <zack@wolery.cumb.org>
832
833 * tradcpp.c: New file.
834 * tradcif.y: New file.
835 * tradcif.c: New generated file.
836
837 * Makefile.in: Add rules to build tradcpp.o, tradcif.o,
838 $(srcdir)/tradcif.c. Add tradcpp to STAGESTUFF and
839 dependencies of C. Install tradcpp from install-common, in
840 $(libsubdir).
841
60893f43
ZW
8422000-07-06 Zack Weinberg <zack@wolery.cumb.org>
843
844 * cppinit.c: Include cppdefault.h. Refer to
845 cpp_GCC_INCLUDE_DIR and cpp_GCC_INCLUDE_DIR_len, not directly
846 to GCC_INCLUDE_DIR and its length.
847 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
848 USER_LABEL_PREFIX, REGISTER_PREFIX, struct default_include,
849 STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT): Move to
850 cppdefault.h.
851 (include_defaults_array): Move to cppdefault.c.
852
853 * cppdefault.h: New file.
854 * cppdefault.c: New file.
855
856 * Makefile.in (LIBCPP_OBJS): Add cppdefault.o.
857 (cppinit.o): Don't apply $(PREPROCESSOR_DEFINES) to this file.
858 (cppdefault.o): New rule; apply $(PREPROCESSOR_DEFINES) to
859 this file.
860
db30db99
RK
861Thu Jul 6 18:30:36 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
862
863 * reload.c (push_reload): When seeing if can reuse a register,
864 check extra registers against widest of INMODE and OUTMODE.
865
09074fda
NB
8662000-07-06 Neil Booth <NeilB@earthling.net>
867
868 * cpplib.c: (_cpp_parse_assertion): Perform hash lookups
869 based on full length of predicate.
870
f9721d41
HPN
8712000-07-06 Hans-Peter Nilsson <hp@axis.com>
872
873 * timevar.c: [HAVE_SYS_RESOURCE_H]: Include <sys/resource.h>.
874 [NEED_DECLARATION_GETRUSAGE]: Declare getrusage.
875
07e4d94e
KH
8762000-07-05 Kazu Hirata <kazu@hxi.com>
877
878 * h8300-proto.h: Fix formatting.
879 * h8300.c: Likewise.
880 * h8300.h: Likewise.
881
768ff52f
JW
8822000-07-05 Jim Wilson <wilson@cygnus.com>
883
884 * config/ia64/ia64.h (HARD_REGNO_MODE_OK): If FR_REGNO_P, disallow
885 CCmode.
886
b192711e
RB
8872000-07-05 Rodney Brown <RodneyBrown@pmsc.com>
888
889 * invoke.texi: Fix minor typos
890 * md.texi: Fix minor typos
891
385d061b
ZW
8922000-07-05 Zack Weinberg <zack@wolery.cumb.org>
893
894 * cpplib.c (_cpp_parse_assertion): Fix buffer overrun.
895
c71f835b
ZW
8962000-07-04 Zack Weinberg <zack@wolery.cumb.org>
897
898 * cpplex.c: Don't include sys/mman.h.
899 (cpp_push_buffer, cpp_pop_buffer): Moved to cpplib.c.
900
901 * cpplib.c: Include sys/mman.h and obstack.h.
902 (cpp_push_buffer): Moved from cpplex.c; allocate buffers on an
903 obstack.
904 (cpp_pop_buffer): Moved from cpplex.c; free buffers from an obstack.
905 (_cpp_unwind_if_stack): Now static, unwind_if_stack. Don't
906 bother freeing if stack entries (they will be freed with their buffer).
907 (do_endif): Free if stack entries from the buffer obstack.
908 (push_conditional): Allocate if stack entries from the buffer obstack.
909
910 (find_answer): Rename to _cpp_find_answer.
911 (do_assert, do_unassert): Update.
912
913 * cpphash.h: Update prototypes.
914 (xobnew): New convenience macro.
915 * cpplib.h (struct cpp_reader): Add hash_ob and buffer_ob fields.
916 Update comments.
917 (struct cpp_hashnode): Remove disabled field.
918
919 * cppinit.c: Don't include hashtab.h or splay-tree.h.
920 (report_missing_guard): Moved to cppfiles.c.
921 (cpp_reader_init): Call cpp_init_stacks, cpp_init_macros,
922 cpp_init_includes.
923 (cpp_cleanup): Call cpp_cleanup_stacks, cpp_cleanup_macros,
924 cpp_cleanup_includes. Don't destroy hashtab or
925 all_include_files here.
926 (cpp_finish): Use _cpp_report_missing_guards.
927
928 * cppfiles.c (report_missing_guard): Moved from cppinit.c.
929 (_cpp_init_include_table): Rename _cpp_init_includes.
930 (_cpp_cleanup_includes, _cpp_report_missing_guards): New.
931
932 * cppexp.c (parse_assertion): Update for new name of
933 find_answer.
934
935 * Makefile.in (cpplib.o, cpphash.o, cppinit.o): Update deps.
936
9372000-07-04 Zack Weinberg <zack@wolery.cumb.org>
938
939 * cpplib.c (do_ident): s/VSPACE/EOF/
940
043afb2a
NB
9412000-07-05 Neil Booth <NeilB@earthling.net>
942
943 * cpplex.c: Fix trigraph replacement within strings.
944
0a336522
KG
9452000-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
946
947 * rs6000/aix.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier.
948
949 * xcoffout.c (assign_type_number): Constify.
950 (xcoffout_source_file): Add static prototype. Don't needlessly
951 cast away const-ness.
952
60b55947
JM
9532000-07-04 Jason Merrill <jason@redhat.com>
954
955 * frame.h (frame_state): Move base_offset to end.
956
d4c68376
CP
957Mon Jul 3 21:31:43 2000 Clinton Popetz <cpopetz@cygnus.com>
958
959 * calls.c (emit_library_call_value_1): Revert previous change.
960
041c3194
ZW
9612000-07-03 Zack Weinberg <zack@wolery.cumb.org>
962
963 * fix-header.c (struct partial_proto): Remove unnecessary fields.
964 (recognized_extern, recognized_function, read_scan_file):
965 Update for new scheme.
966 (check_protection): It's still a multiple include guard even
967 if it doesn't always trigger.
968 * scan-decls.c (skip_to_closing_brace, scan_decls): Update for
969 new scheme.
970 * scan.h: Declare struct cpp_token. Update prototypes.
971
9722000-07-03 Neil Booth <neilb@earthling.net>
973 Zack Weinberg <zack@wolery.cumb.org>
974
975 Complete overhaul of the lexer and macro expander.
976
977 * cpphash.c (object_defn, funct_defn, push_macro_expansion,
978 arg, arglist, argdata, reflist, collect_objlike_expansion,
979 collect_funlike_expansion, collect_params,
980 warn_trad_stringify, trad_stringify, duplicate_arg_p, add_pat,
981 unsafe_chars, macarg, compare_defs, special_symbol,
982 scan_arguments, stringify, funlike_macroexpand,
983 _cpp_quote_string, monthnames): Delete.
984 (cpp_lookup, _cpp_free_definition, dump_funlike_macro,
985 _cpp_create_definition, _cpp_dump_definition,
986 dump_hash_helper): Adjust.
987 (find_param, count_params, parse_define, var_args_str,
988 check_macro_redefinition, save_expansion): New.
989
990 * cpplex.c (skip_block_comment, skip_line_comment, parse_name,
ec039e3c
RH
991 parse_string, output_line_command, trigraph_replace,
992 lex_line, cpp_push_buffer, cpp_pop_buffer, cpp_output_tokens,
993 cpp_scan_buffer_nooutput, cpp_scan_buffer, cpp_free_toklist,
994 cpp_idcmp, _cpp_get_directive_token, _cpp_init_input_buffer,
041c3194
ZW
995 _cpp_skip_rest_of_line): Modify.
996
ec039e3c 997 (maybe_macroexpand, skip_comment, copy_comment, skip_string,
041c3194
ZW
998 find_position, null_warning, bump_column, expand_name_space,
999 pedantic_whitespace, _cpp_output_list, _cpp_slice_toklist,
1000 _cpp_squeeze_toklist, _cpp_scan_until, _cpp_skip_hspace,
1001 _cpp_parse_name, _cpp_lex_token, cpp_get_non_space_token,
1002 _cpp_prescan): Delete.
1003
1004 (dump_param_spelling, process_directive, lex_next,
ec039e3c
RH
1005 is_macro_disabled, stringify_arg, expand_context_stack,
1006 output_token, make_string_token, alloc_number_token,
1007 special_symbol, duplicate_token, maybe_paste_with_next,
1008 can_paste, prevent_macro_expansion, restore_macro_expansion,
1009 get_temp_token, release_temp_tokens, quote_string,
1010 token_names, token_spellings, _cpp_expand_name_space,
1011 _cpp_glue_header_name, _cpp_reserve_name_space,
1012 digraph_spellings, trigraph_ok, skip_whitespace, save_comment,
1013 placemarker_token, eof_token, cpp_context, macro_args,
1014 get_raw_token, parse_arg, parse_args, save_token,
1015 push_arg_context, push_macro_context, pop_context,
1016 do_pop_context, free_macro_args, _cpp_get_line,
1017 _cpp_run_directive): New.
041c3194
ZW
1018
1019 * cpplib.c (validate_else, parse_include, push_conditional,
1020 pass_thru_directive, read_line_number, parse_ifdef,
1021 detect_if_not_defined, _cpp_check_directive, do_define,
1022 do_undef, do_include, do_import, do_include_next, do_error,
1023 do_warning, do_ident, do_pragma, pragma_dispatch, gcc_pragmas,
1024 top_pragmas, do_pragma_gcc, do_pragma_implementation,
1025 do_pragma_poison, do_pragma_system_header,
1026 do_pragma_dependency, do_sccs, do_ifdef, do_ifndef, do_else,
1027 dl_elif, do_endif, _cpp_unwind_if_stack, do_assert,
1028 do_unassert, cpp_define, cpp_undef, cpp_assert, cpp_unassert,
1029 cpp_defined): Update for new scheme.
1030 (strtoul_for_line, get_define_node, dump_macro_name,
1031 _cpp_check_linemarker, _cpp_parse_assertion): New.
1032 (_cpp_handle_directive, do_pragma_default): Delete.
c334349b 1033
041c3194
ZW
1034 * cpphash.h (struct predicate): Now struct answer.
1035 (enum spell_type, struct token_spelling, struct directive,
1036 directive_handler): New.
1037 Update prototypes. Remove unused macros.
1038 * cpplib.h: Update prototypes. Remove unused macros,
1039 structure definitions, and fields.
1040
1041 * cpperror.c (print_containing_files, v_message): Adjust.
c334349b 1042 * cppexp.c (parse_assertion, lex, parse_escape,
041c3194
ZW
1043 _cpp_parse_expr): Adjust.
1044 * cppfiles.c (open_include_file, _cpp_execute_include,
1045 _cpp_compare_file_date, cpp_read_file, read_include_file):
1046 Adjust.
1047 * cppinit.c (dump_special_to_buffer): Delete.
1048 (append_include_chain, merge_include_chains, cpp_reader_init,
1049 cpp_cleanup, initialize_builtins, builtin_array, cpp_start_read,
1050 cpp_finish, handle_option, print_help): Adjust.
1051 * cppmain.c (main): Adjust.
1052
18fa319d
ZW
10532000-07-03 Zack Weinberg <zack@wolery.cumb.org>
1054
1055 * cppspec.c (lang_specific_driver): Use double quotes in error
1056 message.
1057
73003b2f
CP
1058Mon Jul 3 16:53:43 2000 Clinton Popetz <cpopetz@cygnus.com>
1059
1060 * calls.c (emit_library_call_value_1): Use valreg instead
1061 of hard_libcall_value.
1062
3b5286d7
GK
10632000-07-03 Geoff Keating <geoffk@cygnus.com>
1064
fb4d4348
GK
1065 * config/rs6000/rs6000.c (rs6000_emit_move): New function.
1066 * config/rs6000/rs6000-proto.h: Prototype rs6000_emit_move.
1067 * config/rs6000/rs6000.md (movsi): Use rs6000_emit_move.
1068 (movhi): Likewise.
1069 (movqi): Likewise.
1070 (movdf): Likewise.
1071 (movsf): Likewise.
1072 (movdi): Likewise.
1073 (movti): Likewise.
1074
3b5286d7
GK
1075 * expmed.c (expand_mult_highpart): Use op1 instead of wide_op1 when
1076 mode instead of wider_mode is being used.
1077
5e6d6bf0
JJ
10782000-07-03 Jakub Jelinek <jakub@redhat.com>
1079
1080 * config/i386/i386.md (movstrictqi_xor): Use 'q' constraint instead
1081 of 'r'. Use q_regs_operand.
1082 (andsi_1+2): Use q_regs_operand.
1083
f46ad076
JJ
10842000-07-03 Jakub Jelinek <jakub@redhat.com>
1085
1086 * builtins.c (get_memory_rtx): Always put into alias set 0.
1087
9dc79c6f
NC
10882000-07-03 Nick Clifton <nickc@cygnus.com>
1089
1090 * config/arm/arm.md: Fix post increment and pre increment
1091 peepholes so that they do not generate UNPREDICATBLE opcodes.
1092 (ie ones where the increment clobbers the source/destination).
1093
c4984bad
MM
10942000-07-01 Marek Michalkiewicz <marekm@linux.org.pl>
1095
1096 * config/avr/avr.c (out_adj_frame_ptr): Make "frame pointer
1097 change too big for -mtiny-stack" a warning, if larger than 63.
1098 (out_set_stack_ptr): Change the logic so -mno-interrupts is
1099 always safe to use on possible future devices.
1100 (function_prologue): Write SPH before SPL, for consistency.
1101 If interrupt_func_p true, we know we have enabled interrupts.
1102 (avr_num_arg_regs): New function. Round up to even number of
1103 bytes if no -mpack-args or if calling a libgcc function.
1104 (function_arg, function_arg_advance): Use it.
1105 (output_movsisf, ashlsi3_out, ashrsi3_out, lshrsi3_out):
1106 Output "movw" if available.
1107 (out_tsthi, out_tstsi, ashlqi3_out, lshrqi3_out): Change uses
1108 of TEST_HARD_REG_CLASS macro to test_hard_reg_class function.
1109 (asm_output_section_name): Add blanks for consistent output.
1110 (encode_section_info): Set TREE_READONLY for progmem data to
1111 avoid gas warnings about changed section attributes.
1112 (avr_hard_regno_mode_ok): Force non-QImode data to start in
1113 even numbered registers on devices with "movw".
1114 * config/avr/avr.h (MASK_*): Define bits for target_flags.
1115 (TARGET_SWITCHES): Mark help strings for translation.
1116 Add new -mpack-args and -menhanced switches.
1117 (TARGET_OPTIONS): Mark help strings for translation.
1118 (progmem_section): Add section attributes.
1119 * config/avr/avr.md (*movhi, call_insn, call_value_insn):
1120 Output "movw" if available.
1121 (mulqi3, mulqihi3, umulqihi3, mulhi3, *tablejump_enh):
1122 New patterns.
1123 * config/avr/libgcc.S (_mulqi3, _divqi3): Update to the new
1124 call convention (arguments aligned on even registers).
1125 (_cleanup, _exit): Make weak symbols libc can override.
1126
cb4b535d
KG
11272000-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1128
1129 * fp-bit.h: New file.
1130
1131 * fp-bit.c: Move common code, prototypes, etc into fp-bit.h.
1132 Comment #endif statements.
1133 (__thenan_sf, __thenan_df): Add missing braces around initializer.
1134
657959ca
JL
1135Mon Jul 3 00:32:47 2000 Jeffrey A Law (law@cygnus.com)
1136
c66e8ae9
JL
1137 * gcse.c (compute_pre_data): Compute ae_kill using other local
1138 properties instead of calling compute_ae_kill.
1139
657959ca
JL
1140 * alias.c (init_alias_analysis): Do not call
1141 prologue_epilogue_contains until after reload has completed.
1142
4cf88f57
BC
11432000-07-02 Benjamin Chelf <chelf@codesourcery.com>
1144
1145 * c-common.h (genrtl_begin_compound_stmt): Remove declaration.
1146 (genrtl_finish_compound_stmt): Likewise.
1147 (genrtl_compound_stmt): Change to return void.
1148
c334349b 1149 * c-semantics.c (genrtl_begin_compound_stmt): Remove function and
4cf88f57
BC
1150 move code from here to ...
1151 (genrtl_compound_stmt): ... here.
1152 (genrtl_finish_compound_stmt): Remove.
1153 (expand_stmt): Add comment.
1154
baae9b65
ZW
11552000-07-02 Zack Weinberg <zack@wolery.cumb.org>
1156
1157 * c-typeck.c (build_indirect_ref): Use COMPLETE_OR_VOID_TYPE_P
1158 and VOID_TYPE_P.
1159
fb753f88
JJ
11602000-07-02 Jakub Jelinek <jakub@redhat.com>
1161
1162 * cpplib.h (struct cpp_reader): New field include_depth.
1163 (struct cpp_printer): Rename last_bsd to last_id.
1164 * cppfiles.c (read_include_file): Bump include_depth.
1165 * cpplex.c (cpp_pop_buffer): Decrement include_depth.
1166 (output_line_command): Output correct #line if a header
1167 is including itself and is not protected against multiple inclusion.
1168 Use include_depth instead of buffer_stack_depth, last_id instead of
1169 last_bsd.
1170 * cppinit.c (cpp_start_read): Initialize last_id instead of
1171 last_bsd.
1172
f2c5f623
BC
11732000-07-01 Benjamin Chelf <chelf@codesourcery.com>
1174
1175 * Makefile.in (C_AND_OBJC_OBJS): Added c-semantics.o.
1176 (c-semantics.o): New target.
c334349b 1177
f2c5f623
BC
1178 * c-common.h (TREE_LANG_FLAG_?): Added documentation.
1179 (genrtl_do_pushlevel): Moved from cp/cp-tree.h.
1180 (genrtl_clear_out_block): Likewise.
1181 (genrtl_goto_stmt): Likewise.
1182 (genrtl_expr_stmt): Likewise.
1183 (genrtl_decl_stmt): Likewise.
1184 (genrtl_if_stmt): Likewise.
1185 (genrtl_while_stmt): Likewise.
1186 (genrtl_do_stmt): Likewise.
1187 (genrtl_return_stmt): Likewise.
1188 (genrtl_for_stmt): Likewise.
1189 (genrtl_break_stmt): Likewise.
1190 (genrtl_continue_stmt): Likewise.
1191 (genrtl_scope_stmt): Likewise.
1192 (genrtl_switch_stmt): Likewise.
1193 (genrtl_case_label): Likewise.
1194 (genrtl_begin_compound_stmt): Likewise.
1195 (gerntl_finish_compound_stmt): Likewise.
1196 (genrtl_compound_stmt): Likewise.
1197 (genrtl_asm_stmt): Likewise.
1198 (genrtl_decl_cleanup): Likewise.
1199 (DECL_ANON_UNION_ELEMS): Likewise.
1200 (emit_local_var): Likewise.
1201 (make_rtl_for_local_static): Likewise.
1202 (expand_cond): Likewise.
1203 (expand_stmt): Likewise.
1204 (c_expand_return): Likewise.
1205 (c_expand_start_case): Likewise.
1206 (do_case): Likewise.
1207 (COMPOUND_STMT_NO_SCOPE): Likewise.
1208 (c_expand_asm_operands): Likewise.
1209 (NEW_FOR_SCOPE_P): New macro.
1210 (expand_expr_stmt_fn): New type.
1211
1212 (set_current_function_name_declared): Likewise.
1213 (current_function_name_declared): Likewise.
1214 (lang_expand_stmt): Likewise.
1215 (stmts_are_full_exprs_p): Likewise.
1216 (anon_aggr_type_p): Likewise.
1217 (lang_expand_expr_stmt): Likewise.
1218 (build_case_label): Likewise.
c334349b 1219
f2c5f623
BC
1220 * c-decl.c (lang_expand_expr_stmt): Initialize.
1221 (stmts_are_full_exprs_p): Define.
1222 (current_function_name_declared): Likewise.
1223 (do_case): Likewise.
1224 (lang_expand_stmt): Likewise.
1225 (set_current_function_name_declared): Likewise.
1226 (anon_aggr_type_p): Likewise.
c334349b 1227
f2c5f623
BC
1228 * c-semantics.c: New file.
1229 (expand_cond): Moved from cp/semantics.c.
1230 (genrtl_do_pushlevel): Likewise.
1231 (genrtl_clear_out_block): Likewise.
1232 (genrtl_goto_stmt): Likewise.
1233 (genrtl_expr_stmt): Likewise.
1234 (genrtl_decl_stmt): Likewise.
1235 (genrtl_if_stmt): Likewise.
1236 (genrtl_while_stmt): Likewise.
1237 (genrtl_do_stmt): Likewise.
1238 (genrtl_return_stmt): Likewise.
1239 (genrtl_for_stmt): Likewise.
1240 (genrtl_break_stmt): Likewise.
1241 (genrtl_continue_stmt): Likewise.
1242 (genrtl_scope_stmt): Likewise.
1243 (genrtl_switch_stmt): Likewise.
1244 (genrtl_case_label): Likewise.
1245 (genrtl_begin_compound_stmt): Likewise.
1246 (genrtl_finish_compound_stmt): Likewise.
1247 (genrtl_compound_stmt): Likewise.
1248 (genrtl_asm_stmt): Likewise.
1249 (genrtl_decl_cleanup): Likewise.
1250 (make_rtl_for_local_static): Moved from cp/decl.c.
1251 (emit_local_var): Likewise.
1252 (expand_stmt): Define.
1253
1254 * c-tree.h: (c_expand_asm_operands): Moved to c-common.h.
1255 (c_expand_return): Likewise.
1256 (c_expand_start_case): Likewise.
c334349b 1257
dee4095a
RH
12582000-07-01 Richard Henderson <rth@cygnus.com>
1259
1260 * config/ia64/ia64.c (symbolic_operand): Reject CONST expressions
1261 with the low 13 bits set.
1262 (move_operand): Check for CONST|SYMBOL_REF|LABEL_REF directly.
1263 * config/ia64/ia64.md (movdi): Likewise. Expand a CONST with one
1264 of the low 13 bits into a CONST plus an adddi3.
1265 (load_symptr): Set RTX_UNCHANGING_P.
1266
f09f1de5
MM
12672000-06-30 Mark Mitchell <mark@codesourcery.com>
1268
1269 * Makefile.in (c-common.o): Don't depend on c-tree.h or c-lex.h.
1270 * c-common.c (ridpointers): Declare.
1271 * c-common.h (enum rid): Declare.
1272 (NORID): Likewise.
1273 (ridpointers): Likewise.
1274 * c-lex.c (ridpointers): Don't declare.
1275 (init_lex): Initialize ridpointers.
1276 * c-lex.h (enum rid): Don't declare.
1277 (NORID): Likewise.
1278 (RID_FIRST_MODIFIER): Likewise.
1279 (ridpointers): Likewise.
c334349b 1280
add284e6
DA
12812000-06-30 J. David Anglin <dave@hiauly1.hia.nrc.ca>
1282
1283 * pa/som.h (ASM_WEAKEN_LABEL): Export weak data symbols so that they
1284 have global scope.
1285
32c4c36c
ML
12862000-06-30 Martin von Loewis <loewis@informatik.hu-berlin.de>
1287
1288 * invoke.texi (-Wreturn-type): In C++, a missing return type is
1289 always an error.
1290
af80d489 12912000-06-30 Catherine Moore <clm@cygnus.com>
c334349b 1292
ec039e3c
RH
1293 * c-common.c (decl_attributes): Differentiate between
1294 types and type decls for alignment.
af80d489 1295
f3f751ad
NS
12962000-06-30 Nathan Sidwell <nathan@codesourcery.com>
1297
1298 * cpp.texi: Document #pragma GCC dependency
1299 * cppfiles.c (open_include_file): Set date to unknown.
1300 (_cpp_compare_file_date): New function.
1301 (read_include_file): Set file date.
1302 * cpphash.h (struct include_file): Add date member.
1303 (_cpp_compare_file_date): Prototype.
1304 * cpplib.c (parse_include): Add trail parameter. Adjust.
1305 (do_include): Adjust parse_include call.
1306 (do_import): Likewise.
1307 (do_include_next): Likewise.
1308 (gcc_pragmas): Add dependency pragma.
1309 (do_pragma_dependancy): New pragma.
1310
3139472f
JM
13112000-06-29 Jason Merrill <jason@redhat.com>
1312
1313 * dwarf2out.c (output_loc_operands): Don't abort on codes that have
1314 no operands.
1315
ffaff414
JW
13162000-06-29 Jim Wilson <wilson@cygnus.com>
1317
1318 * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS): Return NO_REGS for
1319 a volatile mem and FR_REGS.
1320
ab76ca54
MM
13212000-06-29 Mark Mitchell <mark@codesourcery.com>
1322
1323 * c-common.c: Include c-common.h, not c-lex.h or c-tree.h.
1324 * c-common.h (flag_const_strings): Declare.
1325 (warn_format): Likewise.
1326 (flag_traditional): Likewise.
1327 (flag_isoc99): Likewise.
1328 (warn_parentheses): Likewise.
1329 (warn_conversion): Likewise.
1330 (C_TYPE_OBJECT_P): Likewise.
1331 (C_TYPE_INCOMPLETE_P): Likewise.
1332 (C_TYPE_FUNCTION_P): Likewise.
1333 (C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
1334 (C_EXP_ORIGINAL_CODE): Likewise.
1335 (build_unary_op): Likewise.
1336 (build_binary_op): Likewise.
1337 (lvalue_p): Likewise.
1338 (default_conversion): Likewise.
1339 (common_type): Likewise.
1340 * c-tree.h (C_TYPE_OBJECT_P): Remove.
1341 (C_TYPE_INCOMPLETE_P): Likewise.
1342 (C_TYPE_FUNCTION_P): Likewise.
1343 (C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
1344 (C_EXP_ORIGINAL_CODE): Likewise.
1345 (common_type): Likewise.
1346 (default_conversion): Likewise.
1347 (build_binary_op): Likewise.
1348 (build_unary_op): Likewise.
1349 (lvalue_p): Likewise.
1350 (flag_const_strings): Likewise.
1351 (warn_format): Likewise.
1352 (warn_conversion): Likewise.
1353 (flag_traditional): Likewise.
1354 (flag_isoc99): Likewise.
1355 (warn_parentheses): Likewise.
c334349b 1356
ad06f2e3
JW
13572000-06-29 James E. Wilson <wilson@cygnus.com>
1358
07d62e54 1359 * config/ia64/linux.h (LINK_SPEC): Change so.1 to so.2.
c334349b 1360
ad06f2e3
JW
1361 * config/ia64/ia64.h (MODES_TIEABLE_P): Only tie if mode class is the
1362 same. Only tie XFmode with XFmode.
1363
993c790e
ZW
13642000-06-29 Zack Weinberg <zack@wolery.cumb.org>
1365
1366 * c-decl.c, timevar.c, tlink.c: Include intl.h.
1367 * Makefile.in: Update deps.
1368
fc85e1ad
AH
13692000-06-29 Andrew Haley <aph@cygnus.com>
1370
1371 * toplev.c (main): On an IA-64, make flag_unwind_tables defauit
1372 to true.
1373
aa936f1c
AH
13742000-06-29 Andrew Haley <aph@cygnus.com>
1375
ec039e3c
RH
1376 * config/ia64/linux.h (JMP_BUF_SIZE): Size is in Pmode units, not
1377 bytes: remove the multiply by 8.
aa936f1c 1378
0c386769
PT
13792000-06-29 Philipp Thomas <pthomas@suse.de>
1380
1381 * rtl.c : Revert NLS changes.
1382 * gcc.c : Fix bug in display_help introced by my last changes.
1383
69c89953
RH
1384Wed Jun 28 21:09:33 2000 Raja R Harinath <harinath@cs.umn.edu>
1385
1386 * dbxout.c (dbxout_symbol, case RESULT_DECL, VAR_DECL): Use
1387 DECL_CONTEXT, not DECL_FIELD_CONTEXT.
1388
628f05b4
MH
13892000-06-29 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1390
1391 * flow.c (flow_depth_first_order_compute): Fix algorithm.
1392
5e4adfba
PT
13932000-06-28 Philipp Thomas <pthomas@suse.de>
1394
1395 * c-decl.c : Mark strings for translation.
1396 (parmlist_tags_warning): Use distinct messages instead
1397 of conditional expressions.
1398 * diagnostic.c (v_message_with_decl): Mark string for translation.
1399 * gcc.c: Mark messages for translation.
1400 (display_help): Combine messages into one string where necessary.
1401 * mips-tfile: Add intl.h. Mark messages for translation.
1402 * rtl.c (fatal_with_file_and_line): Modify function for NLS. Mark
1403 messages for translation.
1404 * timevar.c: Mark messages for translation.
1405 * tlink.c: Likewise.
1406 * toplev.c: Likewise.
1407
af29ef12
DT
1408Wed Jun 28 15:39:26 2000 Donn Terry (donnte@microsoft.com)
1409
3153b3b7
DT
1410 * i386-interix.h (STRIP_NAME_ENCODING): Declare _new_name properly.
1411
af29ef12
DT
1412 * alpha/alpha-interix.h: Delete redundant -Asystem(interix),
1413 use -isystem instead of -idirafter.
1414 * i386/i386-interix.h: Likewise.
1415
0517872a
JM
14162000-06-28 Jason Merrill <jason@redhat.com>
1417
1418 * dwarf2out.c (output_loc_operands): Don't support >1 byte output
1419 unless DWARF2_DEBUGGING_INFO is defined.
1420 (ASM_OUTPUT_DWARF_*): Wrap normal output defs with #ifndefs.
1421
6883b3ae
RH
14222000-06-28 Richard Henderson <rth@cygnus.com>
1423
1424 * config/alpha/alpha.c (summarize_insn): Ignore SCRATCH.
1425
54bef41d
JJ
14262000-06-28 Jakub Jelinek <jakub@redhat.com>
1427
1428 * cpplex.c (output_line_command): Output correct #line if a header
1429 is including itself and is not protected against multiple inclusion.
1430
d4506961
ZW
14312000-06-28 Zack Weinberg <zack@wolery.cumb.org>
1432
1433 * cppfiles.c (open_include_file): If open(2) returns EMFILE or
c334349b 1434 ENFILE, close all cached file descriptors and try again.
d4506961
ZW
1435 (_cpp_execute_include): Keep a count of the number of times
1436 each header is included.
1437 (close_cached_fd): New function.
1438 * cpphash.h (struct include_file): Rename before to
1439 include_count; all users updated. Make include_count and sysp
1440 unsigned short.
1441 * cppinit.c (cpp_finish): If -H, report headers that could use
1442 reinclude guards.
1443 (report_missing_guard): New function.
1444
d731a1da
JH
1445Wed Jun 28 14:46:58 MET DST 2000 Jan Hubicka <jh@suse.cz>
1446
1447 * i386.md (prologue_set_got): Set length_immediate field.
1448 (testqi_ccno_1): Add missing '@' character.
1449
e0e07bd1
JM
14502000-06-27 Jason Merrill <jason@redhat.com>
1451
1452 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Use
1453 DWARF_FRAME_REGNUM.
1454
14552000-06-27 Andrew Macleod <amacleod@cygnus.com>
1456
c334349b 1457 * dwarf2out.c (ASM_OUTPUT_DWARF_DATA2): Provide default when no
e0e07bd1
JM
1458 unsigned macros available.
1459
e57b9d65
RH
14602000-06-27 Richard Henderson <rth@cygnus.com>
1461
1462 * config/ia64/ia64.c (emit_insn_group_barriers): Special case
1463 epilogue_deallocate_stack.
1464
1465 * config/ia64/ia64.c (ia64_print_operand) [case D]: Emit
1466 completers for UNORDERED and ORDERED as well.
1467 * config/ia64/ia64.md (bunordered, bordered): New.
1468 (sunordered, sordered): New.
1469
6ef67412
JH
1470Tue Jun 27 12:14:12 MET DST 2000 Jan Hubicka <jh@suse.cz>
1471
1472 * genattrtab.c (write_attr_value): Do not abort for CONST_INT operands.
1473 * i386.c (ix86_attr_length_default): Kill.
1474 (ix86_attr_length_immediate_default, ix86_attr_length_address_default):
1475 New.
1476 * i386-protos.h (ix86_attr_length_default): Kill
1477 (ix86_attr_length_immediate_default, ix86_attr_length_address_default):
1478 Add prototype
1479 * i386.md (attribute type): Add "test".
1480 (attribute length_prefix): Kill.
1481 (attribute length_opcode): Kill.
1482 (attribute i387, mode, length_immediate, length_address, prefix_data16,
1483 prefix_rep, prefix_0f, modrm): New.
1484 (attribute length): Compute using the new attributes.
1485 (attribute pent_prefix): New.
1486 (attribute pent_pair): Compute using pent_prefix.
1487 (all insn patterns): Set mode,modrm and immediate_length attributes where
1488 needed.
1489 (cmpsi patterns): Compute sizes propertly for test instruction.
1490 (movsi, movhi patterns): Compute sizes propertly for eax shortcuts.
1491 (movstricthi_xor, movstrictqi_xor): New patterns.
1492 (andsi/andhi): Use splitters to generate xor instructions.
1493 (xorqi_ext_1): New pattern.
1494 (movstricthi->movstricthi_xor peep2): New.
1495
638f9bae
JH
1496Tue Jun 27 12:03:03 MET DST 2000 Jan Hubicka <jh@suse.cz>
1497
1498 * i386.md (addqi_low_1): Remove.
1499
047142d3
PT
15002000-06-27 Philipp Thomas <pthomas@suse.de>
1501
1502 * 1750a.h: Mark help strings for options/switches for translation.
1503 * a29k.h: Likewise.
1504 * alpha.h: Likewise.
1505 * arm.h: Likewise.
1506 * pe.h: Likewise.
1507 * riscix.h: Likewise.
1508 * c4x.h: Likewise.
1509 * clipper.h: Likewise.
c334349b 1510 * convex.h: Likewise.
047142d3
PT
1511 * elxsi.h: Likewise.
1512 * fr30.h: Likewise.
1513 * fx80.h: Likewise.
1514 * h8300.h: Likewise.
1515 * i370.h: Likewise.
1516 * cygwin.h: Likewise.
1517 * dgux.h: Likewise.
1518 * djgpp.h: Likewise.
1519 * i386.h: Likewise.
1520 * osf1elf.h: Likewise.
1521 * osfrose.h: Likewise.
1522 * sco5.h: Likewise.
1523 * win32.h: Likewise.
1524 * i860.h: Likewise.
1525 * paragon.h: Likewise.
1526 * i960.h: Likewise.
1527 * ia64.h: Likewise.
1528 * m32r.h: Likewise.
1529 * mcore.h: Likewise.
1530 * mips.h: Likewise.
1531 * mn10300.h: Likewise.
1532 * ns32k.h: Likewise.
1533 * pdp11.h: Likewise.
1534 * pj.h: Likewise.
1535 * aix.h: Likewise.
1536 * aix41.h: Likewise.
1537 * aix43.h: Likewise.
1538 * beos.h: Likewise.
1539 * rs6000.h: Likewise.
1540 * sysv4.h: Likewise.
1541 * linux.h: Likewise.
1542 * linux64.h: Likewise.
1543 * sp64-elf.h: Likewise.
1544 * sparc.h: Likewise.
1545 * splet.h: Likewise.
1546 * v850.h: Likewise.
1547 * convex.h (TARGET_SWITCHES): Provide descriptions and mark them
1548 for translation.
1549 * sp86x-aout.h: Remove bogus first definition of SUBTARGET_SWITCHES.
1550 Properly document option and mark for translation.
1551 * sp86x-elf.h: Likewise.
1552
a7180f70
BS
15532000-06-27 Bernd Schmidt <bernds@cygnus.co.uk>
1554
1555 Add MMX and SSE registers to i386 machine description.
1556 * i386-protos.h (ix86_constant_alignment, ix86_data_alignment,
1557 ix86_local_alignment): Declare.
1558
1559 * i386.h (TARGET_MMX, TARGET_SSE): New.
1560 (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
1561 REG_ALLOC_ORDER, HARD_REGNO_NREGS, HARD_REGNO_MODE_OK,
1562 REG_CLASS_NAMES, REG_CLASS_CONTENTS,REG_CLASS_FROM_LETTER,
1563 enum reg_class, HI_REGISTER_NAMES): Added MMX/SSE registers.
1564 (FIRST_SSE_REG, LAST_SSE_REG, SSE_REGNO_P): New.
1565 (FIRST_MMX_REG, LAST_MMX_REG, MMX_REGNO_P, MMX_REG_P): New macros.
1566 (RETURN_IN_MEMORY): Handle MMX/SSE.
1567 (REG_PARM_STACK_SPACE): Added so the first three TImode parameters
1568 also get stack space.
1569 (MUST_PASS_IN_STACK): Added TImode to the default definition.
1570 (CUMULATIVE_ARGS): Added sse_nregs, sse_regno and sse_words.
1571 (MMX_REGISTER_NAMES): New.
1572 (ALIGN_MODE_128): New macro.
1573 (CONSTANT_ALIGNMENT): Code moved out-of-line; just call the function.
1574 (DATA_ALIGNMENT): Likewise.
1575 (LOCAL_ALIGNMENT): Likewise.
1576 (CONDITIONAL_REGISTER_USAGE): Make MMX/SSE regs fixed if not
1577 TARGET_MMX/TARGET_SSE.
1578 (VALID_SSE_REG_MODE, VALID_MMX_REG_MODE): New macros.
1579 (REG_CLASS_FROM_LETTER): 'y' for MMX regs.
1580 (SECONDARY_MEMORY_NEEDED): Be conservative about copying between
1581 SSE/MMX regs and something else.
1582 (CLASS_MAX_NREGS): 1 for SSE and MMX regs.
1583 (REGISTER_MOVE_COST): 10 if trying to move between MMX and SSE regs,
1584 3 if moving between MMX regs and something else.
1585
1586 * i386.c (reg_class): Add SSE_REGS, MMX_REGS.
1587 (regclass_map): Add MMX/SSE registers.
1588 (print_operand): Add code to print XMMWORD as appropriate.
1589 (ix86_split_movdi): Abort for MMX regs.
1590 (init_cumulative_args): Also allow SSE_REGS
1591 (function_arg_advance, function_arg): Likewise
1592 (print_reg): Support 'm'. Add case for TImode.
1593 (override_options): TARGET_SSE implies TARGET_MMX.
1594 (ix86_constant_alignment, ix86_data_alignment, ix86_local_alignment):
1595 New functions.
1596
1597 * config/i386/unix.h (VALUE_REGNO): VECTOR_MODE values go to
1598 FIRST_SSE_REG.
1599 * config/i386/ptx4-i.h (RETURN_IN_MEMORY): Return MMX values in
1600 memory.
1601 * config/i386/sysv4.h (RETURN_IN_MEMORY): Likewise.
1602 * config/i386/i386elf.h (RETURN_IN_MEMORY): Likewise.
1603
5397b155
GK
16042000-06-26 Geoff Keating <geoffk@cygnus.com>
1605
1606 * ssa.c (struct rename_set_data): Change the name of field
1607 'set_dest' to 'old_reg'. Add comments.
1608 (struct rename_context): Change the name of 'set_data' to
1609 'new_renames'. Add new field 'done_renames'.
1610 (create_delayed_rename): New function.
1611 (apply_delayed_renames): New function.
1612 (rename_insn_1): Use the new functions. Handle CLOBBERS. Handle
1613 SUBREGs and similar by emitting a move.
1614 (new_registers_for_updates): Delete, functionality moved to
1615 apply_delayed_renames.
1616 (rename_block): Handle moves emitted by rename_insn_1 by putting
1617 them into a SEQUENCE with the original insn. Add sanity checks
1618 and comments.
1619 (rename_equivalent_regs_in_insn): Don't handle SUBREGs specially.
1620 (rename_equivalent_regs): Expand SEQUENCEs out to individual insns.
c334349b 1621
7d9d8943
AM
16222000-06-26 Andrew Macleod <amacleod@cygnus.com>
1623 Jason Merrill <jason@redhat.com>
1624
c334349b 1625 * dwarf2.h (enum dwarf_call_frame_info): Add
7d9d8943
AM
1626 DW_CFA_def_cfa_expression.
1627 * dwarf2out.c (union dw_cfi_oprnd_struct): Add a pointer to a
1628 dw_loc_descr_struct entry.
1629 (struct cfa_loc): New structure to track a CFA location.
1630 (lookup_cfa): Take a cfa_loc parameter instead of a reg and an offset.
1631 (lookup_cfa_1): Take a cfa_loc parameter instead of a reg and an
1632 offset, plus handle DW_CFA_def_cfa_expression.
1633 (def_cfa_1): Use to be dwarf2out_def_cfa, only now it uses a
1634 cfa_loc record.
1635 (dwarf2out_def_cfa): Entry point maintained for compatability.
1636 (dwarf_cfi_name): Add DW_CFA_def_cfa_expression.
1637 (cfa_reg, cfa_offset): Replace with cfa_loc record 'cfa'.
1638 (cfa_store_reg, cfa_store_offset): Replace with cfa_loc 'cfa_store'.
1639 (initial_return_save, dwarf2out_stack_adjust): Use cfa.reg, not
1640 cfa_reg.
1641 (dwarf2out_frame_debug_expr): Use new cfa_loc records. Recognize rtl
1642 sequences for the new DW_CFA_def_cfa_expression record.
1643 (dwarf2out_frame_debug): Use new variables/fields.A
1644 (output_cfi): Handle DW_CFA_def_cfa_expression.
c334349b 1645 (output_cfa_loc): New function to generate a CFI record for
7d9d8943
AM
1646 DW_CFA_def_cfa_expression.
1647 (get_cfa_from_loc_descr): New function to get a cfa_loc record from
1648 a dw_loc_descr sequeunce.
1649 (build_loc_descr): Build a dw_loc_descr from a cfa_loc record.
1650 (dwarf_stack_op_name, new_loc_descr, add_loc_descr, size_of_loc_descr,
1651 size_of_locs, output_loc_operands, output_loc_sequence): Move into
1652 unwind info section.
1653 * frame.h (frame_state): Add base_offset and indirect fields.
1654 * frame-dwarf2.c (decode_stack_op): New function to interpret a
1655 dw_loc_descr operation.
1656 (execute_cfa_insn): Add support for DW_CFA_def_cfa_expression.
1657 (struct frame_state): Add base offset and indirect fields.
1658 * libgcc2.c (next_stack_level): Support indirect loading for CFA.
1659
903f51d9
RH
16602000-06-26 Joseph S. Myers <jsm28@cam.ac.uk>
1661
1662 * c-decl.c (grokdeclarator): Don't warn about `long long' in C99.
1663 Make warnings about implicit int be pedwarns in C99. Don't warn
1664 about duplicate type qualifiers in C99.
1665 (start_function): Make warning about implict int return type be a
1666 pedwarn in C99.
1667 * c-lex.c (yylex): Don't warn about `long long' in C99.
1668 * c-typeck.c (c_expand_return): In C99, always pedwarn about
1669 `return' with no value in function returning non-void.
1670
16712000-06-26 Richard Henderson <rth@cygnus.com>
1672
1673 * c-typeck.c (pedwarn_c99): New.
1674 * diagnostic.c (verror, vwarning, vpedwarn): Export.
1675 * toplev.h: Prototype them.
1676
de9a3171
DA
16772000-06-26 J. David Anglin <dave@hiauly1.hia.nrc.ca>
1678
1679 * c-typeck.c (digest_init): Return error_mark_node node when
1680 TREE_TYPE (init) == error_mark_node.
1681
cab10d56
PT
16822000-06-26 Philipp Thomas <pthomas@suse.de>
1683
1684 * aclocal.m4 (AM_WITH_NLS): Don't set MSGFMT or GMSGFMT to no,
1685 test for msgfmt without path instead.
1686 * configure: Rebuilt.
1687
1a03d967
TP
16882000-06-25 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
1689
903f51d9 1690 * gengenrtl.c (special_rtx): Fix typo in comment.
1a03d967 1691
ece0fc8d
MH
16922000-06-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1693
1694 * mklibgcc.in (LIB2FUNCS): Add missing space.
1695
4061f623
BS
16962000-06-24 Bernd Schmidt <bernds@cygnus.co.uk>
1697
1698 * tree.h (enum tree_index): Add vector type nodes.
1699 Add accessor macros for them.
1700 (TYPE_REPRESENATION_TYPE): New macro.
1701 * tree.c (build_common_tree_nodes_2): Build these nodes.
1702 (finish_vector_type): New function.
1703 * c-common.c (type_for_mode): Handle vector modes.
1704 * tm.texi (VECTOR_MODE_SUPPORTED_P): Document.
1705
1706 * dbxout.c (dbxout_type): Handle VECTOR_TYPEs.
1707 * dwarf.h (enum dwarf_fundamental_type): Add 128 bit integers.
1708 * dwarf2out.c (lookup_type_die): Handle VECTOR_TYPEs.
1709 (gen_type_die): Likewise.
1710 * dwarfout.c (dwarf_fund_type_name): Handle 128 bit integers.
1711 (fundamental_type_code): Likewise.
1712 (type_is_fundamental): VECTOR_TYPEs aren't.
1713 (output_type): Handle VECTOR_TYPEs.
1714
6d77b53e
KH
17152000-06-25 Kazu Hirata <kazu@hxi.com>
1716
1717 * config/arm.c: Fix a comment typo.
1718 * config/arm.h: Likewise.
1719
17297c41
PT
17202000-06-25 Philipp Thomas <pthomas@suse.de>
1721
1722 * aclocal.m4 (AM_WITH_NLS): Set create_catalogs=no if no catalog
1723 compiler found.
1724 AM_GNU_GETTEXT: Don't set CATALOGS if create_catalogs=no.
1725 * configure: Rebuilt.
c334349b 1726
865e0471
JDA
17272000-06-25 John David Anglin <dave.anglin@nrc.ca>
1728
903f51d9 1729 * config/vax/vax.h (TARGET_SWITCHES): Provide descriptions.
865e0471 1730
ee95744f
HB
17312000-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1732
1733 * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2FUNCS when generating
1734 libgcc.a.
1735
be78ffb2
JM
17362000-06-24 Marc Espie <espie@cvs.openbsd.org>
1737
7d9d8943 1738 * collect2.c (resolve_lib_name): Move '/' check out of loop.
be78ffb2
JM
1739
17402000-06-24 Dirk Duellmann <Dirk.Duellmann@cern.ch>
1741
1742 * ginclude/stddef.h (NULL): define for non-gnu C++ parsers as 0.
1743
ef97beff
JJ
17442000-06-24 Jakub Jelinek <jakub@redhat.com>
1745
1746 * stmt.c (expand_decl_cleanup): Emit a dummy insn after
1747 last_unconditional_cleanup.
1748
0b4565c9
BS
17492000-06-24 Bernd Schmidt <bernds@cygnus.co.uk>
1750
1751 * tree.def (VECTOR_TYPE): New node type.
1752 * tree.h: Adjust some comments to reflect addition of vector types.
1753 (TYPE_VECTOR_SUBPARTS): New macro.
1754 * stor-layout.c (layout_type): Handle VECTOR_TYPE.
1755 * c-convert.c (convert): Likewise.
1756 * convert.c (convert_to_integer): Handle vector modes.
1757 (convert_to_vector): New function.
1758 * convert.h (convert_to_vector): Declare.
1759 * expr.c (convert_move): Handle vector modes.
1760 * expmed.c (extract_bit_field): Don't abort for vector modes.
1761
78cf8279
MM
17622000-06-24 Marek Michalkiewicz <marekm@linux.org.pl>
1763
1764 * config/avr/avr-protos.h (avr_hard_regno_mode_ok): New prototype.
1765 * config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr):
1766 New functions, common code moved from function_{prologue,epilogue}
1767 and extended to support the -mtiny-stack option.
1768 (function_prologue, function_epilogue): Use them.
1769 Use lo8/hi8 consistently for asm output readability.
1770 (avr_hard_regno_mode_ok): New function.
1771 * config/avr/avr.h (TARGET_SWITCHES): Fix typo. Add -mtiny-stack.
1772 (UNITS_PER_WORD): Define as 4 (not 1) when compiling libgcc2.c.
1773 (HARD_REGNO_MODE_OK): Call the avr_hard_regno_mode_ok function.
1774 * config/avr/avr.md (*mov_sp_r): Add support for -mtiny-stack.
1775 Write SPH before SPL.
1776 (*movqi): No need to disable interrupts for just one "out"
1777 in alternative 5. Change length attribute from 4 to 1.
1778 * config/avr/libgcc.S (__prologue_saves__, __epilogue_restores__):
1779 Write SPH before SPL.
1780
f9f27ee5
BS
17812000-06-24 Bernd Schmidt <bernds@cygnus.co.uk>
1782
1783 * rtl.texi (Vector Operations): New node.
1784 (Arithmetic): Add ss_plus, us_plus, ss_minus, us_minus.
1785 (Conversions): Add ss_truncate, us_truncate.
1786 * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_REORDER,
1787 VEC_CONST, VEC_DUPLICATE, SS_PLUS, SS_MINUS, SS_TRUNCATE,
1788 US_TRUNCATE): New rtx codes.
1789 * machmode.def: Add vector modes.
1790 * machmode.h (enum mode_class): Add MODE_VECTOR_INT and
1791 MODE_VECTOR_FLOAT.
1792 (INTEGER_MODE_P): Check for MODE_VECTOR_INT.
1793 (FLOAT_MODE_P): Check for MODE_VECTOR_FLOAT.
1794 (VECTOR_MODE_P): New.
1795
e4e3ab5a
NS
17962000-06-24 Nathan Sidwell <nathan@codesourcery.com>
1797
c334349b 1798 * cpp.texi: Clarify #pragma GCC namespace.
e4e3ab5a 1799
47f01856
PT
18002000-06-24 Philipp Thomas <pthomas@suse.de>
1801
1802 * aclocal.m4(AM_GNU_GETTEXT): If LINGUAS isn't set, build
1803 all catalogs specified in ALL_LINGUAS.
1804 * configure: Rebuilt.
1805
93b7b953
JJ
18062000-06-23 Jakub Jelinek <jakub@redhat.com>
1807
1808 * config/sparc/sparc.md (reload_outdi+1): Handle
1809 HOST_BITS_PER_WIDE_INT == 64 case correctly.
1810 (adddi3_insn_sp32+1, adddi3_insn_sp32+2, andsi3+2): Likewise.
1811
3e0abe15
GK
18122000-06-23 Geoffrey Keating <geoffk@cygnus.com>
1813
1814 * alias.c (fixed_scalar_and_varying_struct_p): Don't examine
1815 struct vs. scalar-ness when -fno-strict-aliasing.
1816
82443371
NS
18172000-06-23 Nathan Sidwell <nathan@codesourcery.com>
1818
1819 * cpplib.c (struct pragma_entry): New structure.
1820 (pragma_dispatch): Pragma dispatcher.
1821 (top_pragmas, gcc_pragmas): New static variables.
1822 (do_pragma): Use pragma_dispatch.
1823 (do_pragma_gcc): New pragma handler.
1824 * cpp.texi: Update.
1825
7ab923cc
JJ
18262000-06-23 Jakub Jelinek <jakub@redhat.com>
1827
1828 * calls.c (compute_argument_addresses): Force stack slots into
1829 alias set 0.
1830 * expr.c (emit_push_insn): Force pushes into alias set 0.
1831
054451ea
RH
18322000-06-23 Richard Henderson <rth@cygnus.com>
1833
1834 * config/ia64/ia64.md (pred_rel_mutex): Only take one register.
1835 * config/ia64/ia64.c (emit_predicate_relation_info): Adjust to match.
1836
290c3f1d
JM
18372000-06-22 Jason Merrill <jason@redhat.com>
1838
1839 * toplev.c (compile_file): Always call timevar_print.
1840 * Makefile.in (calls.o): Depend on TIMEVAR_H.
1841
990e8954
NS
18422000-06-22 Nathan Sidwell <nathan@codesourcery.com>
1843
1844 * varasm.c (constant_descriptor): Make contents unsigned char.
1845 (mark_const_hash_entry): Adjust.
1846 (const_hash): Just hash the code of unknown nodes.
1847 (compare_constant_1): Adjust for unsigned char.
1848 Use language specific expander on unknown nodes.
1849 (record_constant_1): Likewise.
1850
e605b040
ZW
18512000-06-21 Zack Weinberg <zack@wolery.cumb.org>
1852
1853 * cppfiles.c (cpp_make_system_header): New function.
1854 * cpplib.h: Prototype it.
1855 * cpplib.c (do_line, do_pragma_system_header): Use it.
1856 * fix-header.c (read_scan_file): Use it.
1857
1858 * fix-header.c (check_macro_names): Cast second arg of
1859 cpp_defined to const unsigned char *.
1860 (read_scan_file): Make getchar_call const unsigned char.
1861
c31a6508
ZW
18622000-06-21 Zack Weinberg <zack@wolery.cumb.org>
1863
1864 * cppfiles.c: Include splay-tree.h, not hashtab.h.
1865 (redundant_include_p, make_IHASH, hash_IHASH, eq_IHASH): Delete.
1866 (destroy_include_file_node): New.
1867 (_cpp_init_include_hash): Rename _cpp_init_include_table.
1868 Create a splay tree, not a hash table.
1869 (open_include_file): Look up the path in the include table,
1870 do the multiple include optimization here, etc.
1871 (cpp_included): Walk the path.
1872 (find_include_file): Just walk the path calling
1873 open_include_file, or call it directly for an absolute path.
1874 (_cpp_fake_ihash): Rename _cpp_fake_include and update for new
1875 scheme.
1876 (read_include_file): Update for new scheme. Don't close the
1877 file unless reading fails.
1878 (_cpp_execute_include, cpp_read_file): Tweak for new scheme.
1879
1880 * cpphash.h (struct ihash, NEVER_REINCLUDE): Delete.
1881 (struct include_file): New.
1882 (NEVER_REREAD, DO_NOT_REREAD, CPP_IN_SYSTEM_HEADER): New
1883 macros.
1884 (CPP_PEDANTIC, CPP_WTRADITIONAL): Update.
1885 Update prototypes.
1886
1887 * cppinit.c: Include splay-tree.h.
1888 (cpp_reader_init, cpp_cleanup): Update.
1889
c334349b 1890 * cpplib.h (struct cpp_buffer): Change ihash field to
c31a6508
ZW
1891 'struct include_file *inc'. Remove system_header_p.
1892 (struct cpp_reader): Change all_include_files to a
1893 struct splay_tree_s *.
1894
1895 * cpplex.c: Update all references to cpp_buffer->ihash and/or
1896 cpp_buffer->system_header_p.
1897 (cpp_pop_buffer): Close file here, only if DO_NOT_REREAD.
1898
5193cc6d
ZW
1899 * Makefile.in (SPLAY_TREE_H): New macro.
1900 (cppfiles.o, cppinit.o): Update dependencies.
1901
d8c70cd0
MB
1902Wed Jun 21 11:05:48 2000 Martin Buchholz <martin@xemacs.org>
1903
1904 * invoke.texi (g++): "g++" is not a script anymore.
1905
d9893a68
DA
19062000-06-20 J. David Anglin <dave@hiauly1.hia.nrc.ca>
1907
539a6f05
DA
1908 * function.c (round_down): Delete obsolete prototype.
1909
d9893a68
DA
1910 * pa.h (CPP_SPEC): Add whitespace after -D__STDC_EXT__.
1911
e5ec2402
ZW
19122000-06-20 Zack Weinberg <zack@wolery.cumb.org>
1913
063a4b85
ZW
1914 * configure.in: Use 'test a = b' not 'test a == b'.
1915 * configure: Regen.
1916
6650a443
ZW
1917 * Makefile.in (fix-header): Link with $(LIBS) not $(HOST_LIBS).
1918
e5ec2402
ZW
1919 * Makefile.in: Remove all references to HOST_INTLLIBS.
1920
1921 * cpplex.c (parse_name): Don't warn about $ in identifiers if
1922 skipping.
1923
21b90691
PT
19242000-06-20 Philipp Thomas <pthomas@suse.de>
1925
1926 * config/pa/pa.h(TARGET_SWITCHES): Require binutils 2.10 or later
1927 for PA 2.0.
1928
8ba7b396
R
1929Mon Jun 19 23:26:40 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
1930
1931 * Take REG_INC notes into account.
1932
7e585d16
ZW
19332000-06-19 Zack Weinberg <zack@wolery.cumb.org>
1934
1935 * c-parse.in (undeclared_variable_notice): Moved to c-typeck.c.
1936 (primary: IDENTIFIER): Just call build_external_ref.
1937 * c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c:
1938 Regenerate.
1939 * c-lex.c (lastiddecl): Remove.
1940 (yylex): Replace all instances of lastiddecl with local
1941 variables.
1942
1943 * c-typeck.c (build_external_ref): New function. Treat decls
1944 with C_DECL_ANTICIPATED mostly the same as nonexistent decls.
1945 Look up the decl from the id here. Call lookup_objc_ivar.
1946 * c-lang.c (lookup_objc_ivar): Stub.
1947 * objc/objc-act.c (lookup_objc_ivar): New function.
1948
1949 * c-tree.h: Prototype lookup_objc_ivar and build_external_ref.
1950 * c-lex.h: Don't declare lastiddecl.
1951
35b1567d
BC
19522000-06-19 Benjamin Chelf <chelf@codesourcery.com>
1953
1954 * c-common.h (IF_COND): Added documentation.
1955 (THEN_CLAUSE): Likewise.
1956 (ELSE_CLAUSE): Likewise.
1957 (WHILE_COND): Likewise.
1958 (WHILE_BODY): Likewise.
1959 (DO_COND): Likewise.
1960 (DO_BODY): Likewise.
1961 (RETURN_EXPR): Likewise.
1962 (EXPR_STMT_EXPR): Likewise.
1963 (FOR_INIT_STMT): Likewise.
1964 (FOR_COND): Likewise.
1965 (FOR_EXPR): Likewise.
1966 (FOR_BODY): Likewise.
1967 (SWITCH_COND): Likewise.
1968 (SWITCH_BODY): Likewise.
1969 (CASE_LOW): Likewise.
1970 (CASE_HIGH): Likewise.
1971 (GOTO_DESTINATION): Likewise.
1972 (COMPOUND_BODY): Likewise.
1973 (ASM_CV_QUAL): Likewise.
1974 (ASM_STRING): Likewise.
1975 (ASM_OUTPUTS): Likewise.
1976 (ASM_INPUTS): Likewise.
1977 (ASM_CLOBBERS): Likewise.
1978 (DECL_STMT_DECL): Likewise.
1979 (STMT_EXPR_STMT): Likewise.
1980 (LABEL_STMT_LABEL): Likewise.
1981
7e585d16
ZW
1982 * c-common.def: Added documenetion for SRCLOC, EXPR_STMT,
1983 COMPOUND_STMT, DECL_STMT, IF_STMT, FOR_STMT, WHILE_STMT, DO_STMT,
1984 RETURN_STMT, BREAK_STMT, CONTINUE_STMT, SWITCH_STMT, GOTO_STMT,
35b1567d
BC
1985 LABEL_STMT, ASM_STMT, SCOPE_STMT, CASE_LABEL, STMT_EXPR.
1986
59f406b7
KG
19872000-06-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1988
1989 * configure.in (--enable-checking): Update --help doc to reflect
1990 new defaults. Ensure $ac_save_IFS is set before $IFS is changed.
1991
c357082f
RK
1992Sun Jun 18 21:42:15 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1993
0a377997
RK
1994 * gcse.c (insert_insn_end_bb): Always put after NOTE_INSN_BASIC_BLOCK.
1995
c357082f
RK
1996 * function.c (put_var_into_stack): Don't reference DECL_ fields
1997 if input is a SAVE_EXPR.
1998 Use set_mem_attributes in COMPLEX case.
1999
3b572406
RH
20002000-06-18 Richard Henderson <rth@cygnus.com>
2001
2002 * config/ia64/ia64-protos.h (process_for_unwind_directive): Declare.
2003 (ia64_file_start): Declare.
2004 * config/ia64/ia64.h (ADDL_REGNO_P): Don't compare unsigned against 0.
2005 (GR_REGNO_P): Likewise.
2006 * config/ia64/ia64.c: Many prototypes.
2007 (ia64_reg_numbers): Constify.
2008 (ia64_input_reg_names, ia64_local_reg_names): Likewise.
2009 (ia64_section_threshold): Make unsigned.
2010 (ia64_print_operand): Constify.
2011 (fix_range): Constify.
2012 (ia64_init_builtins): Don't compare signed vs unsigned.
2013 (ia64_expand_builtin): Likewise.
2014
2015 * config/ia64/ia64.h (EXTRA_CONSTRAINT): New.
2016 (CONSTRAINT_OK_FOR_Q): New.
2017 * config/ia64/ia64.md (movdi_internal): Use Q for fp<->mem.
2018 (movsf_internal, movdf_internal): Likewise.
2019 (cmovdi_internal): Rewrite so that constraints and predicates match;
2020 simplify splitters.
2021 (cmovsi_internal): Likewise.
2022
2023 * config/ia64/ia64.h (ASM_SPEC): Add -x for gas.
2024 (ASM_FILE_START): New.
2025 * config/ia64/ia64.c (ia64_file_start): New.
2026 (rtx_needs_barrier): Handle pred.rel.mutex.
2027 (emit_predicate_relation_info): New.
2028 * config/ia64/ia64.md (pred_rel_mutex): New.
2029 * config/ia64/linux.h (ASM_SPEC): Define.
2030 * config/ia64/sysv4.h (ASM_FILE_START): Define.
2031
2032 * config/ia64/ia64.c (ia64_encode_section_info): Fix thinko
2033 filtering global register variables.
2034
5538e30f
KG
20352000-06-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2036
2037 * c-common.c (add_c_tree_codes): Fix definition for traditional C.
2038
289b3cc5
MM
20392000-06-17 Michael Meissner <meissner@redhat.com>
2040
2041 * gcc.c (do_spec_1, '%v3' case): Do not abort if patch level is
2042 not present and there is a field after a '-'.
2043
33002945
BK
20442000-06-17 Bruce Korb <bkorb@gnu.org>
2045
2046 * fixinc/check.tpl: finish the implementation of multiple tests
2047 for a single fix
2048 * fixinc/inclhack.def(ctrl_quotes_def): add a second test
2049 (io_quotes_def): add a second test
c1fd153e 2050 (various): reorder `files' so that "limits.h" is never first
33002945
BK
2051 * fixinc/tests/base/*: update the testing output
2052
c19bd6c0
RK
2053Sat Jun 17 10:33:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2054
2055 * gcc.texi: Remove reference to stupid.c.
2056
c7d87c0a
BC
20572000-06-16 Benjamin Chelf <chelf@codesourcery.com>
2058
2059 * c-common.c (c_tree_code_type): New array.
2060 (c_tree_code_length): Likewise.
2061 (c_tree_code_name): Likewise.
2062 (add_c_tree_codes): New function.
2063
2064 * c-common.h (add_c_tree_codes): Declare.
2065 (enum c_tree_code): New enum.
2066
2067 * c-lex.c (init_parse): Added call to add_c_tree_codes.
7e585d16 2068
cf6d5133
KG
20692000-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2070
2071 * fixinc/inclhack.def (ctrl_quotes_def, io_quotes_def): Modify
2072 select pattern to also match macro defs with only one argument.
2073
8bad7136
JL
2074Thu Jun 15 18:56:12 2000 Jeffrey A Law (law@cygnus.com)
2075
2076 * i386.md: Create new [right,left] rotate and right shift
2077 patterns to optimize shift by 1 bit for certain ia32 processors.
2078 Update patterns which perform left shifts to optimize shift by
2079 1 bit for certain ia32 processors.
2080 * i386.c (const_int_1_operand): New predicate.
2081 * i386.h (PREDICATE_CODES): Handle const_int_1_operand.
2082 * i386-protos.h (const_int_1_operand): Prototype.
2083
ddc22296
R
2084Wed Jun 14 23:46:26 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
2085
2086 * mips.c (machine_dependent_reorg): Fix braces for nested if.
2087
e4a0656f
GK
20882000-06-14 Geoff Keating <geoffk@cygnus.com>
2089
2090 * rs6000.c (toc_hash_eq): Use CODE_LABEL_NUMBER to compare
2091 LABEL_REFs.
2092
f6a0cc96
RH
20932000-06-14 Richard Henderson <rth@cygnus.com>
2094
d98a8d38
RH
2095 * conflict.c (conflict_graph_compute): Don't look for REG_INC.
2096
2097 * config/ia64/ia64.c (ia64_setup_incoming_varargs): Don't emit
2098 auto-inc code.
2099
f6a0cc96
RH
2100 * print-rtl.c (print_rtx): Emit space before mem alias set.
2101
2eba1afa
DE
21022000-06-14 David Edelsohn <edelsohn@gnu.org>
2103
2104 * rs6000.c (expand_block_move): Fix typo in earlier change.
2105 (print_operand): Remove unused variables neg and op.
2106 (toc_hash_mark_entry): Fix prototype.
2107
c7d87c0a 21082000-06-14 Benjamin Chelf <chelf@codesourcery.com>
d7e7759d
BC
2109
2110 * c-common.h (IF_COND): Moved here from cp/cp-tree.h.
2111 (THEN_CLAUSE): Likewise.
2112 (ELSE_CLAUSE): Likewise.
2113 (WHILE_COND): Likewise.
2114 (WHILE_BODY): Likewise.
2115 (DO_COND): Likewise.
2116 (DO_BODY): Likewise.
2117 (RETURN_EXPR): Likewise.
2118 (EXPR_STMT_EXPR): Likewise.
2119 (FOR_INIT_STMT): Likewise.
2120 (FOR_COND): Likewise.
2121 (FOR_EXPR): Likewise.
2122 (FOR_BODY): Likewise.
2123 (SWITCH_COND): Likewise.
2124 (SWITCH_BODY): Likewise.
2125 (CASE_LOW): Likewise.
2126 (CASE_HIGH): Likewise.
2127 (GOTO_DESTINATION): Likewise.
2128 (COMPOUND_BODY): Likewise.
2129 (ASM_CV_QUAL): Likewise.
2130 (ASM_STRING): Likewise.
2131 (ASM_OUTPUTS): Likewise.
2132 (ASM_INPUTS): Likewise.
2133 (ASM_CLOBBERS): Likewise.
2134 (DECL_STMT_DECL): Likewise.
2135 (STMT_EXPR_STMT): Likewise.
2136 (LABEL_STMT_LABEL): Likewise.
2137 (SCOPE_BEGIN_P): Likewise.
2138 (SCOPE_END_P): Likewise.
2139 (SCOPE_STMT_BLOCK): Likewise.
2140 (SCOPE_NULLIFIED_P): Likewise.
2141 (SCOPE_NO_CLEANUPS_P): Likewise.
2142 (SCOPE_PARTIAL_P): Likewise.
2143 (ASM_VOLATILE_P): Likewise.
2144 (STMT_LINENO): Likewise.
2145 (STMT_LINENO_FOR_FN_P): Likewise.
2146
1d54a1dc 2147 * c-common.def: New file. Added SRCLOC, SIZEOF_EXPR, ARROW_EXPR,
d7e7759d
BC
2148 ALIGNOF_EXPR, EXPR_STMT, COMPOUND_STMT, DECL_STMT, IF_STMT,
2149 FOR_STMT, WHILE_STMT, DO_STMT, RETURN_STMT, BREAK_STMT,
2150 CONTINUE_STMT, SWITCH_STMT, GOTO_STMT, LABEL_STMT, ASM_STMT,
2151 SCOPE_STMT, CASE_LABEL, STMT_EXPR.
2152
2153 * gencheck.c (tree_codes[]): Added '#include "c-common.def"'.
7e585d16 2154
33261b0a
DB
21552000-06-14 David O'Brien <obrien@FreeBSD.org>
2156
e9cefc3e
DB
2157 * gcc.c (main): Quiet compiler warnings. argv is assumed to be
2158 writable in parts of the GCC code.
2159
33261b0a
DB
2160 * config/elfos.h (ASM_GENERATE_INTERNAL_LABEL): Make printf
2161 specification match cast.
2162
c70c1917
JL
2163Wed Jun 14 09:25:57 2000 Jeffrey A Law (law@cygnus.com)
2164
2165 * configure.in: Revert AC_TYPE_GETGROUPS patch from June 13.
2166 * configure, config.in: Rebuilt.
af889c6c 2167 * sys-protos.h: Similarly.
c70c1917 2168
65b98a02
JW
2169Wed Jun 14 03:39:58 EDT 2000 John Wehle (john@feith.com)
2170
2171 * ifcvt.c (EDGE_COMPLEX): Move definition ...
2172 * basic-block.h (EDGE_COMPLEX): ... here.
2173
2174 * loop.c (check_dbra_loop): Specify the register when
2175 generating REG_NONNEG notes and don't generate duplicates.
2176
11cf4d18
JJ
21772000-06-13 Jakub Jelinek <jakub@redhat.com>
2178
2179 * tree.h (TYPE_USER_ALIGN, DECL_USER_ALIGN): Define.
2180 (struct tree_type, struct tree_decl): Add user_align member.
2181 * stor-layout.c (layout_decl): Set DECL_USER_ALIGN.
2182 (place_union_field): If BIGGEST_FIELD_ALIGNMENT is defined
2183 and DECL_USER_ALIGN 0, cap alignment to this value.
2184 (place_field): Likewise.
2185 (finalize_type_size): Set TYPE_USER_ALIGN.
2186 (layout_type): Likewise.
2187 (initialize_sizetypes): Likewise.
2188 * c-common.c (decl_attributes): Set TYPE_USER_ALIGN resp.
2189 DECL_USER_ALIGN to 1.
2190 * c-decl.c (duplicate_decls): Set DECL_USER_ALIGN.
2191 (xfer_tag): Set TYPE_USER_ALIGN.
2192 (finish_struct): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
2193 (finish_enum): Likewise.
2194 * stmt.c (expand_decl): Set DECL_USER_ALIGN.
2195 (expand_anon_union_decl): Likewise.
2196 * tree.c (make_node): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
2197 (build_index_type): Set TYPE_USER_ALIGN.
2198 (build_range_type): Likewise.
2199 (build_common_tree_nodes_2): Likewise.
2200 * tm.texi (BIGGEST_FIELD_ALIGNMENT): Document the changed meaning.
2201
51d0e20c
AJ
22022000-06-13 Andreas Jaeger <aj@suse.de>
2203
2204 * configure.in: Use --enable-checking=misc,tree,gc by default if
2205 no --enable-checking option is given and for
2206 --enable-checking=yes.
2207 * configure: Rebuilt.
2208
46327bc5
RH
22092000-06-13 Richard Henderson <rth@cygnus.com>
2210
2211 * libgcc2.c (ia64_throw_helper): Use __builtin_return_address.
2212 (__throw): Don't pass the address of a label.
2213
2214 * config/ia64/ia64.c (ia64_compute_frame_size): Use
2215 current_function_is_leaf.
2216 (ia64_expand_prologue): Likewise. Modify return_address_pointer_rtx
2217 instead of reg_names[RETURN_ADDRESS_REGNUM].
2218 (ia64_init_machine_status): Reset return_address_pointer_rtx.
2219 * config/ia64/ia64.h (RETURN_ADDRESS_POINTER_REGNUM): Rename
2220 from RETURN_ADDRESS_REGNUM. Update all uses.
2221 (RETURN_ADDR_RTX): Use return_address_pointer_rtx; return
2222 zero instead of null on failure.
2223 (ELIMINABLE_REGS): Add ra->b0 elimination.
2224 (CAN_ELIMINATE): Update accordingly.
2225 (INITIAL_ELIMINATION_OFFSET): Likewise.
2226 (REGISTER_NAMES): Use an illegal assembler name for
2227 RETURN_ADDRESS_POINTER_REGNUM.
2228
13da91fd
RH
22292000-06-13 Richard Henderson <rth@cygnus.com>
2230
2231 * config/ia64/ia64.h (enum reg_class): Remove FR_INT_REGS, FR_FP_REGS,
2232 GR_AND_FR_INT_REGS, GR_AND_FR_FP_REGS.
2233 (REG_CLASS_NAMES): Likewise.
2234 (REG_CLASS_CONTENTS): Likewise.
2235 (FR_FP_REGNO_P, FR_INT_REGNO_P): Remove.
2236 (HARD_REGNO_MODE_OK): Remove references to them.
2237 (REGNO_REG_CLASS): Likewise.
2238 (REG_CLASS_FROM_LETTER): Likewise.
2239 (CLASS_MAX_NREGS): Likewise.
2240 (REGISTER_MOVE_COST): Likewise.
2241 * config/ia64/ia64.c (ia64_secondary_reload_class): Likewise.
2242 * config/ia64/ia64.md (*): Replace "e" constraints with "f".
2243 (movqi_internal): Special case moves from zero.
2244 (movhi_internal, movsi_internal): Likewise.
2245 (movdi_internal): Likewise. Fill out "f" constraints.
2246 (movsf_internal): Fill out "r" constraints.
2247 (movdf_internal): Likewise.
2248
ef384380
RH
22492000-06-13 Richard Henderson <rth@cygnus.com>
2250
2251 * flow.c (insn_dead_p): Keep sets to PIC_OFFSET_TABLE_REGNUM
2252 alive before reload.
2253
2254 * haifa-sched.c (struct deps): Add in_post_call_group_p.
2255 (add_dependence): Handle notes between SCHED_GROUP_P insns.
2256 (remove_dependence): Always define.
2257 (set_sched_group_p): New.
2258 (sched_analyze_2): Use it.
2259 (sched_analyze_insn): Don't special-case naked uses. Look for
2260 and extend in_post_call_group_p.
2261 (sched_analyze): Clear stale SCHED_GROUP_P. Set in_post_call_group_p.
2262 (init_deps): Clear in_post_call_group_p.
2263
02188693
RH
22642000-06-13 Richard Henderson <rth@cygnus.com>
2265
2266 * combine.c (subst): Use CLASS_CANNOT_CHANGE_MODE and
2267 CLASS_CANNOT_CHANGE_MODE_P instead of CLASS_CANNOT_CHANGE_SIZE
2268 and hard-coded tests.
2269 (simplify_set): Likewise.
2270 (gen_lowpart_for_combine): Likewise.
2271 * emit-rtl.c (gen_lowpart_common): Likewise.
2272 * global.c (find_reg): Likewise.
2273 * local-alloc.c (find_free_reg): Likewise.
2274 * recog.c (register_operand): Likewise.
2275 * regclass.c (init_reg_sets_1): Likewise.
2276 (record_operand_costs, regclass): Likewise.
2277 * reload.c (push_reload): Likewise.
2278 * reload1.c (choose_reload_regs): Likewise.
2279 * flow.c (mark_used_regs): Conditionally set REG_CHANGES_MODE.
2280 * local-alloc.c (struct qty): Rename changes_size to changes_mode.
2281 Update all references.
2282 * regs.h (struct reg_info_def): Likewise.
2283 (REG_CHANGES_MODE): Rename from REG_CHANGES_SIZE.
2284 * tm.texi (CLASS_CANNOT_CHANGE_MODE): Document.
2285 (CLASS_CANNOT_CHANGE_MODE_P): Likewise.
2286
2287 * config/alpha/alpha.h (CLASS_CANNOT_CHANGE_MODE): Rename.
2288 (CLASS_CANNOT_CHANGE_MODE_P): New.
2289 * config/mips/mips.h: Likewise.
2290 * config/pa/pa32-regs.h: Likewise.
2291 * config/pa/pa64-regs.h: Likewise.
2292 * config/rs6000/rs6000.h: Likewise.
2293 * config/sh/sh.h: Likewise.
2294 * config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE): New.
2295 (CLASS_CANNOT_CHANGE_MODE_P): New.
2296 * config/avr/avr.h (CLASS_CANNOT_CHANGE_SIZE): Remove dead code.
2297 * config/d30v/d30v.h: Likewise.
2298
092417da
DA
22992000-06-13 J. David Anglin <dave@hiauly1.hia.nrc.ca>
2300
2301 * configure.in: Add AC_TYPE_GETGROUPS test.
2302 * sys-protos.h: Use GETGROUPS_T * for second arg of getgroups.
2303 * configure: Rebuilt.
51d0e20c 2304 * config.in: Rebuilt.
092417da 2305
be8d9ace
RH
23062000-06-13 Richard Henderson <rth@cygnus.com>
2307
2308 * explow.c (set_mem_attributes): Do nothing for NULL type.
2309
f8bc3f3a
JL
2310Tue Jun 13 14:45:10 2000 Jeffrey A Law (law@cygnus.com)
2311
2312 * config/m68k/openbsd.h (ASM_SPEC): pass down options to assembler
2313 correctly.
2314
46b1ac3f
JW
23152000-06-13 James E. Wilson <wilson@cygnus.com>
2316
2317 * config/ia64/ia64.md (movxf_internal): Add missing "e" to ldf/stf.
2318
592f1241
JL
2319Tue Jun 13 14:05:35 2000 Jeffrey A Law (law@cygnus.com)
2320
2321 * Makefile.in (gensupport.o): Remove bogus $(HOST_PREFIX) reference.
2322
37aeda9a
PT
23232000-06-13 Philipp Thomas <pthomas@suse.de>
2324
2325 * configure.in(ALL_LINGUAS): Changed en_UK to en_GB.
2326 * configure: Rebuilt.
2327
bad4c106
DB
23282000-06-07 David O'Brien <obrien@FreeBSD.org>
2329
2330 * configure.in: Adjust FreeBSD bits to match changes to config.guess.
2331 We now default to ELF for the i386, and a.out is the special case.
2332 * configure: Rebuilt.
2333
efd0378b
HPN
2334Tue Jun 13 10:05:30 2000 Hans-Peter Nilsson <hp@axis.com>
2335
2336 * final.c (final_scan_insn): Delete notes between cc0 setter and
2337 user when restarting from setter.
2338
97ce876c
DA
23392000-06-13 J. David Anglin <dave@hiauly1.hia.nrc.ca>
2340
2341 * vax.h (INDEX_TERM_P): Define evaluation order of &&'s in || and
2342 cast to squelch signed/unsigned warnings.
2343
54925c20
ZW
23442000-06-13 Zack Weinberg <zack@wolery.cumb.org>
2345
2346 * cpplib.c (handle_directive): Print non-NUL-terminated string
2347 with %.*s.
2348
89d237bf
MM
23492000-06-12 Michael Meissner <meissner@redhat.com>
2350
2351 * ifcvt.c (dead_or_predicable): Don't do conditional execution
2352 path if the machine needs extra support to do conditional
2353 execution.
2354
c5588504
JL
2355Mon Jun 12 17:04:17 2000 Jeffrey A Law (law@cygnus.com)
2356
2357 * print-rtl.c (print_rtx, case MEM): Use HOST_WIDE_INT_PRINT_DEC
2358 to print the alias set.
2359 * print-tree.c (print_node, DECL_* nodes and case 't'): Similarly.
2360
c6bb035c
DA
23612000-06-12 J. David Anglin <dave@hiauly1.hia.nrc.ca>
2362
7e585d16 2363 * config/float-vax.h: Add GFLOAT defines.
c6bb035c 2364
5d712c39
MK
2365Mon Jun 12 9:44:00 2000 Mark Klein <mklein@dis.com>
2366
2367 * configure.in: Update tm dependencies for MPE.
2368 * configure: Rebuilt.
2369
b9b9d063
L
23702000-06-12 H.J. Lu <hjl@gnu.org>
2371
2372 * gengenrtl.c (obstack_alloc_rtx): Correct the allocated size.
2373
f6bf7de2
DE
23742000-06-12 David Edelsohn <edelsohn@gnu.org>
2375
2376 * aix41.h (SUBTARGET_SWITCHES): Delete threads.
2377 (CPP_SPEC): Change mthreads to pthread.
2378 (LIB_SPEC): Likewise.
2379 (STARTFILE_SPEC): Likewise.
e4a0656f 2380 * aix43.h (SUBTARGET_SWITCHES): Delete threads.
f6bf7de2
DE
2381 (CPP_SPEC): Change mthreads to pthread.
2382 (LIB_SPEC): Likewise.
2383 (STARTFILE_SPEC): Likewise.
2384 * rs6000-protos.h (reg_or_arith_cint_operand): New.
2385 * rs6000.c (reg_or_arith_cint_operand): New.
2386 (num_insns_constant_wide): Decorate unsigned constant.
2387 * rs6000.h (PREDICATE_CODES): Add reg_or_arith_cint_operand.
2388 * rs6000.md (addsi3): Use new predicate.
2389 (subsi3, adddi3, subdi3): Likewise.
2390
f6f8291a
MM
23912000-06-12 Mark Mitchell <mark@codesourcery.com>
2392
2393 * c-common.c (lang_get_alias_set): Fix typo.
2394
61f286b6
RE
23952000-06-12 Richard Earnshaw <rearnsha@arm.com>
2396
2397 * flow.c (mark_used_regs): Revert last change.
2398 (life_analysis): Remove PROP_AUTOINC if running after reload.
2399 (propagate_one_insn): PROP_AUTOINC is always off after reload.
2400
68b0ba71
RE
24012000-06-11 Richard Earnshaw <rearnsha@arm.com>
2402
2403 * flow.c (mark_used_regs): Don't call find_auto_inc after reload
2404 has run.
2405
5ac9118e
KG
24062000-06-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2407
2408 * bb-reorder.c (build_scope_forest): Initialize variable
2409 `curr_scope'.
2410
2411 * calls.c (expand_call): Likewise for variables
2412 `save_pending_stack_adjust' and `save_stack_pointer_delta'.
2413
2414 * i386.c (function_arg_advance, function_arg): Cast to avoid
2415 signed/unsigned warnings.
2416
2417 * i386.h (MEMORY_MOVE_COST): Likewise.
2418
2419 * ifcvt.c (cond_exec_process_if_block): Initialize variables
2420 `else_start' and `else_end'.
2421
2422 * libgcc2.h (__eh_alloc, __eh_free): Prototype.
2423
2424 * regrename.c (rr_replace_reg): Initialize variable `dest_subregno'.
2425
c4c37359
MM
24262000-06-10 Mark Mitchell <mark@codesourcery.com>
2427
2428 * Makefile.in (libintl.a): Depend on intl.all.
2429
77665459
L
24302000-06-09 H.J. Lu (hjl@gnu.org)
2431
2432 * Makefile.in (c-parse.o): Also depend on output.h.
2433
cbd3488b
JL
24342000-06-09 Rodney Brown <RodneyBrown@mynd.com>
2435
7e585d16
ZW
2436 * mcore-protos.h: discards const warning removal.
2437 * mcore.c: discards const warning removal.
cbd3488b
JL
2438
24392000-06-09 Kazu Hirata <kazu@hxi.com>
2440
2441 * config/h8300/lib1funcs.asm: Declare the machine architecture at
2442 the beginning of the file.
2443
24442000-06-09 J. David Anglin <dave@hiauly1.hia.nrc.ca>
2445
2446 * real.h: Add prototype for ldexp.
2447
f8a83ee3
ZW
24482000-06-09 Zack Weinberg <zack@wolery.cumb.org>
2449
2450 * ggc-none.c, ggc-simple.c, ggc-page.c (ggc_alloc_obj): Rename
2451 it ggc_alloc, drop second argument, never clear returned memory.
2452 * ggc-common.c (ggc_alloc_string): Use ggc_alloc.
2453 (ggc_alloc_cleared): New.
2454 * ggc.h: Prototype ggc_alloc and ggc_alloc_cleared, not
2455 ggc_alloc_obj. Remove ggc_alloc macro.
2456 (ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Use ggc_alloc.
2457
2458 * rtl.c (rtvec_alloc): Clear the vector always.
2459 (rtx_alloc): Clear the first word always. Remove dirty
2460 obstack tricks (this routine is no longer a bottleneck).
2461 * tree.c (make_node): Clear the new node always.
2462 (make_tree_vec): Likewise.
7e585d16 2463 (tree_cons): Clear the common structure always.
f8a83ee3
ZW
2464 (build1): Likewise; also, clear TREE_COMPLEXITY.
2465 * gengenrtl.c: Use puts wherever possible. Remove extra
2466 newlines.
2467 (gendef): Clear the first word of an RTX in the generator
2468 function, irrespective of ggc_p. Initialize '0' slots to
2469 NULL.
2470 (genlegend): Don't generate obstack_alloc_rtx routine, just a
2471 thin wrapper macro around obstack_alloc.
2472
2473 * stmt.c (expand_fixup): Use ggc_alloc.
2474 * c-typeck.c (add_pending_init): Use ggc_alloc.
2475 * emit-rtl.c (init_emit_once): Clear CONST_DOUBLE_CHAIN(tem).
2476 * varasm.c (immed_double_const): Set CONST_DOUBLE_MEM(r) to
2477 const0_rtx when it is created.
2478 (immed_real_const_1): Set CONST_DOUBLE_CHAIN(r) to NULL_RTX if
2479 we are not in a function.
2480
2481 * tree.c (tree_class_check_failed): Make second arg an int.
2482 * tree.h: Update prototype.
2483
e7cd085f
GK
24842000-06-09 Geoff Keating <geoffk@cygnus.com>
2485
2486 * tree.h (VOID_TYPE_P): Don't look at the TYPE_MAIN_VARIANT
f8a83ee3 2487 of an error_mark_node.
e7cd085f 2488
bb779a52
DC
2489Fri Jun 9 20:35:13 2000 Denis Chertykov <denisc@overta.ru>
2490
2491 * config/avr/avr.c (asm_output_section_name): bugfix.
2492
ea11ca7e
JM
24932000-06-09 Jason Merrill <jason@casey.soma.redhat.com>
2494
2495 * timevar.def: Add TV_EXPAND.
2496 * timevar.c (timevar_print): Update timing information.
2497 * calls.c (try_to_integrate): Push to TV_INTEGRATION for inlining.
2498
2499 * stmt.c (expand_return): Check for error_mark_node.
2500
e0fcc0e1
KG
25012000-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2502
6efa1582
KG
2503 * configure.in: Also avoid wrapping auto-build.h with IN_GCC.
2504
2c8c1c46
KG
2505 * scan-types.sh (VALUE) Wrap use with double quotes to protect
2506 variable against filename expansion when it contains "char *".
2507
e0fcc0e1
KG
2508 * system.h (SSIZE_MAX): Delete backup definition.
2509
2510 * cppfiles.c (read_include_file): Use INTTYPE_MAXIMUM(ssize_t)
2511 instead of SSIZE_MAX.
2512
e95b1e6a
JJ
25132000-06-09 Jakub Jelinek <jakub@redhat.com>
2514
2515 * configure.in: Check whether gas supports -relax.
2516 * configure, config.in: Rebuilt.
2517 * config/sparc/sparc.h (ASM_RELAX_SPEC): Define.
2518 (EXTRA_SPECS): Add asm_relax.
2519 (ASM_SPEC): Add %(asm_relax).
2520 (TARGET_SWITCHES): Add -mrelax and -mno-relax.
2521 * config/sparc/linux64.h (LINK_ARCH_SPEC): Rename to LINK_SPEC.
2522 (LINK_SPEC): Pass -relax to linker unless -mno-relax or -r.
2523 (ASM_SPEC): Add %(asm_relax).
2524 * config/sparc/linux.h (LINK_SPEC, ASM_SPEC): Likewise.
2525 * config/sparc/sparc.c (output_sibcall): If HAVE_AS_RELAX_OPTION,
2526 never use sethi/jmpl for leaf tail calls. Use or with rs2 %g0
2527 instead of mov, so that gas can further optimize it.
2528
25dd13ec
JW
25292000-06-08 James E. Wilson <wilson@bletchleypark.cygnus.com>
2530
2531 * dwarf2out.c (size_of_die, case dw_val_class_const): Use
2532 size_of_sleb128.
2533 (value_format, case dw_val_class_const): Use sdata format.
2534 (output_die): Call output_sleb128.
2535
0186257f
JW
25362000-06-08 James E. Wilson <wilson@cygnus.com>
2537
21217bd0
JW
2538 * dwarf2out.c (ASM_OUTPUT_DWARF_DATA8): Add new macro that uses
2539 UNALIGNED_DOUBLE_INT_ASM_OP. Rename old macro to
2540 ASM_OUTPUT_DWARF_CONST_DOUBLE.
2541 (output_die, case dw_val_class_unsigned_const): Correct call to
2542 ASM_OUTPUT_DWARF_DATA8.
2543 (output_die, case dw_val_class_long_long): Use
2544 ASM_OUTPUT_DWARF_CONST_DOUBLE.
2545 * tree.c (host_integerp): Accept unsigned HOST_WIDE_INT values when
2546 pos is zero.
7e585d16 2547
0186257f
JW
2548 * config/ia64/ia64-protos.h (ia64_output_end_prologue): Add.
2549 (output_function_prologue): Fix mispelling.
2550 (output_function_prologue, output_function_epilogue): Reorder to
2551 match ia64.c definition order.
2552 * config/ia64/ia64.c (ia64_expand_prologue): Add comment.
2553 (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on stack restore insns.
2554 Use r3 instead of r2 for large stack restores.
2555 (ia64_output_end_prologue): New function.
2556 (process_set): Emit ".restore sp" for epilogue stack restores.
2557 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Define.
7e585d16 2558
06ebf127
JJ
25592000-06-08 Jakub Jelinek <jakub@redhat.com>
2560
2561 * dbxout.c (dbxout_type_fields): Don't segfault on fields with
2562 incomplete types.
2563
89d7f003
NS
25642000-06-08 Nathan Sidwell <nathan@codesourcery.com>
2565
2566 * frame.c (end_fde_sort): Remove extraneous erratic array test.
2567
25682000-06-08 Denis Perchine <dyp@perchine.com>
2569
2570 * frame.c (start_fde_sort): Don't malloc (0).
2571
5667abce
ZW
25722000-06-07 Zack Weinberg <zack@wolery.cumb.org>
2573
2574 * c-decl.c (pushdecl): Do not call COMPLETE_TYPE_P on
7e585d16 2575 error_mark_node.
5667abce
ZW
2576 * print-tree.c (print_node): The transparent_union_flag means
2577 different things for unions and arrays. Do not inspect it
2578 with TYPE_TRANSPARENT_UNION.
2579
5af7e2c2
JJ
25802000-06-06 Jakub Jelinek <jakub@redhat.com>
2581
2582 * cpplib.c (do_ifdef, do_ifndef): Don't segfault if parse_ifdef
2583 returned NULL.
2584
3f8a8c68
DC
2585Wed Jun 7 20:34:33 2000 Denis Chertykov <denisc@overta.ru>
2586
2587 * config/avr/avr.c (asm_output_section_name): output section
2588 attributes.
2589 * config/avr/libgcc.S (.text.libgcc): declare section attributes.
2590
c0240be4
JW
25912000-06-06 James E. Wilson <wilson@cygnus.com>
2592
2593 * frame.h (struct unwind_info_ptr): Collapse version, flags, and length
2594 fields into header field.
2595 (IA64_UNW_HDR_LENGTH, IA64_UNW_HDR_FLAGS, IA64_UNW_HDR_VERSION): New
2596 macros to access length, flags, and version info from header field.
2597 * config/ia64/crtbegin.asm (__do_frame_setup_aux): Delete here.
2598 * config/ia64/crtend.asm (__do_frame_setup_aux): Add here.
2599 (__do_global_ctors_aux): Fix caller.
2600 * config/ia64/frame-ia64.c (get_unwind_record): Change parameter
2601 prologue_flag to header. Pass to read_P_record.
2602 (read_P_record): New argument header. Implement P4 format.
2603 Multiply P7_T_SIZE by 16.
2604 (execute_one_ia64_descriptor): New static local region_header. Pass to
2605 get_unwind_record. Copy r to region_header if r is a header record.
2606 (print_all_records): Likewise.
2607 (__build_ia64_frame_state): Use IA64_UNW_HDR_LENGTH.
2608 (__get_personality, __get_except_table): Likewise.
2609 * config/ia64/ia64.c (process_set): Do not divide offsets by 4.
2610
24c40136
PT
26112000-06-06 Philipp Thomas <pthomas@suse.de>
2612
7e585d16 2613 * configure.in (AC_C_INLINE): Added.
24c40136
PT
2614 * aclocal.m4 (AM_WITH_NLS): Enable --with-included-gettext by default.
2615 * configure: Regenerate.
2616
5b2abab8
MM
26172000-06-06 Mark Mitchell <mark@codesourcery.com>
2618
2619 * c-common.h (c_language_kind): New type.
2620 (c_language): New variab.e
2621 * c-common.c (lang_get_alias_set): Don't put structures in
2622 non-zero alias sets in C++.
2623 * c-decl.c (c_language): Define it.
2624 * c-lex.c (doing_objc_thang): Remove.
2625 * c-tree.h (doing_objc_thang): Make it a macro.
2626 * objc/objc-act.c (lang_decode_option): Set c_language, not
7e585d16
ZW
2627 doing_objc_thang.
2628
764dbbf2
GDR
26292000-06-06 Gabriel Dos Reis <gdr@codesourcery.com>
2630
2631 * diagnostic.c (output_maximum_width): Remove.
2632 (doing_line_wrapping): Tweak.
2633 (diagnostic_buffer): New object.
2634 (global_output_buffer): New object.
2635 (output_destroy_prefix): New function.
2636 (default_initialize_buffer): Likewise.
2637 (reshape_diagnostic_buffer): Likewise.
2638 (initialize_diagnostics): Likewise.
2639 (output_clear): Tweak.
2640 (line_wrapper_printf): Adjust call to init_output_buffer.
2641 (vline_wrapper_message_with_location): Likewise. Use
7e585d16 2642 output_destroy_prefix.
764dbbf2
GDR
2643 (v_message_with_decl): Likewise.
2644
2645 * diagnostic.h (struct output_buffer): Constify prefix.
2646 (init_output_buffer, output_get_prefix): Constify.
2647 (diagnostic_message_length_per_line): Likewise.
2648 (reshape_diagnostic_buffer): Declare.
2649 (default_initialize_buffer): Declare.
2650 (initialize_diagnostics): Declare.
2651 (diagnostic_buffer): Declare new obbject.
2652
2653 * toplev.c: #include diagnostic.h
2654 (display_help): Document diagnostic formatting options.
2655 (decode_f_option): Handle diagnostic formatting options.
2656 (main): Setup initialization for diagnostic messages outputter.
2657
2658 * toplev.h (set_message_length): Remove.
2659
2660 * Makefile.in (toplev.o): Depends upon diagnostic.h
2661
2662 * invoke.texi : Document diagnostics formatting options.
2663
faf0173b
PDM
2664Tue Jun 6 19:25:32 2000 Philippe De Muyter <phdm@macqel.be>
2665
2666 * configure.in (Make the links): Typo fix : the file that must be
2667 included without #ifdef IN_GCC is `auto-host.h', not `auto-config.h'.
2668 * configure: File rebuilt.
2669
103c63ae
NS
26702000-06-06 Nathan Sidwell <nathan@codesourcery.com>
2671
2672 * eh-common.h (EH_ALLOC_SIZE, EH_ALLOC_ALIGN): New #defines.
2673 (eh_context): Add alloc_mask and alloc_buffer emergency fallback
2674 space.
2675 * libgcc2.c (__eh_alloc): Moved from cp/exception.cc. Fallback on
2676 emergency eh_context buffer, if malloc fails.
2677 (__eh_free): Moved from cp/exception.cc. Release to emergency
2678 eh_context buffer, if appropriate.
2679
051ffad5
JM
26802000-06-06 Jason Merrill <jason@casey.soma.redhat.com>
2681
2682 * expr.c (store_expr): Fix typo.
2683
a60369f0
KG
26842000-06-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2685
2686 * m68k.c (legitimize_pic_address): Move prototype ...
7e585d16 2687
a60369f0
KG
2688 * m68k-protos.h (legitimize_pic_address): ... here.
2689
2690 * m68k.md (legitimize_pic_address): Delete prototypes.
2691 (untyped_call): Invoke GEN_CALL(), not gen_call().
2692
2693 * nextstep.c: Include system.h and toplev.h.
2694 (get_directive_line): Don't prototype.
2695 (handle_pragma): Mark parameters with ATTRIBUTE_UNUSED and constify.
2696
2697 * nextstep.h (handle_pragma): Prototype.
2698 (SECTION_FUNCTION): Prototype FUNCTION(). Move prototype of
2699 objc_section_init ...
2700 (EXTRA_SECTION_FUNCTIONS): ... here.
2701
df07dc5b
RK
2702Tue Jun 6 08:17:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2703
2704 * sdbout.c (struct sdb_file): NAME now const.
2705 (sdbout_init): input_file_name now const.
2706 (sdbout_start_new_source_file): FILENAME now const.
2707 * sdbout.c (sdbout_init, sdbout_start_new_source_file): Reflect above.
2708
f519a452
GDR
27092000-06-06 Gabriel Dos Reis <gdr@codesourcery.com>
2710
2711 * c-typeck.c (build_conditional_expr): Handle complex data types.
2712
258a120b
JM
27132000-06-05 Jason Merrill <jason@casey.soma.redhat.com>
2714
2715 * explow.c (maybe_set_unchanging): New function, broken out from...
2716 (set_mem_attributes): Here.
2717 * expr.h: Declare it.
2718 * stmt.c (expand_decl): Call it.
2719
c9d8a813
RH
27202000-06-05 Richard Henderson <rth@cygnus.com>
2721
2722 * reload1.c (choose_reload_regs): Mind CLASS_CANNOT_CHANGE_SIZE
2723 while looking for a register to inherit from.
2724
a7833bec
JM
27252000-06-05 Jason Merrill <jason@casey.soma.redhat.com>
2726
2aceb30d
JM
2727 * Makefile.in (libgcc.ready): Lose.
2728 (libgcc.mk): Just use mv, not move-if-change.
2729 (LIBGCC_DEPS): New macro.
2730 (libgcc.a): Use it.
2731 (stmp-multilib): Likewise.
2732 * mklibgcc.in (stmp-dirs): New target. Make everything depend on
2733 it rather than the directories themselves.
2734 (LIB2ADD): Depend on the list file rather than 'force'.
2735
a7833bec
JM
2736 * fold-const.c (fold, case COND_EXPR): Elide conversion between
2737 cv-qualified versions of types.
2738
77b91512
RK
2739Mon Jun 5 14:06:18 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2740
2741 * config/sparc/sparc.c (short_branch): Correct error in range
2742 computation.
2743
a7fc602f
DA
27442000-06-05 J. David Anglin <dave@hiauly1.hia.nrc.ca>
2745
2746 * fixinc/inclhack.def: New include hacks for ultrix.
2747 * (nested_ultrix): Replaced by ultrix_nested_svc.
2748 * (ultrix_atof_param): test_text string added.
2749 * (ultrix_ifdef): Modified select string.
2750
88a19424
ZW
27512000-06-05 Zack Weinberg <zack@wolery.cumb.org>
2752
2753 * objc/objc-act.c (generate_method_descriptors): Register
2754 objc_method_prototype_template as a GC root.
2755 (comp_method_with_proto): Register function_type as a GC root.
2756 (comp_proto_with_proto): Replace function_type1 and
2757 function_type2 with a two-element array; register it as a GC root.
2758
2759 (generate_protocols, build_protocol_initializer,
2760 generate_protocol_list, build_category_initializer,
2761 build_shared_structure_initializer): Do not cache cast_type
2762 and/or cast_type2.
2763
a696c1d6
DA
27642000-06-05 J. David Anglin <dave@hiauly1.hia.nrc.ca>
2765
2766 * function.c (assign_parms): Add missing argument to set_mem_attributes
2767 call.
2768
71653180
NS
27692000-06-05 Nathan Sidwell <nathan@codesourcery.com>
2770
2771 * tree.h (VOID_TYPE_P): New macro.
2772 (COMPLETE_OR_VOID_TYPE_P): Use VOID_TYPE_P.
2773 * c-decl.c (grokdeclarator): Use VOID_TYPE_P.
2774 (get_parm_info): Likewise.
2775 (store_parm_decls): Likewise.
2776 (combine_parm_decls): Likewise.
2777 (finish_function): Likewise.
2778 * c-typeck.c (build_function_call): Likewise.
2779 (build_binary_op): Likewise.
2780 (build_conditional_expr): Likewise.
2781 (internal_build_compound_expr): Likewise.
2782 (convert_for_assignment): Likewise.
2783 * stmt.c (expend_expr_stmt): Likewise.
2784 (warn_if_unused_value): Likewise.
2785 (expand_return): Likewise.
2786 * c-parse.in (primary): Likewise.
2787 * c-parse.y, c-parse.c, c-parse.h: Regenerate.
2788 * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
2789
80661759
RK
2790Mon Jun 5 06:46:28 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2791
2792 * alias.c (get_alias_set): If compnent is addressable, use alias
2793 set of component.
2794 * c-decl.c (init_decl_processing): Don't call record_component_aliases.
2795 (grokdeclarator): Likewise.
2796 * c-typeck.c (common_type): Likewise.
2797
cd306eed
AS
27982000-06-04 Alex Samuel <samuel@codesourcery.com>
2799
2800 * Makefile.in (OBJS): Remove dyn_string.o
2801 (dyn-string.o): Delete rule.
2802 * dyn-string.c: Delete file
2803 * dyn-string.h: Likewise.
7e585d16 2804
031926e2
KG
28052000-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2806
2807 * Makefile.in (intl.*): Honor non-zero exit codes in the intl
2808 subdir.
2809
e7cd085f 28102000-06-03 Geoff Keating <geoffk@cygnus.com>
b16a49a1 2811
7e585d16
ZW
2812 * alias.c (record_component_aliases): Don't inspect
2813 DECL_NONADDRESSABLE_P of non-FIELD_DECL components of structures.
b16a49a1 2814
e7cd085f 2815Sat Jun 3 19:05:30 2000 Michael Meissner <meissner@redhat.com>
90280148 2816
089f6dc3
MM
2817 * ifcvt.c (process_insns): If IFCVT_MODIFY_INSN is defined, call
2818 it with the pattern to do machine dependent work.
90280148
MM
2819 (cond_exec_process_if_block): If IFCVT_MODIFY_TESTS is defined,
2820 use it to modify the true/false tests used in conditional
2821 execution. If IFCVT_MODIFY_FINAL and IFCVT_MODIFY_CANCEL are
2822 defined, invoke them if the conversion to conditional execution
2823 was successful or not.
2824
2825 * tm.texi (IFCVT_MODIFY_TESTS): Document.
2826 (IFCVT_MODIFY_INSN): Ditto.
2827 (IFCVT_MODIFY_FINAL): Ditto.
2828 (IFCVT_MODIFY_CANCEL): Ditto.
2829
bc83ee59
MK
2830Sat Jun 3 15:26:13 2000 Matt Kraai <kraai@alumni.carnegiemellon.edu>
2831
2832 * toplev.c (main): Fix misspellings of possibility and language.
2833
570eb5c8
RH
28342000-06-03 Richard Henderson <rth@cygnus.com>
2835
2836 * alias.c (record_alias_subset): Initialize has_zero_child in the
2837 superset.
2838
d6c266b2
RE
28392000-06-03 Richard Earnshaw (rearnsha@arm.com)
2840
2841 * arm.md (untyped_call): Use GEN_CALL macro.
2842
f0267a67
PN
28432000-06-02 Pekka Nikander <pnr@teldanex.tcm.hut.fi>
2844
2845 * Makefile.in: Use $(MAKE) not "make"
2846
2bf105ab
RK
2847Fri Jun 2 19:31:03 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2848
2849 * alias.c (struct alias_set_entry): New field has_zero_child.
2850 (mem_in_disjoint_alias_sets_p): Return 0 if set in either ase.
2851 (get_alias_set): If language-dependent routine set TYPE_ALIAS_SET,
2852 do nothing.
2853 Call record_component_aliases for aggregate types.
2854 (record_alias_subset): Set has_zero_child.
2855 (record_component_aliases, case ARRAY_TYPE): Do nothing if
2856 TYPE_NONALIASES_COMPONENT.
2857 (record_component_aliases, case RECORD_TYPE): Test
2858 DECL_NONADDRESSABLE_P.
2859 * c-decl.c (grokdeclarator): Set DECL_NONADDRESSABLE_P instead
2860 of TREE_ADDRESSABLE.
2861 * calls.c (initialize_argument_information): Only test
2862 TYPE_TRANSPARENT_UNION for UNION_TYPE.
2863 * function.c (assign_parms): Likewise.
2864 * integrate.c (function_cannot_inline_p): Likewise.
2865 * stor-layout.c (finish_record_layout): Don't call
2866 record_component_aliases.
2867 * tree.h (struct tree_int_cst): Use struct tree_common.
2868 (struct tree_real_cst, struct tree_string): Likewise.
2869 (struct tree_complex, struct tree_identifier): Likewise.
2870 (struct tree_list, struct tree_vec, struct tree_exp): Likewise.
2871 (struct tree_block, struct tree_type, struct tree_decl): Likewise.
2872 (TYPE_TRANSPARENT_UNION): Use UNION_TYPE_CHECK.
2873 (TYPE_NONALIASES_COMPONENT): New macro.
2874 (TYPE_AMBIENT_BOUNDEDNESS): Use FUNCTION_TYPE_CHECK.
2875 (DECL_NONADDRESSABLE_P): New macro.
2876 (struct tree_decl): Reorder bits for clarity of how many left;
2877 add non_adressable.
2878
3378216a
JM
28792000-06-02 Jason Merrill <jason@casey.soma.redhat.com>
2880
2881 * Makefile.in (libgcc.a): Also depend on $(LIB2ADD).
2882 * mklibgcc.in (force): New target.
2883 Make LIB2ADD stuff depend on it.
2884
2e761e49
RH
28852000-06-02 Richard Henderson <rth@cygnus.com>
2886
2887 * alias.c (lang_get_alias_set): Remove.
2888 (get_alias_set): Call it directly, not indirectly.
2889 * c-common.c (lang_get_alias_set): Rename from c_get_alias_set.
2890 * c-common.h (c_get_alias_set): Don't declare.
2891 * c-decl.c (init_decl_processing): Don't set lang_get_alias_set.
2892 * expr.h (lang_get_alias_set): Declare as function, not pointer.
7e585d16 2893
56ce79f7
BK
28942000-06-02 Bruce Korb <bkorb@gnu.org>
2895
2896 * fixinc/server.c(sig_handler): resume closing server on SIGPIPE
2897 (server_setup): define the server's master pid
2898 (close_server): actually do the deed IFF we are the server's master
2899
8f215dce
JJ
29002000-06-02 Jakub Jelinek <jakub@redhat.com>
2901
2902 * c-common.c (c_get_alias_set): Check whether signed_type did not
2903 return its argument before calling get_alias_set on the result.
2904
4636c0a2
AM
29052000-06-02 Andrew MacLeod <amacleod@cygnus.com>
2906
2907 * expr.c (emit_group_load): Fix typo, GET_MODE not GET_CODE.
2908
aff2c066
R
2909Fri Jun 2 00:22:52 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
2910
2911 * sh.h (CPP_SPEC): Add -D__NOMACSAVE__ for -mnomacsave.
2912 (CONDITIONAL_REGISTER_USAGE): Mac registers are call used
2913 for TARGET_NOMACSAVE.
2914 (NOMACSAVE_BIT): Define.
2915 (TARGET_NOMACSAVE): Define.
2916 (TARGET_SWITCHES): Add "nomacsave".
2917
400d1b19
TM
29182000-06-02 Toshiyasu Morita <toshi.morita@sega.com>
2919
2920 * sh.md (untyped_call): Remove excess parameters
2921
bec7ddd7
LR
29222000-06-01 Loren J. Rittle <ljrittle@acm.org>
2923
2924 * fixinc/inclhack.def (osf_namespace_a): Relax expression to
2925 match that used before the conversion to c_fix style.
ef6df611 2926 * fixinc/fixincl.x: regenerate
bec7ddd7 2927
ee418a77
SC
29282000-06-01 Stan Cox <scox@cygnus.com>
2929
2930 * varray.h (VARRAY_PUSH_GENERIC_PTR, VARRAY_PUSH_CHAR_PTR): Fix
2931 macro argument typo.
2932
d7a2e0f7
ZW
29332000-06-01 Zack Weinberg <zack@wolery.cumb.org>
2934
2935 * cpplex.c (maybe_macroexpand): Use CPP_WTRADITIONAL. Improve
2936 error message.
7e585d16 2937 * cpplib.c (parse_include): Remove support for VAX-C
d7a2e0f7
ZW
2938 "#include starlet" misfeature.
2939
29402000-05-31 Laurynas Biveinis <lauras@softhome.net>
2941
2942 * cppfiles.c: conditionally define O_BINARY.
2943 (open_include_file): pass O_BINARY to open().
2944
eb9c1bb6
RH
29452000-06-01 Richard Henderson <rth@cygnus.com>
2946
2947 * i960.c (i960_br_predict_opcode): Remove.
2948 (i960_print_operand) [+]: Emit branch prediction hints.
2949 (i960_function_arg): Return early for VOIDmode.
2950 (i960_round_align): Return early for incomplete types.
2951 * i960.h (PRINT_OPERAND_PUNCT_VALID_P): New.
2952 * i960.md (all conditional branches): Add "%+".
2953
f824e5c3
RK
2954Thu Jun 1 12:24:21 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2955
2956 * alias.c (get_alias_set): Don't call language-specific routine more
2957 than is needed and clean up code a bit.
2958 * c-common.c (c_get_alias_set): All references whose type
2959 is char get alias set 0, but character types need not.
2960 * varasm.c (make_function_rtl): Don't call set_mem_attributes.
2961 (make_decl_rtl): Don't call it for FUNCTION_DECL.
2962
079b71f5
BK
29632000-06-01 Bruce Korb <bkorb@gnu.org>
2964
2965 * fixinc/tests/base/...: new base result files
2966
a940d8bd
CP
2967Thu Jun 1 09:37:35 2000 Clinton Popetz <cpopetz@cygnus.com>
2968
2969 * config/i386/i386.c (ix86_use_fcomi_compare): Make global.
2970 * config/i386/i386-protos.h (ix86_use_fcomi_compare): Declare.
2971 * config/i386/i386.md (*fp_jcc_3, *fp_jcc_4): Disable if we
2972 will use FCOMI.
7e585d16 2973
bc11d9b8
RH
29742000-06-01 Richard Henderson <rth@cygnus.com>
2975
03d2f2b8
RH
2976 * Makefile.in (c-decl.o): Depend on $(EXPR_H), not expr.h.
2977
eb9c1bb6 2978 * c-decl.c (init_decl_processing): Set lang_get_alias_set first thing.
bc11d9b8 2979
ac9cd70f
RH
29802000-05-31 Richard Henderson <rth@cygnus.com>
2981
2982 * config/ia64/ia64.c (sdata_symbolic_operand): Consider small
2983 CONSTANT_POOL_ADDRESS_P addresses for .sdata.
2984 * config/ia64/sysv4.h (SELECT_RTX_SECTION): New.
2985
85548039
RH
29862000-05-31 Richard Henderson <rth@cygnus.com>
2987
2988 * config/ia64/ia64-protos.h (ia64_expand_prediction): Remove.
2989 * config/ia64/ia64.c (ia64_expand_prediction): Move code ...
2990 (ia64_print_operand) [+]: ... here. Use current_output_insn.
2991 * config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): New.
2992 * config/ia64/ia64.md (all branch/call patterns): Use %+.
2993
e0fa93b3
RH
29942000-05-31 Richard Henderson <rth@cygnus.com>
2995
2996 * ifcvt.c (cond_exec_process_insns): Don't ever ignore clobbers.
2997
abb9a4c5
RH
29982000-05-31 Richard Henderson <rth@cygnus.com>
2999
7e585d16 3000 * ifcvt.c (merge_if_block): Be prepared for JOIN to have no
18153f6c
RH
3001 remaining edges.
3002 (find_if_block): Allow THEN with no outgoing edges.
abb9a4c5
RH
3003 * flow.c (merge_blocks_nomove): Remove a barrier not following
3004 a jump as well.
3005
eb7e5da2
RH
30062000-05-31 Richard Henderson <rth@cygnus.com>
3007
3008 * flow.c (propagate_block): Move initialization of mem_set_list ...
7e585d16 3009 (init_propagate_block_info): ... here. Also track blocks with
eb7e5da2
RH
3010 no successors; don't scan insns if ! PROP_SCAN_DEAD_CODE.
3011
26a41784
RH
30122000-05-31 Richard Henderson <rth@cygnus.com>
3013
3014 * jump.c (jump_optimize_1): Revert 05-18 change.
3015
2228d450
MM
30162000-05-31 Mark Mitchell <mark@codesourcery.com>
3017
3018 * invoke.texi: Remove documentation for -fguiding-decls.
3019
99923eed
RH
30202000-05-31 Richard Henderson <rth@cygnus.com>
3021
3022 * configure.in: Fix typo last change.
3023
dc6746e7
PT
30242000-05-31 Philipp Thomas <pthomas@suse.de>
3025
7e585d16 3026 * configure.in (enable-nls): Enable if build == host, i.e. when
dc6746e7
PT
3027 not building a canadian cross compiler.
3028 (enable-maintainer-mode): Added for use with i18n.
3029 * aclocal.m4 (AM_GNU_GETTEXT): Only build catalogs that are a
3030 cross section of ALL_LINGUAS and LINGUAS.
3031 * configure: Rebuild.
3032
5d7d28c2
BK
30332000-05-31 Bruce Korb <bkorb@gnu.org>
3034
1b813bfe
BK
3035 * fixinc/check.tpl: rework to use test result tree
3036 * fixinc/Makefile.in: change invocation of check script
3037 * fixinc/check.diff: No longer needed
3038 * fixinc/fixincl.x: regenerate
3039 * fixinc/inclhack.def: add new tests
3040 * fixinc/tests/base/arch/i960/archI960.h: New test result
3041 * fixinc/tests/base/curses.h: modified test result
3042 * fixinc/tests/base/stdio.h: ditto
3043 * fixinc/tests/base/time.h: ditto
3044 * fixinc/tests/base/sys/asm.h: ditto
3045 * fixinc/tests/base/sys/stat.h: ditto
3046 * fixinc/tests/base/sys/wait.h: ditto
5d7d28c2 3047
231a2828
PDM
3048Wed May 31 13:17:20 2000 Philippe De Muyter <phdm@macqel.be>
3049
3050 * except.c (clear_function_eh_region): Do not free NULL.
3051
8c410416
RK
3052Wed May 31 08:07:52 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3053
3bdf5ad1
RK
3054 * Makefile.in (c-decl.o): Depend on rtl.h and expr.h.
3055 * alias.c (struct alias_entry): alias_set is HOST_WIDE_INT.
3056 (REG_BASE_VALUE): Remove unneeded cast to unsigned.
3057 (get_alias_set_entry): ALIAS_SET arg is HOST_WIDE_INT.
3058 (find_base_decl): New function, from c_find_base_decl in c-common.c.
3059 (new_alias_set): Moved from tree.c; return is HOST_WIDE_INT.
3060 (get_alias_set): Likewise.
3061 Major rework to do more things and allow language-specific code
3062 to just handle special-cases.
3063 (record_alias_subset): Args are HOST_WIDE_INT.
3064 (record_component_alias): Local vars are HOST_WIDE_INT.
3065 Don't handle COMPLEX_EXPR.
3066 (get_varargs_alias_set): Moved from builtins.c.
3067 (get_frame_alias_set): New function.
3068 * builtins.c (expand_builtin_return_address): Use frame alias set.
3069 (expand_builtin_setjmp, expand_builtin_longjmp): Use alias set
3070 for setjmp buffer.
3071 (get_memory_rtx): Rework to use set_mem_attributes.
3072 (get_varargs_alias_set): Deleted from here.
3073 * c-common.c (c_apply_type_quals_to_decl): Alias sets now HOST_WIDE_INT.
3074 (c_find_base_decl): Deleted from here.
3075 (c_get_alias_set): Remove many cases and rework to just handle
3076 C-specific cases.
3077 * c-common.h (c_get_alias_set): Returns HOST_WIDE_INT.
3078 * c-decl.c (rtl.h, expr.h): Now included.
3079 (init_decl_processing): Call record_component_aliases on array types.
3080 (grokdeclarator): Likewise.
3081 Set TREE_ADDRESSABLE for all fields that are not bitfields.
3082 * c-typeck.c (common_type): Call record_component_aliases for array.
3083 * caller-save.c (setup_save_areas): Rework register loop for unsigned.
3084 Set all save areas to the frame alias set.
3085 * calls.c (initialie_argument_information): Call set_mem_attributes.
3086 (compute_argument_addresses, expand_call): Likewise.
3087 * explow.c (set_mem_attributes): New function.
3088 (stabilize): Use MEM_COPY_ATTRIBUTES and force_reg.
3089 * expr.c (struct move_by_pieces): Remove {to,from}_{struct,readonly}.
3090 LEN and OFFSET now HOST_WIDE_INT.
3091 (clear_by_pieces): Similar changes.
3092 (move_by_pieces): LEN now HOST_WIDE_INT; don't set deleted fields.
3093 (move_by_pieces_ninsns): Now returns unsigned HOST_WIDE_INT.
3094 (move_by_pieces_1): Don't use deleted fields, use MEM_COPY_ATTRIBUTES.
3095 (clear_by_pieces_1): Likewise.
3096 (emit_push_insn): Call set_mem_attributes.
3097 (expand_expr, case INDIRECT_REF): Likewise.
3098 (expand_expr, case VAR_DECL): Call change_address.
3099 * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE): Use host_integerp and
3100 tree_low_cst.
3101 (get_varargs_alias_set, get_frame_alias_set): New decls.
3102 (record_base_value, record_alias_subset, lang_get_alias_set): Likewise.
3103 (new_alias_set, set_mem_attributes): Likewse.
3104 * function.c (struct temp_slot): ALIAS_SET is HOST_WIDE_INT.
3105 (assign_stack_temp_for_type): Likewise.
3106 Can split slot even if alias set since can copy.
3107 Set MEM_ALIAS_SET and MEM_SET_IN_STRUCT_P.
3108 (assign_temp): Use host_integerp and tree_low_cst.
3109 (put_var_into_stack): Properly handle SAVE_EXPR.
3110 (put_addressof_into_stack): Likewise.
3111 (assign_parms): Call set_mem_attributes.
3112 Delete #if 0 code.
3113 (fix_lexical_address): Put reference to chain into frame alias set.
3114 (expand_function_start): Call set_mem_attributes.
3115 * integrate.c (expand_inline_function): Likewise.
3116 * recog.c (adj_offsettable_operand): Use MEM_COPY_ATTRIBUTES.
3117 * regmove.c (try_apply_stack_adjustment): Likewise.
3118 * reload.c (push_reload, make_memloc): Likewise.
3119 * reload1.c (alter_reg): Make alias sets for spilled pseudos.
3120 * rtl.def (MEM): Update comment.
3121 * rtl.h (MEM_ALIAS_SET): Now uses XCWINT.
3122 (move_by_pieces): Change length to HOST_WIDE_INT.
3123 (record_base_value, record_alias_subset): Delete from here.
3124 * stmt.c (expand_decl): Call set_mem_attributes.
3125 * stor-layout.c (finish_record_layout): Call record_component_aliases.i
3126 * toplev.c (compile_file): Call init_alias_once earlier.
3127 * tree.c (lang_get_alias_set, get_alias_set, new_alias_set): Deleted
3128 from here: now in alias.c.
3129 * tree.h (struct tree_type): alias_set is HOST_WIDE_INT.
3130 (struct tree_decl): Likewise.
3131 (get_alias_set, new_alias_set, lang_get_alias_set): Deleted from here.
3132 * varasm.c (make_function_rtl, make_decl_rtl): Call set_mem_attributes.
3133 (output_constant_def, force_const_mem): Likewise.
7e585d16 3134
8c410416
RK
3135 * flow.c (propagate_block): If block has no successors, stores to
3136 frame are dead if not used.
3137
ecc9dd93
NS
31382000-05-31 Nathan Sidwell <nathan@codesourcery.com>
3139
3140 * stmt (expand_end_case): Reorder conversion sequence for jump
3141 table to avoid extra truncations.
3142
2bc63114
JL
3143Wed May 31 01:31:42 2000 Jeffrey A Law (law@cygnus.com)
3144
3145 * ifcvt.c (cond_exec_process_if_block): Do nothing if the last insn
3146 in the block is more than just a simple conditional branch.
3147 (noce_process_if_block): Similarly.
3148
885e80cc
AO
3149Tue May 30 22:25:57 2000 Alexandre Oliva <aoliva@cygnus.com>
3150
3151 * optabs.c (prepare_float_lib_cmp): Protect *px and *py from
3152 queue.
3153
ab577d8a
MM
31542000-05-30 Michael Meissner <meissner@redhat.com>
3155
3156 * dwarf2out.c (dwarf2out_frame_debug_expr): Ignore HIGH
3157 instructions. Treat LO_SUM operations as loading the full integer
3158 constant.
3159
d3bc8938
RH
31602000-05-30 Richard Henderson <rth@cygnus.com>
3161
3162 * combine.c (get_pos_from_mask): Test exact_log2 result as signed.
3163
48b710dd
RH
31642000-05-30 Richard Henderson <rth@cygnus.com>
3165
3166 * bb-reorder.c (emit_jump_to_block_after): Protect use of HAVE_return.
3167
26e903ee
BK
31682000-05-30 Bruce Korb <bkorb@gnu.org>
3169
3170 * fixinc/tests/*: Added expected result files for fixinc's make check
22e50c5b 3171 * fixinc/fixfixes(char_macro_*_fix): Restore original algorithm
26e903ee 3172
28ecb7ab
RH
31732000-05-30 Richard Henderson <rth@cygnus.com>
3174
3175 * config/alpha/alpha.md (*setne_internal): Use match_operator
3176 instead of working down from insn.
3177
7f094a94
KG
31782000-05-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3179
3180 * invoke.texi (-Wtraditional): Update WRT function macros.
3181
d3a36404
PDM
3182Tue May 30 09:57:32 2000 Philippe De Muyter <phdm@macqel.be>
3183
3184 * except.c (free_exception_table): Do not free NULL.
3185
37dbf7aa
ZW
31862000-05-29 Zack Weinberg <zack@wolery.cumb.org>
3187
3188 * cpplib.c (do_if): Don't save and restore only_seen_white here.
3189 * cppexp.c (_cpp_parse_expr): Save and restore only_seen_white
3190 and skipping here.
3191
6a3dbe65
RE
31922000-05-29 Richard Earnshaw (rearnsha@arm.com)
3193
7e585d16 3194 * flow.c (mark_used_reg): If a register is unconditionally live,
6a3dbe65
RE
3195 remove any conditional death information.
3196
b1a9f6a0
RH
31972000-05-29 Richard Henderson <rth@cygnus.com>
3198
3199 * final.c (current_output_insn): New.
3200 (final_scan_insn): Set it.
3201 * output.h: Declare it.
3202
5cb7d6b4
RH
32032000-05-29 Richard Henderson <rth@cygnus.com>
3204
c5daf9c4
RH
3205 * stor-layout.c (finalize_record_size): Fix typo.
3206
5cb7d6b4
RH
3207 * jump.c (redirect_jump): Don't emit NOTE_INSN_FUNCTION_END
3208 if nlabel is null.
3209
ea4a453b
ZW
32102000-05-29 Zack Weinberg <zack@wolery.cumb.org>
3211
3212 * cpplib.h (cpp_reader): Remove if_stack. Change
3213 potential_control_macro to a cpp_hashnode *. Add skipping flag.
3214 * cpphash.h (struct ihash): Change control_macro to a
3215 cpp_hashnode * and shorten name to cmacro.
3216 Add NEVER_REINCLUDE constant.
3217
3218 * cppfiles.c (redundant_include_p): Drop cpp_reader argument.
3219 Examine the cmacro node directly, no need to call cpp_defined.
3220 (_cpp_execute_include, read_include_file): Set cmacro to
3221 NEVER_REINCLUDE, not U"".
3222 * cpplex.c (cpp_push_buffer): Don't set new->if_stack.
3223 (cpp_get_token): If pfile->skipping is true, discard text and
3224 keep scanning until we hit a directive; don't expand macros.
3225
3226 * cpplib.c (struct if_stack): Remove if_succeeded, add
3227 was_skipping. Change control_macro to a cpp_hashnode * and
3228 shorten name to cmacro. Remove typedef IF_STACK.
3229 (parse_ifdef), detect_if_not_defined): Return a cpp_hashnode *.
3230 (conditional_skip, skip_if_group,
3231 consider_directive_while_skipping): Delete.
3232 (push_conditional): New.
3233 (_cpp_handle_directive): Don't process directives other than
3234 conditionals if we are skipping.
3235
3236 (do_ifdef, do_ifndef, do_if, do_else, do_elif, do_endif):
3237 Update to new scheme.
3238 (validate_else): Skip rest of line here, unconditionally.
3239 (_cpp_unwind_if_stack): The stack is per-buffer. Force
3240 pfile->skipping off.
3241
3242 (all): Remove `scare quotes' from error messages.
3243
86c82654
RH
32442000-05-29 Richard Henderson <rth@cygnus.com>
3245
3246 * function.c (emit_return_into_block): New line_note arg; emit it.
3247 (thread_prologue_and_epilogue_insns): Attempt to locate a line note
3248 for the close brace to accompany HAVE_return. Move all line notes
3249 following the epilogue to before the NOTE_INSN_EPILOGUE_BEG.
3250
8f4773ea
RH
32512000-05-29 Richard Henderson <rth@cygnus.com>
3252
3253 * longlong.h [__alpha] (count_leading_zeros): New.
3254 (count_trailing_zeros): New.
3255 (COUNT_LEADING_ZEROS_0): New.
3256
3257 * config/alpha/alpha.c (alpha_zero_comparison_operator): New.
3258 (alpha_split_conditional_move): New.
3259 * config/alpha/alpha-protos.h: Prototype them.
3260 * config/alpha/alpha.h (PREDICATE_CODES): Update.
3261 (CPP_CPU_DEFAULT_SPEC): Fix typo for EV67.
3262 * config/alpha/alpha.md: Update ffs cix commentary.
3263 (*ze_and_ne): New.
3264 (*nabssf2, *nabsdf2): New.
3265 (*mov[qhsd]icc_internal): Use add_operand.
3266 (if_then_else constant splitters): New.
3267 (*cmp_sadd_di, *cmp_sadd_si, *cmp_sadd_sidi): New.
3268 (*cmp_ssub_di, *cmp_ssub_si, *cmp_ssub_sidi): New.
3269
7b40bc6b
RH
32702000-05-29 Richard Henderson <rth@cygnus.com>
3271
d41638e4
RH
3272 * combine.c (force_to_mode) [MINUS]: Convert subtraction from
3273 a constant to NEG or NOT when conditions allow.
3274
085f1714
RH
3275 * combine.c (combine_simplify_rtx): Don't create an if_then_else
3276 unless both args are general_operand. Don't canonicalize plus
3277 to ior unless it helps.
3278
7b40bc6b
RH
3279 * toplev.c (rest_of_compilation): Set no_new_pseudos after flow1;
3280 instead track register_life_up_to_date. Toggle no_new_pseudos
7e585d16 3281 around if_convert.
7b40bc6b 3282
37c67319
GK
32832000-05-28 Geoff Keating <geoffk@cygnus.com>
3284
3285 * config/rs6000/rs6000.c (output_cbranch): Escape '%' characters
3286 so output_operand doesn't see them.
3287
1270c255
CP
3288Sun May 28 18:37:07 2000 Clinton Popetz <cpopetz@cygnus.com>
3289
3290 * lcm.c (make_preds_opaque): Fix comment.
7e585d16 3291 (optimize_mode_switching): Use NORMAL_MODE instead of
1270c255
CP
3292 MODE_USES_IN_EXIT_BLOCK. Change leftover instance of
3293 FP_MODE_NONE to no_mode. Rename MODE_AT_ENTRY to NORMAL_MODE.
3294 Handle insertions before an existing NOTE_INSN_BASIC_BLOCK.
3295 * tm.texi (OPTIMIZE_MODE_SWITCHING): Refer to NORMAL_MODE.
3296 (MODE_USES_IN_EXIT_BLOCK): Delete.
3297 (MODE_AT_ENTRY) Rename to NORMAL_MODE.
3298 * sh.h (MODE_USES_IN_EXIT_BLOCK): Delete.
3299 (MODE_AT_ENTRY): Rename to NORMAL_MODE.
3300 (MODE_NEEDED): Don't look for USE.
3301 (EPILOGUE_USES): Define.
3302
d7bfe267
PDM
3303Sun May 28 23:26:59 2000 Philippe De Muyter <phdm@macqel.be>
3304
3305 * mklibgcc.in (all): Variable initialised to `libgcc'.
3306
6f5ef761
GDR
33072000-05-28 Gabriel Dos Reis <gdr@codesourcery.com>
3308
3309 * toplev.h (skip_leading_substring): New macro.
3310 * toplev.c (decode_f_option): Use skip_leading_substring instead
3311 of strncmp.
3312 (decode_W_option): Likewise.
3313
055177dc
NC
33142000-05-28 Nick Clifton <nickc@cygnus.com>
3315
3316 * tm.texi (CONDITIONAL_REGISTER_USAGE): Document that it can
3317 modify reg_names.
3318
f83ed238
RH
33192000-05-28 Richard Henderson <rth@cygnus.com>
3320
9ef07cf1
RH
3321 * regclass.c (record_operand_costs): Protect reg_changes_size
3322 with CLASS_CANNOT_CHANGE_SIZE.
3323
f83ed238
RH
3324 * loop.c (instrument_loop_bct): Set JUMP_LABEL on the new insn.
3325
5828d725
RH
33262000-05-28 Richard Henderson <rth@cygnus.com>
3327
3328 * function.c (diddle_return_value): A pcc-style struct return
3329 returns a pointer.
3330
f8f769ea
ZW
33312000-05-27 Zack Weinberg <zack@wolery.cumb.org>
3332
3333 * cppfiles.c: Read files in, using mmap if possible, then
3334 prescan them separately.
3335 (read_file, read_with_read): New functions.
3336 * cpplex.c: Don't define UCHAR_MAX.
3337 (_cpp_read_and_prescan): Rename to _cpp_prescan. Don't read
3338 the file here.
3339
3340 * cppinit.c (handle_option): Automatically define __cplusplus,
3341 __OBJC__, __ASEEMBLER__, _LANGUAGE_FORTRAN here when we see
3342 the respective -lang switch.
3343
3344 * cpphash.h (enum node_type, struct hashnode, _cpp_lookup
3345 prototype): Move to...
3346 * cpplib.h: ... here. Rename struct hashnode to struct
3347 cpp_hashnode and give it a typedef. Rename _cpp_lookup to
3348 cpp_lookup. Add 'fe_value' slot, a union tree_node *.
3349
e79f71f7
GK
33502000-05-27 Geoffrey Keating <geoffk@cygnus.com>
3351
3352 * config/rs6000/rs6000.md (movsi): Constify 'name'.
3353
3354 * regclass.c [CLASS_CANNOT_CHANGE_SIZE]
3355 (class_can_change_size): New variable.
3356 (reg_changes_size): New variable.
3357 (init_reg_sets_1): Initialise class_can_change_size.
3358 (record_operand_costs): Remove subreg_changes_size.
3359 Don't pass it around. Instead update reg_changes_size.
3360 (regclass): Initialise and free reg_changes_size. If a register
3361 changes size, don't preference it to a class that contains
3362 registers that can't change size.
3363 (record_reg_classes): Don't look at subreg_changes_size.
3364
e087aeb2
RH
33652000-05-27 Richard Henderson <rth@cygnus.com>
3366
3367 * print-rtl.c (reg_names): Remove const.
3368 * regclass.c (reg_names): Likewise.
3369 * regs.h (reg_names): Likewise.
3370 * hard-reg-set.h (reg_names): Likewise.
3371
7d70b8b2
RH
33722000-05-27 Richard Henderson <rth@cygnus.com>
3373
3374 * config/rs6000/rs6000.md (untyped_call): Use GEN_CALL.
3375
4f1c5cce
RH
33762000-05-27 Richard Henderson <rth@cygnus.com>
3377
3378 * config/alpha/alpha.c (alpha_does_function_need_gp): Test
3379 TARGET_PROFILING_NEEDS_GP in the if, instead of with an ifdef.
3380 (alpha_expand_prologue): Emit prologue_mcount if needed.
3381 * config/alpha/alpha.h (TARGET_PROFILING_NEEDS_GP): Default to 0.
3382 * config/alpha/alpha.md (prologue_mcount): New.
3383 * config/alpha/linux.h (FUNCTION_PROFILER): Remove.
3384 (TARGET_PROFILING_NEEDS_GP): Undef before redefining.
3385 * config/alpha/netbsd.h: Likewise.
3386
a1920fc3
RH
33872000-05-27 Richard Henderson <rth@cygnus.com>
3388
3389 * config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19
3390 change to config/elfos.h.
3391
d80eb1e1
RH
33922000-05-27 Richard Henderson <rth@cygnus.com>
3393
3394 * Makefile.in (resource.o): Depend on except.h.
3395 * except.h (output_exception_table_data): Prototype.
3396 * genconfig.c (gen_peephole2): Prototype.
3397 * genemit.c (main): Include ggc.h.
3398 * genoutput.c: Revert parts of last change: include errors.h
3399 (main): Set progname.
3400 * recog.c: Include hard-reg-set.h before recog.h.
3401 * resource.c: Include except.h.
3402
3403 * config/alpha/alpha-protos.h (alpha_arg_info_reg_val): Protect
3404 with RTX_CODE.
3405 (alpha_write_linkage): Protect with BUFSIZ.
3406 (alpha_need_linkage): Update prototype.
3407 * config/alpha/alpha.c (function_arg): Move VMS code here.
3408 (alpha_links_base): Remove.
3409 (alpha_links): New.
3410 (mark_alpha_links_node, mark_alpha_links): New.
3411 (alpha_write_one_linkage): New.
3412 (alpha_need_linkage): Use a splay tree. Build the linkage symbol.
3413 (alpha_write_linkage): Use splay_tree_foreach.
3414 * config/alpha/alpha.md (call_vms): Use alpha_need_linkage
3415 to get the linkage symbol.
3416 (call_value_vms): Likewise.
3417 * config/alpha/elf.h (output_file_directive): Remove decl.
3418 (ctors_section, dtors_section): Prototype.
3419 (sbss_section, sdata_section): Prototype.
3420 * config/alpha/vms.h (FUNCTION_ARG): Remove.
3421 (readonly_section, link_section, literals_section): Prototype.
3422 (ctors_section, dtors_section): Prototype.
3423 (vms_valid_decl_attribute_p): Remove decl.
3424 (alpha_arg_type, alpha_arg_info_reg_val): Likewise.
3425
ed8afe3a
GK
34262000-05-27 Geoff Keating <geoffk@cygnus.com>
3427
4f9e0766
GK
3428 * reload.c (get_secondary_mem): Don't widen floating-point modes.
3429
ed8afe3a
GK
3430 * combine.c (subst): Honour CLASS_CANNOT_CHANGE_SIZE when
3431 substituting the REG in a (subreg:X (reg:Y ...)).
3432
f624ffa7
NB
34332000-05-28 Neil Booth <NeilB@earthling.net>
3434
3435 * cpplex.c (_cpp_lex_line): Merge vertical space. Flag
3436 first token of a line BOL. Update EOF code for this.
3437 Remove illegal directive check - it appears in the (not
3438 yet committed) caller.
3439 * cpplib.h (BOL): New flag.
3440
ad265aa4
NB
34412000-05-28 Neil Booth <NeilB@earthling.net>
3442
37dbf7aa 3443 * cpplex.c (_cpp_init_toklist): No comment space to initialise.
ad265aa4
NB
3444 (_cpp_free_toklist): No comment space to free.
3445 (expand_comment_space): Remove.
37dbf7aa
ZW
3446 (save_comment_space): Place the comment in the current token and
3447 not in a separate comment space.
3448 (_cpp_lex_line): Save comments during plain code and #define
3449 directives only.
3450 * cpplib.h (struct _cpp_toklist): Remove comment space.
ad265aa4 3451
d1d9a6bd
NB
34522000-05-28 Neil Booth <NeilB@earthling.net>
3453
3454 * cppexp.c (parse_assertion): Supply extra argument to
3455 _cpp_init_toklist.
3456 * cpplib.c (do_assert, do_unassert): Similarly.
3457 * cpphash.h (_cpp_init_toklist) Update.
3458 (_cpp_expand_token_space): New.
3459 (DUMMY_TOKEN, NO_DUMMY_TOKEN): New.
3460 * cpplex.c (_cpp_init_toklist): New argument.
3461 (parse_string2): New argument multiline_ok.
3462 (spell_token): Take a const cpp_token *.
3463 (INIT_NAME): Replace with INIT_TOKEN_NAME. Update tokens_used.
3464 (SPELL_ macros): Replace with enum.
3465 (expand_token_space): Replace with _cpp_expand_token_space.
3466 Take COUNT argument.
3467 (IS_DIRECTIVE): Update.
3468 (_cpp_lex_line): Update token structure before parsing number.
3469 Don't assume start at beginning of token list.
3470 (save_comment): Use INIT_TOKEN_NAME.
3471
c190ed67
ZW
34722000-05-27 Zack Weinberg <zack@wolery.cumb.org>
3473
f45c9d95
ZW
3474 * configure.in (stage1_warn_cflags): Add -Wstrict-prototypes
3475 -Wmissing-prototypes.
3476 * configure: Regenerate.
3477 * gcc.texi: Remove explanation of MD_CALL_PROTOTYPES.
3478
3479 * builtins.c, calls.c: Change all instances of gen_call_* or
3480 gen_sibcall_* to GEN_CALL_* and GEN_SIBCALL_*.
3481 * calls.c (struct_value_size_rtx): Separate definition from
3482 initialization to avoid unused variable warning.
3483
3484 * genflags.c (gen_macro): New function.
3485 (gen_proto): Call it for gen_call_* and gen_sibcall_*.
3486 (gen_nonproto): Delete.
3487 (gen_insn): Put all insns on the same obstack.
3488 (main): Generate prototypes for everything unconditionally.
3489
7e585d16 3490 * configure.in: Add AC_CHECK_TYPE(ssize_t). Remove commented
f12bc141
ZW
3491 out check for wchar_t.
3492 * acconfig.h: Add template for ssize_t. Remove @TOP@.
7e585d16
ZW
3493 * system.h: Add infrastructure for defining missing
3494 TYPE_MAX/TYPE_MIN macros. Use it to provide fallback
f12bc141
ZW
3495 definitions of UCHAR_MAX and SSIZE_MAX.
3496 * configure: Regenerate.
3497 * config.in: Regenerate.
3498
c190ed67
ZW
3499 * Makefile.in (libgcc2.ready): Rename to libgcc.ready.
3500 Depend on $(LANGUAGES) as well as $(GCC_PATCHES) and fixed
3501 headers.
3502 (clean): No need to delete libgcc1.a, libgcc1-asm.a,
3503 libgcc2.a, or libgcc1.null.
3504
23280139
RH
35052000-05-27 Richard Henderson <rth@cygnus.com>
3506
3507 * Makefile.in (recog.o): Don't depend on resource.h.
3508 * recog.c: Don't include resource.h.
3509 (recog_last_allowed_insn): Remove.
3510 (recog_next_insn): Remove.
3511 (struct peep2_insn_data): New.
3512 (peep2_insn_data, peep2_current): New.
3513 (peep2_next_insn): New.
3514 (peep2_regno_dead_p, peep2_reg_dead_p): New.
3515 (peep2_find_free_register): New.
3516 (peephole2_optimize): Track life information by insn as we go.
3517 * recog.h: Update declarations.
3518 * resource.c (find_free_register, reg_dead_p): Remove.
3519 * resource.h: Remove their declarations.
3520 * toplev.c: Include hard-reg-set.h before recog.h.
3521
3522 * genconfig.c (max_insns_per_peep2): New.
3523 (gen_peephole2): New.
3524 (main): Call it.
3525 * genemit.c (output_peephole2_scratches): Generate calls to
3526 peep2_find_free_register; adjust surrounding code.
3527 (main): Have insn-emit.c include hard-reg-set.h before recog.h.
3528 * genrecog.c (change_state): Don't track last_insn.
3529 (write_action): Write into *_pmatch_len before accepting.
3530 (write_tree): Adjust peephole2_insns and subroutines to match.
3531
3532 * config/i386/i386.md (all peepholes): Use peep2_regno_dead_p.
3533
d2c6a1b6
RH
3534 * config/alpha/alpha.c (hard_fp_register_operand): Mind the mode.
3535 (hard_int_register_operand): New.
3536 * config/alpha/alpha-protos.h: Declare it.
3537 * config/alpha/alpha.h (PREDICATE_CODES): Update.
3538 * config/alpha/alpha.md (peep2 patterns): Use hard_int_register_operand
3539 as needed; use peep2_reg_dead_p instead of dead_or_set_p.
3540
30196c1f
RH
35412000-05-27 Richard Henderson <rth@cygnus.com>
3542
3543 * function.c (thread_prologue_epilogue_insns): Don't move the
3544 line note at the head of the chain. Only force a lineno note
3545 before the end of block 0.
3546
d96a2fcd
RH
35472000-05-27 Richard Henderson <rth@cygnus.com>
3548
892ecf92
RH
3549 * gensupport.c (collect_insn_data): Record the maximum number
3550 of alternatives, not the last seen.
3551
d96a2fcd
RH
3552 * genoutput.c: Don't include errors.h.
3553 (struct data): Add lineno member.
3554 (have_error): New.
3555 (scan_operands): Use message_with_line instead of error.
3556 (validate_insn_alternatives): Likewise.
3557 (gen_insn): Accept and store the pattern's line number.
3558 (gen_peephole, gen_expand, gen_split): Likewise.
3559 (main): Don't set progname. Pass line_no to gen_foo.
3560
5401747e
RH
35612000-05-27 Richard Henderson <rth@cygnus.com>
3562
3563 * config/d30v/d30v.c (d30v_print_operand): Handle ':'.
3564 * config/d30v/d30v.h (PRINT_OPERAND_PUNCT_VALID_P): Accept ':'.
3565 * config/d30v/d30v.md (attr predicable): New.
3566 (all insn patterns): Mark non-predicable patterns; use %: on the rest.
3567 (andsi3*): Unify into one pattern.
3568 (iorsi3*, xorsi3*): Likewise.
3569 (peephole2 patterns): Use peep2_reg_dead_p; verify not a
3570 conditional return.
3571 (old cond_exec patterns): Remove.
3572 (define_cond_exec): New.
3573
8d5e6e25
RK
3574Sat May 27 11:01:27 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3575
3576 * tree.h (TREE_CODE_LENGTH): New macro.
3577 * c-common.c (c_find_base_decl): Use it.
3578 * expr.c (safe_from_p): Likewise.
3579 * print-tree.c (print_node): Likewise.
3580 * tree.c (make_node, copy_node, get_identifier): Likewie.
3581 (first_rtl_op, contains_placeholder_p, substitute_in_expr): Likewise.
3582 (build, build_nt, build_parse_node, simple_cst_equal): Likewise.
3583 * fold-const.c (make_range): Likewise.
3584 (fold): Likewise; also use first_rtl_op.
3585 * c-iterate.c (collect_iterators): Use first_rtl_op.
3586 * calls.c (calls_function_1): Likewise; also rename TYPE to CLASS.
3587 Use IS_EXPR_CODE_CLASS.
3588 (preexpand_calls): Likewise.
3589 * ggc-common.c (ggc_mark_trees): Rework to use first_rtl_op
3590 and TREE_CODE_LENGTH.
3591 * stmt.c (warn_if_unused_value): If no operands, no unused value.
3592
1d328b19
GK
35932000-05-26 Geoffrey Keating <geoffk@cygnus.com>
3594
aee86b38
GK
3595 * config/rs6000/rs6000.md (movsi_internal1): Use '%a1' rather
3596 than '%1(%*)'.
3597 (movdi_internal64): Likewise.
3598
1d328b19
GK
3599 * config/rs6000/rs6000.md: Correct order of operands for DImode
3600 boolean patterns.
3601
3602 * config/rs6000/rs6000.c (boolean_or_operator): New function.
3603 * config/rs6000/rs6000-protos.h (boolean_or_operator): Prototype it.
3604 * config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_or_operator.
3605 * config/rs6000/rs6000.md: Use boolean_or_operator instead of
3606 boolean_operator for the boolean patterns without NOTs.
3607
3608 * config/rs6000/rs6000.c (reg_or_logical_cint_operand): Rename
3609 from reg_or_u_cint_operand. Change comment and behaviour.
3610 (logical_operand): Clean up, add assertion.
3611 (non_logical_cint_operand): Also check for
3612 reg_or_logical_cint_operand.
3613 * config/rs6000/rs6000.h (PREDICATE_CODES): Update.
3614 * config/rs6000/rs6000.md (iorsi3): Use reg_or_logical_cint_operand
3615 in the expander.
3616 (xorsi3): Likewise.
3617 (iordi3): Likewise.
3618 (xordi3): Likewise.
3619
defd0dea
MM
36202000-05-26 Mark Mitchell <mark@codesourcery.com>
3621
3622 * tree.h (struct record_layout_info): Rename to (struct
3623 record_layout_info_s).
3624 * stor-layout.c (start_record_layout): Replace
3625 `record_layout_info' with `record_layout_info_s'.
3626
1bc48f82
RE
36272000-05-26 Richard Earnshaw <rearnsha@arm.com>
3628
3629 * flow.c (find_label_refs): New function.
7e585d16 3630 (find_basic_blocks_1): Call it for each alternative of a call
1bc48f82
RE
3631 placeholder.
3632
5f361012
RE
36332000-05-26 Richard Earnshaw <rearnsha@arm.com>
3634
3635 * ifcvt.c (cond_exec_get_condition): Set test_if to the SET_SRC
3636 of get_pc.
3637
a0e5a544
RH
36382000-05-25 Richard Henderson <rth@cygnus.com>
3639
3640 * config/alpha/alpha.c (alpha_comparison_operator): Don't be
3641 so strict about DImode.
3642 (alpha_swapped_comparison_operator): Likewise.
3643 * config/alpha/alpha.md (*setne_internal): Name it. Allow
3644 any integer output mode.
3645 (*setcc_internal): Likewise.
3646 (*setcc_swapped_internal): Likewise.
3647 (*movdicc_internal, *movdicc_lbc, *movdicc_lbs): Name them.
3648 (*mov[qhs]icc_internal): New.
3649 (*mov[qhs]icc_lbc, *mov[qhs]icc_lbs): New.
3650
b49425e4
DA
36512000-05-25 J. David Anglin <dave@hiauly1.hia.nrc.ca>
3652
3653 * vax.h (CPP_SPEC): Define __GFLOAT and GFLOAT when -mg is specified.
3654
f008a564
RH
36552000-05-25 Richard Henderson <rth@cygnus.com>
3656
3657 * bb-reorder.c (reorder_block_def): Reorder elements for size.
3658 Remove add_jump; add next; replace flags with visited.
3659 (rbd_init): Remove.
3660 (REORDER_BLOCK_HEAD, REORDER_BLOCK_VISITED): Remove.
3661 (REORDER_BLOCK_FLAGS, REORDER_BLOCK_INDEX): Remove.
3662 (REORDER_BLOCK_ADD_JUMP, REORDER_BLOCK_EFF_HEAD): Remove.
3663 (REORDER_BLOCK_EFF_END, REORDER_BLOCK_SCOPE): Remove.
3664 (RBI): New.
3665 (reorder_index, reorder_last_visited): Remove.
3666 (skip_insns_after_block): Rewrite to use a switch.
3667 (get_common_dest): Remove.
3668 (chain_reorder_blocks): Remove.
3669 (record_effective_endpoints): Split out from reorder_basic_blocks.
3670 (make_reorder_chain): Likewise. Loop until all blocks are placed.
3671 (make_reorder_chain_1): Renamed from old make_reorder_chain.
3672 Only construct the reorder chain, do not move insns. Try harder
3673 to tail recurse.
3674 (label_for_bb, emit_jump_to_block_after): New.
3675 (fixup_reorder_chain): Use them. Do bulk block movement. Examine
3676 and adjust the jump insns appropriately. Fixup basic_block_info.
3677 (verify_insn_chain): Always define.
3678 (relate_bbs_with_scopes): Call xmalloc, not xcalloc. Fix thinko
3679 in allocation size.
3680 (make_new_scope): Don't write zeros to calloc'd space.
3681 (build_scope_forest): Rely on xrealloc to DTRT.
3682 (reorder_basic_blocks): Don't build loop nest. Don't fail if
3683 profile_arc_flag. Streamline EH test.
3684
3685 * flow.c (redirect_edge_succ, redirect_edge_pred): New.
3686 * basic-block.h: Declare them.
3687
2d4aecb3
AO
36882000-05-25 Alexandre Oliva <aoliva@cygnus.com>
3689
3690 * emit-rtl.c (reset_used_decls): New function.
3691 (unshare_all_rtl_again): Call it.
3692
476f2869
ZW
36932000-05-25 Zack Weinberg <zack@wolery.cumb.org>
3694
3695 * cpplex.c (maybe_macroexpand): Warn about function-like
3696 macros used in non-function context, if -Wtraditional.
3697
88741818
MM
36982000-05-25 Mark Mitchell <mark@codesourcery.com>
3699
3700 * recog.c (peephole2_optimize): Use INSN_P.
3701
4e4017cb
RH
37022000-05-25 Richard Henderson <rth@cygnus.com>
3703
3704 * ifcvt.c (seq_contains_jump): New.
3705 (noce_try_store_flag_constants): Use it to fail conversion.
3706 (noce_try_store_flag_inc, noce_try_store_flag_mask): Likewise.
3707
0519ce30
MM
37082000-05-25 Mark Mitchell <mark@codesourcery.com>
3709
3710 * except.h (can_throw): Declare it.
3711 * except.c (can_throw): Give it external linkage.
3712 * resource.c (find_dead_or_set_registers): Use can_throw.
7e585d16 3713
a0ee3b83
RH
37142000-05-25 Richard Henderson <rth@cygnus.com>
3715
3716 * flow.c (mark_set_1): Don't record conditionally dead memory.
3717
7f1c097d
JH
37182000-05-25 Jan Hubicka <jh@suse.cz>
3719
3720 * combine.c (try_combine): Use any_condjump_p, any_uncondjump_p
3721 and pc_set at the place of simplejump_p and condjump_p.
3722 * cse.c (record_jump_equiv): Likewise.
3723 * emit-rtl.c (emit): Likewise.
3724 * explow.c (find_next_ref): Likewise.
3725 * flow.c (tidy_fallthru_edge): Likewise.
3726 (init_propagate_block_info): Likewise.
3727 * gcse.c (delete_null_pointer_checks): Likewise.
3728 * ifcvt.c (cond_exec_get_condition, noce_get_condition,
3729 dead_or_predicable): Likewise.
3730 * integrate.c (copy_insn_list): Likewise.
3731 * loop.c (scan_loop, verify_dominator, find_and_verify_loops,
3732 for_each_insn_in_loop, check_dbra_loop, get_condition,
3733 insert_bct, load_mems): Likewise.
3734 * resource.c (find_dead_or_set_registers): Likewise.
3735 * sibcalls.c (simplejump_p): Likewise.
3736 * unroll.c (copy_loop_body, reg_dead_after_loop): Likewise.
3737
acad7ed3
DE
37382000-05-25 David Edelsohn <edelsohn@gnu.org>
3739
3740 * rs6000.c (expand_block_move): Add 64-bit PowerPC doubleword move
3741 to STRING case. Use doubleword STRING move for TARGET_POWERPC64
3742 when unaligned.
3743 * rs6000.h (CONST_OK_FOR_LETTER_P, 'J'): unsigned HOST_WIDE_INT.
3744 (RETURN_ADDR_RTX): Use COUNT and FRAME, not count and frame.
3745 (LEGITIMIZE_RELOAD_ADDRESS): unsigned HOST_WIDE_INT high.
3746 * rs6000.md: Name various internal patterns.
3747
742dff15
JH
37482000-05-25 Jan Hubicka <jh@suse.cz>
3749
3750 * jump.c (invert_exp_1): Remove first argument, use pc_set
3751 to get the expression.
3752 (redirect_exp): Make static; redirect only the pc_set expression,
3753 remove first argument.
3754 (invert_exp): Remove first argument, make static.
3755 (jump_optimize): Use any_condjump_p, any_uncondjump_p and
3756 any_onlyjump at most places where we originaly did condjump_p
3757 and simplejump_p.
3758 (jump_back_p, follow_jumps, thread_jumps): Likewise.
3759 (delete_barrier_succesors): Use pc_set.
3760 (invert_jump_1, invert_jump, redirect_jump_1, redirect_jump): Update
3761 calls of invert_exp and redirect_exp.
3762 * rtl.h (redirect_exp, invert_exp): Remove.
3763 * unroll.c (copy_loop_body): Use invert_jump and redirect_jump.
3764
d1ee23e5
RH
37652000-05-25 Richard Henderson <rth@cygnus.com>
3766
3767 * stmt.c (expand_end_bindings): Fix thinko last change.
3768
ce152ef8 37692000-05-25 Andrew MacLeod <amacleod@cygnus.com>
742dff15 3770 Andrew Haley <aph@cygnus.com>
ce152ef8
AM
3771
3772 * except.c (func_eh_entry): Add emitted field.
3773 (new_eh_region_entry): Set emitted field to 0;
3774 (output_exception_table_entry): Only emit previously un-emitted data,
3775 and send it to the eh_data section.
3776 (output_exception_table): Break out common parts. Output
3777 exception table for entire compilation unit to eh_data section.
3778 (output_exception_table_data): Common parts of output_exception_table.
3779 Send output to eh_data section.
3780 (output_function_exception_table): Output exception table data for
3781 a single function to eh_data section.
3782 (free_exception_table): New external to free the table.
3783 * except.h (free_exception_table): Add prototype.
3784 (output_function_exception_table): Add prototype.
3785 * final.c (final_end_function): Output function exception table
3786 for IA64_UNWIND_INFO.
3787 (final_scan_insn): Emit any unwind directives for an insn.
3788
3789 * frame-dwarf2.c: New file containing all DWARF 2 specific code
3790 from frame.c.
3791 * frame.c: Remove all DWARF 2 specific code.
3792 * config/ia64/frame-ia64.c: New file.
7e585d16 3793 (gthread_stuff): Make all gthread available with
ce152ef8
AM
3794 IA64_UNWIND_INFO.
3795 (dwarf_fde): Define an IA64 struct for dwarf_fde.
3796 (__register_frame_info, __register_frame): Move to common area of file.
3797 (__register_frame_info_table, __register_frame_table): Move to common i
3798 area.
3799 (__deregister_frame_info, __deregister_frame): Move to common area.
3800 (__frame_init, find_fde): New versions for IA64_UNWIND_INFO.
3801 (read_uleb128): New version for ia64.
3802 (get_unwind_record): Read the next IA-64 unwind record.
3803 (read_R_record): Read a region header record.
3804 (process_a_b_reg_code): X record helper.
3805 (read_X_record): Read an X format record.
3806 (read_B_record): Read a B format record.
3807 (P3_record_types): List of record types matching the P3 format.
3808 (P7_record_types): List of record types matching the P7 format.
3809 (P8_record_types): List of record types matching the P8 format.
3810 (read_P_record): Read a P format record.
3811 (init_ia64_reg_loc): Set default fields for a register.
3812 (init_ia64_unwind_frame): Set defaults for all register records.
3813 (execute_one_ia64_descriptor): Execute one descriptor record.
3814 (rse_address_add): Calculate the position of a local reg in memory.
3815 (normalize_reg_loc): Turn a location descriptor into a memory address.
7e585d16 3816 (maybe_normalize_reg_loc): Only normalize a descriptor if it falls
ce152ef8
AM
3817 within a specified PC offset range.
3818 (get_real_reg_value): Given a register location, retrieve its value.
3819 (set_real_reg_value): Change the value of a register location.
3820 (copy_reg_value): Copy reg values, if needed.
3821 (copy_saved_reg_state): Copy all registers that need to be copied.
3822 (process_state_between): Normalize all frame register records that
3823 fall within the specified PC range.
7e585d16 3824 (frame_translate): Take a processed frame description, and turn
ce152ef8
AM
3825 everything into addresses.
3826 (build_ia64_frame_state ): Find and create frame state record for a PC.
3827 (get_personality): Get the personality routine for a given frame.
3828 (get_except_table): Get the exception table for a given frame.
3829 (record_name): Unwind record names for debugging.
3830 (print_record): Print and unwind record.
3831 (print_all_records): Print an entire unwind image.
3832 (__ia64_backtrace): Print a backtrace.
3833 (ia64_backtrace_helper): New function.
3834 (__register_frame_info_aux): New function.
3835 * config/ia64/crtend.asm (__do_frame_setup_aux): New function.
3836
3837 * frame.h (enum unw_record_type): New unwind record types.
3838 (struct unw_p_record, unw_b_record, unw_x_record) : New unwind records.
3839 (struct unw_r_record, unwind_record): New unwind record structs.
3840 (struct unwind_info_ptr): Unwind information layout.
7e585d16 3841 (IA64_UNW_LOC_TYPE_*): Macros for different types for location
ce152ef8
AM
3842 descriptors.
3843 (struct ia64_reg_loc): Register location description.
3844 (struct ia64_frame_state): Location of all registers in a frame.
3845 (struct object): Add pc_base and fde_end for IA64_UNWIND_INFO.
3846 * libgcc2.c (__ia64_personality_v1): Personality routine.
3847 (__calc_caller_bsp): Calculate the bsp register for the caller's
3848 frame.
7e585d16 3849 (ia64_throw_helper): Figure out who to return to and set up the
ce152ef8
AM
3850 registers.
3851 (__throw): Throw routine.
3852
3853 * output.h (assemble_eh_align, assemble_eh_label): New functions
7e585d16 3854 to generate EH info where we want it.
ce152ef8
AM
3855 (assemble_eh_integer): New function.
3856 * toplev.c (compile_file): Output module level exception table for
3857 non-ia64 targets.
7e585d16 3858 (main): Set exceptions_via_longjump and flag_new_exceptions based
ce152ef8
AM
3859 on IA64_UNWIND_INFO too.
3860
3861 * varasm.c (assemble_eh_label): Generate a label via
3862 ASM_OUTPUT_EH_LABEL if it has been specified.
7e585d16 3863 (assemble_eh_align): Generate an alignment directive via
ce152ef8
AM
3864 ASM_OUTPUT_EH_ALIGN if it has been specified.
3865 (assemble_eh_label): Generate an integer value via
3866 ASM_OUTPUT_EH_type if they have been specified.
3867 * config/ia64/ia64.c (rtx_needs_barrier): Add flushrs.
3868 (ia64_init_builtins): Add __builtin_ia64_bsp
7e585d16 3869 and __builtin_ia64_flushrs.
ce152ef8
AM
3870 (ia64_expand_builtin): Add IA64_BUILTIN_BSP and
3871 IA64_BUILTIN_FLUSHRS.
3872 * config/ia64/ia64.h (ia64_builtins): Add IA64_BUILTIN_BSP and
3873 IA64_BUILTIN_FLUSHRS.
3874
3875 * config/ia64/ia64.md (flushrs): New insn to flush the register
3876 stack. Add to unspec list.
3877
3878 * config/ia64/crtbegin.asm (frame_object): Change size.
3879 (__do_frame_setup_aux): New function.
3880 * config/ia64/crtend.asm: call __do_frame_setup_aux.
3881 * config/ia64/t-ia64 (LIB2ADDEH): Add.
3882 * Makefile.in (LIB2ADDEH): Add.
3883 (LIB2ADD): Use LIB2ADDEH.
7e585d16 3884
7bdebc3a
RH
38852000-05-24 Richard Henderson <rth@cygnus.com>
3886
3887 * recog.c (offsettable_address_p): If mode size is zero, assume
3888 BIGGEST_ALIGNMENT.
3889
ff5def20
DA
38902000-05-24 J. David Anglin <dave@hiauly.hia.nrc.ca>
3891
3892 * configure.in: Check for -Wno-long-long option support and improve
3893 handling of warning CFLAGS for stages 1 and 2.
3894 * Makefile.in (WARN_CFLAGS): Move definition to configure.in.
3895 * configure: Regenerate.
3896
c20a2ab1
JL
3897Wed May 24 19:37:53 2000 Jeffrey A Law (law@cygnus.com)
3898
3899 * gcc.texi: Remove contributor list. Instead include contrib.texi.
3900 * contrib.texi: New file.
3901
af198097
R
3902Thu May 25 02:27:22 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
3903
3904 * loop.c (basic_induction_var): Avoid double recording of an increment.
3905
98d1cd45
R
3906Thu May 25 02:19:27 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
3907
3908 * Back out this patch:
3909 Tue Dec 7 19:22:06 1999 Richard Henderson <rth@cygnus.com>
742dff15
JH
3910 * loop.h (struct induction): Add multi_insn_incr.
3911 * loop.c (basic_induction_var): New multi_insn_incr argument.
3912 Set it if we search back through previous insns for the biv.
3913 (record_biv): New multi_insn_incr argument; fill in struct induction.
3914 (strength_reduce): Discard an iv with multiple bivs, any of
3915 which require multiple insns to increment.
98d1cd45
R
3916
3917 * loop.c (check_insn_for_bivs): Remove bits copied from above patch.
3918
db7ba742
R
3919Thu May 25 02:09:10 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
3920
3921 * rtl.h (loc_mentioned_in_p): Declare.
3922 * reload.c (loc_mentioned_in_p): Moved from here...
3923 * rtlanal.c (loc_mentioned_in_p): to here. No longer static.
3924 Fix loop increment for 'E' handling.
3925 * loop.c (strength_reduce): When doing biv->giv conversion,
3926 take multi-insn biv increments into account.
3927
04da69d3
JM
39282000-05-24 Jason Merrill <jason@casey.soma.redhat.com>
3929
3930 * stmt.c (expand_end_bindings): Look through NOTEs to find a
3931 BARRIER.
3932
f5e846c8
MM
39332000-05-24 Mark Mitchell <mark@codesourcery.com>
3934
3935 * calls.c (expand_call): Handle cleanups in tail-recursion
3936 arguments analagously to cleanups in sibling calls.
3937
ba34d877
KG
39382000-05-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3939
3940 * simplify-rtx.c: Rename macro SIGN_EXTEND to HWI_SIGN_EXTEND.
3941 All callers changed.
3942
ea4da9db
AO
39432000-05-24 Alexandre Oliva <aoliva@cygnus.com>
3944
3945 * expr.c (expand_assignment, store_expr, expand_expr,
3946 expand_expr_unaligned): Set in_check_memory_usage while emitting
3947 chkr_check_addr libcall.
3948
d08230fe
NC
39492000-05-24 Nick Clifton <nickc@cygnus.com>
3950
3951 * fold-const.c (extract_muldiv): When constructing a
3952 multiplier/divisor, do not expect const_binop to correctly
3953 determine if overflow has occured, so check explicitly.
3954
0543d026
AO
39552000-05-24 Alexandre Oliva <aoliva@cygnus.com>
3956
3957 * c-decl.c (build_enumerator): Don't modify the value's type,
3958 convert it.
3959
3c56b105
AJ
39602000-05-24 Andreas Jaeger <aj@suse.de>
3961
3962 * mips.h (LINKER_ENDIAN_SPEC): Pass -EL to linker by default.
3963
b39d221a
EC
39642000-05-24 Eric Christopher <echristo@cygnus.com>
3965
3966 * configure.in: Redefine inhibit_libc conditions.
3967 * libgcc2.c: Remove inhibit_libc conditional define.
3968 * configure: Regenerate.
3969
d6c6b553
PE
39702000-05-24 Phil Edwards <pme@sourceware.cygnus.com>
3971
3972 * configure.in: For --enable-languages=LIST, check for empty LIST.
3973 * configure: Regenerate.
3974
53e2d849
LB
39752000-05-24 Lars Brinkhoff <lars@nocrew.org>
3976
3977 * pdp11.h (STACK_BOUNDARY): Define.
3978
5896bebb
JJ
39792000-05-24 Jakub Jelinek <jakub@redhat.com>
3980
3981 * ifcvt.c (if_convert): Update life info globally.
3982
5c6df058
AO
39832000-05-24 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
3984
3985 * emit-rtl.c (unshare_all_decls): New function.
3986 (unshare_all_rtl): Call it.
3987
cd2b33d0
NC
39882000-05-23 Nick Clifton <nickc@cygnus.com>
3989
3990 * configure.in: Treat 'strongarm' as if it were 'arm' when
3991 determining cpu type.
3992
3993 * configure: Regenerate.
3994
3995 * config/arm/arm.c: Change 'char *' to 'const char *' for cases
3996 where constant strings are involved.
3997
3998 * config/arm/arm.h (arm_condition_codes): Change type to 'const
3999 char *'.
4000
4001 * config/arm/arm-protos.h: Change 'char *' to 'const char *' for
4002 cases where constant strings are involved.
4003
8ceaac3c
CP
4004Tue May 23 15:08:31 2000 Clinton Popetz <cpopetz@cygnus.com>
4005
4006 * config/sh/sh.c (gen_far_branch, split_branches): Update
4007 to reflect new prototypes for redirect_jump and invert_jump.
4008 (sh_insn_length_adjustment): Get rid of const warnings.
4009
923c2d86
KH
40102000-05-23 Kazu Hirata <kazu@hxi.com>
4011
4012 * invoke.texi (Options for Debugging Your Program or GCC): Update
4013 the names of dump files.
4014
e38df833
PDM
4015Tue May 23 13:58:52 2000 Philippe De Muyter <phdm@macqel.be>
4016
4017 * configure.in (NO_MINUS_C_MINUS_O): Fix thinko in previous fix.
4018 * configure: Regenerated.
4019
3839069b
ZW
40202000-05-23 Zack Weinberg <zack@wolery.cumb.org>
4021
4022 * simplify-rtx.c (SIGN_EXTEND): New macro.
7e585d16 4023 (simplify_unary_operation, simplify_binary_operation,
3839069b 4024 simplify_relational_operation): Use SIGN_EXTEND. Make low
7e585d16 4025 halves of (low, high) pairs unsigned if they weren't already.
3839069b
ZW
4026 (simplify_ternary_operation): Cast INTVAL to unsigned before
4027 comparing to a MODE_BITSIZE.
4028
f31e826b
KG
40292000-05-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4030
4031 * aclocal.m4 (gcc_AC_CHECK_DECL, gcc_AC_CHECK_DECLS): New macros
4032 rewritten from the internals of gcc_AC_NEED_DECLARATION{S}.
7e585d16 4033
f31e826b
KG
4034 * configure.in (gcc_AC_CHECK_DECLS): Call this instead of
4035 gcc_AC_NEED_DECLARATIONS.
4036
4037 * dwarfout.c: Don't prototype time().
4038
4039 * gcc.c: Check HAVE_DECL_* instead of NEED_DECLARATION_*.
4040
4041 * system.h: Likewise.
4042
4043 * toplev.c: Likewise.
4044
04de7314
ZW
40452000-05-23 Zack Weinberg <zack@wolery.cumb.org>
4046
4047 * c-decl.c (pushdecl): Invert sense of test for non-global types.
4048
a3afe920
R
4049Tue May 23 18:11:42 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
4050
4051 * reload1.c (reload_cse_move2add): Honor TRULY_NOOP_TRUNCATION.
4052
ed7fd6c8
JL
40532000-05-23 Jonathan Larmour <jlarmour@redhat.co.uk>
4054
4055 * config/mips/elf64.h (CTOR_LISTS_DEFINED_EXTERNALLY): Define
4056
b81f53a1
RK
4057Tue May 23 06:50:29 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4058
4059 * config/alpha/alpha.c: Remove #ifdef HAIFA since now only scheduler.
4060 (alpha_start_function): Never write ..ng label if VMS or NT.
4061 (alpha_align_insns): Remove GP_IN_USE arg.
4062 Alignment now unsigned.
4063 (alpha_reorg): Don't pass GP_IN_USE arg to alpha_align_insns.
4064 * config/alpha/alpha.md (prologue_ldgp): Split into one define_expand
4065 and two define_insn's.
4066
3c094e22
RH
40672000-05-22 Richard Henderson <rth@cygnus.com>
4068
4069 * combine.c (simplify_comparison): Use trunc_int_for_mode.
4070
163d3408
RH
40712000-05-22 Richard Henderson <rth@cygnus.com>
4072
4073 * stor-layout.c (place_field): Change rli->size to rli->offset.
4074
ca1117cc
RH
40752000-05-22 Richard Henderson <rth@cygnus.com>
4076
7e585d16 4077 * function.c (thread_prologue_and_epilogue_insns): Make sure
ca1117cc
RH
4078 existing line number notes appear after the prologue.
4079
941cc05a
RK
4080Mon May 22 21:49:00 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4081
4082 * config/alpha/alpha.c (alpha_fnname): New static variable.
4083 (print_operand, case '~'): New case.
4084 (alpha_expand_prologue): Emit prologue_ldgp insn if needed.
4085 (alpha_start_function): Set alpha_fnname.
4086 Write "ng" label if no ldgp; don't write ldgp insn.
4087 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): New case '~'.
4088 * config/alpha/alpha.md (prologue_ldgp): New define_insn.
4089
46972a36
CP
4090Mon May 22 11:30:48 2000 Clinton Popetz <cpopetz@cygnus.com>
4091
4092 * jump.c (jump_optimize_1): Don't increment LABEL_NUSES
4093 on deleted labels.
4094
5dd33f4b
ZW
40952000-05-22 Zack Weinberg <zack@wolery.cumb.org>
4096
4097 * varasm.c (eh_frame_section): Revert change to argument list.
4098
2bc9f98c
RK
4099Mon May 22 13:14:03 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4100
678164a5
RK
4101 * optabs.c (can_extend_p): Allow unsignedp to have any nonzero value.
4102 (gen_extend_insn, can_fix_p, can_float_p): Likewise.
7e585d16 4103
2bc9f98c
RK
4104 * final.c (final_scan_insn, case NOTE_INSN_FUNCTION_BEG): Remove
4105 dangling "else" that causes "break" to be conditional.
4106 Also remove unneeded code at start.
4107
37941398
PDM
4108Mon May 22 17:31:35 2000 Philippe De Muyter <phdm@macqel.be>
4109
4110 * m68k/m68k.h (STORE_FLAG_VALUE): Macro set to (-1), not -1.
4111 * fx80/fx80.h, i370/i370.h, m88k/m88k.h (STORE_FLAG_VALUE): Ditto.
4112 * gmicro/gmicro.h, we32k/we32k.h (STORE_FLAG_VALUE): Ditto.
4113
1f046771
JJ
41142000-05-22 Jakub Jelinek <jakub@redhat.com>
4115
4116 * config/sparc/sparc.md (movdf_insn_v9only_vis): fzero has
4117 just one argument.
4118
a0c33338
RK
4119Mon May 22 06:57:49 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4120
4121 * alias.c (record_component_aliases): New function.
4122 * tree.h: Clean up some declarations and comments.
4123 (record_component_aliases): New declaration.
4124 * tree.c (get_alias_set): If type and has alias set, use it.
4125
a774e06e
RH
41262000-05-22 Richard Henderson <rth@cygnus.com>
4127
4128 * simplify-rtx.c (simplify_ternary_operation): Try to simplify
4129 IF_THEN_ELSE to a setcc form.
0dab8f8a 4130 * jump.c (can_reverse_comparison_p): Be prepared for insn null.
a774e06e 4131
93a718f6
KG
41322000-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4133
4134 * fixinc/inclhack.def (sun_malloc): Handle `calloc'.
4135 (sun_malloc, sysz_stdtypes_for_sun): Add test_text.
4136
f85cf636
RK
4137Sun May 21 16:42:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4138
4139 * combine.c (try_combine): Handle i3_subst_into_i2 case when I2 is
4140 not a PARALLEL.
4141
242b0ce6
AO
41422000-05-20 Alexandre Oliva <aoliva@cygnus.com>
4143
212bc5fa
AO
4144 * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
4145 * config/mn10300/mn10300.c (print_operand): Likewise.
4146
7f251dee
AO
4147 * final.c (split_double): Right shift of negative values is not
4148 portable.
4149
13462862
AO
4150 * ifcvt.c (if_convert): Scan and kill dead code.
4151
242b0ce6
AO
4152 * emit-rtl.c (unshare_all_rtl): Store the copied rtx.
4153
fbd40359
ZW
41542000-05-20 Zack Weinberg <zack@wolery.cumb.org>
4155
4156 * diagnostic.c: Eliminate implicit int.
4157 * except.c, gcc.c: Add static prototypes.
4158 * final.c (final_end_function): Mark file arg ATTRIBUTE_UNUSED.
4159 * gensupport.c (process_rtx): Use XVEC to initialize vector
4160 slot of 'split'.
4161
7e585d16 4162 * print-rtl.c: If DEBUG_REGISTER_NAMES, define static
fbd40359
ZW
4163 debug_reg_names instead of static reg_names. If not, define
4164 global reg_names.
4165 * regclass.c: Don't define global reg_names unless
4166 DEBUG_REGISTER_NAMES is defined.
4167
4168 * reload1.c (order_regs_for_reload): Remove unused variable.
4169 * varasm.c: Include output.h after defaults.h. Define
4170 eh_frame_section as function of no args, not of unspecified args.
4171
4172 * gcc.c: Constify argbuf; arguments to store_arg,
4173 process_command, main; elements of struct command and struct
4174 switchstr; local variables in execute, process_command, main.
4175
cd64831f
BK
41762000-05-20 Bruce Korb <bkorb@gnu.org>
4177
cb8d5168 4178 * fixinc/inclhack.def: many applications of c_fix=format + tests
cd64831f 4179 * fixinc/check.diff: regenerated
a8228686 4180 * fixinc/fixincl.x: regenerated
cd64831f 4181
dc1618bc
RK
4182Sat May 20 09:30:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4183
ac3d9668
RK
4184 * alias.c: Clarify some comments.
4185 (record_base_value): REGNO is unsigned.
4186 * rtl.h (record_base_value): Likewise.
4187
dc1618bc
RK
4188 * alias.c (aliases_everything_p): Don't special-case QImode here.
4189 * c-common.c (c_get_alias_set): Do it here.
4190 Handle BIT_FIELD_REF by getting alias info for arg.
4191 Use POINTER_TYPE_P.
4192
de467fe7
AO
41932000-05-20 Alexandre Oliva <aoliva@cygnus.com>
4194
4195 * mklibgcc.in: Restore rule to create ${dir}.
4196
34840988
L
4197Sat May 20 08:45:41 2000 H.J. Lu <hjl@gnu.org>
4198
4199 * Makefile.in (libgcc.mk): Depend on xgcc$(exeext) for
4200 GCC_FOR_TARGET used by MULTILIBS.
4201 * mklibgcc.in: Make sure each .o file depends on the
4202 directory it will be in.
4203 Make the multilib directory depends libgcc.
4204
b71e9845
L
4205Sat May 20 08:29:28 2000 H.J. Lu <hjl@gnu.org>
4206
4207 * Makefile.in (bootstrap): Unset LANG_LIB2FUNCS for stage 1.
4208
c2b63960
AO
4209Sat May 20 07:27:35 2000 Alexandre Oliva <aoliva@cygnus.com>
4210
4211 * fold-const.c (make_range): Handle degenerated intervals.
4212 Fixes c-torture/execute/991221-1.c
4213
efc9bd41
RK
4214Fri May 19 18:16:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4215
4216 * cse.c (cse_basic_block): Only call find_reg_note if REG_NOTES not 0.
4217 * reload.c (find_equiv_reg): Likewise.
4218 * alias.c (init_alias_analysis): Likewise.
4219 Only call prologue_epilogue_contains on insns.
4220 * basic-block.h (REG_SET_TO_HARD_REG_SET): Call new function.
4221 * bb-reorder.c (hard-reg-set.h): Include earlier.
4222 * haifa-sched.c (hard-reg-set.h): Likewise.
4223 * ifcvt.c (hard-reg-set.h): Likewise.
4224 * local-alloc.c (hard-reg-set.h): Likewise.
4225 * loop.c (hard-reg-set.h): Likewise.
4226 * predict.c (hard-reg-set.h): Likewise.
4227 * regrename.c (hard-reg-set.h): Likewise.
4228 * flow.c (hard-reg-set.h): Likewise.
4229 (reg_set_to_hard_reg_set): New function.
4230 * bitmap.c (regs.h, basic-block.h): No longer include.
4231 (bitmap.h): Now include.
4232 * conflict.c (hard-reg-set.h): Include.
4233 * profile.c (hard-reg-set.h): Likewise.
4234 * print-rtl.c (hard-reg-set.h): Likewise.
4235 * sbitmap.c (hard-reg-set.h): Likewise.
4236 * toplev.c (hard-reg-set.h): Likewise.
4237 * unroll.c (hard-reg-set.h, basic-block.h): Likewise.
4238 * hard-reg-set.h (reg_names): Now constant.
4239 * regs.h (reg_names): Likewise.
4240 * regclass.c (reg_names): Likewise.
4241 * loop.h (basic-block.h): No longer include.
4242 (bitmap.h): Now include.
4243 * reload1.c (order_regs_for_reload): Avoid loop over reg sets.
4244 * Makefile.in (LOOP_H, sbitmap.o, profile.o): Reflect above changes.
4245 (toplev.o, print-rtl.o, conflict.o, unroll.o, bitmap.o): Likewise.
4246
51891abe
JH
42472000-05-19 Jan Hubicka <jh@suse.cz>
4248 Richard Henderson <rth@cygnus.com>
4249
4250 * basic-block.h (struct edge_def): New field "count".
4251 (struct basic_block_def): Likewise.
4252 * flow.c (entry_exit_blocks): Add count fileds.
4253 (split_edge): Keep count information up-to-date.
4254 (dump_edge_info, dump_flow_info): Dump count fields.
4255
4256 * final.c (count_instrumented_edges): Rename to edge from arc.
4257 (end_final): Update users.
4258 * profile.c: Include expr.h, basic-block.h.
4259 (struct adj_list, ARC_TARGET, ARC_SOURCE, ARC_COUNT): Kill.
4260 (struct bb_info, label_to_bb, label_to_bb_size, bb_graph): Kill.
4261 (ignore_next_note, return_label_execution_count): Kill.
4262 (bbg_file_name, da_file_name): Kill.
4263 (edge_info, bb_info): New structures.
4264 (EDGE_INFO, BB_INFO, GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): New macros.
4265 (count_instrumented_edges, total_num_edges): Rename to edge from arc.
4266 (total_num_edges_instrumented): Likewise.
4267 (init_arc, expand_spanning_tree): Kill.
4268 (fill_spanning_tree, tablejump_entry_p): Kill.
4269 (instrument_edges): Rewrite from instrument_arcs to use
4270 commit_edge_insertions infrastructure.
4271 (compute_branch_probabilities): Remove arguments; rewrite for
4272 CFG infrastructure; use rtl_dump_file directly.
4273 (branch_prob, find_spanning_tree): Likewise.
4274 (union_groups, find_group): New.
4275 (init_branch_prob): Make bbg_file_name and da_file_name local.
4276 (end_branch_prob): Use rtl_dump_file directly.
4277 (init_edge_profiler): Rename to edge from arc.
4278 (output_arc_profiler): Kill.
4279 (gen_edge_profiler): New.
4280 (output_func_start_profiler): Turn off profiling. Make the
4281 constructor static when we can.
4282 * rtl.h (branch_prob, end_branch_prob): Update prototypes.
4283
4284 * toplev.c (DFI_flow): Remove.
4285 (DFI_cfg, DFI_life): New.
4286 (dump_file): Update accordingly.
4287 (compile_file): Call end_branch_prob if profile_arc_flag too.
4288 (rest_of_compilation): Move flow1 cfg creation to DFI_cfg. Do edge
4289 profiling after the CFG is built. Move flow1 life analysis to
4290 DFI_life. Always estimate remaining probabilities.
4291
228c4d97
RH
42922000-05-19 Richard Henderson <rth@cygnus.com>
4293
b6cfd264
RH
4294 * ifcvt.c (find_if_case_2): Don't allow THEN to be EXIT.
4295
228c4d97
RH
4296 * flow.c (make_edges): The sibling call edge to exit is abnormal.
4297
9ba11d5a
RH
42982000-05-19 Richard Henderson <rth@cygnus.com>
4299
4300 * jump.c (redirect_jump): Add delete_unused argument. Don't
4301 remove labels and code following when LABEL_NUSES goes to zero.
4302 (invert_jump): Likewise.
4303 (jump_optimize_1): Fix redirect/invert arguments.
4304 (do_cross_jump, thread_jumps): Likewise.
4305 * flow.c (split_edge): Likewise.
4306 * reorg.c (optimize_skip): Likewise.
4307 (reorg_redirect_jump, relax_delay_slots, dbr_schedule): Likewise.
4308 * profile.c (instrument_arcs): Likewise.
4309 * loop.c (find_and_verify_loops): Likewise. Fix indentation.
4310 * rtl.h: Update prototypes.
4311
555a0aa7
CP
4312Fri May 19 12:05:13 2000 Clinton Popetz <cpopetz@cygnus.com>
4313
7e585d16 4314 * ssa.c (convert_from_ssa): Tell life_analysis we need death
555a0aa7
CP
4315 notes.
4316 (make_regs_equivalent_over_bad_edges): Only look at abnormal
4317 critical edges.
4318
a58f64f5
ZW
43192000-05-19 Zack Weinberg <zack@wolery.cumb.org>
4320
021c89ed 4321 * cpphash.c (funlike_macroexpand): Make sure not to walk p1
7e585d16 4322 past l1 when deleting whitespace and markers.
021c89ed 4323
a58f64f5
ZW
4324 * cpplex.c (_cpp_scan_until): Clear AUX field of tokens.
4325 * cpplib.c (do_unassert): Put the list to compare against on
4326 the stack.
4327
da6d3adf
BK
43282000-05-19 Bruce Korb <bkorb@gnu.org>
4329
4330 * fixinc/README: cleaned up old documentation
4331 * fixinc/check.diff: regenerated & verified on OSR5 on ix86
4332 * fixinc/check.tpl: compute the list of needed directories
4333 emit "#if defined(name)" because of conflict
4334 omit machine name differences from output differences
4335 * fixinc/inclhack.def( m88k_multi_incl ): Use `wrap' function
4336 (machine_name): change test text to use `sed' markers
4337 * fixinc/fixincl.x: regen
4338
f2b33981
RK
4339Fri May 19 06:49:35 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4340
4341 * config/elfos.h (SELECT_SECTION): Don't access DECL_INITIAL of
4342 a CONSTRUCTOR.
4343
c6fd0f17
CD
43442000-05-18 Chris Demetriou <cgd@sibyte.com>
4345
4346 * gcc.texi (MULTILIB_EXCEPTIONS): Correct example and update
4347 it to match the current practice.
4348
e7f731a7
MM
43492000-05-18 Mark Mitchell <mark@codesourcery.com>
4350
4351 * Makefile.in (STAGESTUFF): Fix typo in spelling of s-under.
4352
a8393d5d
RH
43532000-05-18 Richard Henderson <rth@cygnus.com>
4354
4355 * rtlanal.c (insn_dependant_p, insn_dependant_p_1): New.
4356 * rtl.h (insn_dependant_p): Declare it.
4357 * loop.c (strength_reduce): Use it.
4358
036182e7
AO
43592000-05-18 Alexandre Oliva <aoliva@cygnus.com>
4360
4361 * config/mn10300/mn10300.c (expand_prologue, expand_epilogue):
4362 16-bit and 64-bit clean-up.
4363
2838397c
ME
43642000-05-18 Mark Elbrecht <snowball3@bigfoot.com>
4365
9ba11d5a 4366 * configure.in (*-pc-msdosdjgpp): Set float_format to none.
2838397c
ME
4367 * configure: Rebuilt.
4368
1b3459d2
ZW
43692000-05-18 Zack Weinberg <zack@wolery.cumb.org>
4370
4371 * genopinit.c: Use $ for escape sequences in optab patterns.
4372 Remove backslashes from optab patterns. Change $A, $B, $C to
4373 expand to (int) whatever instead of just whatever; remove
4374 explicit (int) from all optab patterns.
4375
4376 * gensupport.c (xmalloc, xrealloc, xstrdup): Provide.
4377 * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c,
4378 genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c,
4379 genrecog.c: Remove private copies of xmalloc, xrealloc, and
4380 xstrdup.
4381
3fe3a08f
RH
43822000-05-18 Richard Henderson <rth@cygnus.com>
4383
4384 * jump.c (jump_optimize_1): Base minimum insn count during
4385 find_cross_jump on BRANCH_COST.
4386
21835d9b
JJ
43872000-05-18 Jakub Jelinek <jakub@redhat.com>
4388
4389 * print-rtl.c (print_rtx): Only print note line number as string
4390 if between NOTE_INSN_BIAS and NOTE_INSN_MAX.
4391 * final.c (final_scan_insn): Do nothing for note line number 0.
4392
099049da
JJ
43932000-05-18 Jakub Jelinek <jakub@redhat.com>
4394
4395 * gcc-common.c (ggc_mark_rtx_children): Mark NOTE_EXPECTED_VALUE
4396 from NOTE_INSN_EXPECTED_VALUE notes and NOTE_SOURCE_FILE from
4397 NOTE_INSN_DELETED_LABEL.
4398
265f5849
NC
43992000-05-18 Nick Clifton <nickc@cygnus.com>
4400
4401 * config/arm/unknown-elf.h (UNIQUE_SECTION): Place constant,
4402 uninitialised data in .rodata not .bss, and do not interpret an
4403 error in the initialisation value as meaning that the variable
4404 should be placed in the .bss section.
4405
3642ea2f
PDM
4406Thu May 18 12:10:18 2000 Philippe De Muyter <phdm@macqel.be>
4407
4408 * configure.in (NO_MINUS_C_MINUS_O): Test `$ac_cv_prog_cc_${ac_cc}_c_o',
4409 not `$ac_cv_prog_cc_cc_c_o'.
4410 * configure: Regenerated.
4411
7aba5a5f
CD
44122000-05-18 Chris Demetriou <cgd@sibyte.com>
4413 Richard Henderson <rth@cygnus.com>
4414
4415 * c-common.h (enum c_tree_index): Add g77 type entries.
4416 (g77_integer_type_node, g77_uinteger_type_node): New.
4417 (g77_longint_type_node, g77_ulongint_type_node): New.
4418 * c-decl.c (init_decl_processing): Initialize them.
4419
009ac3d3
RH
44202000-05-18 Richard Henderson <rth@cygnus.com>
4421
14f3e03b
RH
4422 * config/h8300/h8300.md (subs patterns): Use %G to negate.
4423
009ac3d3
RH
4424 * config/h8300/h8300.c (ok_for_bclr): Take a HOST_WIDE_INT.
4425 (small_power_of_two): Likewise; use exact_log2.
4426 (adds_subs_operand, one_insn_adds_subs_operand): Remove.
4427 (output_adds_subs): Remove.
4428 (two_insn_adds_subs_operand): New.
4429 (split_adds_subs): New.
4430 * config/h8300/h8300-protos.h: Update.
4431 * config/h8300/h8300.h (CONST_OK_FOR_J): Cast to uns HOST_WIDE_INT.
4432 (CONST_OK_FOR_L): Match strict adds operands.
4433 (CONST_OK_FOR_N): Match struct subs operands.
4434 * config/h8300/h8300.md (adds_subs insns): Remove.
4435 (addhi patterns): Output adds/subs directly.
4436 (addsi_h8300h): Likewise.
4437 (addhi/addsi splitters): New. Decompose two_insn_adds_subs_operand.
4438
15dad1d9
ZW
44392000-05-18 Zack Weinberg <zack@wolery.cumb.org>
4440
4441 * cppexp.c (parse_assertion): New.
4442 (lex): Call it for CPP_HASH. Remove CPP_ASSERTION case.
4443 (_cpp_parse_expr): Remove case '#'. Don't set
4444 parsing_if_directive.
4445 * cpphash.c (collect_objlike_expansion,
4446 collect_funlike_expansion, collect_params,
4447 _cpp_create_definition): The list no longer has a trailing
4448 VSPACE token.
4449 * cpphash.h (enum node_type): Add T_ASSERTION.
4450 (struct hashnode): Remove aschain, add pred.
4451 (struct predicate): New.
4452 Update prototypes.
4453
4454 * cpplex.c (expand_token_space): Handle both offset and
4455 nonoffset lists.
4456 (init_token_list, _cpp_free_token_list, _cpp_parse_assertion): Delete.
4457 (_cpp_init_toklist, _cpp_clear_toklist, _cpp_free_toklist,
4458 _cpp_slice_toklist, _cpp_squeeze_toklist, _cpp_equiv_tokens,
4459 _cpp_equiv_toklists): New.
4460 (_cpp_scan_line): Rename to _cpp_scan_until; add ability to
4461 stop at any single-character token, not just newline.
4462 (_cpp_lex_token): Remove special cases for #define and #if.
4463 (cpp_get_token): Expect # as a separate token type. Remove
4464 DIRECTIVE case.
4465 (_cpp_get_directive_token): Remove DIRECTIVE case.
4466 (_cpp_lex_line, _cpp_lex_file, _cpp_init_input_buffer): Update.
4467
4468 * cpplib.c (_cpp_check_directive): Set dirno and
4469 SYNTAX_INCLUDE bit of flags, not dir_handler and dir_flags.
4470 (_cpp_handle_directive): Run # <number> through the same logic
4471 as normal directives.
4472 (do_define): Don't set parsing_define_directive. Use
4473 _cpp_scan_until. The list does not have a VSPACE at the end.
7e585d16 4474 (do_if): Save, clear, and restore only_seen_white around
15dad1d9
ZW
4475 _cpp_parse_expr.
4476 (skip_if_group): s/CPP_DIRECTIVE/CPP_HASH/
4477 (do_assert, do_unassert): Rewrite.
4478
4479 * cpplib.h (TTYPE_TABLE): Remove CPP_ASSERTION.
4480 (LIST_OFFSET): New flag.
4481 (struct cpp_toklist): Replace dir_handler and dir_flags with
4482 dirno and flags.
4483 (struct cpp_reader): Remove parsing_if_directive and
4484 parsing_define_directive.
4485
7021bb50
KG
44862000-05-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4487
4488 * fixinc/inclhack.def (broken_cabs): Update fix to handle comments
4489 following the cabs decl which terminate on the following line.
4490 Add the corresponding test_text case.
4491
6ab3e7dd
NB
44922000-05-18 Neil Booth <NeilB@earthling.net>
4493
4494 * cppinit.c (cpp_reader_init): Initialise col_adjust and
4495 default tab stop size.
4496 (no_num, OPT_ftabstop): New.
4497 (handle_option): Handle "ftabstop=" command-line option.
4498 (print_help): Document it.
4499 * cpplex.c (COLUMN): Remove.
4500 (handle_newline): Reset col_adjust.
4501 (skip_whitespace): Update col_adjust as tabs encountered.
4502 (_cpp_lex_line): Update to use col_adjust. Call
4503 skip_whitespace for all whitespace.
4504 * cpplib.h (struct cpp_options): New member tabstop.
4505 (struct cpp_reader): New member col_adjust.
4506 (CPP_BUF_COL): Update.
4507 (CPP_BUF_COLUMN): New.
4508 * cpp.texi: Document "-ftabstop=" command line option.
4509
b4c7e567
PDM
4510Wed May 17 18:19:41 2000 Philippe De Muyter <phdm@macqel.be>
4511
4512 * configure.in (NO_MINUS_C_MINUS_O): Macro made availabe for AC_OUTPUT
4513 files.
4514 * configure: Rebuilt.
4515
935fb9c4
JDA
4516Wed May 17 18:06:12 2000 John David Anglin <dave@hiauly1.hia.nrc.ca>
4517
b7d95e6f
JDA
4518 * mklibgcc.in Add missing -DL$name when compiling modules in libgcc1.c.
4519
935fb9c4
JDA
4520 * tree.c (build_common_tree_nodes): Do not build TI nodes unless
4521 HOST_BITS_PER_WIDE_INT is >= 64.
4522
d67b9d00
RH
45232000-05-17 Richard Henderson <rth@cygnus.com>
4524
4525 * jump.c (jump_optimize_1): Remove inactive but real insns
4526 in jump-to-next-insn optimization.
4527
97d36f45
RH
45282000-05-17 Richard Henderson <rth@cygnus.com>
4529
4530 * toplev.c (rest_of_compilation): Don't call optimize_mode_switching
4531 unless OPTIMIZE_MODE_SWITCHING. Conditionally set no_new_pseudos.
4532 Don't call recompute_reg_usage if no_new_pseudos is true.
4533 * lcm.c (optimize_mode_switching): Move ifdefs outside function.
4534 Return true if we did work; update global life information.
4535 * basic-block.h (optimize_mode_switching): Update decl.
4536
79f50f2a
NB
45372000-05-17 Neil Booth <neilb@earthling.net>
4538
4539 * cpplex.c (expand_name_space): Don't use ptrdiff_t.
4540
2c0b35cb
ZW
45412000-05-17 Zack Weinberg <zack@wolery.cumb.org>
4542
4543 * cpplib.c: New feature, #pragma system_header.
4544 * cpp.texi: Document special treatment of system headers, and
4545 the various mechanisms to get a header that special treatment.
4546
e0125cf3
KG
45472000-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4548
4549 * system.h (offsetof): Define at the very end, to ensure we prefer
4550 the platform's definition if available.
e9099386
BK
4551
45522000-05-16 Bruce Korb <bkorb@gnu.org>
4553
4554 * fixinc/fixincl.c: improve the debug displays, ignore SIGPIPE
4555 * fixinc/server.c: likewise
3f69bd93
BK
4556 * fixinc/fixfixes.c( char_macro_def_fix ): fix regex
4557 + #ifdef debugging code + use #def constant for
4558 sub-pattern count
2dc693ee
BK
4559 * fixinc/inclhack.def( hpux11_fabsf ): Keep HP-UX 11 from stomping
4560 on C++ math namespace
e9099386 4561
558fe506
KG
45622000-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4563
4564 * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
4565 Don't check the return value of sprintf. Use asprintf to avoid
4566 buffer overflows.
4567
078721e1
AC
4568Wed May 17 17:27:44 2000 Andrew Cagney <cagney@b1.cygnus.com>
4569
4570 * flags.h (warn_unused_function, warn_unused_label,
4571 warn_unused_parameter, warn_unused_variable, warn_unused_value):
4572 Replace ``warn_unused''.
4573 (set_Wunused): Add declaration.
4574 * toplev.c (set_Wunused): New function.
4575 (warn_unused_function, warn_unused_label, warn_unused_parameter,
4576 warn_unused_variable, warn_unused_value): New variables.
4577 (W_options): Add -Wunused-function, -Wunused-function,
4578 -Wunused-label, -Wunused-parameter, -Wunused-variable and
4579 -Wunused-value. Delete -Wunused. Handled in decode_W_option.
4580
4581 * toplev.c (decode_W_option): Update -Wunused flags by calling
4582 set_Wunused.
4583 * c-decl.c (c_decode_option): Ditto for -Wall.
4584
4585 * stmt.c (expand_expr_stmt, expand_expr_stmt,
4586 warn_about_unused_variables): Replace warn_unused with more
4587 explicit warn_unused_value et.al.
4588 * function.c (expand_function_end): Ditto.
4589 * c-typeck.c (internal_build_compound_expr,
4590 internal_build_compound_expr): Ditto.
4591 * c-decl.c (poplevel, pop_label_level): Ditto.
4592 * toplev.c (check_global_declarations): Replace warn_unused with
4593 check for either warn_unused_function or warn_unused_variable.
4594
4595 * gcc.1, invoke.texi (Warning Options): Document
4596 -Wunused-function, -Wunused-function, -Wunused-label,
4597 -Wunused-parameter, -Wunused-variable and -Wunused-value options.
4598
6f6ceed0
PDM
4599Wed May 17 10:28:12 2000 Philippe De Muyter <phdm@macqel.be>
4600
4601 * mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Find libgcc1.c in
4602 $(srcdir), not in the current directory.
4603
53749ab7
RH
46042000-05-16 Richard Henderson <rth@cygnus.com>
4605
4606 * config/ia64/crtbegin.asm (__dso_handle): Mark hidden if the
4607 assembler supports it.
4608 (.fini, .init): Use a gp-relative indirect call.
4609 (__do_global_dtors_aux): Preserve the gp; rebundle.
4610 (__do_frame_setup): Likewise.
4611 * config/ia64/crtend.asm (.IA_64.unwind): Don't terminate with -1.
4612 (.init): Use a gp-relative indirect call.
4613 (__do_global_ctors_aux): Preserve the gp.
4614
f5540cd4
RH
46152000-05-16 Richard Henderson <rth@cygnus.com>
4616
4617 * flow.c (commit_one_edge_insertion): Be prepared for a return
4618 insn to be inserted on the edge with a normal jump.
4619 * jump.c (jump_optimize_1): Don't look to create return isns.
4620
4621 * flow.c (flow_delete_insn): Don't adjust reference count of notes.
4622 * jump.c (jump_optimize_1): Likewise.
4623 (returnjump_p): Verify the argument is a JUMP_INSN.
4624 * rtl.def (NOTE): Add 5th element for NOTE_INSN_DELETED_LABEL.
4625
23568fa0
NC
46262000-05-16 Nick Clifton <nickc@cygnus.com>
4627
4628 * config/m32r/m32r.c (small_insn_p): Use INSN_P() to replace
4629 GET_RTX_CLASS (GET_CODE ()) == 'i'.
4630 (large_insn_p): Ditto.
4631 (m32r_is_insn): New function: Return true if the insn contains
4632 an executable instruction.
4633 (m32r_adjust_insn): Use m32r_is_insn.
4634 (m32r_sched_reorder): Use m32r_is_insn.
4635 (m32r_sched_variable_issue): Use m32r_is_insn.
4636
5a1b894d
FS
46372000-05-16 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4638
df3aefb0
FS
4639 * rs6000/rs6000.c (rs6000_select_section): Treat CONSTRUCTOR like
4640 VAR_DECL.
4641
9e6e5068
FS
4642 * rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Delete unused variable.
4643
4644 * rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Define __unix and __linux
4645 according to given options.
5a1b894d 4646
66e85f38
JL
4647Tue May 16 12:17:31 2000 Jeffrey A Law (law@cygnus.com)
4648
4649 * mn10200.h (PREFERRED_RELOAD_CLASS): Do not prefer DATA_REGS
4650 if X has VOIDmode either.
4651 (LIMIT_RELOAD_CLASS): Similarly.
4652
4653 * mn10200.md (indirect_jump, tablejump): Use "register_operand",
4654 not "general_operand" to match the processor's capabilities.
1e248c55
BK
4655
46562000-05-16 Bruce Korb <bkorb@gnu.org>
4657
4658 * fixinc/README: corrected return address
4659 * fixinc/check.diff: regenerate, now that test works
4660 * fixinc/fixfixes.c(format_fix,format_write): reformatted
4661 (char_macro_def_fix,char_macro_use_fix): corrected and
4662 rewrote to use regex to parse the text
4663 * fixinc/inclhack.def: more testing
4664 * fixinc/fixincl.x: regenerated
4665
d651ee81
BK
4666 * fixinc/inclhack.def: added several "test_text" attributes
4667 changed several fixes to use `c_fix = format'
4668 re-alphabetized the fixes
4669
4670 * fixinc/check.diff: regenerate
4671 * fixinc/fixincl.x: regenerate
4672 * fixinc/check.tpl: added `sparc' and `netinet' to the list
4673 of created dirs
4674
4675
789f3ce3
AO
46762000-05-16 Alexandre Oliva <aoliva@cygnus.com>
4677
4678 * config/mn10300/mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove.
4679
d2f7de58
RH
46802000-05-15 Richard Henderson <rth@cygnus.com>
4681
4682 * toplev.c (rest_of_compilation): Run full jump pass before
4683 find_basic_blocks of flow2.
4684
d781a164
RH
46852000-05-15 Richard Henderson <rth@cygnus.com>
4686
4687 * jump.c: Fix typos and clarify commentary from last change.
4688 (any_condjump_p): Verify SET_SRC is an IF_THEN_ELSE.
4689 (safe_to_remove_jump_p): Remove.
4690 (condjump_label): Use pc_set.
4691
7f9d9ea1
RH
46922000-05-15 Richard Henderson <rth@cygnus.com>
4693
4694 * ifcvt.c (cond_exec_process_insns): Drop USE and CLOBBER insns
4695 that get in the way after reload.
4696 (cond_exec_process_if_block): Skip a label heading THEN block.
4697
085ce8c6
RH
46982000-05-15 Richard Henderson <rth@cygnus.com>
4699
4700 * varasm.c (output_constant_pool): Abort instead of converting
4701 (improperly) deleted labels to zero.
4702
41e8b1d7
NB
47032000-05-16 Neil Booth <NeilB@earthling.net>
4704
4705 * cpplex.c (parse_string2): Update comment.
4706 (cpp_lex_line): No special assertion treatment for '('.
4707 * cpplib.c (DIRECTIVE_TABLE): Remove SYNTAX_ASSERT.
4708 * cpplib.h (SYNTAX_ASSERT): Remove.
4709
e4c85816
JH
4710Mon May 15 21:45:36 MET DST 2000 Jan Hubicka <jh@suse.cz>
4711
4712 * jump.c (condjump_p): Mark as depreached.
4713 (any_condump_p): New.
4714 (any_uncondump_p): New.
4715 (pc_set): New.
4716 (safe_to_remove_jump_p): New.
4717 * rtl.h (any_condump_p, any_uncondjump_p, pc_set
4718 safe_to_remove_jump_p): Declare.
4719
099e9712
JH
4720Mon May 15 21:07:20 MET DST 2000 Jan Hubicka <jh@suse.cz>
4721
4722 * calls.c: Re-install both patches reverted by last patch.
4723 (struct arg_data): New field tail_call_reg.
4724 (initialize_argument_information): Initialize tail_call_reg
4725 (load_register_parameters): New argument flags, use
4726 tail_call_reg when emiting tail call sequence.
4727 (expand_call): Update call of load_register_parameters;
4728 copy unadjusted_args_size to adjusted_args_size.
4729
1bf14ad7
JH
4730Mon May 15 19:01:42 MET DST 2000 Jan Hubicka <jh@suse.cz>
4731
4732 * loop.c (scan_loop, strength_reduce, loop_optimize): Change unroll_p
4733 and bct_p parameters to flags.
4734 * loop.h (LOOP_UNROLL, LOOP_BCT): New constants.
4735 * rtl.h (loop_optimize): Update prototype.
4736 * toplev.c (rest_of_compilation): Update call of loop_optimize.
4737
b8d254e6
JJ
47382000-05-15 Jakub Jelinek <jakub@redhat.com>
4739
4740 * calls.c (expand_call): Move expand_start_target_temps call after
4741 start_sequence().
4742
f617b8e2
NB
47432000-05-15 Neil Booth <NeilB@earthling.net>
4744
4745 * cpphash.c (trad_stringify, warn_trad_stringify,
4746 collect_params): Make some pointers pointers to const.
4747 * cpplex.c (auto_expand_name_space) Guaranteed to always
4748 expand by at least one character.
4749 (SPELL_CHAR, SPELL_NONE): Temporarily reverse order.
4750 (struct token_spelling): Use const U_CHAR * rather than PTR.
4751 (expand_name_space): Fix up token pointers if name space
4752 is moved when expanding.
4753 (INIT_NAME, cpp_scan_line, parse_name, parse_number,
4754 parse_string2, save_comment, spell_token, cpp_output_list):
4755 Update so the routines handle tokens with a direct pointer to
4756 their text, rather than an offset into the token's list's namebuf.
4757 (_cpp_lex_line): Rearrange for clarity.
4758
4759 * cpplib.c (_cpp_check_directive): Similarly.
4760 (do_define): Make SYM a pointer to const.
4761 * cpplib.h (struct cpp_name): Replace offset with direct pointer.
4762 (CPP_INT, CPP_FLOAT): Spelling type should be SPELL_IDENT.
4763 (TOK_OFFSET): Delete.
4764 (TOK_NAME): Update.
4765
5ba02ca6
GK
47662000-05-14 Geoffrey Keating <geoffk@cygnus.com>
4767
05ef2698
GK
4768 * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Correct for
4769 64-bit ABI.
4770
7e585d16 4771 * config/rs6000/rs6000.c (logical_operand): Rewrite to take MODE
dfbdccdb
GK
4772 into account.
4773 (logical_u_operand): Delete.
4774 (non_logical_cint_operand): Rewrite to take MODE into account.
4775 (non_logical_u_cint_operand): Delete.
4776 (boolean_operator): New function.
4777 (print_operand): Add new %q operand.
4778 * config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_operator,
4779 remove logical_u_operand and non_logical_u_cint_operand,
4780 update logical_operand and non_logical_cint_operand.
4781 * config/rs6000/rs6000.md: Rewrite the patterns for performing
4782 logical operations to use %q.
4783
f176e826
GK
4784 * config/rs6000/rs6000.md (movsi): Don't modify RTL in-place.
4785 (movdi): Make similar to movsi.
4786 * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): There
4787 is no such thing as a DImode CONST_DOUBLE.
4788 * config/rs6000/rs6000.c (output_toc): Likewise.
7e585d16 4789
f176e826
GK
4790 * config/rs6000/rs6000.c (output_cbranch): Don't output prediction
4791 codes when old mnemonics are in use. Print register names
94a54f47
GK
4792 for cc registers when requested.
4793
5ba02ca6
GK
4794 * optabs.c (expand_float): Don't allow mode widening that causes
4795 double rounding.
fa06229f
GK
4796
4797 * invoke.texi (RS/6000 and PowerPC Options): Update -m64/-m32
4798 flags to their current names -maix64 and -maix32.
4799
ba8fcfc3
BK
48002000-05-14 Bruce Korb <bkorb@gnu.org>
4801
4802 * fixinc/fixfixes.c(wrap_fix): new fix - inserts text before
4803 and/or after current text of file
4804 * fixinc/fixlib.c(must_malloc):
4805 * fixinc/fixlib.h(must_malloc): + reformatting
4806 * fixinc/inclhack.def: replace the "1i" and "$a" sed commands
4807 with usages of ``c_fix = wrap;''
99d05d99 4808 Add several tests and use the ``c_fix = format'' fixer more.
ba8fcfc3
BK
4809 * fixinc/fixincl.x: regen
4810 * fixinc/check.diff: regen
99d05d99
BK
4811 * fixinc/check.tpl: emit the associated header with the missing
4812 test message
ba8fcfc3 4813
3e6fa9ac
HPN
4814Sun May 14 17:58:59 2000 Hans-Peter Nilsson <hp@axis.com>
4815
4816 * mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Do not use unset
4817 variables $src and $dst.
7e585d16 4818
856b6244
GDR
48192000-05-13 Gabriel Dos Reis <gdr@codesourcery.com>
4820
4821 * diagnostic.h (DIAGNOSTICS_SHOW_PREFIX_ONCE): New macro.
4822 (DIAGNOSTICS_SHOW_PREFIX_NEVER): Likewise.
4823 (DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE): Likewise.
4824 (struct output_buffer: emitted_prefix_p, prefixing_rule): New
7e585d16 4825 fields.
856b6244
GDR
4826 (set_message_prefixing_rule): Declare.
4827
4828 * diagnostic.c: (current_prefixing_rule): New variable.
4829 (set_message_prefixing_rule): Define.
4830 (output_set_prefix): Adjust buffer->emitted_prefix_p.
4831 (init_output_buffer): Adjust Initialization.
4832 (output_emit_prefix): Rewrite. Take prefixing rules into account.
7e585d16 4833
8701a6a4
PDM
4834Sat May 13 11:05:47 2000 Philippe De Muyter <phdm@macqel.be>
4835
4836 * ifcvt.c (if_convert): Do not free NULL.
4837
aeb4f5ef
NC
48382000-05-12 Nick Clifton <nickc@cygnus.com>
4839
4840 * config/fr30/fr30.c (fr30_move_double): New function: Emit code
4841 to move a double word value.
4842 (di_operand): New function: Return true if the operand is suitbale
4843 for a double word move operation.
4844 (nonimmediate_di_operand): New function: Return true if the
4845 operand is a DImode register or MEM.
4846
4847 * config/fr30/fr30.h (PREDICATE_CODES): Add di_operand and
4848 nonimmediate_di_operand.
4849
4850 * config/fr30/fr30-protos.h Add fr30_move_double, di_operand, and
4851 nonimmediate_di_operand.
4852
4853 * config/fr30/fr30.md (movdi): New pattern. Required because
4854 other patterns generate DImode results.
4855 (movdi_insn): New pattern.
4856
1d11bf18
RH
48572000-05-12 Richard Henderson <rth@cygnus.com>
4858
4859 * config/alpha/alpha.c (struct shadow_summary): Define
4860 bitfields as type unsigned int.
4861
2a1c19ed
DC
4862Sat May 13 00:09:59 2000 Denis Chertykov <denisc@overta.ru>
4863
4864 * config/avr/t-avr: Added definition of FLOAT while generates
4865 fp-bit.c
4866
4867 * config/avr/avr.md: `NEXT_INSN (insn)' substituted to `insn' in
4868 peepholes for tst+jump = sbrs/sbrc optimization.
4869
3ea2292a
JH
4870Fry May 12 20:03:00 CEST 2000 Jan Hubicka <jh@suse.cz>
4871
4872 * expr.c (emit_push_insn): Do not adjust stack pointer when
4873 preallocating.
4874
c0dbdfbb
PDM
4875Fri May 12 19:03:58 2000 Philippe De Muyter <phdm@macqel.be>
4876
4877 * ggc-simple.c (offsetof): Macro fallback definition moved from here ..
4878 * system.h (offsetof): ... to here.
4879
be1bb652
RH
48802000-05-12 Richard Henderson <rth@cygnus.com>
4881
4882 * Makefile.in (final.o): Depend on BASIC_BLOCK_H.
4883 * final.c (final_end_function): Use app_disable. Rearrange note
4884 handling into a switch. Emit deleted labels.
4885 (output_asm_label): Generate label strings for deleted labels.
4886 * flow.c (tail_recursion_label_list): New.
4887 (find_basic_blocks_1): Set label_value_list directly. Collect list
4888 of tail recursion labels from call_placeholders. Don't add deleted
4889 labels to the label value list.
4890 (cleanup_cfg): Use free_EXPR_LIST_list.
4891 (flow_delete_insn_chain): Turn non-removable labels into notes.
4892 (flow_delete_block): Don't disable deleting the block because of
4893 a non-removable label.
4894 (tail_recursion_label_p): New.
4895 (merge_blocks_move_predecessor_nojumps): Don't disable the merge
4896 because of a label.
4897 (merge_blocks_move_successor_nojumps): Likewise. Also move a
4898 jump table.
4899 (merge_blocks): Disable a merge because of tail recursion labels.
4900 * ifcvt.c (merge_if_block): Don't disable a merge because of a label.
4901 Use a more accurate measure of not merging the join block.
4902 (find_if_block): Don't disable conversion because of a label.
4903 (find_if_case_1, find_if_case_2): Likewise.
4904 * jump.c (duplicate_loop_exit_test): Preserve the kind of list
4905 element when copying.
4906 (squeeze_notes): Also leave EH notes.
4907 (mark_jump_label): Ignore deleted labels. Use an INSN_LIST for
4908 REG_LABEL notes.
4909 (delete_insn): Preserve LABEL_NAME in NOTE_SOURCE_FILE when
4910 deleting a label.
4911 * print-rtl.c (print_rtx): Print NOTE_SOURCE_FILE for
4912 NOTE_INSN_DELETED_LABEL. Print `[# deleted]' for a label_ref
4913 referring to a deleted label. Convert tail handling to a switch.
4914 * rtl.def (CODE_LABEL): Rearrange elements to be compatible with NOTE
4915 for NOTE_INSN_DELETED_LABEL.
4916 (NOTE): Fix commentary.
4917 * rtl.h (REG_LABEL): Update commentary wrt INSN_LIST.
4918 (REG_CC_SETTER, REG_CC_USER, REG_LIBCALL): Likewise.
4919 (CODE_LABEL_NUMBER, LABEL_NAME): Update index.
4920 (LABEL_NUSES, LABEL_REFS): Likewise.
4921 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_DELETED_LABEL.
4922
a92fa608
BK
49232000-05-12 Bruce Korb <bkorb@gnu.org>
4924
4925 * fixinc/fixfixes.c(format_write): buglet & relaxed rules
88acf854
BK
4926 * fixinc/check.diff: updated
4927 * fixinc/inclhack.def: corrected & added some test_text-s
4928 * fixinc/genfixes: removed unneeded options to autogen invocation
4929 * fixinc/fixincl.tpl: Specified the output file
4930 * fixinc/fixfixes.c: visual appearance
4931 * fixinc/fixincl.x: regenerate
a92fa608 4932
4c6d912f
ZW
49332000-05-12 Zack Weinberg <zack@wolery.cumb.org>
4934
f5540cd4
RH
4935 * fixinc/fixfixes.c (IO_use_fix, IO_defn_fix, CTRL_use_fix,
4936 CTRL_defn_fix): Delete.
4937 (fix_char_macro_defines, fix_char_macro_uses): Rename to
4938 char_macro_def_fix and char_macro_use_fix, respectively. Put
4939 them into the FIXUP_TABLE. Get the string to search for from
4940 a c_fix_arg.
4c6d912f 4941
f5540cd4
RH
4942 (format_write): New function.
4943 (format_fix): Use it.
4c6d912f 4944
f5540cd4
RH
4945 (FIX_PROC_HEAD): Constify text parameter.
4946 (machine_name_fix): Constify all char *s.
4947 * fixtests.c (skip_quote): Remove double static.
4c6d912f 4948
f5540cd4
RH
4949 * inclhack.def (io_def_quotes, io_use_quotes, ctrl_def_quotes,
4950 ctrl_use_quotes): Update for new scheme.
4951 * fixincl.x: Regenerate.
4c6d912f 4952
5c68706c
AO
49532000-05-12 Alexandre Oliva <aoliva@cygnus.com>
4954
4955 * config/mn10300/mn10300.h (PREFERRED_DEBUGGING_TYPE): Redefine as
4956 DWARF2_DEBUG.
4957 (DWARF2_ASM_LINE_DEBUG_INFO): Define.
4958 (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
4959
3cfea779
RL
49602000-05-11 Robert Lipe <robertlipe@usa.net>
4961
4962 * fixinc/inclhack.def (hpux8_bogus_inlines): Delete bypass for SCO.
4963 * fixincl.x: Regenerate.
4964
497eb8c3
RH
49652000-05-11 Richard Henderson <rth@cygnus.com>
4966
4967 * calls.c: Revert both 05-09 patches.
4968
842391df
AO
49692000-05-11 Alexandre Oliva <aoliva@cygnus.com>
4970
cf31fafa
AO
4971 * config/mn10300/mn10300.c (print_operand): Print FP constants in
4972 hexadecimal.
4973 * config/mn10300/mn10300.md (movsf, movdf): Use the `F' constraint
4974 for FP values.
4975
842391df
AO
4976 * mklibgcc.in (EQ): Define it to an equal sign in the Makefile,
4977 and replace any occurrences of `=' in multilib dirs with `$(EQ)'.
4978
48a259fc
JM
49792000-05-11 Jason Merrill <jason@casey.cygnus.com>
4980
4981 * fixinc/fixincl.c (run_compiles): Don't crash on null pz_machine.
4982
b7976767
ZW
49832000-05-11 Zack Weinberg <zack@wolery.cumb.org>
4984
4985 * fixinc/fixfixes.c, fixinc/fixtests.c: Update commentary.
4986
b58c068a
DC
4987Thu May 11 22:28:05 2000 Denis Chertykov <denisc@overta.ru>
4988
4989 * config/avr/avr-protos.c (jump_over_one_insn_p): New declaration.
4990 * config/avr/avr.c (jump_over_one_insn_p): New function.
4991 * config/avr/avr.md: New peepholes added. Output test and
4992 conditional jump to "sbrc" or "sbrs" command.
4993
38b8de2f
ME
49942000-05-11 Mark Elbrecht <snowball3@bigfoot.com>
4995
4996 * cppmain.c (main): Use IS_DIR_SEPARATOR.
4997
f19c9228
JJ
49982000-05-11 Jakub Jelinek <jakub@redhat.com>
4999
5000 * except.c (find_exception_handler_labels_1): New function.
5001 (find_exception_handler_labels): Split into two functions, dive
5002 into CALL_PLACEHOLDERs when looking for exception handler labels.
5003
5fa41e13
SC
50042000-05-11 Stan Cox <scox@cygnus.com>
5005
5006 * regrename.c (replace_reg_in_block): Improve REG_DEAD handling.
5007 * timevar.def (TV_RENAME_REGISTERS): Move before TV_SCHED2.
5008 * toplev.c (rest_of_compilation): Call regrename_optimize before sched2.
5009
35dfe415
BK
50102000-05-11 Bruce Korb <bkorb@gnu.org>
5011
48a259fc 5012 * fixinc/fixfixes.c (double_slash_fix): obsolete
35dfe415
BK
5013 (else_endif_label_fix): obsolete
5014 (format_fix): new, unused as yet
5015 (main): obsolete
5016 * fixinc/fixlib.h: added fix description struct for use by format_fix
5017 * fixinc/fixincl.c: removed the struct & test for SIGIOT befure using
5018 * fixinc/Makefile.in: compile fixfixes.c and fixtests.c as separate
5019 modules. Removed the vestiges of the script version.
5020 Added support for "make check".
ef7615a0 5021 * fixinc/check.diff: base diff file (needs work!!)
35dfe415 5022 * fixinc/check.tpl: quiet the fixup output
48a259fc 5023 * fixinc/fixtests.c (main): obsolete
35dfe415
BK
5024 * fixinc/fixincl.sh: don't bother copying fixincl to ..
5025 * fixinc/fixincl.tpl: provide for arguments to c_fix routines
5026
e54d500c
JH
5027Thu May 11 11:57:02 MET DST 2000 Jan Hubicka <jh@suse.cz>
5028
5029 * toplev.c (rest_of_compilation): Remove dead code after
5030 combine.
5031
3ae1c615
ZW
50322000-05-11 Zack Weinberg <zack@wolery.cumb.org>
5033
5034 * cpphash.c (collect_funlike_expansion): Make "# is not
5035 followed by a macro argument name" a pedwarn, not an error.
5036 Preserve the # in the output. Suppress the warning if lang_asm.
5037
99b09ff3
JL
5038Thu May 11 01:19:31 2000 Jeffrey A Law (law@cygnus.com)
5039
5040 * configure.in (hppa*64*-*-hpux11*): New target for PA64 support.
5041 * configure: Rebuilt.
5042
2798f0d4
LB
50432000-05-10 Laurynas Biveinis <lauras@softhome.net>
5044
5045 * i386/xm-djgpp.h (XREF_FILE_NAME): Add mising brace.
5046
02359929
KH
50472000-05-10 Kazu Hirata <kazu@hxi.com>
5048
5049 * combine.c (try_combine): Fix a typo.
5050
d2ba6dcf
JW
5051Wed May 10 21:31:44 2000 Jim Wilson <wilson@cygnus.com>
5052
5053 * config/ia64/ia64.md (insv): Add comment.
5054
8e9bf55e
RH
50552000-05-10 Richard Henderson <rth@cygnus.com>
5056
5057 * Makefile.in (libgcc.a, stmp-multilib): Depend on FPBIT and DPBIT.
5058 * mklibgcc.in: Rewrite to not use functions. Don't shortcut
5059 dependancies on FPBIT and DPBIT.
5060
ebfe71a8
NC
50612000-05-10 Nick Clifton <nickc@redhat.com>
5062
5063 * flow.c (find_auto_inc): Do not bias REG_N_REFS by loop_depth
5064 when optimising for size.
5065 (mark_used_regs:) Ditto.
5066 (try_pre_increment_1): Ditto.
5067
fa557271
ZW
50682000-05-10 Zack Weinberg <zack@wolery.cumb.org>
5069
e43a1577
ZW
5070 * cppexp.c (lex): Use %.*s to print non-NUL-terminated string.
5071 Make error message friendlier.
5072
fa557271
ZW
5073 * cpphash.h (struct hashnode): Use struct hack for name
5074 member.
5075 * cpphash.c (struct hashdummy): New.
5076 (eq_HASHNODE): Second argument is a hashdummy, not a HASHNODE.
5077 (make_HASHNODE): No need to set ->name pointer. Correct
5078 setting of p.
5079 (cpp_lookup): Make 'dummy' a struct hashdummy. Tidy up a bit.
5080
0d12ea97
RH
50812000-05-10 Richard Henderson <rth@cygnus.com>
5082
5083 * flow.c (find_basic_blocks_1): Remove any spare bb_note
5084 after completion.
5085
5ac38d52
BK
50862000-05-10 Bruce Korb <bkorb@gnu.org>
5087
5088 * fixinc/gnu-regex.c: reg_syntax_t re_syntax_options must be static
5089
ede1dbac
ES
50902000-05-10 Eric Schweitz <schweitz@nortelnetworks.com>
5091
5092 * dwarfout.c (dwarfout_finish): Call retry_incomplete_types
5093 after we enter .debug.
5094
8d8238b6
JM
50952000-05-10 Jason Merrill <jason@casey.cygnus.com>
5096
5097 * dwarf2out.c (gen_subprogram_die): Fixup die_parent for the
5098 abstract instance of a nested inline function.
5099
5100 * stor-layout.c (finish_record_layout): finalize_type_size
5101 before laying out the pending_statics.
5102
5d7ee2fa
NB
5103Wed 10 May 09:36:47 2000 Neil Booth <NeilB@earthling.net>
5104
5105 * cpplex.c (spell_token): New function.
5106 (spell_string, spell_comment, spell_name): fold into
7e585d16 5107 spell_token.
5d7ee2fa
NB
5108 (I, S): Add macros.
5109 (E, H): Remove macros.
5110 (save_comment): Save comment opening characters too.
5111 (_cpp_lex_file): Update to use spell_token. Tidy up comment
5112 handling.
5113 * cpplib.h (I, S): Add macros.
5114 (E, H): Remove macros.
5115 (TTYPE_TABLE): Update entries for new speller.
5116 (SYNTAX_ASSERT): Remove.
5117
fb4527c3
NB
5118Wed 10 May 09:08:30 2000 Neil Booth <NeilB@earthling.net>
5119
f5540cd4
RH
5120 * cpplex.c (_cpp_lex_line): Maintain PREV_WHITESPACE flag
5121 when removing escaped newlines. Reverse sense of test for
5122 escaped newline.
fb4527c3 5123
47095bfc
RH
51242000-05-09 Richard Henderson <rth@cygnus.com>
5125
5126 * flow.c (find_basic_blocks_1): Do not delete the first
5127 bb_note we run across.
5128 (create_basic_block): Use reorder_insns to move an existing
5129 bb_note to the correct place.
5130
840e7b51
RH
51312000-05-09 Richard Henderson <rth@cygnus.com>
5132
5133 * calls.c (expand_call): Increment currently_expanding_call
5134 before calling optimize_tail_recursion.
5135
4c3f1588
RK
5136Tue May 9 18:54:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5137
5138 * reload1.c (reload_combine): Fix errors in last change.
5139
3b304f5b
ZW
51402000-05-09 Zack Weinberg <zack@wolery.cumb.org>
5141
83a0c799
ZW
5142 * gcc.c (used_arg): Skip over a semicolon at the end of the
5143 split-up loop; don't break out of it.
5144
3b304f5b
ZW
5145 * Makefile.in (WARN_CFLAGS): Add -Wwrite-strings.
5146 (tree.o): Depend on output.h.
5147
5148 * c-decl.c (pending_invalid_xref_file,
5149 current_function_prototype_file): Constify.
5150 (pushdecl): Constify a local char *.
5151 (define_label): Constify filename parameter.
5152 * c-lex.c (init_parse): Constify parameter and return value.
5153 * c-typeck.c (c_expand_asm_operands): Constify filename parameter.
5154 * c-tree.h: Update prototypes.
5155 * c-parse.in: Constify filename member of %union, and if_stmt_file.
5156 * c-parse.y, c-parse.c, c-parse.h, objc/objc-parse.y,
5157 objc/objc-parse.c: Regenerate.
5158
5159 * dwarfout.c (dwarfout_init): Constify main_input_filename parameter.
5160 * dwarfout.h: Update prototypes.
5161 * expr.c (expand_expr): Constify a local char *.
5162 * flags.h: Constify main_input_filename.
5163 * function.c (expand_function_end): Constify filename parameter.
5164 * genrecog.c (make_insn_sequence): Use a character array for
5165 c_test_pos.
5166 (main): Remove unused variables.
5167 * input.h: Constify input_filename, main_input_filename, and
5168 file_stack.name. Update prototypes.
5169 * output.h: Declare first_global_object_name and
5170 weak_global_object_name here, as const char *.
5171 * stmt.c (expand_asm_operands): Constify filename parameter.
5172 * toplev.c (compile_file, push_srcloc, debug_start_source_file):
5173 Constify filename parameter.
5174 (input_filename, main_input_filename): Constify.
5175 * toplev.h: Update prototypes.
5176 * tree.c: Include output.h. Don't declare
5177 first_global_object_name or weak_global_object_name. Clean up string
5178 bashing in get_file_function_name_long.
5179 * tree.h (struct tree_decl): Constify filename member.
5180 (input_filename): Constify.
5181 Update prototypes.
5182 * varasm.c (first_global_object_name, weak_global_object_name):
5183 Constify.
5184 (assemble_start_function, assemble_variable): Clean up string bashing.
5185
5186 * gcc.c: Constify all spec-related strings initialized,
5187 transitively, from string constants. Constify all strings
5188 and string variables related to multilibs.
5189 (set_spec, read_specs): Cast argument to free to PTR.
5190 (used_arg): Do not modify multilib_matches. Use strncmp plus
5191 length comparison to compare multilib switches.
5192 * genmultilib: Constify everything declared in multilib.h.
5193
aa9e158d
DC
5194Tue May 9 22:28:03 2000 Denis Chertykov <denisc@overta.ru>
5195
5196 * flow.c (flow_delete_insn): Use INSN_DELETED_P for marking insn
5197 as deleted.
5198
3454eb73
DC
5199Tue May 9 20:52:43 2000 Denis Chertykov <denisc@overta.ru>
5200
5201 * config/avr/avr-protos.h (extra_constraint): change a type of
5202 second argument from char to int to avoid warnings.
5203 (asm_output_byte): Likewise.
7e585d16 5204
3454eb73
DC
5205 * config/avr/avr.c (MAX_LD_OFFSET) New macro.
5206 (initial_elimination_offset): Handle elimination from
5207 FRAME_POINTER_REGNUM to STACK_POINTER_REGNUM.
5208 (legitimate_address_p): Use MAX_LD_OFFSET.
5209 (legitimize_address): Likewise.
5210 (out_movqi_r_mr): Likewise.
5211 (out_movhi_r_mr): Likewise, use `fatal_insn' instead of `fatal'.
5212 (out_movsi_r_mr): Use MAX_LD_OFFSET.
5213 (out_movsi_mr_r): Likewise.
5214 (out_movqi_mr_r): Likewise.
5215 (out_movhi_mr_r): Likewise.
5216 (notice_update_cc): Correct CC for the ashrqi3 with the shift
5217 count as CONST_INT != 6.
5218 (ashlqi3_out): Coding style modifications. Run `fatal_insn' if
5219 shift count is a CONSTANT_P, but not a CONST_INT.
5220 (ashlhi3_out): Coding style modifications.
5221 (ashlsi3_out): Likewise.
5222 (ashrhi3_out): Likewise.
5223 (ashrsi3_out): Likewise.
5224 (lshrhi3_out): Likewise.
5225 (lshrsi3_out): Likewise.
5226 (ashrqi3_out): Generate shift for any known constant count without
5227 scratch register. Run `fatal_insn' if shift count is a CONSTANT_P,
5228 but not a CONST_INT.
5229 (lshrqi3_out): Coding style modifications. Run `fatal_insn' if
7e585d16 5230 shift count is a CONSTANT_P, but not a CONST_INT.
3454eb73
DC
5231 (extra_constraint): change a type of
5232 second argument from char to int to avoid warnings.
5233 (asm_output_byte): Likewise.
5234 (asm_file_end): Output size generated commands count as a hex
5235 number too.
5236
5237 * config/avr/avr.h (RETURN_ADDR_RTX): New macro.
5238
5239 * config/avr/avr.md (addhi3): Fragment commented by &&0 is
5240 removed.
5241 (ashlqi3): Values of "length" attribute changed. Shift count
5242 uses constraints 'n' instead of 'i'.
5243 (ashrqi3): Likewise. Values of "cc" attribute changed. Generate
5244 shifts without clobber register.
5245 (lshrqi3): Shift count uses constraints 'n' instead of 'i'.
5246 (call_insn): Correct test for which_alternative == 1 (was 0).
5247 (call_value_insn): Likewise.
7e585d16 5248
3454eb73
DC
5249 * config/avr/t-avr: Remove definition of FLOAT while generates
5250 fp-bit.c
5251
73101c95
BK
52522000-05-09 Bruce Korb <bkorb@gnu.org>
5253
7a544ce1
BK
5254 * fixinc/check.tpl: Template for checking fixes
5255 * fixinc/inclhack.def: Added 'test_text' for many fixes
87b6d63a 5256 disable hpux8_bogus_inlines on SCO
73101c95
BK
5257 * fixinc/fixinc.sco: Oh, yes, we don't need this any more.
5258
4d393a0b
JH
5259Tue May 9 16:30:27 MET DST 2000 Jan Hubicka <jh@suse.cz>
5260
5261 * calls.c (expand_call): Reorganize somewhat in order
5262 to avoid unnecesary recalculation inside loop and make
5263 tail call failure code cleaner.
7e585d16 5264
f8cd4126
RK
5265Tue May 9 06:30:20 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5266
5267 * alias.c (nonlocal_reference_p): Minor reformatting.
5268 * reload.c (find_equiv_reg): Simplify logic for
5269 CALL_INSN_FUNCTION_USAGE since can't have SUBREG or pseudos and
5270 some some reformatting.
5271 * reload1.c (reload_combine): Don't assume everything in
5272 CALL_INSN_FUNCTION_USAGE is a REG and clean up code a bit.
5273
6b6c1201
RH
52742000-05-08 Richard Henderson <rth@cygnus.com>
5275
5276 * final.c (current_insn_predicate): New.
5277 (final_scan_insn): Set it.
5278 * output.h (current_insn_predicate): Declare.
5279
5280 * ifcvt.c (cond_exec_process_insns): New argument prob_val.
5281 Attach it to call insns.
5282 (cond_exec_process_if_block): Track probability for true and
5283 false branches.
5284 (dead_or_predicable): Likewise.
5285
5286 * predict.c (PROB_NEVER, PROB_VERY_UNLIKELY): New.
5287 (PROB_UNLIKELY, PROB_EVEN, PROB_LIKELY): New.
5288 (PROB_VERY_LIKELY, PROB_ALWAYS): New.
5289 (estimate_probability, expected_value_to_br_prob): Use them.
5290
5291 * config/ia64/ia64-protos.h (ia64_expand_prediction): Declare.
5292 * config/ia64/ia64.c (ia64_print_operand_address): Handle 'j'.
5293 (ia64_expand_prediction): New.
5294 (emit_insn_group_barriers): Don't look at notes. Emit barriers
5295 as needed after calls.
5296 (ia64_epilogue_uses): Mark b0 used.
5297 * config/ia64/ia64.md (beq_true, beq_false): Remove.
5298 (bne_true, bne_false): Remove.
5299 (eq_return, eq_not_return, ne_return, ne_not_return): Remove.
5300 (br_true, br_false): New. Use predicate_operator and
5301 ia64_expand_prediction.
5302 (return_true, return_false): Likewise.
5303 (call_internal): Use ia64_expand_prediction. Don't emit stop bit.
5304 (call_internal1, call_value_internal): Likewise.
5305 (call_value_internal1, call_multiple_values_internal1): Likewise.
5306
5307 * config/ia64/ia64.c (ia64_direct_return): Require frame size zero.
5308
5309 * config/ia64/ia64.md (extendsfdf2): Split only after reload.
5310
22aa60a1
RH
53112000-05-08 Richard Henderson <rth@cygnus.com>
5312
5313 * rtlanal.c (may_trap_p): Consider old-style and volatile
5314 asms to trap.
5315
40860754
JW
5316Mon May 8 17:16:48 2000 Jim Wilson <wilson@cygnus.com>
5317
5318 * config/ia64/ia64.h (RETURN_ADDR_RTX): Use COUNT not count.
5319
e8e20f18
RH
53202000-05-08 Richard Henderson <rth@cygnus.com>
5321
5322 * config/ia64/ia64.h (predicate_operator): Declare.
5323
5324 * config/ia64/ia64.md (extendsfdf2): Split the nop case out
5325 of existance.
5326
de4bfbcb
RH
5327 * gensupport.c (process_rtx): Copy and post-process each member
5328 of the define_insn rtvec individually.
5329
3fef5b2b
NB
5330Mon 8 May 22:17:35 2000 Neil Booth <NeilB@earthling.net>
5331
5332 * cpplex.c (spell_token): New function.
e8e20f18
RH
5333 (TOKEN_LEN): Add 1 for whitespace.
5334 (_cpp_lex_file): Update to use spell_token.
3fef5b2b
NB
5335 * cpplib.h (E): Remove.
5336 (TTYPE_TABLE): Update CPP_VSPACE entry.
5337
4fb9b830
RH
53382000-05-08 Richard Henderson <rth@cygnus.com>
5339
5340 * flow.c (init_propagate_block_info): Watch out for conditional
5341 branch to next instruction, and thus one outgoing edge.
5342
549f0725
RH
5343 * config/ia64/ia64.c (ia64_encode_section_info): Exit early
5344 for global register variables; don't special case __[CD]TOR_LIST__;
5345 mind ggc_p for string allocation.
5346
afc2cd05
NC
53472000-05-08 Nick Clifton <nickc@cygnus.com>
5348
5349 * config/i386/i386.h (ELIMINABLE_REGS): Fix comment.
5350
e89c8502
BK
53512000-05-08 Bruce Korb <bkorb@gnu.org>
5352
5353 * fixinc/mkfixinc.sh: fixinc.sco is no longer used
8d21ff13 5354 i?86-*-msdosdjgpp* no longer uses fixincludes
e89c8502
BK
5355 * fixinc/genfixes: inclhack.sh and fixincl.sh are no longer generated
5356 * fixinc/inclhack.sh: deleted
5357 * fixinc/hackshell.tpl: deleted
5358 * fixinc/inclhack.tpl: deleted
93f69683 5359 * fixinc/Makefile.in: Remove dependencies on above
e89c8502
BK
5360 * fixinc/fixincl.sh: "DO NOT EDIT" text modified
5361
c7e81e90
AJ
53622000-05-08 Andreas Jaeger <aj@suse.de>
5363
5364 * config/mips/linux.h: Remove undefines which disabled .ctor/.dtor
5365 support.
5366
a997ec53
ZW
53672000-05-07 Zack Weinberg <zack@wolery.cumb.org>
5368
5369 * Makefile.in (LOOSE_CFLAGS): Add /g modifiers to both sed
5370 substitutions.
5371
b8f41010
NB
5372Sun 7 May 08:43:53 2000 Neil Booth <NeilB@earthling.net>
5373
5374 * cpplex.c: Move new lexer definitions and prototypes
5375 to top. Conditional include these and the code if
5376 NEW_LEXER is defined. Rename functions whose names
5377 clash if this code included.
5378
6b29b0e2
JW
5379Sun May 7 00:54:57 EDT 2000 John Wehle (john@feith.com)
5380
5381 * rtl.def (COND_EXEC): Clarify.
5382
5383 * i386.md (extendsidi2): Clobber (reg:CC 17) in the
5384 same fashion as zero_extendsidi2.
5385
e5bde68a
RH
53862000-05-06 Richard Henderson <rth@cygnus.com>
5387
5388 * config/ia64/ia64.c (predicate_operator): New.
5389 (ia64_print_operand): Handle 'J'.
5390 (rtx_needs_barrier): Handle COND_EXEC.
5391 * config/ia64/ia64.h (BRANCH_COST): Define.
5392 (PREDICATE_CODES): Update.
5393 * config/ia64/ia64.md: Docuement used unspec values.
5394 (attr predicable): New.
5395 (movxf, movxf_internal): New.
5396 (extendsfdf2): Don't comment out nop.
5397 (floatdidf2): Remove.
5398 (truncxfsf2, truncxfdf2, floatdixf2): New.
5399 (abssi2, absdi2): Put the neg in the "true" slot.
5400 (conditional branch instructions): Mark not predicable.
5401 (cmov*_internal): Use predicate_operator. Split to cond_exec.
5402 (abs*_internal): Likewise.
5403 (alloc, set_bsp): Mark not predicable.
5404 (barrier, insn_group_barrier, flush_cache): Likewise.
5405 (define_cond_exec): New.
5406
809d4ef1
RH
54072000-05-06 Richard Henderson <rth@cygnus.com>
5408
5409 * c-decl.c: Include "tm_p.h".
5410
5411 * config/ia64/ia64-protos.h: Rearrange decls to reduce ifdef madness.
5412 (fetchadd_operand, ia64_expand_fetch_and_op): Declare.
5413 (ia64_expand_op_and_fetch): Declare.
5414 * config/ia64/ia64.c: Include "toplev.h". Kill trailing whitespace.
5415 (setjmp_operand): Constify variables for XSTR.
5416 (ia64_encode_section_info): Likewise.
5417 (ia64_print_operand): Use %d for exact_log2; cast 32-bit printed
5418 values to int.
5419 (ia64_asm_output_external): Constify name.
5420 (process_set): Use HOST_WIDE_INT_PRINT_DEC for frame size.
5421 (process_for_unwind_directive): Provide switch default.
5422 (ia64_expand_compare_and_swap): Remove unused variables.
5423 (ia64_expand_builtin): Likewise.
5424 * config/ia64/ia64.h (ASM_OUTPUT_BYTE): Mask and cast value to int
5425 for printing.
5426
fd7c34b0
RH
5427 * config/ia64/ia64.c (sdata_symbolic_operand): Mark unused args.
5428 (symbolic_operand, function_operand, setjmp_operand): Likewise.
5429 (shift_count_operand, shift_32bit_count_operand): Likewise.
5430 (shladd_operand, fetchadd_operand, ia64_function_prologue): Likewise.
5431 (ia64_function_epilogue, ia64_setup_incoming_varargs): Likewise.
5432 (ia64_function_arg_partial_nregs, ia64_function_value): Likewise.
5433 (ia64_print_operand_address, ia64_secondary_reload_class): Likewise.
5434 (ia64_expand_builtin): Likewise.
5435 (call_multiple_values_operation): Make dest_regno unsigned.
5436
3262c1f5
RH
54372000-05-06 Richard Henderson <rth@cygnus.com>
5438
5439 * rtl.def (DEFINE_COND_EXEC): New.
5440 * md.texi: Document it.
5441
5442 * gensupport.c (input_file): Remove.
5443 (struct queue_elem): Add lineno.
5444 (rtx_ready_queue): Remove.
5445 (errors): New.
5446 (predicable_default): New.
5447 (predicable_true, predicable_false): New.
5448 (define_attr_queue, define_attr_tail): New.
5449 (define_insn_queue, define_insn_tail): New.
5450 (define_cond_exec_queue, define_cond_exec_tail): New.
5451 (other_queue, other_tail): New.
5452 (queue_pattern): New.
5453 (process_rtx): Add patterns to the appropriate queues.
5454 (is_predicable, identify_predicable_attribute): New.
5455 (n_alternatives, collect_insn_data): New.
5456 (alter_predicate_for_insn, alter_test_for_insn): New.
5457 (shift_output_template, alter_output_for_insn): New.
5458 (process_one_cond_exec, process_define_cond_exec): New.
5459 (init_md_reader): Read the entire file. Process define_cond_exec.
5460 (read_md_rtx): Return elements from the queues.
5461
f0acaf02
RH
54622000-05-06 Richard Henderson <rth@cygnus.com>
5463
5464 * flow.c (mark_set_1): Don't update conditional life info
5465 if the register is not_dead.
5466
fa9c7493
ZW
54672000-05-06 Zack Weinberg <zack@wolery.cumb.org>
5468
5469 * Makefile.in (STAGESTUFF): Add genrtl.c and genrtl.h.
5470 (mostlyclean): Also delete fixincl, fixinc.sh, and
5471 specs.ready, and make clean in the fixinc subdir.
5472
3916d6d8
RH
54732000-05-06 Richard Henderson <rth@cygnus.com>
5474
5475 * Makefile.in (gensupport.o): Compile for the host.
5476 (host-prefix gensuuprt.o): Remove.
5477 (genflags.o): Depend on gensupport.h and OBSTACK_H.
5478 (genattrtab.o): Likewise.
5479 (gencodes.o): Depend on gensupport.h.
5480 (genemit.o, genopinit.o, genrecog.o, genextract.o): Likewise.
5481 (genpeep.o, genattr.o, genoutput.o): Likewise.
5482
5483 * gensupport.c (obstack, rtl_obstack): New.
5484 (init_md_reader): Initialize rtl_obstack.
5485 * gensupport.h (rtl_obstack): Declare.
5486 (message_with_line): Declare.
5487
5488 * genattr.c: Remove all traces of obstack manipulation.
5489 * gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise.
5490 * genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise.
5491
5492 * genattrtab.c (obstack, rtl_obstack): Remove.
5493 (main): Don't init rtl_obstack.
5494 * genflags.c: Likewise.
5495
5496 * genrecog.c (message_with_line): Move ...
5497 * gensupport.c: ... here.
5498
6efd8160
RH
54992000-05-06 Richard Henderson <rth@cygnus.com>
5500
5501 * c-typeck.c (build_c_cast): Remove dead code.
5502
6482ee51
RH
55032000-05-06 Richard Henderson <rth@cygnus.com>
5504
5505 * flow.c (split_edge): Don't allocate global_live_at_start for
5506 the new block unless the old blocks had them as well.
5507
507741dd
RH
5508 * flow.c (mark_set_1): Respect not_dead when updating reg_live.
5509
65189757 5510 * ifcvt.c (noce_process_if_block): Don't use an insn_b from
02a749ec 5511 test_bb if a or b uses x.
65189757 5512
8784fdcd
ZW
55132000-05-06 Zack Weinberg <zack@wolery.cumb.org>
5514
5515 * cpphash.h: Remove conditional #define of __extension__.
5516 * rtl.h: Add __extension__ to RTL_CHECK1, RTL_CHECK2,
5517 RTL_CHECKC1, RTL_CHECKC2, and RTVEC_ELT macros
5518 (ENABLE_RTL_CHECKING only).
5519 * tree.h: Add __extension__ to TREE_CHECK, TREE_CLASS_CHECK,
5520 CST_OR_CONSTRUCTOR_CHECK, and EXPR_CHECK macros
5521 (ENABLE_TREE_CHECKING only).
5522 * varray.h: Add __extension__ to VARRAY_CHECK macro
5523 (ENABLE_CHECKING only).
5524
0616531f
RE
55252000-05-06 Richard Earnshaw (reanrsha@arm.com)
5526
5527 Use new tail-calling mechanism on ARM.
5528 * arm.md (sibcall, sibcall_value): New expands.
5529 (sibcall_insn, sibcall_value_insn, sibcall_epilogue): New insns.
5530 (tailcalling peepholes): Delete.
5531 (push_multi): Simplify.
5532 * arm.c (lr_save_eliminated): Delete definition.
5533 (pattern_really_clobbers_lr, function_really_clobbers_lr): Delete.
5534 (output_return_instruction): Remove checks on lr_save_eliminated.
5535 (output_arm_prologue): Remove old tail-calling code.
5536 (arm_output_epilogue): New parameter, really_return. All callers
5537 changed. Handle tail-calling epilogues.
5538 * arm.h (lr_save_eliminated): Delete declaration.
5539 (frame_pointer_needed): Delete declaration.
5540 * arm-protos.h (arm_output_epilogue): Adjust prototype.
5541
5542 * arm.md (is_thumb): Examine symbol thumb_code, not expression
5543 TARGET_ARM.
5544 * arm.c (thumb_code): Define it.
5545 (arm_override_options): Set it.
5546 * arm.h (thumb_code): Declare it.
7e585d16 5547
ac670723
RE
55482000-05-06 Richard Earnshaw (reanrsha@arm.com)
5549
5550 * arm-protos.h (arm_dllexport_name_p, arm_dllimport_name_p): Constify.
5551
41e3f998
RE
55522000-05-06 Richard Earnshaw (reanrsha@arm.com)
5553
5554 * arm.c (arm_gen_load_multiple, arm_gen_store_mulitple): Don't add
5555 bogus clobber to insns.
7e585d16 5556 (load_multiple_operation, store_mulitple_operation): Don't check
41e3f998
RE
5557 for it.
5558 * arm.md (ldmsi_postinc, stmsi_postinc): Adjust accordingly.
5559
5560 * arm.md (and_scc, ior_scc): Add missing mode.
5561
5562 * arm.md (call_value_symbol): Remove predicate from op2.
5563
ad027eae 5564 * arm.h (SPECIAL_MODE_PREDICATES): Define.
7e585d16 5565
296b4ed9
RK
5566Sat May 6 06:25:56 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5567
5568 * expr.c (get_subtarget): New function.
5569 (force_operand, expand_expr, do_store_flag): Use it.
5570
5571 * toplev.c (compile_file): Don't take strlen of NAME if null.
5572
53cd5d6c
DE
55732000-05-06 David Edelsohn <edelsohn@gnu.org>
5574
5575 * xcoffout.c (xcoff_current_include_file,
5576 xcoff_current_function_file, xcoff_lastfile): Constify char *.
5577 (xcoffout_source_file, xcoffout_source_line): Make filename 'const
5578 char *'.
5579 (xcoffout_declare_function): Make name 'const char *'.
5580 (xcoffout_end_epilogue): Make fname 'const char *'
5581 * xcoffout.h (xcoff_current_include_file, xcoff_lastfile,
5582 xcoffout_declare_function, xcoffout_source_line): Match above.
5583
5584 * aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -mpowerpc64 without
5585 -maix64 is error.
5586 * rs6000.c (print_operand): Fix lossage typo.
5587 (output_cbranch): Remove "cr" decoration for now.
7e585d16 5588 * rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Make alias 'const char *'.
53cd5d6c 5589
042575e9
DC
5590Sat May 6 06:55:32 2000 Denis Chertykov <denisc@overta.ru>
5591
5592 * config/avr/avr.c (out_shift_with_cnt): Bugfix for shift by
5593 constant count.
5594
b1a0b75d
BK
55952000-05-05 Bruce Korb <bkorb@gnu.org>
5596
5597 * fixinc/genfixes: Improve the matching for make target names
5598
d20a70b4
CM
55992000-05-05 Catherine Moore <clm@cygnus.com>
5600
5601 * c-common.c (decl_attributes): For TYPE_DECLs attach the
5602 attribute to the decl.
7e585d16 5603 * c-decl.c (pushdecl): Propagate the USED attribute to the
d20a70b4
CM
5604 type copy.
5605
37ceff9d
RH
56062000-05-05 Richard Henderson <rth@cygnus.com>
5607
5608 * rtlanal.c (reg_overlap_mentioned_p): Treat parallels in the
5609 same way emit_group_load does.
5610
1a8bb3dd
JL
56112000-05-05 Mark Elbrecht <snowball3@bigfoot.com>
5612
4ebe197a
ME
5613 * gcc.c (set_input) [HAVE_DOS_STYLE_FILE_SYSTEM]: Skip drive name.
5614
1a8bb3dd
JL
5615 * toplev.c (output_file_directive): Use IS_DIR_SEPARATOR.
5616 (main): Likewise.
5617
56182000-05-05 Rodney Brown <RodneyBrown@mynd.com>
d8bea1c6
RB
5619
5620 * pa.h (FUNCTION_ARG_ADVANCE): Warning removal.
5621
6a0177c5
ME
5622Fri May 5 10:29:21 2000 Marc Espie <espie@cvs.openbsd.org>
5623
7e585d16 5624 * config/openbsd.h (LINK_SPEC): pass correct flags to ld
6a0177c5
ME
5625 to support -shared, on platforms with dynamic libraries.
5626
be3dad6f
PDM
5627Fri May 5 10:27:06 2000 Philippe De Muyter <phdm@macqel.be>
5628
5629 * system.h (S_ISBLK): Provide fallback definition.
5630
eda3fbbe
GB
56312000-05-05 Geoff Berry <geoffb@bops.com>
5632
5633 * extend.texi (Extended Asm): Document inability to give asm
5634 statements access to condition codes.
5635
4edee0e6
MM
56362000-05-05 Marek Michalkiewicz <marekm@linux.org.pl>
5637
5638 * varasm.c (asm_emit_uninitialised): Use 0, not NULL
5639 as arg 2 of UNIQUE_SECTION.
5640
cde9b87d
JL
5641Fri May 5 10:11:41 2000 Jeffrey A Law (law@cygnus.com)
5642
5643 * predict.c: Remove May 4 change.
5644 * bb-reorder.c (make_reorder_chain): Do not perform block movement
5645 if we have predicted the branch at 50-50 probability.
5646
ad3958e7
RH
56472000-05-05 Richard Henderson <rth@cygnus.com>
5648
5649 * flow.c (init_propagate_block_info): Fix merge error
5650 in HAVE_conditional_execution code.
5651
5652Fri May 5 07:43:50 2000 Denis Chertykov <denisc@overta.ru>
0db7ad3a
DC
5653
5654 * config/avr/avr.c (out_shift_with_cnt): Genetare a more optimal
5655 shift cycle for unknown shift count. Also generates dec + brpl.
5656 (ashlqi3_out): Don't generate dec + brpl which now generates by
5657 `out_shift_with_cnt'.
5658 (ashlhi3_out): Likewise.
5659 (ashlsi3_out): Likewise.
5660 (ashrqi3_out): Likewise.
5661 (ashrhi3_out): Likewise.
5662 (ashrsi3_out): Likewise.
5663 (lshrqi3_out): Likewise.
5664 (lshrhi3_out): Likewise.
5665 (lshrsi3_out): Likewise.
5666
ba40970f
ME
56672000-05-04 Mark Elbrecht <snowball3@bigfoot.com>
5668
5669 * gcc.c (free_split_directories): Correct typo in explanation
5670 of make_relative_prefix.
5671
fce91820
GK
56722000-05-04 Geoff Keating <geoffk@cygnus.com>
5673
5674 * config/rs6000/rs6000.h (PREDICATE_CODES): Add floating-point
5675 comparison codes to branch_comparison_operator.
5676
8eeb3159
RH
56772000-05-04 Richard Henderson <rth@cygnus.com>
5678
5679 * ifcvt.c (noce_process_if_block): Always reset X in the A == B case.
5680
00447f7d
RH
56812000-05-04 Richard Henderson <rth@cygnus.com>
5682
5683 * Makefile.in (FPBIT_FUNCS): Remove _df_to_usi.
5684 (DPBIT_FUNCS): Remove _sf_to_usi.
5685 (stmp-multilib): Pass LIB1ASMSRC to libgcc.mk.
5686
5687 * ifcvt.c (noce_process_if_block): Fail if A or B modified
5688 between condition and jump.
5689
5690 * libgcc2.c (near eh_context_specific): Comment #endif string.
5691 * longlong.h: Don't use strings with embedded newlines.
5692
12a4e8c5
GK
56932000-05-04 Geoff Keating <geoffk@cygnus.com>
5694
5695 * config/rs6000/rs6000-protos.h: Add output_cbranch.
5696 * config/rs6000/rs6000.c (ccr_bit_negated_p): Delete.
5697 (print_operand): Delete %t and %T codes.
5698 (output_cbranch): New function. Support branch prediction.
5699 * config/rs6000/rs6000.md: Use output_cbranch for
5700 conditional branches and returns.
5701
f9e158c3
JM
57022000-05-04 Jason Merrill <jason@casey.cygnus.com>
5703
5704 * simplify-rtx.c (simplify_ternary_operation): Cast to unsigned.
5705 * stor-layout.c (place_field): Likewise.
5706 * integrate.h (struct inline_remap): Make regno_pointer_align unsigned.
5707 * expr.c (store_expr): Make align unsigned.
5708 * explow.c (plus_constant_wide): Make low words unsigned.
5709 * expmed.c (choose_multiplier): Likewise.
5710 * fold-const.c (fold): Likewise.
5711 * tree.h (build_int_2): Likewise.
5712 * tree.c (build_int_2_wide, tree_int_cst_msb): Likewise.
5713 * emit-rtl.c (gen_reg_rtx): Add cast to unsigned char*.
5714 (init_emit): Change cast to unsigned char*.
5715 * varasm.c (compare_constant_1): Add cast to char*.
5716 * gcse.c (delete_null_pointer_checks): Change cast to unsigned int*.
5717 * reload1.c (reload): Likewise.
5718
5719 * rtl.h (MEM_SET_IN_STRUCT_P): Use do { } while (0).
5720
926fd2e1
JL
5721Thu May 4 14:37:23 2000 Jeffrey A Law (law@cygnus.com)
5722
5723 * predict.c (estimate_probability): If no prediction was found, then
5724 predict the successor that is the next physical block (if such a
5725 successor exists).
5726
18b554cb
RH
57272000-05-04 Richard Henderson <rth@cygnus.com>
5728
5729 * config/alpha/t-alpha (LIB2FUNCS_EXTRA): Use qrrnd.asm in place.
5730
7a98f269
KG
57312000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5732
5733 * system.h: Don't wrap <sys/types.h> with HAVE_SYS_TYPES_H.
5734
d34cba2b
MK
57352000-05-04 Mumit Khan <khan@xraylith.wisc.edu>
5736
7e585d16 5737 * i386/cygwin.h (CPP_PREDEFINES): Don't define __STDC__. Move
2afc3e47
MK
5738 attribute macros from here ...
5739 (CPP_SPEC): to here.
5740 * i386/mingw32.h (CPP_PREDEFINES): Likewise.
5741 (CPP_SPEC): Likewise.
7e585d16 5742 * i386/crtdll.h (CPP_PREDEFINES): Delete attribute macros.
2afc3e47 5743
d34cba2b
MK
5744 * Makefile.in ($(HOST_PREFIX_1)gensupport.o): Add build rule.
5745 (libgcc.a): Pass LIB1ASMSRC to libgcc.mk.
5746
36244024
KG
57472000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5748
5749 * bb-reorder.c (get_next_bb_note, get_prev_bb_note): Prototype.
7e585d16 5750
36244024
KG
5751 * diagnostic (vbuild_message_string, build_message_string,
5752 build_location_prefix, output_get_prefix, init_output_buffer,
5753 output_notice, vline_wrapper_message_with_location,
5754 v_message_with_decl, default_print_error_function): De-constify.
5755 (set_real_maximum_length): Prototype.
5756
5757 * diagnostic.h (struct output_buffer, init_output_buffer,
5758 output_get_prefix, output_set_prefix): De-constify.
5759
5760 * function.c (init_function_start): Constify.
5761
5762 * gensupport.c (remove_constraints, process_rtx): Prototype.
5763
5764 * gthr-posix.h: Indent uses of #pragma.
5765
5766 * objc/objc-act.c (ggc_mark_imp_list, ggc_mark_hash_table):
5767 Prototype.
5768
5769 * predict.c (find_expected_value): Delete prototype.
5770 (expected_value_to_br_prob): Initialize variable `ev_reg'.
5771
5772 * sbitmap.h (debug_sbitmap): Prototype.
5773
5774 * ssa.c (compute_coalesced_reg_partition): Prototype.
5775
5776 * stor-layout.c (debug_rli): Prototype.
5777
5778 * tree.h (round_down): Prototype.
5779 (init_function_start): Constify.
5780
57c578a6
ZW
57812000-05-04 Zack Weinberg <zack@wolery.cumb.org>
5782
5783 * cpphash.h: #define __extension__ away if GCC_VERSION < 2095
5784 (overly conservative). Change extern inline wrappers to
5785 static inline, define them always, use PARAMS properly.
5786 * cpplex.c (_cpp_get_directive_token): Don't issue pedantic
5787 whitespace warnings for \f and \v at the beginning of a line.
5788
4e95db71
JL
5789Thu May 4 10:03:50 2000 Jeffrey A Law (law@cygnus.com)
5790
5791 * haifa-sched.c (schedule_insns): Free the flow edge list when it
5792 is no longer needed
5793
72b9c7fb
BK
57942000-05-04 Bruce Korb <bkorb@gnu.org>
5795
5796 * fixincl/inclhack.def: added broken_cabs -
5797 Remove `extern double cabs' declarations from math.h
5798 * fixincl/inclhack.sh: regen
5799 * fixincl/fixincl.x: regen
6b151aa7
BK
5800 * fixincl/fixincl.c: Remove BOGOSITY code
5801 * fixincl/mkfixinc.sh: Remove code for installing "shell" version
72b9c7fb 5802
bf49b139
RK
5803Thu May 4 09:45:12 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5804
5805 * rtl.h (MEM_COPY_ATTRIBUTES): Also copy RTX_UNCHANGING_P and
5806 MEM_ALIAS_SET.
5807 * alias.c (canon_rtx): Don't copy RTX_UNCHANGING_P or MEM_ALIAS_SET
5808 when calling MEM_COPY_ATTRIBUTES.
5809 * emit-rtl.c (operand_subword, change_address): Likewise.
5810 * explow.c (stabilize): Likewise.
5811 * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
5812 * integrate.c (copy_rtx_and_substitute): Likewise.
5813 * combine.c (combine_simplify_rtx): Don't copy RTX_UNCHANGING_P
5814 when calling MEM_COPY_ATTRIBUTES.
5815 (make_extraction, simplify_shift_const, gen_lowpart_for_combine):
5816 Likewise.
5817 * cse.c (gen_lowpart_if_possible): Likewise.
5818 * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
5819 * optabs.c (gen_move_insn): Likewise.
5820 * recog.c (validate_replace_rtx_1): Likewise.
5821 * simplify-rtx.c (add_mem_for_addr): Likewise.
5822 * stmt.c (expand_anon_union_decl): Likewise.
5823 * config/arm/arm.md: Likewise.
5824 * config/h8300/h7300.c (fix_bit_operand): Likewise.
5825 * config/m88k/m88k.c (legitimize_address, block_move_loop): Likewise.
5826 (block_move_no_loop, block_move_sequence): Likewise.
5827 * config/rs6000/rs6000.c (expand_block_move_mem): Likewise.
5828 * config/alpha/alpha.c (get_aligned_mem): Likewise.
5829 Clear MEM_ALIAS_SET.
5830 * final.c (alter_subreg): Don't copy MEM_ALIAS_SET when calling
5831 MEM_COPY_ATTRIBUTES.
5832
5b8714bf 58332000-05-03 Robert Lipe <robertlipe@usa.net>
7e585d16 5834
f5540cd4
RH
5835 * configure.in (i[34567]86-*-isc*) [tmake_file]: Add t-i386bare
5836 to suppress libgcc1.
5837 (i[34567]86-*-sco3.2v5*) Likewise.
5838 (i[34567]86-*-sco3.2v4*) Likewise.
5839 (i[34567]86-*-sco) Likewise.
5840 (i[34567]86-*-solaris2) Likewise.
5841 (i[34567]86-*-sysv5*) Likewise.
5842 (i[34567]86-*-sysv4*) Likewise.
5843 (i[34567]86-*-udk*) Likewise.
5844 (i[34567]86-*-sysv*) Likewise.
5b8714bf 5845
12cf91fe
ZW
58462000-05-03 Zack Weinberg <zack@wolery.cumb.org>
5847
5848 * cpphash.h (U): New define, to correct type of string constants.
5849 (ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr): New wrapper
5850 routines, to do casts when passing unsigned strings to libc.
5851 * cppexp.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c: Use them.
5852
5853 * cppfiles.c (_cpp_execute_include): Make filename an U_CHAR *.
5854 * cpphash.c (_cpp_quote_string): Make string an U_CHAR *.
5855 * cppinit.c (dump_special_to_buffer): Make macro name an U_CHAR *.
5856 * cpplex.c (parse_ifdef, parse_include, validate_else): Make
5857 second argument an U_CHAR *.
5858
5859 * cppinit.c (builtin_array): Make name and value U_CHAR *, add
5860 length field, clean up initializer.
5861 (ISTABLE): Add __extension__ to designated-
5862 initializers version.
5863 * cpplex.c (CHARTAB): Likewise.
5864
5865 * mbchar.c: Add dummy external declaration to the !MULTIBYTE_CHARS
5866 case so the file won't be empty.
5867
2a6fa433
JE
5868Wed May 3 21:01:46 2000 Jason Eckhardt <jle@cygnus.com>
5869
f5540cd4
RH
5870 * bb-reorder.c (struct reorder_block_def): Member succ removed.
5871 (REORDER_BLOCK_SUCC): Removed.
5872 (enum reorder_skip_type): Removed.
5873 (skip_insns_between_block): Renamed to skip_insns_after_block.
5874 Removed second argument. Removed dead code and cleaned up.
5875 (make_reorder_chain): Removed use of REORDER_BLOCK_SUCC.
5876 (reorder_basic_blocks): Remove use of REORDER_SKIP_AFTER. Removed
5877 second parameter to skip_insns_after_block.
2a6fa433 5878
1c12c179
RK
5879Wed May 3 13:29:54 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5880
5881 * tree.c (staticp, case LABEL_DECL): New case.
5882
658a87e5
RH
58832000-05-03 Richard Henderson <rth@cygnus.com>
5884
5885 * Makefile.in (start.encap): Do not depend on LIBGCC1.
5886
f4118ce9
RH
5887 * mklibgcc1.in: Fix typo last change.
5888
6bed14c7
JM
58892000-05-03 Jason Merrill <jason@casey.cygnus.com>
5890
5891 * Makefile.in (WARN_CFLAGS): Add -pedantic -Wno-long-long.
5892 (LOOSE_CFLAGS): New: CFLAGS without -pedantic and -Wtraditional.
5893 (GCC_CFLAGS): Use it.
5894 (LANG_FLAGS_TO_PASS): New: SUBDIR_FLAGS_TO_PASS with LOOSE_CFLAGS.
5895 * cp/Make-lang.in, java/Make-lang.in, f/Make-lang.in, ch/Make-lang.in,
5896 objc/Make-lang.in: Use it.
5897
122ddbf9
JT
58982000-05-03 Jason R Thorpe <thorpej@zembu.com>
5899
5900 * config/i386/i386.md (lshrqi2_cmpno): Use q not r in constraint.
5901
efdd2c06
RH
59022000-05-03 Richard Henderson <rth@cygnus.com>
5903
5904 * mklibgcc.in: Restrict OLDCC=GCC test to native. Equate
5905 LIBGCC1 empty with libgcc1.null.
5906
13393c8a
JW
5907Wed May 3 12:55:46 2000 Jim Wilson <wilson@cygnus.com>
5908
5909 * fold-const.c (extract_muldiv, case MAX_EXPR): Don't allow signedness
5910 change.
5911
a6d7adfd
GM
59122000-05-03 Greg McGary <gkm@gnu.org>
5913
5914 * tree.h (tree_common): Add bounded_flag member. Remove
5915 inaccurate comment about number of remaining bits.
5916 (BOUNDED_INDIRECT_TYPE_P, BOUNDED_POINTER_TYPE_P,
5917 BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
5918 MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
5919 TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
5920 TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED): New macros.
5921 (TYPE_QUAL_BOUNDED): New constant.
5922 (TYPE_QUALS): Handle bounded qualifier.
5923 (TREE_EXPR_QUALS, TREE_FUNC_QUALS): New macros.
5924 (TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
5925 TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
5926 TYPE_AMBIENT_BOUNDEDNESS): New macros.
5927 (MAX_POINTER_DEPTH, VA_LIST_POINTER_DEPTH): New constants.
5928 (tree_type): Add pointer_depth member. Remove
5929 inaccurate comment about number of remaining bits.
5930 (DECL_POINTER_DEPTH): Add macro.
5931 (tree_decl): Add pointer_depth member.
5932
28e801e2
DC
5933Wed May 3 22:52:53 2000 Denis Chertykov <denisc@overta.ru>
5934
5935 * config/avr/avr-protos.h (test_hard_reg_class): Declared.
5936 * config/avr/avr.c (ashrhi3_out): optimized shift by 15.
5937 (lshrhi3_out): Likewise.
5938 (ashrsi3_out): bugfix in shift by 8.
5939 (test_hard_reg_class): New function.
5940 * config/avr/avr.md: Bugfix inside conditions in peepholes.
5941 (ashlhi3): removed define_expand of this pattern.
5942 (*ashlhi3_insn): renamed to ashlhi3.
5943 (ashlsi3): removed define_expand of this pattern.
5944 (*ashlsi3_insn): renamed to ashlsi3.
5945 (ashrqi3): removed define_expand of this pattern.
5946 (*ashrqi3_insn): renamed to ashrqi3.
5947 (ashrhi3): removed define_expand of this pattern.
5948 (*ashrhi3_insn): renamed to ashrhi3.
5949 (ashrsi3): removed define_expand of this pattern.
5950 (*ashrsi3_insn): renamed to ashrsi3.
5951 (lshrhi3): removed define_expand of this pattern.
5952 (*lshrhi3_insn): renamed to lshrhi3.
5953 (lshrsi3): removed define_expand of this pattern.
5954 (*lshrsi3_insn): renamed to lshrsi3.
5955
4bd048ef
RB
59562000-05-03 Rodney Brown <RodneyBrown@pmsc.com>
5957
5958 * config/mcore/mcore.c: Replacing inclusion of "stdio,h" with
5959 inclusion of "system.h".
5960
59da9a7d
JW
5961Wed May 3 11:43:53 2000 Jim Wilson <wilson@cygnus.com>
5962
5963 * config/ia64/ia64.c (ia64_encode_section_info): Add check for
5964 TREE_ASM_WRITTEN.
5965
59662000-05-03 David Mosberger <davidm@hpl.hp.com>
5967
5968 * config/ia64/ia64.c (ia64_override_options): Force -mconstant-gp
5969 if -mauto-pic is on.
5970 (ia64_epilogue_uses): Mark "gp" (r1) as used by the epilogue if
5971 -mconstant-gp is in effect and function-descriptors are being used
5972 to make indirect calls.
5973 * config/ia64/ia64.h (MASK_CONST_GP): New macro.
5974 (MASK_AUTO_PIC): Ditto.
5975 (TARGET_CONST_GP): Ditto.
5976 (TARGET_AUTO_PIC): Ditto.
5977 (TARGET_SWITCHES): Add -mconstant-gp and -mauto-pic options.
5978 (ASM_OUTPUT_DOUBLE_INT): Don't generate @fptr() if -mauto-pic or
5979 -mno-pic is in effect.
5980 (ASM_OUTPUT_XDATA_DOUBLE_INT): Ditto.
5981 * config/ia64/ia64.md (movdi): Use gen_load_gprel64() if
5982 -mauto-pic is in effect.
5983 (gprel64_offset): New pattern.
5984 (load_gprel64): Ditto.
5985 (call): Handle -mauto-pic like -mno-pic (don't use fptr). If
5986 -mconstant-gp is in effect, no need to preserve gp around direct
5987 calls.
5988 (call_value): Ditto.
5989 * config/ia64/linux.h (PROFILE_BEFORE_PROLOGUE): Define.
5990 (FUNCTION_PROFILER): Define.
5991 * config/ia64/sysv4.h (ASM_OUTPUT_CONSTRUCTOR): Don't generate
5992 @fptr() directive when -mno-pic or -mauto-pic is in effect.
5993 (ASM_OUTPUT_DESTRUCTOR): Ditto.
5994
3ec83fc2
RH
59952000-05-03 Richard Henderson <rth@cygnus.com>
5996
5997 * Makefile.in (STAGESTUFF): Add libgcc libgcc.mk.
5998 (libgcc1.null, libgcc1.cross, libgcc1.a): Remove targets.
5999 (libgcc1-asm.a, libgcc1.S, libgcc2.a): Remove targets.
6000 (mklibgcc, libgcc.mk): New targets.
6001 (libgcc.a): Use libgcc.mk.
6002 (stmp-multilib): Likewise.
6003 (stmp-multilib-sub): Remove.
6004 (mostlyclean): Don't delete libgcc2 temp files.
6005 * configure.in (AC_PROG_CC_C_O): Add.
6006 (NO_MINUS_C_MINUS_O): Substitute it.
6007 (all_outputs): Add mklibgcc.
6008 * mklibgcc.in: New file.
6009
8c8de5fc
JM
60102000-05-03 Jason Merrill <jason@casey.cygnus.com>
6011
6012 * cppexp.c (op_t): Make an int.
6013
6014 * rtlanal.c (dead_or_set_regno_p): Remove unused variable.
6015
6016 * varasm.c (initializer_constant_valid_p): Fix parenthesis.
6017
6018 * gensupport.c (process_rtx): Fix macros used.
6019
8d6fe133
RH
60202000-05-03 Richard Henderson <rth@cygnus.com>
6021
6022 * flow.c (propagate_one_insn): Also don't PROP_REG_INFO for
6023 call-clobbered registers of a call.
6024
c88c0d42
CP
6025Wed May 3 12:40:53 2000 Clinton Popetz <cpopetz@cygnus.com>
6026
6027 * gensupport.c: New file.
6028 * gensupport.h: New file.
6029 * Makefile.in (HOST_RTL): Depend on gensupport.
6030 (gensupport.o) New rule.
6031 * genattr.c: Use gensupport for reading .md files.
7e585d16
ZW
6032 * genattrtab.c: Ditto.
6033 * gencodes.c: Ditto.
6034 * genconfig.c: Ditto.
6035 * genemit.c: Ditto.
6036 * genextract.c: Ditto.
6037 * genflags.c: Ditto.
6038 * genopinit.c: Ditto.
6039 * genoutput.c: Ditto.
6040 * genpeep.c: Ditto.
c88c0d42
CP
6041 * genrecog.c: Ditto.
6042 * rtl.def (define_insn_and_split): New DEF_RTL_EXPR.
6043 * md.texi (Insn Splitting): Document define_insn_and_split.
6044
18ca529b
JE
6045Tue May 2 00:20:30 2000 Jason Eckhardt <jle@cygnus.com>
6046
3ec83fc2
RH
6047 * flow.c (verify_flow_info): Added two more sanity checks. The
6048 first checks that the blocks are numbered consecutively. The second
6049 checks that n_basic_blocks is actually equal to the number of
6050 basic blocks in the insn chain.
18ca529b 6051
1920de47
ZW
60522000-05-03 Zack Weinberg <zack@wolery.cumb.org>
6053
6054 * cpplib.h: Add accessor macros for token lists.
6055 * cpplib.c, cpphash.c, cpplex.c: Use them.
6056
32919a0d
RK
6057Wed May 3 09:29:17 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6058
6059 * expr.c (expand_expr, case COMPONENT_REF): Don't check for checking
6060 memory usage if not in a function.
6061 * varasm.c (initializer_constant_valid_p, case ADDR_EXPR): Only
6062 return address if static.
6063
ea49bef6
JH
6064Wed May 3 13:14:49 MET DST 2000 Jan Hubicka <jh@suse.cz>
6065
6066 * ifcvt.c (noce_try_cmove_arith): Use may_trap_p to thest
6067 whether address may trap.
6068
3ef4c9c6
JE
6069Tue May 2 23:38:37 2000 Jason Eckhardt <jle@cygnus.com>
6070
3ec83fc2
RH
6071 * bb-reorder (chain_reorder_blocks): Changed code to test for
6072 EDGE_FALLTHRU rather than making erroneous assumption that the
6073 first outgoing edge is the fall-through edge.
3ef4c9c6 6074
4fe12442
DL
6075Tue May 2 18:20:31 2000 Donald Lindsay <dlindsay@hound.cygnus.com>
6076
7e585d16 6077 * config/mips/mips.c (mips_build_va_list,mips_va_start,mips_va_arg): new
4fe12442
DL
6078 ABI for varargs, across all MIPS. This is incompatible because the
6079 va_list (__builtin_va_list) structure is different, so a compilation
6080 unit passing a va_list and a compilation unit being passed one, should
7e585d16 6081 both be compiled with the same ABI. (The old structure had two
4fe12442
DL
6082 pointers, now it has three.)
6083
f4e79153
JE
6084Tue May 2 19:18:43 2000 Jason Eckhardt <jle@cygnus.com>
6085
3ec83fc2
RH
6086 * bb-reorder.c (struct reorder_block_def): Remove members end,
6087 block_begin, and block_end.
6088 (REORDER_BLOCK_OLD_END): Delete.
6089 (REORDER_BLOCK_BEGIN): Delete.
6090 (REORDER_BLOCK_END): Delete.
6091 (chain_reorder_blocks): Remove dead code.
f4e79153 6092
eb6f82f7
JE
6093Tue May 2 17:06:53 2000 Jason Eckhardt <jle@cygnus.com>
6094
6095 * bb-reorder.c (remove_scope_notes): Check for both types of scope
6096 notes as the end of a basic block before deleting.
6097
3ac79482
MK
60982000-05-02 Mumit Khan <khan@xraylith.wisc.edu>
6099
6100 * final.c (final_start_function): Fix spelling of "necessary".
6101
64b59a80
JM
61022000-05-02 Jason Merrill <jason@casey.cygnus.com>
6103
64b59a80
JM
6104 * toplev.c (debug_ignore_block): Return int.
6105 * dwarf2out.c (dwarf2out_ignore_block): Likewise.
6106 * toplev.h, dwarf2out.h: Adjust.
6107 * emit-rtl.c (remove_unnecessary_notes): Test return value.
6108
6109 * emit-rtl.c (remove_unnecessary_notes): Fix spelling of "necessary".
6110 * toplev.c, final.c, rtl.h: Adjust.
6111
09fa0705
ZW
61122000-05-02 Zack Weinberg <zack@wolery.cumb.org>
6113
6114 * aclocal.m4 (gcc_AC_CHECK_PROG_VER): New macro.
6115 * configure.in: Look for makeinfo in the unified tree, then
6116 for a system makeinfo which is sufficiently new.
6117 * Makefile.in: If configure says makeinfo is too old, don't
6118 build or install Info documentation.
6119
1ce4a39d
ZW
61202000-05-02 Zack Weinberg <zack@wolery.cumb.org>
6121
6122 * cpphash.c (collect_params): Fix off-by-one error.
6123 (dump_hash_helper): Dump all four macro nodetypes.
6124
9900f597
JJ
61252000-05-02 Jakub Jelinek <jakub@redhat.com>
6126
6127 * cpphash.c (trad_stringify): Adjust p after stringification as
6128 well.
6129
c56c2073
ZW
61302000-05-02 Zack Weinberg <zack@wolery.cumb.org>
6131
6132 * cpplib.h (CPP_POP, parse_cleanup_t): Delete.
6133 (cpp_buffer): Remove cleanup, seen_eof, manual_pop members.
6134
6135 * cppfiles.c (file_cleanup): Delete.
6136 * cpphash.c (macro_cleanup): Delete.
6137 (collect_objlike_expansion, collect_funlike_expansion,
6138 macarg, scan_arguments): Remove CPP_POP case.
6139
6140 * cpplex.c (null_cleanup): Delete.
6141 (cpp_pop_buffer): Do the work that was done in the cleanups
6142 here. Call _cpp_unwind_if_stack from here.
6143 (_cpp_expand_to_buffer, cpp_scan_buffer_nooutput,
6144 cpp_scan_buffer): Run until we see CPP_EOF and the top of
6145 stack is the buffer _below_ the one we stacked.
6146 (cpp_get_token): Always pop an exhausted buffer. Return
6147 CPP_EOF unless it's a macro buffer. Don't call _cpp_handle_eof.
6148 * cpplib.c (skip_if_group): Don't call cpp_get_token to
6149 increment the line number.
6150 (_cpp_handle_eof): Rename to _cpp_unwind_if_stack.
6151
6152 * fix-header.c (read_scan_file) [parsing getchar()]: Run until
6153 we see CPP_EOF and the top of stack is the buffer _below_ the
6154 one we stacked.
6155 * scan-decls.c: Likewise.
6156
32adf8e6
AH
61572000-05-02 Andrew Haley <aph@cygnus.com>
6158
6159 * config/ia64/ia64.c (ia64_encode_section_info): Handle the case
6160 where this function is called for the second time on a decl that
6161 has had its section info changed in such a way as to move it out
7e585d16 6162 of small data/bss.
32adf8e6
AH
6163 * config/ia64/ia64.h (REDO_SECTION_INFO_P): New definition.
6164
15ac7707
RH
61652000-05-01 Richard Henderson <rth@cygnus.com>
6166
6167 * ifcvt.c (dead_or_predicable): Set merge_bb->end to the insn before
6168 the sequence we're moving, not to merge_bb->head.
6169
8be9eb00
RH
61702000-05-01 Richard Henderson <rth@cygnus.com>
6171
cf889600
RH
6172 * configure.in (alpha*-*-linux-gnulibc1*) [tmake_file]: Remove
6173 reference to alpha/t-linux.
6174 (alpha*-*-linux-gnu*): Likewise.
6175 * configure: Rebuild.
6176
8be9eb00
RH
6177 * calls.c (expand_call): Don't emit reg notes for a sibcall.
6178
1868a0d4
RH
6179 * flow.c (calculate_global_regs_live): Skip for_each_successor_phi
6180 if not in SSA form.
7aa88bcf
RH
6181
6182 * ifcvt.c (if_convert): Only verify_flow_info if ENABLE_CHECKING.
6183
8eec72ec
JM
61842000-05-01 Jason Merrill <jason@casey.cygnus.com>
6185
6186 * integrate.c (copy_decl_for_inlining): Copy TREE_READONLY and
6187 TREE_THIS_VOLATILE.
6188
7e04d3c7
RH
61892000-05-01 Richard Henderson <rth@cygnus.com>
6190
6191 * ifcvt.c (noce_emit_cmove): Conditionally compile call to
6192 emit_conditional_move.
6193
f0b0e152
JJ
61942000-05-01 Jakub Jelinek <jakub@redhat.com>
6195
6196 * config/ia64/linux.h (LINK_SPEC): Use /lib/ld-linux-ia64.so.1
6197 as the dynamic linker.
6198
cc933923
ZW
61992000-05-01 Zack Weinberg <zack@wolery.cumb.org>
6200
10e56506
ZW
6201 * cppfiles.c (open_include_file): Open file in blocking mode.
6202 (read_include_file): Don't fcntl(fd, F_SETFL, 0) anymore.
6203 Only exclude block devices and directories.
6204
cc933923
ZW
6205 * cpphash.c (_cpp_make_hashnode): Rename make_HASHNODE, now
6206 static. Allocate the hashnode and its string in the same
6207 block of memory.
6208 (del_HASHNODE): Don't free h->name.
6209 (_cpp_lookup): If there is no entry for this string, create
6210 one, of type T_VOID.
6211 (_cpp_lookup_slot): Delete.
6212 * cpphash.h: Update prototypes.
6213
6214 * cpplex.c (maybe_macroexpand): Check for hp->type == T_VOID,
6215 not hp == NULL.
6216 * cpplib.c (do_define, do_undef, do_pragma_poison, do_assert,
6217 do_unassert, cpp_defined): Use _cpp_lookup. Don't create a
6218 node here, just fill in the value field properly. "Delete"
6219 entries by setting the value field to T_VOID. Check for
6220 hp->type == T_VOID, not hp == NULL.
6221
6222 * Makefile.in (cpplib.o): Don't depend on $(HASHTAB_H).
6223 * cpperror.c, cppexp.c, cpplex.c, cpplib.c: Don't include
6224 hashtab.h.
6225
ed6089d6
AO
62262000-05-01 Alexandre Oliva <aoliva@cygnus.com>
6227
79e4122c
AO
6228 * config/mn10300/mn10300.c (print_operand_address): Do not add
6229 zero to SP.
6230
ed6089d6
AO
6231 * config/mn10300/mn10300.c (expand_epilogue): If SP is to be
6232 adjusted by less than 256 bytes, use ret regardless of having any
6233 callee-saved register to restore.
6234
7c714ee1
LB
62352000-05-01 Laurynas Biveinis <lauras@softhome.net>
6236
6237 * tm.texi (TARGET_HAS_F_SETFLKW): Fix typo.
6238
52e45a60
ME
62392000-05-01 Mark Elbrecht <snowball3@bigfoot.com>
6240
6241 * config/i386/djgpp.h (INT_ASM_OP): Define.
6242 (CPP_PREDEFINES): Rename MSDOS to __MSDOS__.
6243 (ASM_WEAKEN_LABEL): Define.
6244 (MASK_BNU210): Define.
6245 (SUBTARGET_SWITCHES): Define.
6246 (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Define.
6247 (MAKE_DECL_ONE_ONLY): Define.
6248 (UNIQUE_SECTION_P, UNIQUE_SECTION): Define.
6249
eb70f628
MK
62502000-05-01 Mumit Khan <khan@xraylith.wisc.edu>
6251
6252 * i386/cygwin.h (INT_ASM_OP): Define.
6253
afd1bb91
DC
6254Mon May 1 18:20:06 2000 Denis Chertykov <denisc@overta.ru>
6255
6256 * config/avr/avr.c (address_cost): renamed to avr_address_cost.
6257 * config/avr/avr.h (ADDRESS_COST): use avr_address_cost.
6258
368256d8
DC
6259Mon May 1 17:50:44 2000 Denis Chertykov <denisc@overta.ru>
6260
6261 * config/avr/avr.c (asm_file_start): output 0 as r0 and 1 as r1 in
6262 __tmp_reg__ and __zero_reg__ initialization.
6263
c4686982
RH
62642000-04-30 Richard Henderson <rth@cygnus.com>
6265
5e9e738c
RH
6266 * flow.c (propagate_one_insn): Mark sets even when the insn is dead.
6267
c4686982
RH
6268 * ifcvt.c (noce_process_if_block): Fail the conversion if X is
6269 referenced bewteen the condition and the jump. Don't delete
6270 anything but the jump.
6271
e3fdc58a
JE
6272Sun Apr 30 22:48:24 2000 Jason Eckhardt <jle@cygnus.com>
6273
6274 * bb-reorder.c (scope_def): New struct.
6275 (scope_forest_info): New struct.
6276 (struct reorder_block_def): New member "scope".
6277 (REORDER_BLOCK_SCOPE): New macro.
6278 (relate_bbs_with_scopes): New function and prototype.
6279 (make_new_scope): Likewise.
6280 (build_scope_forest): Likewise.
6281 (remove_scope_notes): Likewise.
6282 (insert_intra_1): Likewise.
6283 (insert_intra_bb_scope_notes): Likewise.
6284 (insert_inter_bb_scope_notes): Likewise.
6285 (rebuild_scope_notes): Likewise.
6286 (free_scope_forest_1): Likewise.
6287 (free_scope_forest): Likewise.
6288 (dump_scope_forest): Likewise.
6289 (dump_scope_forest_1): Likewise.
6290 (chain_reorder_blocks): Set REORDER_BLOCK_SCOPE for new block.
6291 Update REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END for new
6292 block.
6293 (reorder_basic_blocks): Added calls to build_scope_scope_forest
6294 and remove_scope_notes before reordering is done. Added calls to
6295 rebuild_scope_notes, free_scope_forest, and reorder_blocks after
6296 after reordering is done.
6297
4c188026
BK
62982000-40-30 Bruce Korb <bkorb@gnu.org>
6299
82c3a53e
BK
6300 * fixinc/inclhack.def: Added definitions needed by OSR5,
6301 removed two stale entries (defined away with OLD_CPP).
4c188026
BK
6302 * fixinc/inclhack.sh: regen
6303 * fixinc/fixincl.x: regen
6304
0ca4f243
RH
63052000-04-30 Richard Henderson <rth@cygnus.com>
6306
6307 * ifcvt.c (dead_or_predicable): Manually squeeze non-movable notes
6308 from the last insn in the sequence.
6309
638d694d
ZW
63102000-04-30 Zack Weinberg <zack@wolery.cumb.org>
6311
6d2c2047
ZW
6312 * cpplex.c (cpp_idcmp): New function.
6313 * cpplib.h: Prototype it.
6314 * scan_decls.c (scan_decls): Use it to inspect token names.
6315 * fix-header.c (read_scan_file): Likewise. Set system_header_p on
6316 the file being run through the preprocessor.
6317 (check_macro_names): Provide length of token to cpp_defined.
6318
6319 * Makefile.in: Remove stale warning message.
6320
638d694d
ZW
6321 * cppfiles.c (redundant_include_p): Provide length of token to
6322 cpp_defined.
6323 * cpphash.c (_cpp_make_hashnode, _cpp_lookup_slot): Hash
6324 values are unsigned int.
6325 (_cpp_lookup, _cpp_lookup_slot): Do not calculate the length.
6326 (_cpp_lookup_slot): Do not calculate the hash, either.
6327 * cpphash.h: Update prototypes.
6328 * cpplib.c (do_define, do_undef, do_pragma_poison, do_assert):
6329 Hashes are unsigned int. Calculate hash here, pass by value
6330 to _cpp_lookup_slot.
6331
4d0482f6
BS
63322000-04-30 Bernd Schmidt <bernds@cygnus.co.uk>
6333
6334 * simplify-rtx.c (check_value_useless): Delete function.
6335 (discard_useless_locs): Don't call it; manage N_USELES_VALUES counter
6336 by hand.
6337 (cselib_invalidate_regno): Likewise.
6338 (cselib_invalidate_mem_1): Likewise.
6339 (references_value_p): Recognize useless values by the fact that they
6340 have no locations.
6341 (discard_useless_values): Likewise.
6342 (cselib_record_set): This may turn a useless value
6343 into a useful one.
6d2c2047 6344
a5c874cb
RH
63452000-04-30 Richard Henderson <rth@cygnus.com>
6346
6347 * config/d30v: New port.
6348
6349 * configure.in (d30v-*): Set fp format.
6350 * configure: Rebuild.
6351
9ec6d7ab
RH
63522000-04-30 Richard Henderson <rth@cygnus.com>
6353
6354 * ifcvt.c: New file.
6355 * Makefile.in (OBJS): Add it.
6356 (ifcvt.o): New target.
6d2c2047 6357 * jump.c (jump_optimize_1): Remove all code related to if-conversion,
9ec6d7ab
RH
6358 and conditional arithmetic.
6359 (find_insert_position): Remove.
6360 * timevar.def (TV_IFCVT, TV_IFCVT2): New.
6361 * toplev.c (DFI_ce, DFI_ce2): New.
6362 (dump_file): Add ce and ce2 dumps.
6363 (rest_of_compilation): Run if_convert a couple o times. Set
6364 cse_not_expected after cse2. Don't set no_new_pseudos until
6365 after sched1 or recompute_reg_usage.
6366
927b868f
RH
63672000-04-30 Richard Henderson <rth@cygnus.com>
6368
6369 * config/alpha/t-crtbe (crtbegin.o): Add "-I.".
6370 (crtend.o, crtbeginS.o, crtendS.o): Likewise.
6371
11ae508b
RH
63722000-04-30 Richard Henderson <rth@cygnus.com>
6373
6374 * flow.c (struct reg_cond_life_info): New.
6375 (struct propagate_block_info): Add reg_cond_dead and reg_cond_reg.
6376 (init_propagate_block_info): Initialize them.
6377 (free_propagate_block_info): Destruct them.
6378 (mark_set_1): Consider conditional life before killing a register.
6379 (mark_regno_cond_dead): New.
6380 (free_reg_cond_life_info): New.
6381 (flush_reg_cond_reg_1, flush_reg_cond_reg): New.
6382 (ior_reg_cond, not_reg_cond, nand_reg_cond): New.
6383 (mark_used_reg): Record conditional life.
6384
6385 * haifa-sched.c (schedule_insns): Disable death counting
6386 sanity check for HAVE_conditional_execution.
6387
614f6bc1
RH
63882000-04-30 Richard Henderson <rth@cygnus.com>
6389
6390 * Makefile.in (TIMEVAR_H): New.
6391 (ggc-simple.o, ggc-page.o, toplev.o, timevar.o): Use it.
6392 (timevar.h): Remove rule.
6393
99eb5b26
RH
63942000-04-29 Richard Henderson <rth@cygnus.com>
6395
6396 * config/alpha/crtend.asm: Use C comments instead of #.
6397 * config/alpha/crtbegin.asm: Likewise. Mark __dso_handle hidden.
6398
6399 * config/alpha/elf.h (SELECT_SECTION): Treat CONSTRUCTOR like VAR_DECL.
6400
5cebbd8d
ZW
64012000-04-29 Zack Weinberg <zack@wolery.cumb.org>
6402
d2158690
ZW
6403 * cpphash.h (enum node_type: Take out T_MCONST.
6404 (union hashval): Move into struct hashnode.
6405 (struct hashnode): Pack tighter. Remove file, line, col
6406 members.
6407 * cpphash.c: Constify most of the macro-definition structures.
6408 (struct definition): Replace by struct object_defn
6409 and struct funct_defn. Put file, line, column information
6410 here. All users updated to match.
6411 (_cpp_create_definition, _cpp_macroexpand): Remove special
6412 case for #define WORD OTHERWORD.
6413 * cpplib.c (do_undef): Remove T_MCONST case.
6414
5cebbd8d
ZW
6415 * cpphash.h: Move struct reflist, struct definition, and the
6416 DEFINITION typedef to cpphash.c. Use 'struct definition *' in
6417 union hashval. _cpp_free_definition takes a HASHNODE pointer.
6418 * cpphash.c (_cpp_free_definition): Free data pointed to by
6419 MCONST, XCONST, MACRO, and FMACRO nodes properly.
6420 (_cpp_create_definition, del_HASHNODE): Just call
6421 _cpp_free_definition to clear out a hashnode.
6422 * cpplib.c (do_pragma_poison): Likewise.
6423
a47944e2
AO
6424Sat Apr 29 12:25:17 2000 Alexandre Oliva <aoliva@cygnus.com>
6425
6426 * config/mn10300/mn10300.h (FIRST_DATA_REGNUM,
6427 LAST_DATA_REGNUM, FIRST_ADDRESS_REGNUM, LAST_ADDRESS_REGNUM,
6428 FIRST_EXTENDED_REGNUM, LAST_EXTENDED_REGNUM): New macros.
6429 (REGNO_SP_P): Redefine in terms of STACK_POINTER_REGNUM.
6430 (REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_EXTENDED_P,
6431 REGNO_AM33_P): Redefine in terms of the new macros.
6432 (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
6433 (FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P,
6434 STRUCT_VALUE): Likewise.
6435 (STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
6436 ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Likewise. Moved.
6437
a2ee8430
JH
6438Sat Apr 29 01:18:45 MET DST 2000 Jan Hubicka <jh@suse.cz>
6439
6440 * regmove.c (struct record_stack_memrefs_data): New.
6441 (record_stack_memrefs): New function.
6442 (combine_stack_adjustments_for_block): Use it.
6443
0c4c16df
JH
6444Sat Apr 29 01:15:27 MET DST 2000 Jan Hubicka <jh@suse.cz>
6445
6446 * calls.c (calls_function_1): Propertly handle TREE_LIST expressions;
6447 use special_function_p to detect alloca.
6448
e6746605
ME
6449Fri Apr 28 16:30:33 2000 Marc Espie <espie@cvs.openbsd.org>
6450
6451 * gcc.texi: Fixes for makeinfo 4.0 --html.
6452
2f7205ff
ZW
64532000-04-28 Zack Weinberg <zack@wolery.cumb.org>
6454
6455 * pcp.h: Delete file.
6456
f40a8c03
KH
64572000-04-28 Kazu Hirata <kazu@hxi.com>
6458
6459 * h8300.c (function_epilogue): Clean up flags when the last insn
6460 in a function is a barrier.
6461
e7651ec5
CD
64622000-04-28 Chris Demetriou <cgd@sibyte.com>
6463
6464 * configure.in (sparc-hal-solaris2*): protect [] glob from
6465 my expansion.
6466 (mips*-*-ecoff*, mips*-*-elf*, mips*-*-*): use MASK_ defines
6467 rather than hard-coded constants in target_cpu_default2.
6468 * configure: Regenerate.
6469
c083cf9a
JM
64702000-04-28 Jason Merrill <jason@casey.cygnus.com>
6471
6472 * tree.c (get_callee_fndecl): Extract the initial value from
6473 a readonly decl.
6474
e67cd9f8
RH
64752000-04-28 Richard Henderson <rth@cygnus.com>
6476
6477 * varasm.c (record_constant_1): Record the CODE_LABEL when
6478 taking the address of a LABEL_REF.
6479
ce48579b
RH
64802000-04-28 Richard Henderson <rth@cygnus.com>
6481 Jan Hubicka <jh@suse.cz>
6482
6483 * calls.c (combine_pending_stack_adjustment_and_call): Return the
6484 adjustment; don't do the stack adjust.
6485 (expand_call): Call compute_argument_block_size right before
6486 allocating the block; update comment; don't do alignment sanity
6487 checking for sibling call; use args_size instead of
6488 unadjusted_args_size before args_size is adjusted. Use
6489 combine_pending_stack_adjustment_and_call to compute stack adjust
6490 for must_preallocate case.
6491
6492 * expr.c (push_block): Remove shadow `temp' in inner scope.
6493
f1f39752
JM
64942000-04-28 Jason Merrill <jason@casey.cygnus.com>
6495
6d2c2047 6496 * toplev.c (rest_of_compilation): Call
f1f39752
JM
6497 note_deferral_of_defined_inline_function even if the function
6498 can't be inlined.
6499
bb1ec1d7
SB
65002000-04-28 Scott Bambrough <scottb@netwinder.org>
6501
6502 * cpplex.c (_cpp_scan_line): Fix buffer overwrite.
6503
d8d1d62b
RH
65042000-04-28 Richard Henderson <rth@cygnus.com>
6505
6506 * toplev.c (rest_of_type_compilation): Fix sdb TIMEVAR typo.
6507
4fbe8d07
KG
65082000-04-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6509
6510 * timevar.c (init_timevar): DeANSIfy function definition.
6511
26026d38
AS
65122000-04-27 Alex Samuel <samuel@codesourcery.com>
6513
6514 * Makefile.in (timevar.o): Depend on flags.h.
6515 * timevar.c (unused_stack_instances): New variable.
6516 (timevar_push): Take a timevar_stack_def from
6517 unused_stack_instances if available.
6518 (timevar_pop): Push the popped timevar_stack_def onto
6519 unused_stack_instances.
6520 (TIMEVAR_ENABLE): New macro.
6521 (timevar_def): Make standalone a 1-bit field. Add field used.
6522 (get_time): Rename parameter to now. Return after clearing it if
6523 not TIMEVAR_ENABLE.
6524 (init_timevar): Do nothing if not TIMEVAR_ENABLE.
6525 (timevar_pop): Likewise.
6526 (timevar_stop): Likewise.
6527 (timevar_push): Likewise. Mark the timing variable as used.
6528 (timevar_start): Likewise.
6529 (timevar_print): Do nothing if not TIMEVAR_ENABLE. Don't print
6530 timevars that were never used.
6531
a6496605
MM
65322000-04-27 Mark Mitchell <mark@codesourcery.com>
6533
6428983a 6534 * c-common.c (c_apply_type_quals_to_decl): REFERENCE_TYPES are
a6496605
MM
6535 always TREE_READONLY.
6536
d8b2fb52
UD
65372000-04-27 Ulrich Drepper <drepper@cygnus.com>
6538
6539 * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Generate mem reference
6540 for call instruction with mode QImode.
6541
2a9a326b
AS
65422000-04-27 Alex Samuel <samuel@codesourcery.com>
6543
6544 * Makefile.in (OBJS): Add timevar.o.
6545 (toplev.o): Depend on timevar.h.
6546 (ggc-simple.o): Likewise.
6547 (ggc-page.o): Likewise.
6548 (timevar.o): New rule.
6549 (timevar.h): New rule.
6550
6551 * timevar.h: New file.
6552 * timevar.c: Likewise.
6553 * timevar.def: Likewise.
6554
6555 * toplev.h (gc_time, parse_time, varconst_time): Remove.
6556 * toplev.c: Use timevar_push and timevar_pop instead of TIMEVAR
6557 throughout.
6558 (TIMEVAR): Remove macro.
6559 (gc_time, parse_time, varconst_time, integration_time, jump_time,
6560 cse_time, gcse_time, loop_time, cse2_time, branch_prob_time,
6561 flow_time, combine_time, regmove_time, sched_time,
6562 local_alloc_time, global_alloc_time, flow2_time, peephole2_time,
6563 sched2_time, dbr_sched_time, reorder_blocks_time,
6564 rename_registers_time, shorten_branch_time, stack_reg_time,
6565 to_ssa_time, from_ssa_time, final_time, symout_time, dump_time,
6566 all_time): Remove.
6567 (compile_file): Don't initialize time variables. Call
6568 init_timevar and start TV_TOTAL timer. Call timevar_print instead
6569 of many calls to print_time.
6570 (rest_of_compilation): Add timing for reload_cse_regs.
6571 (get_run_time): Removed to timevar.c.
6572 (print_time): Likewise.
6573 (get_run_time): Implement using TV_TOTAL time variable.
6d2c2047 6574 (print_time): Get total run time from get_run_time.
2a9a326b
AS
6575 * ggc-page.c (ggc_collect): Push and pop TV_GC instead of
6576 computing elapsed time explicitly.
6577 * ggc-simple.c (ggc_collect): Likewise.
6578 (gc_time): Remove declaration.
6d2c2047 6579
739fb049
MM
65802000-04-27 Mark Mitchell <mark@codesourcery.com>
6581
6582 * calls.c (combine_pending_stack_adjustment_and_call): New function.
6583 (expand_call): Use it.
6d2c2047 6584
d5827326
JH
65852000-04-27 Jan Hubicka <jh@suse.cz>
6586
6587 * flow.c (mark_set_1): Handle MEMs in ZERO_EXTRACT/SIGN_EXTRACT
6588 fields.
6589
b340d2b8
AO
6590Thu Apr 27 12:47:00 2000 Alexandre Oliva <aoliva@cygnus.com>
6591
6592 * config/mn10300/mn10300.md (movhi): Simplify. Prefer data
6593 registers.
6594
1b513b77
JH
6595Thu Apr 27 17:33:05 MET DST 2000 Jan Hubicka <jh@suse.cz>
6596
6597 * function.c (epilogue_done): Pass whole insn to record_insns.
6598
01329426
JH
6599Thu Apr 27 16:55:28 MET DST 2000 Jan Hubicka <jh@suse.cz>
6600
6601 * cse.c (CSE_ADDRESS_COST): Remove.
6602 (find_best_addr): Add new parameter "MODE", use address_cost instead
6603 of CSE_ADDRESS_COST
6604 (address_cost): New.
6605 (fold_rtx): Update call of find_best_addr.
6606 * rtl.h (address_cost): Declare.
6607 * loop.c (general_induction_var): Add new parameter "MODE", use
6608 address_cost instead of ADDRESS_COST
6609 (init_loop): Use address_cost instead of ADDRESS_COST.
6610 (check_insn_for_givs): Update call of general_induction_var.
6611 (find_mem_givs): Likewise.
6612 (consec_sets_giv): Likewise.
6613 * config/i386/i386.h (ADDRESS_COST): Call ix86_address_cost.
6614 * i386.c (ix86_address_cost): New.
6615 * i386-protos.h (ix86_address_cost): Declare.
6616
5e849f6e
AO
6617Thu Apr 27 11:45:16 2000 Alexandre Oliva <aoliva@cygnus.com>
6618
6619 * config/mn10300/mn10300.md (movqi): Simplify. Prefer data
6620 registers.
6621
2a5b96fd
JH
6622Thu Apr 27 16:11:00 MET DST 2000 Jan Hubicka <jh@suse.cz>
6623
6624 * expr.c (store_expr): Use clear_storage instead of direct memset
6625 libcall.
6626
d82704fb
AO
6627Thu Apr 27 10:36:51 2000 Alexandre Oliva <aoliva@cygnus.com>
6628
6629 * config/mn10300/mn10300.c (mn10300_address_cost): Test
6630 ASHIFT, AND and LABEL_REF.
6631
1aaef9c1
JH
6632Thu Apr 27 15:08:46 MET DST 2000 Jan Hubicka <jh@suse.cz>
6633
6634 * invoke.texi (-foptimize-sibling-calls): Fix.
6635
28b6b9b2
JH
6636Thu Apr 27 14:54:22 MET DST 2000 Jan Hubicka <jh@suse.cz>
6637
6638 * loop.c (load_mems) Don't use hard registers for the hoisting.
6639
6640 * unroll.c (unroll_loop): Avoid overflow in the n_iterations
6641 calculation; rename const_equiv array in the preconditioning code
6642 from loop_unroll to loop_unroll_precondition
6643
9785c68d
RH
66442000-04-27 Richard Henderson <rth@cygnus.com>
6645
6646 * flow.c (struct propagate_block_info): Remove new_dead, new_live;
6647 add new_set.
6648 (propagate_one_insn): Clear it. Don't update reg_live here.
6649 (init_propagate_block_info): Update for pbi member changes.
6650 (free_propagate_block_info): Likewise.
6d2c2047 6651 (mark_set_1): Know that zero_extract, sign_extract, and
9785c68d
RH
6652 strict_low_part don't kill their argument. Alter hard subregs.
6653 Update new_set for non-CLOBBER sets. Update reg_live.
6654 (find_auto_inc): Update reg_live, not new_dead.
6655 (mark_used_reg): Update reg_live, not new_live. Examine new_set
6656 to determine if the reg in question was set this insn. Only update
6657 reg info with PROP_REG_INFO.
6658
a9f531a6
RH
66592000-04-26 Richard Henderson <rth@cygnus.com>
6660
6661 * flow.c (allocate_reg_life_data): Set max_regno here ...
6662 (life_analysis): ... not here.
6663
83a67d12
RH
6664 * flow.c (calculate_global_regs_live): Force stack pointer
6665 live at end.
6666
2ea64f10
RH
66672000-04-26 Richard Henderson <rth@cygnus.com>
6668
6669 * jump.c (redirect_exp_1): Rework from old redirect_exp. Never
6670 commit change group changes.
6671 (invert_exp_1): Similarly.
6672 (redirect_exp, invert_exp): Use them.
6673 (redirect_jump_1): New.
6674 (invert_jump_1): New.
6675 (jump_optimize_1): Remove code subsumed by condexec.c.
6676 * rtl.h (invert_jump_1, redirect_jump_1): Declare.
6677
0a2287bf
RH
66782000-04-26 Richard Henderson <rth@cygnus.com>
6679
6680 * rtlanal.c (dead_or_set_regno_p): Use find_regno_note.
6681
6682 * genconfig.c (main): Set all HAVE_foo to 1.
6683
6684 * graph.c (node_data): Use GET_NOTE_INSN_NAME instead of local array.
6685
4bae0b47
AS
66862000-04-26 Alex Samuel <samuel@codesourcery.com>
6687
6688 * invoke.texi: Document -fssa flag.
6689
f134997f
RH
66902000-04-26 Richard Henderson <rth@cygnus.com>
6691
6692 * flow.c (count_reg_sets_1): Remove.
6693 (count_reg_sets, count_reg_references): Remove.
6694 (recompute_reg_usage): Implement with update_life_info.
6695 Reallocate life data.
6696
693d9e2f
RH
66972000-04-26 Richard Henderson <rth@cygnus.com>
6698
6699 * flow.c (update_life_info): Consider blocks null to mean the
6700 universal set.
6701 (calculate_global_regs_live): Likewise.
6702 (life_analysis): Do that instead of collecting all_blocks.
6703
56aba4a8
RH
67042000-04-26 Richard Henderson <rth@cygnus.com>
6705
6706 * flow.c (tidy_fallthru_edge): Don't delete the jump when it's
6707 a still-valid conditional jump.
6708
604617ba
RH
67092000-04-26 Richard Henderson <rth@cygnus.com>
6710
6711 * jump.c (invert_jump): Always invert REG_BR_PROB. Do it correctly.
6712
6713 * bb-reorder.c (reorder_basic_blocks): Don't run estimate_probability.
6714 * flow.c (calculate_loop_depth): Remove.
6715 * output.h (calculate_loop_depth): Don't declare.
6716 * toplev.c (rest_of_compilation): Expand calculate_loop_depth
6717 inline; run estimate_probability at the same time.
6718
6777db6d
NB
67192000-04-26 Neil Booth <NeilB@earthling.net>
6720
6721 * cpplib.h: "~=" is not a single pp-token.
6722 * cpplex.c: Correct commentary.
6723
b4593d17
RH
67242000-04-26 Richard Henderson <rth@cygnus.com>
6725
6726 * flow.c (mark_set_1): New arguments code and flags; update all
6727 callers. Track regno_first and regno_last; do HARD_REGNO_NREGS
6728 test in one place. Tidy flags tests. Don't bias REG_N_REFS by
6729 loop_depth when optimizing for size. Do new_dead update after
6730 emitting REG_UNUSED notes. Merge mark_set_reg code.
6731 (mark_set_reg): Remove.
6732 (propagate_one_insn): Use mark_set_1 for call-clobbered registers;
6733 arrange to not emit REG_UNUSED notes.
6734
443b75c9
RH
67352000-04-26 Richard Henderson <rth@cygnus.com>
6736
6737 * flow.c (find_auto_inc): Use pbi->bb instead of BLOCK_FOR_INSN.
6738 * ssa.c (convert_from_ssa): Don't run compute_bb_for_insn.
6739
292f3869
RH
67402000-04-26 Richard Henderson <rth@cygnus.com>
6741
6742 * flow.c (propagate_one_insn): Break out from propagate_block.
6743 (init_propagate_block_info): Likewise.
6744 (free_propagate_block_info): Likewise.
6745 (propagate_block): Use them. Export.
6746 * basic-block.h: Declare them all.
6747
7f8a79ba
RH
67482000-04-26 Richard Henderson <rth@cygnus.com>
6749
6750 * basic-block.h (life_analysis): Declare here ...
6751 * output.h: ... not here.
6752 * flow.c (life_analysis): Remove nregs parameter; replace
6753 remove_dead_code with flags. Remove ssa dead code check.
6754 Only init alias analysis if we'll use it.
6755 * reg-stack.c (reg_to_stack): Update life_analysis arguments.
6756 * ssa.c (convert_to_ssa): Likewise.
6757 (convert_from_ssa): Likewise.
6758 * toplev.c (rest_of_compilation): Likewise.
6759
52294521
RH
67602000-04-26 Richard Henderson <rth@cygnus.com>
6761
6762 * flow.c (flow_delete_block): Rename from delete_block. Export.
6763 * basic-block.h (flow_delete_block): Declare.
6764
9485c46e
DM
67652000-04-26 David S. Miller <davem@redhat.com>
6766
6767 * optabs.c (emit_libcall_block): Verify insns with INSN_P before
6768 taking a PATTERN of it.
6769
cfd5b8b8
NB
67702000-04-26 <NeilB@earthling.net>
6771
6772 * cpplex.c (spell_other, spell_char): Remove.
6773 (SPELL_CHAR): New.
6774 (token_spelling, trigraph_map): Use unsigned chars.
6775 (_cpp_lex_line): Tidy up the switch statement.
6776 * cpplib.h: Implement spell_char with spell_string.
6777 (C): New.
6778
466d45de 67792000-04-26 <RodneyBrown@pmsc.com>
6d2c2047 6780
466d45de
RB
6781 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Warning removal.
6782 * pa/pa64-regs.h (HARD_REGNO_MODE_OK): Warning removal.
6783
d3e3972c
KG
67842000-04-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6785
6786 * dwarf2out.c (dw_cfi_oprnd_struct, dw_fde_struct, add_fde_cfi,
6787 reg_save, dwarf2out_frame_debug_expr, dwarf2out_def_cfa,
6788 dwarf2out_window_save, dwarf2out_args_size, dwarf2out_reg_save,
6789 dwarf2out_return_save, dwarf2out_return_reg,
6790 dwarf2out_stack_adjust, dwarf2out_frame_debug, primary_filename,
6791 add_AT_lbl_id, add_AT_lbl_offset, type_tag, decl_start_label,
6792 gen_compile_unit_die, dwarf2out_init): Constify a char*.
6793
6794 * dwarf2out.h (dwarf2out_init): Likewise.
6795
6796 * dwarfout.c (filename_entry, primary_filename, last_filename,
6797 type_tag, output_compile_unit_die, dwarfout_init): Likewise.
6798
6799 * tree.h (dwarf2out_def_cfa, dwarf2out_window_save,
6800 dwarf2out_args_size, dwarf2out_reg_save, dwarf2out_return_save,
6801 dwarf2out_return_reg): Likewise.
6802
d4047e24
AJ
68032000-04-26 Andreas Jaeger <aj@suse.de>
6804
2ea64f10
RH
6805 * extend.texi (Function Attributes): Fix description of pure
6806 attribute.
d4047e24 6807
7d2e8eff
JM
68082000-04-26 Jason Merrill <jason@casey.cygnus.com>
6809
6810 * integrate.c (output_inline_function): Do clear DECL_DEFER_OUTPUT
6811 before calling rest_of_compilation.
6812
70576b75
AJ
68132000-04-26 Andreas Jaeger <aj@suse.de>
6814
6815 * config/mips/linux.h: Remove erroneous commit of #if 0/#endif in
6816 last patch.
6817
e2ee9912
RH
68182000-04-25 Richard Henderson <rth@cygnus.com>
6819
2ea64f10 6820 * cse.c (cse_insn): Emit barrier after unconditional jump.
369edff1 6821
e2ee9912
RH
6822 * calls.c (expand_call): Disable tail call generation once
6823 rtx_equal_function_value_matters is false.
6824
6825 * reg-stack.c (convert_regs_1): Treat EDGE_ABNORMAL_CALL edges
6826 like EDGE_EH edges.
6827
68282000-04-25 Jason Merrill <jason@casey.cygnus.com>
1cfdcc15
JM
6829
6830 * dwarf2out.c (add_bound_info): Don't crash on an unexpanded SAVE_EXPR.
6831
6832 * dwarfout.c (output_decl): Ignore NAMESPACE_DECLs.
6833
6834 * dwarf2out.c (gen_subprogram_die): The class-scope declaration DIE
6835 is the primary DIE for a member function.
6836 (gen_decl_die): Call set_decl_origin_self here.
6837 * dwarfout.c (output_decl): And here.
6838 * integrate.c (output_inline_function): Not here.
6839 Don't clear DECL_INLINE until after calling rest_of_compilation.
6840 (set_decl_origin_self): No longer static.
6841 * tree.h: Add prototype.
6842 * toplev.c (note_deferral_of_defined_inline_function): Only write
6843 out abstract instance for actual inlines.
6844
d25ed420
AO
68452000-04-25 Alexandre Oliva <aoliva@cygnus.com>
6846
6847 * config/mn10300/mn10300.h (REG_CLASS_FROM_LETTER): Return
6848 EXTENDED_REGS only if TARGET_AM33.
6849 * config/mn10300/mn10300.md (movsi, addsi): Avoid exposing
6850 SP_REGS to register allocation and reloading unless absolutely
6851 necessary.
6852 (movsi3): Remove special-case of adding non-constants to SP.
6853
86cf1cbd
KG
68542000-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6855
6856 * aclocal.m4 (gcc_AC_NEED_DECLARATION): This macro now requires
6857 INCLUDES to search and does not provide any of its own. Also it
6858 now accepts optional ACTION-IF-NEEDED and ACTION-IF-NOT-NEEDED
6859 parameters. Also it does not call AC_DEFINE.
6860 (gcc_AC_NEED_DECLARATIONS): Likewise. Also this macro now calls
6861 AC_DEFINE and provides for automatic entries for autoheader.
6862 (gcc_AC_FUNC_PRINTF_PTR): Cleanup C code in test.
6863
6864 * configure.in (gcc_AC_NEED_DECLARATIONS): Save and restore CFLAGS
6865 so we can pass -I flags and include gansidecl.h/system.h in this
6866 test.
6867
6868 * acconfig.h: Delete all NEED_DECLARATION_* entries.
6869
62076024
KG
68702000-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6871
2ea64f10 6872 * acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
62076024
KG
6873 ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
6874 ENABLE_GC_ALWAYS_COLLECT): Delete entries.
6d2c2047 6875
2ea64f10 6876 * configure.in (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
62076024
KG
6877 ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
6878 ENABLE_GC_ALWAYS_COLLECT): Use three argument form of AC_DEFINE
6879 for these macros. Clean up spacing and linewraps.
6880
39b0dce7
JM
68812000-04-26 Jason Merrill <jason@casey.cygnus.com>
6882
6883 * calls.c (expand_call): Use get_callee_fndecl.
6884
6885 * print-tree.c (print_node): Print the chain of an _EXPR.
6886
0c96007e
AM
6887Tue Apr 25 16:16:04 2000 Andrew MacLeod <amacleod@cygnus.com>
6888 Jim Wilson <wilson@cygnus.com>
6889 Andrew Haley <aph@cygnus.com>
6d2c2047 6890
0c96007e
AM
6891 * config/ia64/crtbegin.asm: Add IA-64 unwind support. Correct alloc
6892 and gp save/restore problems.
6893 * config/ia64/crtend.asm: Add IA-64 unwind support.
6894 * config/ia64/ia64.c (ia64_compute_frame_size): Don't include pr_size
6895 in fr_pad_size calculation.
6896 (save_restore_insns): Move PR save area. Correct uses of
6897 RTX_FRAME_RELATED_P.
6898 (ia64_expand_prologue): Mark alloc with RTX_FRAME_RELATED_P.
6899 (ia64_expand_epilogue): Add eh_epilogue support.
6900 (ia64_function_prologue): Emit .prologue directive.
6901 (ia64_init_machine_status, ia64_mark_machine_status): New functions.
6902 (ia64_override_options): Set init_machine_status and
6903 mark_machine_status.
6904 (rtx_needs_barrier): Handle bsp reads and writes.
6905 (spill_offset, sp_offset, spill_offset_emitted, tmp_reg, tmp_saved):
6906 New static variables.
6907 (process_set, process_for_unwind_directive): New functions.
6908 * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR, ASM_OUTPUT_XDATA_SHORT,
6909 ASM_OUTPUT_XDATA_INT, ASM_OUTPUT_XDATA_DOUBLE_INT, ASM_OUTPUT_EH_CHAR,
6910 ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT, ASM_OUTPUT_EH_DOUBLE_INT): New
6911 macros.
6912 (EH_FRAME_SECTION_ASM_OP): Define to IA_64.unwind section.
6913 (IA64_UNWIND_INFO, HANDLER_SECTION, IA64_UNWIND_EMIT): Define.
6914 (struct machine_function): Define.
6915 * config/ia64/ia64.md (bsp_value, set_bsp, eh_epilogue): New patterns.
6d2c2047 6916
7d7f30cf
BK
69172000-04-25 Bruce Korb <bkorb@gnu.org>
6918
6919 * fixinc/Makefile.in: make the removal of old programs more
6920 robust
6921 * fixinc/mkfixinc.sh: use the two new targets in the Makefile:
6922 install-bin and install-sh
6923
b36f4ed3
NC
69242000-04-25 Nick Clifton <nickc@cygnus.com>
6925
6926 * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): If not
6927 defined, define to return zero.
6928 (function_cannot_inline_p): If a function has any target
6929 specific attributes, then use the macro
6930 FUNCTION_ATTRIBUTE_INLINABLE_P to allow the target to decide
6931 whether it can be inlined. If it cannot, issue a suitable
6932 explanation.
6933
6934 * tm.texi: Add a new node 'Inlining' to document the new macro
6d2c2047 6935 FUNCTION_ATTRIBUTE_INLINABLE_P.
b36f4ed3 6936
c5a04734
ZW
69372000-04-25 Zack Weinberg <zack@wolery.cumb.org>
6938
6939 * cpplib.h (struct cpp_buffer): Add 'mapped' flag; fix
6d2c2047 6940 commentary.
c5a04734
ZW
6941
69422000-04-25 Neil Booth <NeilB@earthling.net>
6943
6944 Restore previous patch, plus the following fixes:
6945
6946 * cpphash.c (_cpp_create_definition): Test PREV_WHITESPACE in
6947 flags, not CPP_OPEN_PAREN.
6948 * cpplex.c (expand_token_space, init_token_list,
6949 cpp_free_token_list): Put the dummy token at list->tokens[-1].
6950 (_cpp_lex_line, _cpp_lex_file): token list is 0-based.
6951
5ed12799
AO
6952Tue Apr 25 14:06:40 2000 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
6953
6954 * config/i386/freebsd.h (INT_ASM_OP): Define.
6955
424a02db
JH
6956Tue Apr 25 14:51:07 MET DST 2000 Jan Hubicka <jh@suse.cz>
6957
6958 * loop.c (strength_reduce): Fix typo in the last checkin.
6959
65e14bf5
RK
6960Tue Apr 25 07:33:12 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6961
6962 * stor-layout.c (finalize_record_size): Simplify to use existing
6963 functions.
6964 (compute_record_mode): No longer static.
6965 * tree.h (compute_record_mode): New declaration.
6966
05183359
NB
69672000-04-25 Neil Booth <NeilB@earthling.net>
6968
6969 * Revert my patch below until cause of build failures
6970 determined.
6971
865f50c5
RH
69722000-04-25 Richard Henderson <rth@cygnus.com>
6973
6974 * combine.c (combine_instructions): Add missing argument
6975 to try_combine.
6976
9d9e5c09
RH
6977 * toplev.c (rest_of_compilation): Delay sibcall optimization
6978 until after emit_eh_context.
6979
aabb6c74
NC
69802000-04-24 Nick Clifton <nickc@redhat.com>
6981
6982 * combine.c (combine_instructions): Do not try to combine a
6983 sequence of insns when the second insn has been replaced by a
6984 note.
6985
03bf1c28
MK
6986Mon Apr 24 17:34:18 2000 Mumit Khan <khan@xraylith.wisc.edu>
6987
b633b6c0
MK
6988 * gcc.c (load_specs): New static function.
6989 (read_specs): Use it.
6990
03bf1c28
MK
6991 * gcc.c (lookup_compiler): Make multiple passes for case
6992 insensitive filesystems.
6993
9c603af2
NB
69942000-04-24 Neil Booth <NeilB@earthling.net>
6995
6996 * cpphash.c: replace HSPACE_BEFORE with PREV_WHITESPACE.
6997 * cpphash.h (_cpp_check_directive): new.
6998 * cpplex.c (handle_newline, cpp_free_token_list,
6999 init_trigraph_map, trigraph_ok, trigraph_replace,
7000 backslash_start, skip_block_comment, skip_line_comment,
7001 skip_whitespace, parse_name, parse_number, parse_string,
7002 copy_comment, _cpp_lex_line, spell_char, spell_string,
7003 spell_comment, spell_name, spell_other, _cpp_lex_file,
7004 _cpp_output_list): new.
7005 (expand_name_space): take length argument.
7006 (init_token_list): add comment list initialisation.
7007 (cpp_scan_line): use auto_expand_name_space. PREV_WHITESPACE
7008 instead of HSPACE_BEFORE.
7009
7010 * cpplib.c (_cpp_check_directive): new
7011 * cpplib.h (cpp_name, PREV_WHITESPACE, PREV_COMMENT,
7012 DIGRAPH, UNSIGNED_INT, TOK_NAME): new.
7013 (HSPACE_BEFORE): delete.
7014 (TTYPE_TABLE): rearrange.
6d2c2047 7015 (struct cpp_toklist): update.
9c603af2 7016
91029a29
KG
70172000-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7018
7019 * aclocal.m4 (gcc_AC_HEADER_STRING, gcc_AC_FUNC_PRINTF_PTR,
7020 gcc_AC_C_VOLATILE, gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG): Use the three
7021 argument form of AC_DEFINE.
7022
7023 * configure.in (DEFAULT_LINKER, DEFAULT_ASSEMBLER,
7024 HAVE_INTTYPES_H, PACKAGE, VERSION, ENABLE_WIN32_REGISTRY,
7025 WIN32_REGISTRY_KEY, HAVE_GAS_SUBSECTION_ORDERING, HAVE_GAS_WEAK,
7026 HAVE_GAS_HIDDEN, HAVE_AS_REGISTER_PSEUDO_OP, AS_SPARC64_FLAG,
7027 HAVE_AS_OFFSETABLE_LO10, ENABLE_NEW_GXX_ABI): Likewise.
7028
7029 * acconfig.h: Delete stubs made redundant by 3-arg AC_DEFINE.
7030
3c9a2b55
KG
70312000-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7032
7033 * Makefile.in (GCC_FOR_TARGET, GCC_CFLAGS, LIBGCC2_INCLUDES,
7034 deduced.h): Use -isystem, not -I, for including system headers.
7035
aaceac0b
NC
70362000-04-24 Nick Clifton <nickc@cygnus.com>
7037
7038 * config/fr30/fr30.md (addsi3): Do not use small add instruction if
7039 the source register is the frame pointer or arg pointer.
7040 (addsi3_small_int): Disallow if source register is the frame
7041 pointer or arg pointer.
7042
f6cbf672
KG
70432000-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7044
7045 * configure.in (ENUM_BITFIELDS_ARE_UNSIGNED): Delete redundant
7046 call to AC_MSG_RESULT.
7047
9762e8a4
ML
7048