OSDN Git Service

* COPYING: Update to current
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
2
3         * COPYING: Update to current
4         ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references
5         to 19yy as example year in copyright notice).
6
7 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
8
9         * c-lex.c (cb_file_change): Treat in_system_header as strictly
10         boolean (0 or 1).
11
12 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
13
14         * cppmain.c: Update print.lineno with -P.
15
16 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
17
18         * c-lex.c: s/change_file/file_change.
19         * cpplib.h: Similarly.
20         * cppmain.c: Similarly.
21         * fix-header.c: Similarly.
22         * cppfiles.c (stack_include_file): Pass the buffer location and
23         size to cpp_push_buffer.  Generate the file_change callback,
24         so that sysp is already set.
25         * cpphash.h: Add _cpp_do_file_change.
26         * cpplib.c (do_line): Set buffer->sysp directly. Generate the
27         file_change callback after setting sysp.
28         (_cpp_do_file_change): Handle FC_ENTER and the FC_RENAME exception
29         here.
30         (cpp_push_buffer): Don't generate a callback.  Clear sysp.
31         (cpp_pop_buffer): Clean up logic.
32
33 2000-12-18  Benjamin Kosnik  <bkoz@redhat.com>
34
35         * configure.in (gcc_gxx_include_dir): Simplify.
36         (libstdcxx_incdir): Export.
37         * configure: Regenerate.
38         * Makefile.in (PREPROCESSOR_DEFINES): Add in
39         GPLUSPLUS_TOOL_INCLUDE_DIR bits here..
40         (libstdcxx_incdir): Add.
41         * cppdefault.c (GPLUSPLUS_TOOL_INCLUDE_DIR): Add search path.
42
43 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
44
45         * c-lex.c (lex_lineno): Remove.
46         (init_c_lex, c_lex): Remove lex_lineno.
47         (cb_change_file): Update lineno correctly, both before calling
48         push_srcloc and before leaving the function.
49         (cb_def_pragma): Set lineno before outputting diagnostics.
50
51 Sun Dec 17 18:45:41 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
52
53         * print-tree.c (print_node): Print DECL_USER_ALIGN and TYPE_USER_ALIGN.
54         Print TYPE_MIN_VALUE and TYPE_MAX_VALUE for REAL_TYPE.
55         Use print_node_brief to print bounds.
56
57 2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
58
59         * cpplib.h (struct cpp_reader): Remove references to string_pool
60         and temp_string_pool.
61         * cppinit.c (cpp_create_reader, cpp_cleanup): Similarly; using
62         ident_pool in place.
63         * cpplex.c (parse_number, unescaped_terminator_p, parse_string,
64         save_comment, cpp_token_as_text): Similarly.
65         * cpplib.c (do_define, glue_header_name, parse_assertion): Similarly.
66         * cppmacro.c (make_number_token, builtin_macro, lock_pools,
67         unlock_pools, stringify_arg, paste_tokens): Similarly.
68
69 Sun Dec 17 12:41:48 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
70
71         * dwarf2out.c (loc_descriptor_from_tree, case NOP_EXPR): New case.
72         (loc_descriptor_from_tree, case CONVERT_EXPR): Likewise.
73         (loc_descriptor_from_tree, case NON_LVALUE_EXPR): Likewise.
74
75 2000-12-17  Richard Earnshaw  <rearnsha@arm.com>
76
77         * Makefile.in (check-po): Use $(MAKE).
78         (risky-stage1, risky-stage2, risky-stage3, risky-stage4): Likewise.
79
80 2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
81
82         * cppmain.c (check_multiline_token): New function.
83         (scan_buffer): Use it.
84         (cb_change_file): Restructure to avoid warning.
85         * cpperror.c (print_location): Initialize col.
86
87 2000-12-14  Philipp Thomas  <pthomas@suse.de>
88
89         * protoize.c (main): Correctly set locale categories.
90         * gcc.c (main): Likewise.
91         * cppmain.c (general_init): Likewise.
92         * toplev.c (main): Likewise.
93         * gcov.c (main): Likewise.
94         * collect2.c (main): Likewise.
95
96 2000-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
97
98         * c-common.c (c_common_nodes_and_builtins): Create a
99         cstring_endlink, use it.  Rename int_ftype_string_string to
100         int_ftype_cstring_cstring, string_ftype_string_int to
101         string_ftype_cstring_int, and string_ftype_string_string to
102         string_ftype_cstring_cstring.  Prefer sizetype_endlink and
103         int_endlink to manually recreating them.  Fix the prototype
104         set for __builtin_strspn/__builtin_strcspn.
105
106 2000-12-12  Marek Michalkiewicz  <marekm@linux.org.pl>
107
108         * config/avr/avr.c (out_set_stack_ptr): Update comment.
109         (print_operand): Add support for %~ and %o.
110
111 2000-12-17 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
112
113         * c4x.h: Add ASM_OUTPUT_DEF definition for bounded pointer code.
114
115 2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
116
117         * c-lex.c: Move main_input_filename handling to FC_ENTER. Clean up.
118         * cpperror.c (print_containing_files): Get right line number.
119         (print_location): Output column of 1 if 0.
120         * cppfiles.c (stack_include_file): cpp_push_buffer handles
121         the callback.
122         * cpphash.h (_cpp_do_file_change): No longer external.
123         * cpplib.c (do_file_change): Now local to cpplib.c.
124         (do_line): Fake a buffer stack for preprocessed files.
125         (cpp_push_buffer): Create a file_change callback.  Handle faked
126         buffers.
127         (cpp_pop_buffer): Similarly.
128         * cpplib.h: BUF_FAKE: New buffer type.
129         * cppmain.c: Update to handle correct file renaming where a
130         #line is the first line of the main file, and produce only
131         the renamed file, not the original file, as output.
132
133 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
134
135         * config/c4x/c4x.md: Remove redundant @s from output patterns.
136
137 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
138             Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
139
140         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Call c4x_init_pragma.
141
142         * config/c4x/c4x-protos.h (c4x_init_pragma): New prototype.
143
144         * config/c4x/c4x.c (c4x_init_pragma): New function.
145         (c_lex_func): New variable.
146         (c4x_parse_pragma): Use c_lex_func.
147
148 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
149             Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
150
151         * config/c4x/c4x.h (MD_INIT_BUILTINS): Add void_list_node argument
152           to c4x_init_builtins.
153
154         * config/c4x/c4x-protos.h (c4x_init_builtins): Add tree argument.
155
156         * config/c4x/c4x.c (c4x_init_builtins): Add tree argument.      
157         (c4x_output_ascii):  Fix.
158         
159 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
160             Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
161
162         * config/c4x/c4x.h (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Define.
163
164         * config/c4x/c4x-protos.h (c4x_init_builtins): New prototype.
165         (c4x_expand_builtin): Likewise.
166
167         * config/c4x/c4x.c (c4x_init_builtins): New function.
168         (c4x_expand_builtin): Likewise.
169
170         * config/c4x/c4x.md (floatunsqihf2): New pattern.
171         (*floatqihf2_set, *fixhfqi_set, fix_trunchfqi2): Likewise.
172         (fixuns_trunchfqi2, toieee, frieee, *ldhf_conditional): Likewise.
173         (*ldhf_conditional_noov, movhfcc, trap, cond_trap_cc): Likewise.
174         (*toieee_movqf_clobber, *frieee_movqf_clobber): Likewise.
175
176 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
177         
178         * libgcc2.h: Use Wtype for SItype and DWtype for DItype in prototypes.
179         * libgcc2.c (__absvsi2): Use Wtype and DWtype.
180         (__absvdi2, __addvsi3, __addvdi3, __subvsi3): Likewise.
181         (__subvdi3, __mulvsi3, __mulvdi3, __negvsi2, __negvdi2): Likewise.
182
183 2000-12-16  Alexandre Oliva  <aoliva@redhat.com>
184
185         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Enclose the block
186         statement in do/while(0).
187
188 Sat Dec 16 19:56:24 MET 2000  Jan Hubicka  <jh@suse.cz>
189
190         * i386.md (ashrsi3_cmpno, ashrhi3_cmpno, ashrqi3_cmpno, lshrsi3_cmpno,
191         lshrhi3_cmpno): Remove redundant '@' from the template.
192
193         * i386.md (cmpstrsi_1): Fix type of the compare.
194
195         * genattrtab.c (attr_rtx_cost): New function.
196         (simplify_test_exp): Avoid overactive inlining; use temporary
197         obstacks for tests.
198
199 Sat Dec 16 10:41:11 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
200
201         * diagnostic.c (finish_abort): Deleted.
202         (fatal): Add code from finish_abort.
203         (error_recursion, fancy_abort): Call fatal, not finish_abort.
204         (trim_filename): Remove leading "../".
205         * diagnostic.h (finish_abort): Deleted.
206         * toplev.c (crash_signal): Call fatal, not finish_abort.
207
208         * stor-layout.c (place_field): Treat overflowing DECL_SIZE_UNIT
209         as if size were variable.
210
211         * expmed.c (expand_mult): Write REG_EQUAL note with proper mode.
212
213 2000-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
214
215         * tradcpp.c: T_WARNING: New.
216         (do_warning): New function.
217         (finclude): Skip past the newline and increase the line number
218         before calling output_line_command.
219         (do_line): Skip the new line after output_line_command.  Don't  
220         pre-decrement the line number.   
221
222 2000-12-15  Diego Novillo  <dnovillo@redhat.com>
223
224         * i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix references to
225         _GLOBAL_OFFSET_TABLE_ when using Intel syntax.
226
227 2000-12-15  Jakub Jelinek  <jakub@redhat.com>
228
229         * gcc.c (cpp_options): Pass -fno-operator-names.
230         * cpplib.h (struct cpp_options): Add operator_names.
231         * cppinit.c (cpp_create_reader): Initialize it.
232         (initialize_builtins): If -fno-operator-names, don't add
233         C++ alternate operator names.
234         (COMMAND_LINE_OPTIONS): Add -fno-operator-names.
235         (cpp_handle_option): Clear operator_names.
236
237 2000-12-15  Jason Merrill  <jason@redhat.com>
238
239         * jump.c (jump_optimize_1): Don't delete the line note after the
240         prologue even if it seems redundant.
241
242         * config/arm/arm.c (arm_expand_prologue): Set RTX_FRAME_RELATED_P
243         on all insns used to adjust the stack.
244
245 Fri Dec 15 15:32:16 MET 2000  Jan Hubicka  <jh@suse.cz>
246
247         * combine.c (cant_combine_insn_p): Get around SUBREGs when determining
248         hardreg<->reg moves.
249
250 Fri Dec 15 14:48:37 MET 2000  Jan Hubicka  <jh@suse.cz>
251
252         * genrecog.c (add_to_sequence): Remove special case for
253         const_int_operand.
254         (maybe_both_true): Return 1 when falling out of sequence when
255         trying to find common possition in the pattern.
256
257 Fri Dec 15 14:44:51 MET 2000  Jan Hubicka  <jh@suse.cz>
258
259         * integrate.c (copy_rtx_and_substitute): Copy mode too.
260
261 Fri Dec 15 14:11:57 MET 2000  Jan Hubicka  <jh@suse.cz>
262
263         * flow.c (notice_stack_pointer_modification_1): Cleanup.
264
265 2000-12-15  Alexandre Oliva  <aoliva@redhat.com>
266
267         * function.c (adjust_trampoline_addr): New function.
268         (trampoline_address): Call it instead of round_trampoline_addr().
269         * tm.texi (TRAMPOLINE_ADJUST_ADDRESS): Document it.
270
271 2000-12-14  Zack Weinberg  <zack@wolery.stanford.edu>
272
273         * cppfiles.c (hack_vms_include_specification): Delete function
274         (not used since 1998).
275
276 Fri Dec 15 03:37:51 2000  J"orn Rennecke <amylaar@redhat.com>
277
278         * haifa-sched.c (sched_init): Don't put a note in front of any BARRIER.
279
280 2000-12-14  Jim Wilson  <wilson@redhat.com>
281
282         * alias.c (get_alias_set): Call record_component_aliases for
283         COMPLEX_TYPE.
284         (record_component_aliases): Handle COMPLEX_TYPE.
285         
286 2000-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
287
288         * fixinc/gnu-regex.c: Disable NLS.
289
290 2000-12-14  Richard Henderson  <rth@redhat.com>
291
292         * config/alpha/alpha.c (alpha_emit_conditional_move): Do not swap
293         comparison operands when that would create non-canonical rtl.
294
295         * config/i386/i386.md (umulsi3_highpart): Remove * from name.
296         (smulsi3_highpart): Likewise.
297
298 2000-12-14  Neil Booth  <neil@daikokuya.demon.co.uk>
299
300         * gcc.c (cpp_options): Add -remap.
301
302 2000-12-14  Neil Booth  <neil@daikokuya.demon.co.uk>
303
304        * gcc.c (cpp_options): Update to use '&'.
305        (struct switchstr): Change type of validated to save space.
306        New member 'ordering'.
307        (handle_braces, validate_switches): Update to handle '&'.       
308
309 2000-12-13  Laurynas Biveinis  <lauras@softhome.net>
310
311         * fixinc/inclhack.def: skip stdio_va_list fix if __DJ_va_list
312         found in a header.
313         * fixinc/fixincl.x: regenerated.
314
315 2000-12-13  DJ Delorie  <dj@redhat.com>
316
317         * config.gcc (cygwin, win32, mingw32): Use float-i386.h.
318
319 2000-12-13  Tom Tromey  <tromey@redhat.com>
320
321         * gcc.c (handle_braces): Handle %{<S*} spec correctly.
322
323 2000-12-13  Alexandre Oliva  <aoliva@redhat.com>
324
325         * function.c (assign_parms): Optimize incoming PARALLELs into
326         REGs if possible.
327
328 2000-12-13  Bruce Korb  <bkorb@gnu.org>
329
330         * fixinc/Makefile.in(*): substantial rewrite to accommodate systems
331         that cannot handle bi-directional pipes, viz. BeOS and DOS.
332         * fixinc/fixlib.h(IGNORE_ARG): new macro
333         (STATIC): define for all of fixinc to use
334         * fixinc/fixfixes.c(*): eliminate unused arg warnings
335         * fixinc/fixtests.c(*): ditto
336         * fixinc/fixincl.c(start_fixer): chain_open now uses const arg list
337         * fixinc/gnu-regex.c: reorder some includes to avoid _GNU_SOURCE
338         warning.  Also, eliminate the ``#ifdef emacs'' stuff.
339         (re_syntax_options): make global as it is declared so.
340         * fixinc/mkfixinc.sh: process the argument list more consistently
341         (beos/msdosdjgpp): set TARGETS to twoprocess vs. oneprocess
342         * fixinc/procopen.c(globals): include "fixlib.h" for std defs
343         * fixinc/server.c(globals): ditto
344         * fixinc/server.h(defines): ditto
345
346 2000-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
347
348         * tradcpp.c (special_symbol): Improve test for definedness,
349         though it is still not perfect.
350         (do_define): Don't define illegal macro names.
351         
352 2000-12-07  Aldy Hernandez  <aldyh@redhat.com>
353
354         * config/mips/elf.h (ASM_OUTPUT_SECTION_NAME): emit @nobits
355         if changing into .bss section.
356         * config/mips/elf64.h: same.
357         * config/mips/iris6.h: same.
358         * config/mips/netbsd.h: same.
359         * config/mips/openbsd.h: same.
360
361 2000-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
362
363         * cppfiles.c (read_name_map): Return null if open () fails.
364         (remap_filename): Simplify logic.  Add ICE if it doesn't work
365         as expected. Perform secondary lookup attempt on base filename
366         only.
367
368 Wed Dec 13 19:48:04 MET 2000  Jan hubicka  <jh@suse.cz>
369
370         * flow.c (notice_stack_pointer_modification_1): Notice midifications
371         using PRE_MODIFY and POST_MODIFY.
372
373 Wed Dec 13 17:25:32 MET 2000  Jan Hubicka  <jh@suse.cz>
374
375         * genoutput.c (process_template): Add sanity checking for '@' templates.
376
377 2000-12-13  Bernd Schmidt  <bernds@redhat.co.uk>
378
379         * simplify-rtx.c (cselib_finish): Free reg_values and used_regs
380         varrays.
381
382 2000-12-12  Mike Stump  <mrs@wrs.com>
383
384         * Makefile.in (distclean): Remove safe-ctype.c as well.
385
386 2000-12-12  Brad Lucier <lucier@math.purdue.edu>
387
388         * tradcpp.c (do_error): Cast difference of pointers to int
389         for error message.
390
391 2000-12-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
392
393         * config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Move from here...
394         * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): ...to here.
395
396 2000-12-12  Jim Wilson  <wilson@redhat.com>
397
398         * rtlanal.c (may_trap_p): Check operand modes of LE, LT, GE, and GT.
399
400 2000-12-12  Alexandre Oliva  <aoliva@redhat.com>
401
402         * configure.in: Simplify language enabling/disabling code.
403         * configure: Rebuilt.
404         * ch/config-lang.in (target_libs): Set.
405         (build_by_default): Set to no.
406         * cp/config-lang.in (target_libs): Set.
407         * f/config-lang.in (target_libs): Set.
408         * java/config-lang.in (target_libs): Set.
409         * objc/config-lang.in (target_libs): Set.
410
411 2000-12-12  Neil Booth  <neil@daikokuya.demon.co.uk>
412
413         * tradcpp.c (enum node_type): Add T_ERROR.
414         (do_error): New function.
415         (directive_table): Add #error handler.
416
417 2000-12-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
418
419         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Enable .file/.loc check
420         for powerpc*-*-*.
421         * configure: Regenerated.
422         * config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
423         * config/rs6000/rs6000.c (rs6000_unique_section): Use
424         STRIP_NAME_ENCODING.
425
426 Mon Dec 11 13:51:09 2000  Jeffrey A Law  (law@cygnus.com)
427
428         * pa.c (cmpib_comparison_operator): Remove GEU and LTU.
429         * pa.h (PREDICATE_CODES, cmpib_comparison_operator): Corresponding
430         changes.
431
432 2000-12-11  Bruce Korb  <bkorb@gnu.org>
433
434         * fixinc/fixincl.tpl: initialize all fields for warnings
435         * fixinc/fixincl.x: regenerate
436
437 2000-12-11  Neil Booth  <neilb@earthling.net>
438
439         * tradcpp.h: For tradcpp, NUL is not whitespace.
440
441 2000-12-11  Neil Booth  <neilb@earthling.net>
442
443         * fix-header.c (read_scan_file): Macro expansion is not a file buffer.
444
445 2000-12-05  Marek Michalkiewicz  <marekm@linux.org.pl>
446
447         * config/avr/avr.c (compare_condition, compare_sign_p): New functions.
448         (compare_diff_p, compare_eq_p): Call compare_condition.
449         (out_tsthi, out_tstsi): Call compare_sign_p.
450         (avr_progmem_p): Check for error_mark_node.
451
452 2000-12-11  Neil Booth  <neilb@earthling.net>
453
454         * cpperror.c (print_location): New function.
455         (print_containing_files): Simplify.
456         (_cpp_begin_message): Simplify and use print_location.
457         * cppfiles.c (stack_include_file): Update.
458         (_cpp_pop_file_buffer): Update.
459         * cpphash.h (struct cpp_buffer): New members
460         include_stack_listed and type.   
461         * cpplib.c (_cpp_handle_directive): Buffer->inc is not null.
462         (run_directive): Take buffer type.  cpp_push_buffer cannot fail.
463         (_cpp_do__Pragma, cpp_define, _cpp_define_builtin, cpp_undef,
464         handle_assertion): Update.
465         (cpp_push_buffer): Take a buffer type and file name.
466         (cpp_pop_buffer): Update.  Clear include_stack_listed.
467         * cpplib.h (input_stack_listing_current): Remove.
468         (enum cpp_buffer_type): New.
469         (cpp_push_buffer): New prototype.
470         * cppmacro.c (builtin_macro): Simplify; buffer cannot be null.
471         * fix-header.c (read_scan_file): Update.
472
473 2000-12-10  Robert Lipe <robertlipe@usa.net>
474
475         * install.texi (i*86-*-sco3.2v5*): Remove information duplicated
476         in html version.
477
478 2000-12-10  Richard Henderson  <rth@redhat.com>
479
480         * genrecog.c (find_operand): Handle 'V' format code.
481         (find_matching_operand): New.
482         (validate_pattern): Accept '=' for an in-out operand if there
483         is another operand with a matching constraint.
484
485         * config/i386/i386.md (andqi_ext_0_cc): Use matching constraint
486         for op1 to op0.
487
488 2000-12-10  Richard Henderson  <rth@redhat.com>
489
490         * genrecog.c (validate_pattern) [STRICT_LOW_PART]: Fix thinko.
491
492 2000-12-09  Richard Henderson  <rth@redhat.com>
493
494         * genrecog.c (validate_pattern): Verify that ZERO_EXTRACT and 
495         STRICT_LOW_PART as SET_DEST have in-out constraints.
496
497 2000-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
498
499         * c-common.c (check_function_format): Don't suggest adding format
500         attributes to functions with no parameter to which to add them.
501
502 2000-12-09  Nick Clifton  <nickc@redhat.com>
503
504         * config/arm/arm.c (arm_expand_prologue): Mark the generated
505         insn not the set as being DWARF2_FRAME_RELATED_P.
506
507 2000-12-09  Laurynas Biveinis  <lauras@softhome.net>
508
509         * Makefile.in: use $(build_exeext) for all build
510         system executable targets.
511
512 2000-12-09  Laurynas Biveinis  <lauras@softhome.net>
513
514         * install.texi: remove i[345]86-*-winnt3.5 section.
515         * configur.bat: removed.
516         * config/msdos: directory removed.
517
518 2000-12-09  Neil Booth  <neilb@earthling.net>
519
520         * cppfiles.c (NEVER_REREAD, DO_NOT_REREAD): Move from cpphash.h.
521         * cpphash.h (NEVER_REREAD, DO_NOT_REREAD, ABSOLUTE_PATH): Delete.
522         * cpplex.c (parse_identifier): Improve diagnostic.
523         (_cpp_lex_token): Return unconditionally at the end of a directive.
524         * cpplib.c (read_flag): Verify legality of each flag.
525         (end_directive): Resotre pfile->skipping before skip_rest_of_line.
526         (do_line): Use the new read_flag.
527         * cppmacro.c (struct cpp_macro, parse_arg, replace_args,
528         check_macro_redefinition, parse_params): Rename var_args to
529         variadic.
530
531 2000-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
532
533         * .cvsignore: Add info files.
534
535 2000-12-08 Laurynas Biveinis <lauras@softhome.net>
536
537         * config/winnt: Remove obsolete directory.
538         * install.texi (Configurations): Remove obsolete documentation for
539         Windows NT.
540
541 2000-12-08  Joseph S. Myers  <jsm28@cam.ac.uk>
542
543         * configure.in: Don't define INSTALL_INFO.
544         * configure: Regenerate.
545         * Makefile.in (INSTALL_INFO): Remove.
546         (info): Depend on info files in source directory.
547         (cpp.info, gcc.info, c-tree.info): Build info files in source
548         directory.
549         (distclean): Don't remove info files.
550         (maintainer-clean): Remove info files from source directory.
551         (install-normal): Depend on install-info.
552         (install-info): Install info files from source directory, if they
553         exist.
554         * texinfo.tex: Update to version 2000-11-09.08 from ftp.gnu.org.
555
556 2000-12-08  Alexandre Oliva  <aoliva@redhat.com>
557
558         * lcm.c (optimize_mode_switching): Check whether an insn is a NOTE
559         before taking its NOTE_LINE_NUMBER.
560
561 2000-12-08  Nick Clifton  <nickc@redhat.com>
562
563         * config/arm/arm.md (load_indirect_jump): Add pool ranges.
564
565         * extend.texi: Document ARM "interrupt" function attribute.
566         Mention that the ARM also support the "naked" function
567         attribute.
568
569         * config/arm/arm-protos.h (arm_current_func_type): Add
570         prototype.
571
572         * config/arm/arm.h (EXCEPTION_LR_REGNUM): Define.
573         (struct machine_function): Add 'func_type' field.
574         Define bit values for 'func_type' field.
575         (ARM_FUNC_TYPE): New macro.
576         (IS_INTERRUPT): New macro.
577         (IS_VOLATILE): New macro.
578         (IS_NAKED): New macro.
579         (IS_NESTED): New macro.
580         (ARM_INITIAL_ELIMINATION_OFFSET): Use IS_VOLATILE.
581
582         * config/arm/arm.c (isr_attribute_args): New Structure.  A
583         list of "interrupt" function attribute modifiers.
584         (arm_isr_value): New Function: Returns the type of the current
585         interrupt function.
586         (arm_compute_func_type): New Function: Computes the type of
587         the current function.
588         (arm_current_func_type): New Function: Returns the type of the
589         current function.
590         (use_return_insn): Use arm_current_func_type.
591         (arm_valid_type_attribute_p): Accept "interrupt" function
592         attribute.
593         (arm_comp_type_attributes): Check "interrupt" attributes.
594         (arm_valid_machine_decl): Accept "interrupt" function
595         attribute.
596         (arm_function_ok_for_sibcall): Do not allow interrupt
597         functions to use sibcalls.
598         (arm_naked_function_p): Delete.
599         (print_multi_reg): Remove redundant parameter 'hat'.
600         (arm_compute_save_reg_mask): New Function: Compute a bit mask
601         of registers saved during the current function's prologue.
602         (output_arm_return_instruction): Use arm_current_func_type.
603         Generate return instruction when LR is not poppsed off the
604         stack.
605         (arm_volatile_func): Delete.
606         (output_arm_prologue): Use arm_current_func_type and
607         arm_compute_save_reg_mask.
608         Note presernce of interrupt functions.
609         (arm_output_epilogue): Use arm_current_func_type and
610         arm_compute_save_reg_mask.
611         (arm_expand_prologue): Use arm_current_func_type and
612         arm_compute_save_reg_mask.
613         (arm_init_machine_status): Initialise func_type field, if
614         necessary.
615         (thumb_expand_prologue): Use arm_current_func_type.
616         (output_thumb_prologue): Use arm_current_func_type.
617
618 2000-12-08  Brad Lucier <lucier@math.purdue.edu>
619
620         * tradcpp.c (do_include): Make pointer differences 64-bit clean.
621
622 Fri Dec  8 08:23:29 2000  J"orn Rennecke <amylaar@redhat.com>
623
624         * fp-bit.c (_fpmul_parts): Use USItype variables as inputs
625         for multiplies.
626
627 2000-12-07  Mike Stump  <mrs@wrs.com>
628
629         * Makefile.in (distclean): Remove alloca.c hashtab.c.
630
631 2000-12-07  Zack Weinberg  <zack@wolery.stanford.edu>
632
633         * Makefile.in (HOST_RTL): Add safe-ctype.o.
634         (safe-ctype.o): New rule.
635         * system.h: Include safe-ctype.h, not ctype.h.  No need to
636         wrap ctype macros.
637
638         * cpphash.h: Zap IStable and related macros.  Define is_* in
639         terms of safe-ctype.h macros.
640         * cppinit.c: Delete the IStable and all related code.
641
642         * tradcpp.c: Delete is_idchar, is_idstart, is_hor_space, and
643         is_space arrays.  Delete initialize_char_syntax.  Change all
644         references to the above arrays to use macros instead.
645         * tradcpp.h: Define is_idchar, is_idstart, is_space, and
646         is_nvspace in terms of safe_ctype.h's macros.
647         * tradcif.y: is_idchar, is_idstart are macros not arrays.
648
649         * config/i370/i370.c, config/winnt/dirent.c,
650         config/winnt/fixinc-nt.c, config/winnt/ld.c:
651         Use uppercase ctype macros.  If we included ctype.h,
652         include safe-ctype.h instead.
653
654         * fixinc/fixfixes.c: Use uppercase ctype macros.  Don't test
655         ISLOWER(c) before calling TOUPPER(c).
656         * fixinc/fixincl.c (extract_quoted_files): Simplify out some gunk.
657         * fixinc/gnu-regex.c: Include safe-ctype.h, not ctype.h.  No need to
658         wrap ctype macros.  Don't test ISUPPER(x) before calling TOLOWER(x).
659
660 2000-12-07  DJ Delorie  <dj@redhat.com>
661
662         * c-decl.c (grokdeclarator): preserve previous alignments when
663         rebuilding array types.
664
665 2000-12-07  Neil Booth  <neilb@earthling.net>
666
667         * cppfiles.c (struct include_file): Move from cpphash.h.
668         (_cpp_never_reread): New function.
669         (open_file, read_include_file): Use it.
670         (stack_include_file): Set the buffer's sysp according to the
671         path in which the file was found.
672         (find_include_file): Don't set sysp.
673         (cpp_make_system_header, actual_directory): Update.
674         (_cpp_execute_include): Do #include_next lookup handling here,
675         not in cpplib.c.  Use _cpp_never_reread.
676         * cpphash.h (struct_include_file): Remove.
677         (struct cpp_buffer): New member sysp.
678         (CPP_IN_SYSTEM_HEADER, _cpp_execute_include): Update.
679         (_cpp_never_reread): New.
680         * cpplib.c (read_line_number): Rename read_flag.  Rework slightly.
681         (end_directive): Clear line_extension flag.
682         (_cpp_handle_directive): Set line_extension flag for #number.
683         (do_include_next): Handle path lookup in _cpp_execute_include.
684         (do_line): Cleanup to use read_flag.  Don't allow flags in #line.
685         (_cpp_do_file_change): Update.
686         (do_pragma_once): Use cpp_never_reread.  Clean up.
687         * cpplib.h (struct lexer_state): New member line_extension.
688
689 2000-12-07  Richard Henderson  <rth@redhat.com>
690
691         * flow.c (calculate_global_regs_live): Force the stack pointer live
692         after reload as well.
693
694 2000-12-07  Bruce Korb  <bkorb@gnu.org>
695
696         * fixinc/Makefile.*(exeext): the variables are exeext, the
697         substitution expression is build_exeext.
698
699 2000-12-07  Neil Booth  <neilb@earthling.net>
700
701         * c-common.c (parse_in): Make a cpp_reader *.
702         * cppfiles.c (_cpp_fake_include): Remove.
703         * cpphash.h: Similarly.
704         * cpplib.c (do_line): Don't call _cpp_fake_include.  A valid
705         #line always creates a callback; FC_RENAME if there are no
706         #line flags.
707         * fix-header.c (read_scan_file): cpp_push_buffer cannot fail.
708         The first EOF must be our get_char buffer.
709
710 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
711
712         * c-common.c (warn_format_security): New variable.
713         (check_format_info): Warn about non-literal formats with no format
714         arguments if either -Wformat-nonliteral or -Wformat-security is
715         specified.
716         (set_Wformat): Set warn_format_security for settings other than 1.
717         * c-common.h (warn_format_security): Declare.
718         * c-decl.c (c_decode_option): Decode -Wformat-security and
719         -Wno-format-security.
720         * invoke.texi: Document -Wformat-security.
721         * toplev.c (documented_lang_options): Include -Wformat-security
722         and -Wno-format-security.
723
724 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
725
726         * c-common.c (check_format_info): Warn for non-constant format
727         strings with strftime formats if -Wformat-nonliteral.  Where the
728         format can convert arguments, if the format is not a string
729         literal and there are no arguments to the format, give a different
730         warning message from the general non-string-literal case.
731
732 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
733
734         * c-common.c (format_wanted_type): Add reading_from_flag.
735         (print_char_table): Mark %s and %S formats with flag "R".
736         (check_format_info_main): Set up reading_from_flag appropriately.
737         If aflag, always set writing_in_flag rather than relying on the
738         format used being a scanf format and so having it set.
739         (check_format_types): Check for formats reading through null
740         pointers.
741
742 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
743
744         * invoke.texi (-Wformat): Document what format features are
745         checked.
746
747 2000-12-06  Kazu Hirata  <kazu@hxi.com>
748
749         * config/h8300/h8300.h: Fix formatting.
750
751 2000-12-06      Joel Sherrill <joel@OARcorp.com>
752
753         * config.gcc (a29k*-*-rtems*, arm*-*-rtems*, c4x-*-rtems*,
754         h8300-*-rtems*, hppa1.1-*-rtems, *mips*-*-rtems*): New targets.
755         * config.gcc (*-rtems*): Add support for gthr-rtems.h.
756         * gthr-rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
757         config/h8300/rtems.h, config/mips/rtems.h: New files.
758
759 2000-12-06  Mark Kettenis  <kettenis@gnu.org>
760
761         * config.gcc: Reorganize handling of *-*-gnu*, to share target
762         specific make details with Linux.  Update comments to clarify
763         the distinction between GNU/Linux and GNU/Hurd.
764
765 Wed Dec  6 19:22:02 2000  Jeffrey A Law  (law@cygnus.com)
766
767         * contrib.texi: Fix my email address.  Update Per's
768         list of contributions.
769
770 2000-12-06  Rodney Brown  <RodneyBrown@mynd.com>
771
772         * c-lex.c (cb_indent): Decorate `str' argument, unused on HP-UX.
773         * collect2.c (scan_libraries): Remove unused `ch'.
774         (COFF specific stuff): Prototype ldgetname.  Declare and prototype
775         ldbtread and ldclose.
776
777         * config/alpha/osf.h: Standarize copyright statement.
778         * config/arc/arc.h: Likewise.
779         * config/arm/elf.h config/arm/coff.h config/arm/aout.h: Likewise.
780         * config/arm/arm.c config/arm/arm.h: Likewise.
781         * config/elxsi/elxsi.h: Likewise.
782         * config/i386/sco.h: Likewise.
783         * config/m68k/crds.h config/m68k/hp320.h config/m68k/lynx.h: Likewise.
784         * config/m68k/m68kv4.h config/m68k/next21.h: Likewise.
785         * config/m68k/sun3.h: Likewise.
786         * config/m88k/dgux.h config/m88k/dguxbcs.h: Likewise.
787         * config/pdp11/2bsd.h config/pdp11/pdp11.h: Likewise.
788         * config/romp/romp.h: Likewise.
789         * config/rs6000/aix41.h: Likewise.
790         * config/sparc/sysv4.h: Likewise.
791         * config/we32k/we32k.c config/we32k/we32k.h: Likewise.
792         * fixinc/gnu-regex.c fixinc/gnu-regex.h: Likewise.
793         * cpplib.h cppexp.c cselib.h profile.c: Likewise.
794         * longlong.h: Likewise.
795         * libgcc2.c: Likewise.
796
797 2000-12-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
798
799         * machmode.def: Use correct definition for BITSIZE on targets where
800         BITS_PER_UNIT != 8.
801
802 2000-12-06  Bruce Korb  <bkorb@gnu.org>
803
804         * fixinc/Makefile.*: Reduce differences to (ultimately) reduce
805         the number of them.
806
807 2000-12-06  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
808
809         * pa.c: Include expr.h before c-tree.h.
810         (remove_useless_addtr_insns): Use reverse_condition_maybe_unordered
811         instead of reverse_condition.
812         (print_operand): Correct predicates for GT, GE, LT and LE.  Add
813         predicates for LTGT, UNLE, UNLT, UNGE, UNGT, UNEQ, UNORDERED and
814         ORDERED.
815         (cmpib_comparison_operator): Add GEU and LTU codes.
816         * pa.h (PREDICATE_CODES): Add codes for cmpib_comparison_operator.
817         * pa.md (bltgt, bunle, bunlt, bunge, bungt, buneq, bunordered,
818         bordered): New float conditional branch patterns.
819
820 Wed Dec  6 21:03:41 2000  J"orn Rennecke <amylaar@redhat.com>
821
822         * final.c (final_addr_vec_align): Fix clipping to BIGGEST_ALIGNMENT.
823
824 2000-12-06  Sylvain Pion  <Sylvain.Pion@sophia.inria.fr>
825
826         * cpplex.c (skip_escaped_newlines): Don't warn for spaces between
827         backslash and newline, when inside a comment.
828
829 2000-12-06  Joseph S. Myers  <jsm28@cam.ac.uk>
830
831         * invoke.texi: Use @table @samp instead of @itemize @minus for
832         table of language standards.  Fix use of @pxref.  From Zack
833         Weinberg.  Also exclude specs documentation from generated
834         manpage, and create separate ENVIRONMENT section.
835
836 2000-12-06  Michael Matz  <matzmich@cs.tu-berlin.de>
837
838         * gcse.c (compute_pre_data): Kill trapping expressions in
839         destination blocks of abnormal edges.
840
841 2000-12-05  Richard Sandiford  <r.sandiford@redhat.com>
842
843         * config/mn10300/mn10300.c (mn10300_print_reg_list): Added.
844         (mn10300_get_live_callee_saved_regs): Likewise.
845         (mn10300_gen_multiple_store): Likewise.
846         (store_multiple_operation): Likewise.
847         (expand_prologue): Use mn10300_gen_multiple_store().
848         * config/mn10300/mn10300-protos.h (mn10300_print_reg_list): Added.
849         (mn10300_get_live_callee_saved_regs): Likewise.
850         (mn10300_gen_multiple_store): Likewise.
851         (store_multiple_operation): Likewise.
852         * config/mn10300/mn10300.md (store_movm): Use a MATCH_PARALLEL
853         tied to store_multiple_operation().
854
855 Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
856
857         * builtins.c (expand_builtin_setjmp_setup): Set
858         current_function_has_nonlocal_label.
859
860 2000-12-05  Neil Booth  <neilb@earthling.net>
861
862         * cppfiles.c (stack_include_file): Push zero-length buffers
863         in case of failure.  Return void, as we don't fail any more.
864         (read_include_file): Check for files we shouldn't re-read.
865         Don't return an error code; errors are implied by marking the
866         file NEVER_REREAD.
867         (_cpp_execute_include): Move the recursion and in-macro checks
868         here.  Update for stack_include_file not failing.
869         * cpplib.c (cpp_push_buffer): Always succeed, since
870         _cpp_execute_include performs the recursion check.  Tidy up.
871         * cpplib.h (cpp_push_buffer): Update prototype.
872
873 2000-12-05  Alexandre Oliva  <aoliva@redhat.com>
874
875         * sched-vis.c (visual_tbl_line_length): New variable.
876         (get_visual_tbl_length): Set it.
877         (visualize_stall_cycles): Don't let stalls overrun
878         visual_tbl_line_length.
879
880 2000-12-05  Geoffrey Keating  <geoffk@redhat.com>
881
882         * global.c (global_conflicts): Allow for a REG_UNUSED note
883         with a different mode to the REG set in the insn.
884
885 2000-12-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
886
887         * Makefile.in (fixinc.sh): Pass $WARN_CFLAGS into fixinc dir.
888
889         * fixinc/Makefile.in (FIXINC_DEFS): Add $(WARN_CFLAGS).
890
891 2000-12-05  Bruce Korb  <bkorb@gnu.org>
892
893         * fixinc/mkfixinc.sh(*-gnu*): activate fixinc for GNU/Hurd and
894         GNU/Linux.
895
896 2000-12-05  Richard Earnshaw  <rearnsha@arm.com>
897
898         * fixinc/mkfixinc.sh: Run fixinc on netbsd.
899         * fixinc/inclhack.def (machine/ansi.h): Run this rule on all files,
900         to cope with aliased copies.
901         * fixinc/fixincl.x: Regenerate.
902
903 2000-12-05  Bernd Schmidt  <bernds@redhat.co.uk>
904
905         * sched-vis.c: Guard with #ifdef INSN_SCHEDULING.
906         * sched-rgn.c: Likewise.
907         (rgn_print_insn): Fix output.
908
909 2000-12-05  Bruce Korb  <bkorb@gnu.org>
910
911         * fixinc/Makefile.*: make these more consistent
912         * fixinc/mkfixincl.sh: enable BeOS fixincludes
913
914 2000-12-05  Richard Henderson  <rth@redhat.com>
915
916         * stmt.c (warn_if_unused_value): Move side effects test earlier.
917
918 2000-12-05  Alan Modra <alan@linuxcare.com.au>
919
920         * bb-reorder.c (reorder_basic_blocks): Do check for EH edges even
921         when using sjlj.
922
923 2000-12-05  Richard Henderson  <rth@redhat.com>
924
925         * flow.c (calculate_global_regs_live): Only force stack pointer
926         live before reload.  Force pic register live before reload.
927         (insn_dead_p): Don't protect pic references from deletion.
928
929 2000-12-05  Joseph S. Myers  <jsm28@cam.ac.uk>
930
931         * invoke.texi: Add support for using texi2pod.pl.  Don't use
932         @multitable.
933
934 2000-12-04  Nick Clifton  <nickc@redhat.com>
935
936         * config/arm/arm.c (arm_override_options): Test 'insn_flags' not
937         'tune_flags' for XScale nature.
938         Remove spurious test of HARD_FLOAT and XScale flags.
939
940         * config/arm/arm.md (umulsidi3adddi): Restore "=&r" register
941         contraint, accidentally changed during XScale contribution.
942
943         * config/arm/lib1funcs.asm (interwork_call_via_, call_via_): Do
944         not create these functions if the target architecture does not
945         support Thumb instructions.
946
947 2000-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
948
949         * ONEWS: New file with the current contents of NEWS up to EGCS
950         1.1.
951         * NEWS: Generate automatically from online release notes from EGCS
952         1.0 to GCC 2.95.2, using ../contrib/gennews.
953
954 2000-12-04  Neil Booth  <neilb@earthling.net>
955
956         * tradcif.y: Move lexptr to top of file.  Add rule to handle
957         assertions in conditional expressions.
958         * tradcpp.c (parse_answer): Assertions do not need to go to
959         end of line in conditional directives.
960         (parse_assertion): Get first character of identifiers correct.
961         (test_assertion): New function.
962         * tradcpp.h (test_assertion): New prototype.
963
964 2000-12-01  Rodney Brown  <RodneyBrown@mynd.com>
965
966         * config.gcc: Fix typo for UnixWare 7.
967
968 2000-12-03  Phil Edwards  <pme@sources.redhat.com>
969
970         * invoke.texi:  Replace `pedwarns' with clearer text.
971
972 2000-12-04  Bruce Korb  <bkorb@gnu.org>
973
974         * fixinc/Makefile.*(clean):  don't clean autogenerated files.
975         (mainainer-clean): clean autogenerated files
976
977 2000-12-04  DJ Delorie  <dj@redhat.com>
978
979         * md.texi: Add overview, clarify match_dup and define_expand.
980
981 2000-12-04  DJ Delorie  <dj@redhat.com>
982
983         * print-tree.c (print_node): Target-specific builtins print
984         numbers, not names.
985
986 2000-12-04  Jason Merrill  <jason@redhat.com>
987
988         * stor-layout.c (int_mode_for_mode): Handle MODE_VECTOR_INT,
989         MODE_VECTOR_FLOAT.
990
991         * diagnostic.c (report_problematic_module): s/function/module/.
992
993         * c-lex.h: Remove decl for check_newline.
994
995 2000-12-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
996
997         * README.APOLLO: Remove obsolete file.
998
999 2000-12-04  Neil Booth  <neilb@earthling.net>
1000
1001         * cppinternals.texi: New file.
1002
1003 2000-12-04  Neil Booth  <neilb@earthling.net>
1004
1005         * cppfiles.c (cpp_make_system_header): Take 2 booleans,
1006         and operate on current buffer.
1007         (cpp_read_file): Rename _cpp_read_file.
1008         * cpplib.c (do_line, do_pragma_system_header): Update calls to
1009         cpp_make_system_header.
1010         * fix-header.c: Similarly.
1011         * cpphash.h (_cpp_read_file): Move from...
1012         * cpplib.h: ... here.
1013         * cppinit.c (do_includes, cpp_start_read): Update appropriately.
1014
1015 2000-12-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1016
1017         * builtins.c (expand_builtin_strspn, expand_builtin_strcspn):
1018         Handle another transformation.
1019
1020 2000-12-03  Nick Clifton  <nickc@redhat.com>
1021
1022         * config.gcc: Add support for StrongARM targets.
1023         * config/arm/t-strongarm-elf: New file.
1024         * config/arm/t-strongarm-coff: New file.
1025         * config/arm/t-strongarm-pe: New file.
1026         * config/arm/strongarm-pe.h: New file.
1027
1028 2000-12-03  Nick Clifton  <nickc@redhat.com>
1029
1030         * NEWS: Mention XScale has been added.
1031         * config.gcc: Add support for XScale targets.
1032         * config/arm/arm.h: Add support for XScale processor.
1033         * config/arm/arm.c: Add support for XScale processor.
1034         * config/arm/arm.md: Add support for XScale processor.
1035         * config/arm/t-xscale-elf: New file.
1036         * config/arm/t-xscale-coff: New file.
1037         * config/arm/xscale-elf.h: New file.
1038         * config/arm/xscale-coff.h: New file.
1039
1040 2000-12-03  Richard Henderson  <rth@redhat.com>
1041
1042         * bb-reorder.c (reorder_basic_blocks): Don't check for EH edges
1043         unless exception handling is enabled, and if not using sjlj.
1044
1045         * builtins.c (expand_builtin_setjmp_setup): New.
1046         (expand_builtin_setjmp_receiver): New.
1047         (expand_builtin_setjmp): Split out _setup and _receiver functions.
1048         Move argument parsing in from ...
1049         (expand_builtin): ... here.
1050         * except.c (receive_exception_label): Branch around receiver
1051         unless new-style exceptions.  Call expand_builtin_setjmp_receiver.
1052         (start_dynamic_handler): Call expand_builtin_setjmp_setup.
1053         * expr.h: Update builtin setjmp decls.
1054
1055 2000-12-03  Bruce Korb  <bkorb@gcc.org>
1056
1057         * fixinc/mkfixinc.sh(build machine): Sometimes, there is no canonical
1058         build machine name.  Default to the target.
1059
1060 2000-12-03  Laurynas Biveinis  <lauras@softhome.net>
1061
1062         * Makefile.in: use $(build_canonical), not $(canonical_build).
1063
1064 2000-12-03  Bernd Schmidt  <bernds@redhat.co.uk>
1065
1066         * Makefile.in (OBJS): Add sched-rgn.o.
1067         (sched-rgn.o): New rule.  * haifa-sched.c (sched_verbose): No
1068         longer static.
1069         (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
1070         INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
1071         UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
1072         MAX_BLOCKAGE_COST): Move to sched-int.h.
1073         (MAX_RGN_BLOCKS, MAX_RGN_INSNS, INSN_REF_COUNT, FED_BY_SPEC_LOAD,
1074         IS_LOAD_INSN, struct haifa_edge, edge_table, NEXT_IN, NEXT_OUT,
1075         FROM_BLOCK, TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES,
1076         OUT_EDGES, edgelst, struct region, nr_regions, rgn_table,
1077         rgn_bb_table, block_to_bb, containing_rgn, RGN_NR_BLOCKS,
1078         RGN_BLOCKS, BLOCK_TO_BB, BB_TO_BLOCK, CONTAINING_RGN,
1079         debug_regions, find_single_block_region, find_rgns, too_large,
1080         init_regions, current_nr_blocks, current_blocks, bitset, bitlst,
1081         bitlst_table_last, bitlst_table_size, bitlst_table, bitset_member,
1082         extract_bitlst, bblst, struct candidate, candidate_table,
1083         bblst_table, bblst_size, bblst_last, IS_VALID, IS_SPECULATIVE,
1084         SRC_PROB, target_bb, split_edges, compute_trg_info,
1085         debug_candidate, debug_candidates, bbset, bbset_size, dom,
1086         IS_RGN_ENTRY, IS_DOMINATED, prob, GET_SRC_PROB, edgeset,
1087         rgn_nr_edges, rgn_edges, edgeset_size, edgeset_bitsize,
1088         EDGE_TO_BIT, edge_to_bit, pot_split, ancestor_edges,
1089         compute_dom_prob_ps, ABS_VALUE, INSN_PROBABILITY,
1090         IS_SPECULATIVE_INSN, INSN_BB, MIN_DIFF_PRIORITY, MIN_PROBABILITY,
1091         MIN_PROB_DIFF, check_live_1, update_live_1, check_live,
1092         update_live, set_spec_fed, is_pfree, find_conditional_protection,
1093         is_conditionally_protected, may_trap_exp, haifa_classify_insn,
1094         is_prisky, is_exception_free, add_branch_dependences,
1095         propagate_deps, compute_block_backward_dependences,
1096         debug_dependencies, is_cfg_nonregular, build_control_flow,
1097         new_edge, bb_deps, BITSET_UNION, BITSET_INTER, BITSET_DIFFER,
1098         BITSET_INVERT, BITSET_ADD, BITSET_REMOVE, debug_regions,
1099         UPDATE_LOOP_RELATIONS, INSN_TRAP_CLASS, WORST_CLASS, IS_REACHABLE,
1100         CONST_BASED_ADDRESS_P, free_pending_lists, sched_target_n_insns,
1101         target_n_insns, sched_n_insns, init_ready_list, deaths_in_region,
1102         can_schedule_ready_p, new_ready, schedule_more_p, rgn_print_insn,
1103         rgn_rank, region_sched_info): Move to sched-rgn.c.
1104         (debug_reg_vector): Delete useless function.
1105         (get_bb_head_tail): Likewise.
1106         (insn_issue_delay, insn_cost, ready_add, get_block_head_tail,
1107         no_real_insns_p, rm_line_notes, save_line_notes,
1108         restore_line_notes, rm_redundant_line_notes, sched_init): No
1109         longer static.
1110         (rm_line_notes, save_line_notes, restore_line_notes,
1111         schedule_block, set_priorities): Change argument to be a real
1112         basic block, not one of haifa's "bb"s.  All callers changed
1113         (rm_other_notes): Initialize note_list here, not in
1114         schedule_region.
1115         (sched_finish): New function, called from schedule_insn.  * *
1116         sched-int.h (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
1117         INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
1118         UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
1119         MAX_BLOCKAGE_COST): Moved here from haifa-sched.c.
1120         (get_block_head_tail, no_real_insns_p, rm_line_notes,
1121         save_line_notes, restore_line_notes, rm_redundant_line_notes,
1122         rm_other_notes, insn_issue_delay, set_priorities, schedule_block,
1123         sched_init, sched_finish, ready_add, insn_cost): Declare.
1124
1125 2000-12-03  Laurynas Biveinis  <lauras@softhome.net>
1126             Bruce Korb  <bkorb@gnu.org>
1127
1128         * Makefile.in: pass $(build_canonical) to mkfixinc.sh.
1129         * fixinc/mkfixinc.sh: accept build system name as an argument.
1130         Use it for choosing the fix build method.  Use the target for
1131         selecting special fix rules.
1132
1133 2000-12-03  Bernd Schmidt  <bernds@redhat.co.uk>
1134
1135         * Makefile.in (OBJS): Add sched-deps.o.
1136         (sched-deps.o): New rule.
1137         * haifa-sched.c (struct deps, struct haifa_insn_data): Moved to
1138         sched-int.h.
1139         (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved to
1140         sched-int.h.
1141         (SIZE_FOR_MODE): Delete unused macro.
1142         (reg_known_equiv_p, reg_known_value, reg_pending_clobbers,
1143         reg_pending_sets, reg_pending_sets_all, true_dependency_cache,
1144         anti_dependency_cache, output_dependency_cache,
1145         forward_dependency_cache): Variables moved to sched-deps.c.
1146         (add_dependence, remove_dependence, find_insn_list,
1147         find_insn_mem_list, add_insn_mem_dependence, flush_pending_lists,
1148         sched_analyze_insn, sched_analyze_1, sched_analyze_2,
1149         sched_analyze, group_leader, compute_forward_dependences,
1150         init_deps, free_deps, init_dependency_caches, free_dependency_caches):
1151         Functions moved to sched-deps.c.
1152         (schedule_region): Call init_deps_global and finish_deps_global
1153         instead of directly manipulating dependency data structures.
1154         * sched-deps.c: New file.
1155         (init_deps_global, finish_deps_global): New functions.
1156         * sched-int.h (struct haifa_insn_data, struct deps): Moved here from
1157         haifa-sched.c.
1158         (h_i_d): Declare.
1159         (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved here
1160         from haifa-sched.c.
1161
1162         * Makefile.in (OBJS): Add sched-vis.o.
1163         (sched-vis.o): New rule.
1164         * haifa-sched.c (get_unit_last_insn): New function.
1165         (sched_dump, insn_unit, actual_hazard_this_instance): No longer
1166         static.
1167         (schedule_block): Call visualize_alloc and visualize_free.  Delete
1168         spurious return statement.
1169         (init_target_units, insn_print_units, get_visual_tbl_length,
1170         init_block_visualization, print_block_visualization, safe_concat,
1171         visualize_scheduled_inns, visualize_no_unit, visualize_stall_cycles,
1172         print_exp, print_value, print_pattern, print_insn, target_units,
1173         MAX_VISUAL_LINES, INSN_LEN, n_visual_lines, visual_tbl,
1174         n_vis_no_unit, vis_no_unit): Move scheduling visualization
1175         functions/variables...
1176         * sched-vis.c: ...here.  New file.
1177         (visualize_alloc, visualize_free): New functions.
1178         (visualize_scheduled_insns, visualize_stall_cycles,
1179         print_block_visualization): Lose basic block argument.  All callers
1180         changed.
1181         (visualize_scheduled_insns): Use new function get_unit_last_insn.
1182         * sched-int.h (current_sched_info, sched_dump): Declare.
1183         (init_target_units, insn_print_units, init_block_visualization,
1184         print_block_visualization, visualize_scheduled_inns,
1185         visualize_no_unit, visualize_stall_cycles, visualize_alloc,
1186         visualize_free): Declare functions.
1187
1188         * sched-int.h: New file.
1189         * Makefile.in (haifa-sched.o): Depend on it.
1190         * haifa-sched.c: Include it.
1191         (no_real_insns_p): New function.
1192         (current_sched_info): New static variable.
1193         (__inline, HAIFA_INLINE): Moved to sched-int.h.
1194         (get_block_head_tail): Minor cleanup.
1195         (init_ready_list, can_schedule_ready_p, new_ready, schedule_more_p,
1196         rgn_print_insn, rgn_rank): New functions, broken out of
1197         rank_for_schedule, schedule_insn and schedule_block, where they
1198         are now called through function pointers in current_sched_info.
1199         (queue_insn, schedule_insn, queue_to_ready, debug_ready_list,
1200         print_insn): To display uid and block number, call the print_insn
1201         function pointer in current_schedule_info.
1202         (region_sched_info): New static variable.
1203         (sched_target_n_insns, sched_n_insns, target_n_insns): New global
1204         variables, moved out of schedule_block.
1205         (schedule_block): Return void.  All callers changed.
1206         Move some of the setup code into schedule_region.  Get head/tail
1207         from current_sched_info, and update it when done.
1208         (schedule_region): Slightly rearranged, some code moved here from
1209         schedule_block.  Call no_real_insns_p to avoid doing work for a
1210         block that consists only of notes and labels.
1211         (schedule_insns): Initialize current_sched_info.
1212
1213 2000-12-03  Neil Booth  <neilb@earthling.net>
1214
1215         * cppmacro.c (funlike_invocation_p): Re-disable macros enabled
1216         by contexts drops AFTER argument pre-expansion, so that they
1217         remain enabled during argument pre-expansion.
1218         (_cpp_pop_context): Unconditionally re-enable a macro when
1219         dropping a context level.
1220
1221 2000-12-03  Manfred Hollstein  <manfredh@redhat.com>
1222
1223         * arm/t-linux (MULTILIB_OPTIONS): Comment.
1224         (MULTILIB_DIRNAMES): Likewise.
1225         (EXTRA_MULTILIB_PARTS): Likewise.
1226         (LIBGCC): Likewise.
1227         (INSTALL_LIBGCC): Likewise.
1228
1229 2000-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1230
1231         * builtins.c (expand_builtin_strcat, expand_builtin_strncat,
1232         expand_builtin_strspn, expand_builtin_strcspn): New functions.
1233         (expand_builtin): Handle BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
1234         BUILT_IN_STRSPN and BUILT_IN_STRCSPN.
1235
1236         * builtins.def (BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
1237         BUILT_IN_STRSPN, BUILT_IN_STRCSPN): New entries.
1238
1239         * c-common.c (c_common_nodes_and_builtins): Declare builtin
1240         strcat, strncat, strspn and strcspn.
1241         (string_ftype_string_cstring): Renamed from `string_ftype_ptr_ptr'.
1242
1243         * extend.texi (strcat, strcspn, strncat, strspn): Document new
1244         builtins.
1245
1246 2000-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1247
1248         * builtins.c (expand_builtin_strcmp): Use const*_rtx when
1249         expanding strcmp at compile-time.  Add another transformation.
1250         (expand_builtin_strncmp): Add more transformations.  Call
1251         expand_builtin_memcmp, not expand_builtin_strcmp, under
1252         appropriate conditions if HAVE_cmpstrsi.
1253
1254 2000-12-02  David Edelsohn  <edelsohn@gnu.org>
1255
1256         * rs6000.md (anddi3_internal[23]): Prefer rldic? over andis
1257         instruction.
1258         (cr logic): Really make operands sequential.
1259
1260 2000-12-02  Geoffrey Keating  <geoffk@redhat.com>
1261
1262         * c-common.c (combine_strings): When the ISO C standard specifies
1263         the maximum length of a string, it doesn't include the trailing
1264         zero byte.
1265
1266         * cpplib.c (do_ifdef): Add check_eol() call.
1267         (do_ifndef): Likewise.
1268
1269 2000-12-02  Daniel Berlin  <dberlin@redhat.com>
1270             Bruce Korb  <bkorb@gnu.org>
1271
1272         * fixinc/*: global substitute /__MSDOS__/SEPARATE_FIX_PROC/
1273         * fixinc/mkfixinc.sh: prepare to use Makefile.BEOS for *-*-beos*
1274         * fixinc/Makefile.DOS: define SEPARATE_FIX_PROC for build
1275         * fixinc/fixfix.c(wrap_fix): avoid wrapping files that
1276         use the "__need_" hackery.  It breaks them.
1277         * fixinc/fixincl.c(process - SEPARATE_FIX_PROC):
1278         Sometimes on DOS and BeOS the temp output file cannot be opened.
1279         Skip the file noisily.  Ought to be fixed instead.
1280
1281 2000-12-02  Bruce Korb  <bkorb@gnu.org>
1282
1283         From: 2000-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1284
1285         * fixfixes.c (emit_gnu_type, format_write): Prototype.
1286         (format_write, char_macro_use_fix, char_macro_def_fix): Use gcc's
1287         custom uppercase ctype macros.
1288         * fixincl.c (do_version): Make static and add ATTRIBUTE_NORETURN.
1289         Use gcc's custom uppercase ctype macros.
1290         (main): Prototype.
1291         (machine_matches): Add static prototype and constify variable.
1292         (create_file, test_test, egrep_test): Add static prototype.
1293         (quoted_file_exists): Likewise, and constify parameters.
1294         (extract_quoted_files, internal_fix, start_fixer, fix_applies,
1295         write_replacement, test_for_changes): Add static prototype.
1296         (write_replacement, test_for_changes): Delete excess argument to
1297         `create_file'.
1298         * fixtests.c (test): Make static.
1299         * server.c (load_data, sig_handler, server_setup, find_shell): Add
1300         static prototype.
1301         (sig_handler): Mark parameter with ATTRIBUTE_UNUSED.
1302
1303 2000-12-02  Bruce Korb  <bkorb@gnu.org>
1304
1305         * fixnc/mkfixinc.sh(msdosdjgpp): remove from fixincludes exception list
1306         (per Laurynas Biveinis  <lauras@softhome.net>)
1307
1308 2000-12-02  Richard Earnshaw  <rearnsha@arm.com>
1309
1310         * arm.h (ARM_REGNO_OK_FOR_BASE_P, THUMB_REGNO_MODE_OK_FOR_BASE_P): New
1311         macros.
1312         (REGNO_MODE_OK_FOR_BASE_P): Define in terms of above.
1313         (REGNO_OK_FOR_FOR_BASE_P): Delete.
1314         (ARM_REG_OK_FOR_BASE_P, THUMB_REG_MODE_OK_FOR_BASE_P): New macros for
1315         both strict and non-strict uses.
1316         (REG_MODE_OK_FOR_BASE_P): Define in terms of above.
1317         (ARM_REG_OK_FOR_INDEX_P, THUMB_REG_OK_FOR_INDEX_P): New macros.
1318         (REG_OK_FOR_INDEX_P): Define in terms of above.
1319         (REG_OK_FOR_BASE_P): Delete.
1320         (REG_OK_FOR_PRE_POST_P): Delete.
1321         (ARM_BASE_REGISTER_RTX_P): Renamed from BASE_REGISTER_RTX_P.
1322         (ARM_INDEX_REGISTER_RTX_P): Renamed from INDEX_REGISTER_RTX_P.
1323         (ARM_GO_IF_LEGITIMATE_INDEX): Renamed from GO_IF_LEGITIMATE_INDEX.
1324         (THUMB_LEGITIMATE_OFFSET): Renamed from LEGITIMATE_OFFSET.
1325         (ARM_GO_IF_LEGITIMATE_ADDRESS): Adjust for name changes.  Use ARM
1326         specific variants rather than general ones.  Use ARM_REG_OK_FOR_BASE_P
1327         in pre/post increment cases.
1328         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Similarly for Thumb.
1329         (ARM_LEGITIMIZE_ADDRESS): Similarly.
1330         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Similarly.
1331         * arm.c (legitimate_pic_address): Similarly.
1332
1333 2000-12-02  Neil Booth  <neilb@earthling.net>
1334
1335         * tradcpp.c (struct answer, parse_assertion, parse_answer,
1336         canonicalize_text, find_answer): New.
1337         (do_assert, do_unassert): Provide appropriate function bodies.
1338         (union hashval): New member answers.
1339
1340 2000-11-23  Marek Michalkiewicz  <marekm@linux.org.pl>
1341
1342         * config/avr/avr.md: Document UNSPEC usage.
1343         (*tablejump_rjmp, *tablejump_lib, *tablejump_enh, *tablejump):
1344         Make operand 0 input only, clobber it.  Use UNSPEC, not a bogus
1345         MEM for program memory word reference.  Do not add the label to
1346         the table index in each of the asm output templates, instead ...
1347         (casesi): ... do it in RTL.  Adjust to match the above change.
1348
1349 2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
1350
1351         * c-common.c (PTRDIFF_TYPE): Provide default here, ...
1352         * c-decl.c: ... not here.
1353
1354         * haifa-sched.c (sched_dump): Renamed from dump.  All users changed.
1355         (old_max_uid): New variable.
1356         (compute_forward_dependences): Renamed from
1357         compute_block_forward_dependences; changed to accept block head and
1358         tail instead of block number.  Caller changed.
1359         (free_deps, init_dependency_caches, free_dependency_caches,
1360         init_regions, sched_init): New functions, split out from
1361         schedule_insns and compute_block_backward_dependences.
1362
1363 2000-12-02  Neil Booth  <neilb@earthling.net>
1364
1365         * cppexp.c (parse_number): Update diagnostic test.
1366
1367 2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
1368
1369         * reload1.c (free_for_value_p): New function, frontend to
1370         reload_reg_free_for_value_p.  All callers of the latter now call
1371         this function with an additional mode argument.
1372
1373 2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1374
1375         * install.texi (Configurations): Remove obsolete documentation for
1376         hppa*-*-*.
1377
1378 2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1379
1380         * install.texi (Installation): Remove obsolete description for
1381         libstdc++ which is now an integral part of GCC.
1382
1383 2000-12-01  Jim Blandy  <jimb@redhat.com>
1384
1385         * dbxout.c (dbxout_parms): Correctly describe parameters passed by
1386         invisible reference in registers, but then spilled to the stack.
1387         Remove code to emit a second stab for such parameters; it attempts
1388         to describe the value's location by introducing a synthetic C++
1389         `reference' type, and then saying the stack slot has that
1390         reference type.  This loses type information (breaking GDB's
1391         `ptype' command, among other things) just to describe a location
1392         which stabs can represent correctly in other ways.
1393
1394 2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
1395
1396         * final.c (output_addr_const) <PLUS>: Don't assume at least one
1397         operand is a CONST_INT.
1398
1399         * config/sh/sh.c (reg_class_from_letter): Assign `k' to SIBCALL_REGS.
1400         (machine_dependent_reorg): Split all insns.
1401         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Compute
1402         reg_class_contents[SIBCALL_REGS].
1403         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add SIBCALL_REGS.
1404         * config/sh/sh.md (calli_pcrel, call_pcrel, call_valuei_pcrel,
1405         call_value_pcrel, call, call_value, sibcall): Match even when
1406         not optimizing.
1407         (sibcalli_pcrel, sibcall_pcrel): Likewise.  Use constraint `k'
1408         for call address.
1409         (sibcalli): Likewise.
1410
1411 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1412
1413         * c-common.c (warn_format, warn_format_y2k,
1414         warn_format_extra_args, warn_format_nonliteral): Define.
1415         (check_format_info): Check warn_format_nonliteral and
1416         warn_format_extra_args.
1417         (check_format_info_main): Check warn_format_y2k.
1418         (set_Wformat): New function.
1419         * c-common.h (warn_format_y2k, warn_format_extra_args,
1420         warn_format_nonliteral, set_Wformat): Declare.
1421         * c-decl.c (warn_format): Remove definition.
1422         (c_decode_option): Handle -Wformat-nonliteral,
1423         -Wno-format-extra-args and -Wno-format-y2k, and negated versions.
1424         Use set_Wformat.
1425         * invoke.texi: Document these new options and -Wformat=2.
1426         * toplev.c (documented_lang_options): Add these new options.
1427
1428 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1429
1430         * builtins.def (BUILT_IN_IMAXABS): Add.
1431         * builtins.c (expand_builtin): Also abort on BUILT_IN_IMAXABS.
1432         * c-common.c (c_common_nodes_and_builtins): Create builtin
1433         functions __builtin_imaxabs, and plain imaxabs unless
1434         flag_no_nonansi_builtin outside C99 mode.
1435         (expand_tree_builtin): Handle BUILT_IN_IMAXABS.
1436         * extend.texi: Document builtin imaxabs.
1437
1438 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1439
1440         * c-common.c: Include "defaults.h".
1441         (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Define.
1442         (c_common_nodes_and_builtins): Create string_type_node,
1443         const_string_type_node, wint_type_node, intmax_type_node,
1444         uintmax_type_node, default_function_type, ptrdiff_type_node and
1445         unsigned_ptrdiff_type_node.
1446         * c-common.h (identifier_global_value): Declare.
1447         * c-decl.c (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Don't define.
1448         (init_decl_processing): Don't create string_type_node,
1449         const_string_type_node, wint_type_node, intmax_type_node,
1450         uintmax_type_node, default_function_type, ptrdiff_type_node and
1451         unsigned_ptrdiff_type_node.
1452         (identifier_global_value): New function.
1453
1454 2000-12-01  Neil Booth  <neilb@earthling.net>
1455
1456         * cppinit.c (initialize): Forgotten prototype.
1457         * cpplex.c (_cpp_lex_token): Loop until not skipping.
1458         Always clear PREV_WHITE upon meeting a new line.
1459         * cpplib.c (end_directive): Set pfile->skipping after
1460         skip_rest_of_line.
1461         * cpplib.h (cpp_reader): Remove macro_pos.
1462         * cppmacro.c (cpp_get_line): Don't do anything special inside
1463         macros.
1464         (parse_arg): Add PREV_WHITE if a token appears after new lines.
1465         (funlike_invocation_p): Save and restore the output position
1466         over a successful check for a '('.
1467         (enter_macro_context): Delete uses of macro_pos.
1468         (cpp_get_token): Don't use pfile->skipping.
1469
1470 2000-12-01  Phil Edwards  <pme@sources.redhat.com>
1471
1472         * diagnostic.c:  Fix typos in comments.
1473         * diagnostic.h:  Likewise.
1474
1475 2000-11-30  Phil Edwards  <pme@sources.redhat.com>
1476
1477         * rtl.texi (Machine Modes):  Document BImode and OImode.
1478
1479 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1480
1481         * gcc.c (default_compilers): Add suffixes .mi, .cp, .ii, .FOR and
1482         .FPP.
1483
1484 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1485
1486         * c-decl.c (grokdeclarator): If pedantic, warn about arrays with
1487         incomplete element type.
1488         (grokparms): Before checking for incomplete parameter type, check
1489         the type isn't error_mark_node.
1490
1491 2000-12-01  Jakub Jelinek  <jakub@redhat.com>
1492
1493         * builtins.c (target_char_cast): New function.
1494         (expand_builtin_strchr): Use it.
1495         (expand_builtin_strrchr): Use it.
1496         (builtin_memset_read_str): New function.
1497         (expand_builtin_memset): Use target_char_cast.
1498         Try to optimize memset with second argument non-zero using
1499         store_by_pieces.
1500
1501 2000-11-30  Marek Michalkiewicz  <marekm@linux.org.pl>
1502
1503         * install.texi (avr): Replace incomplete list of supported MCU
1504         types with a link to the current one ...
1505         * invoke.texi (AVR Options): ... here.  Update -mmcu= to list
1506         all supported MCU types.  Document -minit-stack= default.
1507         Document new options -mno-tablejump, -mtiny-stack.
1508         * md.texi (AVR family):  Fix typo in 'w' constraint letter
1509         description.  Document 'q'.  Update 'O'.
1510
1511 2000-12-01  Bernd Schmidt  <bernds@redhat.co.uk>
1512
1513         * combine.c (cant_combine_insn_p): Only disallow insns involving
1514         hard regs if they are reg-reg moves.
1515         (try_combine, can_combine_p, combinable_i3pat): Delete old
1516         SMALL_REGISTER_CLASSES tests.
1517
1518 2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
1519
1520         * config/sh/sh.c (shiftcosts): Don't get INTVAL before testing
1521         whether X is a CONST_INT.
1522         (addsubcosts): Likewise.
1523
1524         * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Use INTVAL instead of
1525         mis-used XINT.
1526         (ARG_POINTER_REGNUM): Set to AP_REG.
1527
1528 2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
1529
1530         * config/sh/sh.md (fpu_switch0, fpu_switch1, movpsi, fpu_switch,
1531         splits): Only match on TARGET_SH4.
1532
1533         * combine.c (try_combine): Disregard USEs when updating LOG_LINKS
1534         of subsequent insns.
1535
1536 2000-11-30  Richard Henderson  <rth@redhat.com>
1537
1538         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Disable.
1539         * config/alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
1540
1541 2000-11-30  Richard Henderson  <rth@redhat.com>
1542
1543         * config/alpha/elf.h (ASM_OUTPUT_SECTION_NAME): Copy elfos.h defn.
1544         (DO_SELECT_SECTION): New.
1545         (SELECT_SECTION): Use it.
1546         (UNIQUE_SECTION_P): New.
1547         (UNIQUE_SECTION): New.
1548
1549 2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
1550
1551         * c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status
1552         from va_list before using it.
1553
1554 2000-11-30  Michael Matz  <matzmich@cs.tu-berlin.de>
1555
1556         * flow.c (make_edge): Early out, if no flags to set.
1557         (calculate_global_regs_live): Clear out garbage only when necessary.
1558
1559         * simplify-rtx.c (varray_type used_regs): New.
1560         (clear_table): Use it to only clear necessary items.
1561         (cselib_lookup, cselib_record_set): Remember newly set items.
1562         (cselib_update_varray_sizes, cselib_init): Initialize and grow
1563         used_regs.
1564
1565         * local-alloc.c (update_equiv_regs): New local `cleared_regs'.
1566         Move clearing of dead regs out of insn-loop.
1567
1568 2000-11-30  Richard Henderson  <rth@redhat.com>
1569
1570         * calls.c (expand_call): Emit queued insns before creating
1571         the tail recursion sequence.
1572
1573 2000-11-30  J. David Anglin  <dave.anglin@nrc.ca>
1574             Bruce Korb  <bkorb@gnu.org>
1575
1576         * fixinc/inclhack.def(): prevent dual double definition protection
1577         * fixinc/fixincl.x: regenerate
1578
1579 2000-11-29  Loren J. Rittle  <ljrittle@acm.org>
1580
1581         * fixinc/Makefile.in (fixincl.x): Explicitly state the
1582         location of the generated file.
1583
1584 2000-11-30  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1585
1586         * README.FRESCO: Remove obsolete file.
1587
1588 2000-11-30  Mark Kettenis  <kettenis@gnu.org>
1589
1590         * config/t-gnu (LIBGCC1, CROSS_LIBGCC1, CRTSTUFF_T_CFLAGS,
1591         TARGET_LIBGCC2_CFLAGS): Remove.  We now use the settings from
1592         config/t-linux for the Hurd.
1593
1594 2000-11-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1595
1596         * config/mn10200/udivmod.c, config/mn10200/divmod.c,
1597         config/mn10200/udivmodsi4.c: Moved from here.
1598         * config/udivmod.c, config/divmod.c, config/udivmodsi4.c: To here.
1599         * config/mn10200/t-mn10200 (LIB2FUNCS_EXTRA): Use the generic
1600         C division functions.
1601         * config/m68hc11/t-m68hc11-gas (LIB2FUNCS_EXTRA): Likewise.
1602
1603 Thu Nov 30 01:12:52 2000  Jeffrey A Law  (law@cygnus.com)
1604
1605         * pa.md (conditional moves): Avoid holes in operand list.
1606         (mod, umod patterns): Similarly.
1607         (variable extract/shift patterns): Similarly.
1608
1609 2000-11-30  Neil Booth  <neilb@earthling.net>
1610
1611         * objc/objc-act.c (lang_init, finish_file, maybe_objc_comptypes,
1612         maybe_objc_check_decl, build_objc_string_object,
1613         objc_declare_alias, objc_declare_class, build_message_expr,
1614         build_protocol_expr, build_selector_expr, build_encode_expr,
1615         get_class_ivars, start_class, start_protocol): Remove
1616         redundant code, assuming doing_objc_thang is true.
1617
1618 2000-11-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1619
1620         * pa.c (restore_unscaled_index_insn_codes): Delete procedure.
1621         (record_unscaled_index_insn_codes): Likewise.
1622         (unscaled_index_insn_codes): Delete.
1623         (max_unscaled_index_insn_codes_uid): Delete.
1624         (output_function_prologue, output_function_epilogue, pa_reorg):
1625         Don't use the unscaled index insn hack.
1626
1627         * pa.md: Remove hack from all index insns to reverse the operand
1628         order of frame and stack pointer references incorrectly created
1629         in the reload pass.
1630
1631         * function.h (emit_status): Delete member regno_pointer_flag and
1632         rename regno_pointer_flag_length to regno_pointer_align_length.
1633         Delete define for REGNO_POINTER_FLAG.
1634         * integrate.h (inline_remap): Delete member regno_pointer_flag.
1635         Add member x_regno_reg_rtx.
1636         * rtl.h (rtx_def): Use frame_related bit to indicate register is
1637         a pointer in REG expressions.  Define REG_POINTER macro.
1638         * alias.c (find_base_value, find_base_term): Use REG_POINTER
1639         instead of REGNO_POINTER_FLAG.
1640         * combine.c (nonzero_bits, num_sign_bit_copies): Likewise.
1641         * emit-rtl.c (gen_reg_rtx): Use regno_pointer_align_length instead
1642         of regno_pointer_flag_length.  Remove code which refers to
1643         regno_pointer_flag.
1644         (mark_reg_pointer): Use REG_POINTER.
1645         (free_emit_status): Remove code which refers to regno_pointer_flag.
1646         (init_emit, mark_emit_status): Likewise.
1647         * flow.c (dump_flow_info): Likewise.
1648         * function.c (preserve_temp_slots): Likewise.
1649         * integrate.c (expand_inline_function, copy_rtx_and_substitute):
1650         Use x_regno_reg_rtx instead of regno_pointer_flag for function
1651         pointer determination in map.
1652         * loop.c (strength_reduce, maybe_eliminate_biv_1): Use REG_POINTER.
1653         * predict.c (estimate_probability): Likewise.
1654         * regclass.c (record_address_regs, reg_scan_mark_refs): Likewise.
1655         * unroll.c (unroll_loop): Use x_regno_reg_rtx instead of
1656         regno_pointer_flag for function pointer determination in map.
1657         * convex.h (RTX_COSTS): Don't test regno_pointer_flag and use
1658         REG_POINTER.
1659         * pa.c (hppa_legitimize_address, emit_move_sequence, basereg_operand):
1660         Use REG_POINTER.
1661         (restore_unscaled_index_insn_codes): Revise comment.
1662
1663         * expr.c (do_compare_and_jump): Add missing TYPE_MODE in statement.
1664
1665 2000-11-30  Joseph S. Myers  <jsm28@cam.ac.uk>
1666
1667         * extend.texi: Update documentation for attributes.
1668
1669 2000-11-29  David O'Brien  <obrien@FreeBSD.org>
1670
1671         * config/alpha/elf.h (IDENT_ASM_OP): Protect the #define.
1672         (ASM_DECLARE_OBJECT_NAME): Same.
1673         (ASM_FILE_END): Same.
1674         (ASM_FINISH_DECLARE_OBJECT): Same.
1675         (ASM_IDENTIFY_GCC): Same.
1676         (ASM_IDENTIFY_LANGUAGE): Same.
1677         (ASM_OUTPUT_CONSTRUCTOR): Same.
1678         (ASM_OUTPUT_DEF): Same.
1679         (ASM_OUTPUT_DESTRUCTOR): Same.
1680         (ASM_OUTPUT_EXTERNAL_LIBCALL): Same.
1681         (ASM_OUTPUT_SECTION_NAME): Same.
1682         (ASM_WEAKEN_LABEL): Same.
1683         (BSS_SECTION_ASM_OP): Same.
1684         (COMMON_ASM_OP): Same.
1685         (CONST_SECTION_ASM_OP): Same.
1686         (CONST_SECTION_FUNCTION): Same.
1687         (CTORS_SECTION_ASM_OP): Same.
1688         (DTORS_SECTION_ASM_OP): Same.
1689         (ESCAPES): Same.
1690         (FINI_SECTION_ASM_OP): Same.
1691         (IDENT_ASM_OP): Same.
1692         (IDENT_ASM_OP): Same.
1693         (INIT_SECTION_ASM_OP): Same.
1694         (INT_ASM_OP): Same.
1695         (MAX_OFILE_ALIGNMENT): Same.
1696         (SBSS_SECTION_ASM_OP): Same.
1697         (SDATA_SECTION_ASM_OP): Same.
1698         (SECTION_FUNCTION_TEMPLATE): Same.
1699         (SELECT_SECTION): Same.
1700         (SE_CONST_SECTION): Same.
1701         (SIZE_ASM_OP): Same.
1702         (SKIP_ASM_OP): Same.
1703         (STRING_ASM_OP): Same.
1704         (STRING_LIMIT): Same.
1705         (TYPE_ASM_OP): Same.
1706         (TYPE_OPERAND_FMT): Same.
1707
1708 2000-11-29  Neil Booth  <neilb@earthling.net>
1709
1710         * c-decl.c (c_decode_option): Don't handle -lang-objc.
1711         * objc/lang-options.h: Remove -lang-objc.
1712         * objc/lang-specs.h: Don't pass -lang-objc to cc1obj.
1713         * objc/objc-act.c (lang_init_options): Set c_language.
1714
1715 2000-11-29  Jakub Jelinek  <jakub@redhat.com>
1716
1717         * expr.c (can_store_by_pieces): Reinitialize max_size for reverse
1718         tests.
1719
1720 2000-11-29  Neil Booth  <neilb@earthling.net>
1721
1722         * c-pragma.c (init_pragma): Update for parse_in type change.
1723
1724 2000-11-29  Laurynas Biveinis  <lauras@softhome.net>
1725
1726         * configure.in: recognize DOS-style absolute paths.
1727
1728 2000-11-29  Jakub Jelinek  <jakub@redhat.com>
1729
1730         * expr.h (store_by_pieces): Add prototype.
1731         (can_store_by_pieces): Likewise.
1732         * expr.c (struct store_by_pieces): Renamed from clear_by_pieces.
1733         (can_store_by_pieces): New.
1734         (store_by_pieces): New.
1735         (clear_by_pieces): New.
1736         (clear_by_pieces_1): New.
1737         (store_by_pieces_1): Renamed from clear_by_pieces, handle storing
1738         arbitrary compiler generated constants into memory block.
1739         (store_by_pieces_2): Renamed from clear_by_pieces_1, likewise.
1740         * builtins.c (c_readstr): New.
1741         (builtin_memcpy_read_str): New.
1742         (expand_builtin_memcpy): If src is string constant and
1743         emit_block_move would move it by pieces, compute integer constants
1744         from the string and store it into memory block instead.
1745         (builtin_strncpy_read_str): New.
1746         (expand_builtin_strncpy): If N is not constant zero and c_strlen does
1747         not return INTEGER_CST, don't optimize.
1748         If N is larger than strlen(src) + 1, try to copy the string
1749         including padding with store_by_pieces.
1750         (expand_builtin_strcmp): If both arguments have side effects, don't
1751         optimize.
1752         (expand_builtin_fputs): If STR has side effects, don't optimize.
1753
1754 2000-11-29  Richard Earnshaw  <rearnsha@arm.com>
1755
1756         * arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn):
1757         Add use of link register.
1758
1759 2000-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
1760
1761         * extend.texi: Update documentation for default format attributes.
1762
1763 Tue Nov 28 21:56:45 2000  Jeffrey A Law  (law@cygnus.com)
1764
1765         * pa/pa-64.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
1766         a list, to keep track of the sections.
1767
1768 2000-11-28  Nick Clifton  <nickc@redhat.com>
1769
1770         * config/arm/arm.md (pic_load_addr): Split into
1771         pic_load_addr_arm and pic_load_addr_thumb.
1772
1773         * config/arm/arm.c (legitimize_pic_address): Generate either
1774         ARM or Thumb versions of pic_load_addr.
1775         (arm_finalize_pic): Generate either ARM or Thumb versions of
1776         pic_load_addr.
1777
1778 2000-11-28  Richard Henderson  <rth@redhat.com>
1779
1780         * calls.c (expand_call): Defer const/pure NO_DEFER_POP until
1781         after sibcall do_pending_stack_adjust.
1782
1783 Wed Nov 29 00:08:23 2000  J"orn Rennecke <amylaar@redhat.com>
1784
1785         * jump.c (delete_insn): Check that REG_LABEL note actually contains
1786         a CODE_LABEL.
1787
1788 2000-11-28  Neil Booth  <neilb@earthling.net>
1789
1790         * c-common.h: Remove flag_digraphs.
1791         * c-decl.c: Remove flag_digraphs.
1792         (c_decode_option): Don't set it.
1793         * c-lex.c (init_c_lex): Don't do anything for digraphs.
1794
1795 2000-11-28  Richard Henderson  <rth@redhat.com>
1796
1797         * c-parse.in (finish_parse): Update for parse_in type change.
1798         (_yylex): Likewise.
1799
1800 2000-11-28  Neil Booth  <neilb@earthling.net>
1801
1802         * cppmacro.c (cpp_scan_buffer_nooutput): Take a boolean
1803         indicating whether to scan all buffers on the stack or
1804         just one.
1805         * cppinit.c (do_includes): Update.
1806         * cppmain.c (main): Update.
1807         * cpplib.h: Update prototype.
1808
1809 2000-11-28  Richard Henderson  <rth@redhat.com>
1810
1811         * genoutput.c (validate_insn_operands): New.
1812         (gen_insn): Call it.
1813
1814         * config/alpha/alpha.md (divmodsi_internal): Renumber operands.
1815         (divmoddi_internal): Likewise.
1816         * config/arm/arm.md (andsi3_compare0_scratch): Likewise.
1817         * config/i960/i960.md (branch patterns): Likewise.
1818         * config/ia64/ia64.md (tbit_and_0): Likewise.
1819         (tbit_and_1, tbit_or_0, tbit_or_1): Likewise.
1820         * config/m68k/m68k.md (zero_extract memory patterns): Likewise.
1821         * config/mips/mips.md (divmodsi4_internal): Likewise.
1822         (divmoddi4_internal): Likewise.
1823         * config/rs6000/rs6000.md (call patterns): Likewise.
1824         * config/sh/sh.md (movsi_y): Likewise.
1825         * config/sparc/sparc.md: Comment out if 0 v8p shift pattern.
1826
1827 2000-11-28  Richard Henderson  <rth@redhat.com>
1828
1829         * config.gcc: Kill residual pyramid support.
1830
1831 2000-11-28  Neil Booth  <neilb@earthling.net>
1832
1833         * c-lex.h (parse_in): Change parse_in to a cpp_reader *.
1834         * c-decl.c (c_decode_option): Update to match.
1835         * c-lex.c (init_c_lex, yyparse): Update to match.
1836         * c-lang.c (lang_init_options): Use cpp_create_reader.
1837         * cppinit.c (cpp_init): Rename initialize.
1838         (cpp_reader_init): Rename cpp_create_reader.  Create the
1839         reader.  Initialize cpplib if appropriate.
1840         * cpplib.h (cpp_create_reader) New prototype.
1841         (cpp_init, cpp_reader_init): Delete prototypes.
1842         * cppmain.c (general_init, setup_callbacks): New functions.
1843         (main): Use them.
1844         * fix-header.c (scan_in): Change type to cpp_reader *.
1845         (read_scan_file): Update for new cpplib interface and scan_in type.
1846
1847         * cp/decl.c (parse_in): Change to cpp_reader *.
1848         (lang_decode_option): Update.
1849         * cp/lex.c (lang_init_options): Use new cpplib interface.
1850         (init_cp_pragma, finish_parse, handle_pragma_implementation): Update.
1851         * cp/spew.c (read_token): Update.
1852         * objc/objc-act.c (lang_init_options): Update new cpplib interface.
1853
1854 2000-11-28  Jakub Jelinek  <jakub@redhat.com>
1855
1856         * loop.c (load_mems): Avoid using next_label to find end_label. If
1857         jumping outside of the loop (other than loop end), don't hoist MEMs
1858         out of loop.
1859
1860 2000-11-28  Jan Hubicka  <jh@suse.cz>
1861
1862         * calls.c (expand_call): Don't disable tail recursion based
1863         on the loop nest.
1864
1865 2000-11-28  Neil Booth  <neilb@earthling.net>
1866
1867         * tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT.
1868         (struct directive): Drop 4th argument from handlers.
1869         (do_define, do_line, do_include, do_undef, do_else, do_elif,
1870         do_endif): Similarly.
1871         (do_assert, do_unassert, do_ifdef, do_ifndef): New handlers.
1872         (do_ifxdef): Update as common handler of do_ifdef and do_ifndef.
1873         (make_definition, make_undef): Take a const char*.
1874         (make_assertion): New function.
1875         (struct directive_table): Update.
1876         (main): Handle -A command line argument.
1877         (handle_directive): Drop fourth handler argument.
1878
1879 2000-11-28  Bernd Schmidt  <bernds@redhat.co.uk>
1880
1881         * simplify-rtx.c (cselib_record_sets): Ignore sets whose destination
1882         is anything but REG or MEM, but look inside STRICT_LOW_PART.
1883
1884 Tue Nov 28 09:53:50 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1885
1886         * system.h (IS_DIR_SEPARATOR): Use uppercase macro name.
1887         (IS_ABSOLUTE_PATHNAME): New macro.
1888         * gcc.c (find_a_file, process_command, do_spec_1, main): Use it.
1889
1890 2000-11-28  Jakub Jelinek  <jakub@redhat.com>
1891
1892         * config/i386/i386.md (truncxfsf2_2): Fix predicate.
1893
1894 2000-11-27  Jim Wilson  <wilson@redhat.com>
1895
1896         * reload1.c (reload): Use HOST_WIDE_INT for old_frame_size.
1897
1898 2000-11-27  Matthias Klose  <doko@cs.tu-berlin.de>
1899
1900         * extend.texi (Nested Functions): Update URL of Usenix paper.
1901
1902 2000-11-27  Mark Mitchell  <mark@codesourcery.com>
1903
1904         * function.c (free_after_compilation): Clear x_clobber_return_insn.
1905
1906 2000-11-27  Neil Booth  <neilb@earthling.net>
1907
1908         * cppinit.c (cpp_reader_init): Remove handling of warn_paste
1909         command line options.
1910         (cpp_handle_option): Similarly.
1911         * cpplib.h (struct cpp_options): Remove warn_paste.
1912         * cppmacro.c (paste_tokens): Apart from assembler, make
1913         unpasteable token warning mandatory.
1914
1915 2000-11-27  Neil Booth  <neilb@earthling.net>
1916
1917         * tradcpp.c (enum pending_dir_t, struct pending_dir): New.
1918         (main): Allocate a pending directive set of these.  Use it.
1919         Merge handling of -D and -U.  Update handling of pending
1920         directives.  Free the memory after use.
1921
1922 2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
1923
1924         * flow.c (entry_exit_blocks): Add entry for cond_local_set.
1925         (struct propagate_block_info): Add new member cond_local_set.
1926         (propagate_block): Accept new arg cond_local_set.  All callers
1927         changed.
1928         (init_propagate_block_info): Likewise.
1929         (calculate_global_regs_live): Allocate & free cond_local_set.  Always
1930         rescan if there's overlap between cond_local_set and new_live_at_end.
1931         (mark_set_1): Set bits either in cond_local_set or local_set, as
1932         appropriate.
1933         * basic-block.h (struct basic_block_def): New field cond_local_set.
1934         (propagate_block, init_propagate_block_info): Update prototypes.
1935
1936 Mon Nov 27 17:29:44 2000  kaz Kojima <kkojima@rr.iij4u.or.jp>
1937
1938         * gcc/config/sh/sh.md (udivsi3_i4, udivsi3_i4_single): Clobber
1939         T register.
1940
1941 2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
1942
1943         * arm.c (select_dominance_cc_mode): Handle new way that combine
1944         canonicalizes conditional compares.
1945         (arm_select_cc_mode): Likewise.
1946         * arm.md: Garbage collect some dead code.
1947         (cmp_and, cmp_ior): New patterns.
1948         (splitter for conditional move with inverted false): Use cond_exec
1949         and handle unordered comparisons.
1950
1951 Mon Nov 27 17:22:56 MET 2000  Jan Hubicka  <jh@suse.cz>
1952
1953         * i386.c (ix86_force_to_memory, ix86_free_from_memory): New.
1954         * i386-protos.h (ix86_force_to_memory, ix86_free_from_memory): Declare
1955         * i386.md (float?i?f, int/fp operations): Rewrite spliters to use
1956         ix86_force_to_memory and ix86_free_from_memory.
1957
1958 2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
1959
1960         * arm.md (arm_adddi3, adddi_sesidi_di, adddi_zesidi_di, arm_addsi3,
1961         arm_subsi3_insn, anddi_zesidi_di, arm_andsi3_insn, anddi_notdi_di,
1962         anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3,
1963         one_cmpldi2): Merge with splitters to create define_insn_and_split
1964         patterns.  Remove redundant splits.
1965         (peephole2 for add:SI of invalid immediate): New.
1966         (peephole2 for minus:SI of invalid immediate): New.
1967         (peephole2 for ior:SI of invalid immediate): New.
1968         (peephole for merge of move and compare): Convert ot peephole2.
1969         (addsf3, adddf3): Mark as commutative.
1970
1971         * arm.md (thumb peephole for merging stack adjustments): Convert to
1972         peephole2.
1973
1974 2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
1975
1976         * haifa-sched.c (print_pattern): Prettier output for COND_EXEC.
1977
1978         * reload1.c (reload_cse_simplify_set): Pass down mode to cselib_lookup.
1979         (reload_cse_simplify_operands): Do nothing about operands where both
1980         the operand and the match_operand fail to give us a mode.
1981         * simplify-rtx.c (wrap_constant): New function.
1982         (entry_and_rtx_equal_p): Except integer constants to come wrapped in a
1983         CONST describing the proper mode.
1984         (rtx_equal_for_cselib_p): Pass down modes to recursive calls of
1985         cselib_lookup.
1986         (cselib_lookup_mem): Call wrap_constant on the rtx that is passed to
1987         htab_find_slot_with_hash.
1988         (cselib_lookup): Likewise.
1989
1990         Based on a patch from Geoff Keating <geoffk@redhat.com>:
1991         * loop.c (basic_induction_var): If a REG is set from something
1992         that is not a biv, then the REG is not a biv.  Even if it is
1993         earlier set from something that is a biv.
1994
1995 2000-11-27  Alexandre Oliva  <aoliva@redhat.com>
1996
1997         * configure.in (extra_objs): Enclose extra_headers in quotes.
1998         * configure: Rebuilt.
1999
2000 2000-11-27  Neil Booth  <neilb@earthling.net>
2001
2002         * c-lex.c (cb_enter_file, cb_leave_file, cb_rename_file):
2003         Combine into the new function cb_change_file.
2004         (init_c_lex): Update.
2005         * cppfiles.c (stack_include_file): Use _cpp_do_file_change.
2006         (cpp_syshdr_flags): Delete.
2007         * cpphash.h (_cpp_do_file_change): New prototype.
2008         Move struct cpp_buffer here from...
2009         * cpplib.h (struct cpp_buffer): ... here.
2010         (enum cpp_fc_reason, struct cpp_file_loc,
2011         struct_cpp_file_change, change_file): New.
2012         (enter_file, leave_file, rename_file, cpp_syshdr_flags): Delete.
2013         * cpplib.c (do_line): Update for new cb_change_file callback.
2014         (_cpp_do_file_change): New function.
2015         (_cpp_pop_buffer): Update to use it.
2016         * cppmain.c (move_printer): Delete.
2017         (main): Set up single callback cb_change_file.
2018         (cb_enter_file, cb_leave_file, cb_rename_file): Delete.
2019         (cb_change_file): New.
2020         * fix-header.c (cur_file, cb_change_file): New.
2021         (recognized_function, read_scan_file): Update.
2022         * scan-decls.c (scan_decls): Update.
2023         * scan.h (recognized_function): Update prototype.
2024
2025 2000-11-26  Mark Mitchell  <mark@codesourcery.com>
2026
2027         * tree.h (mark_tree_hashtable): New function.
2028         * tree.c (mark_tree_hashtable_entry): New function.
2029         (mark_tree_hashtable): Likewise.
2030
2031 2000-11-27  Michael Meissner  <meissner@redhat.com>
2032
2033         * d30v-protos.h (srelational_si_operator): Correctly spell
2034         function.
2035         (urelational_si_operator): Ditto.
2036         (relational_si_operator): Ditto.
2037         (d30v_expand_prologue): Add prototype.
2038         (d30v_expand_epilogue): Ditto.
2039
2040         * d30v.h (OPTIMIZATION_OPTIONS): Undo November 22nd change.
2041
2042         * d30v.md (movcccc_*): Delete now unused patterns.
2043         (64 bit comparison splitters): Rewrite to use COND_EXEC instead of
2044         IF_THEN_ELSE.
2045         (define_cond_exec): Use 'b' to select branch flags.
2046
2047 2000-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2048
2049         * builtins.c (expand_builtin_strncmp, expand_builtin_strncpy): New
2050         functions.
2051         (expand_builtin): Handle BUILT_IN_STRNCPY and BUILT_IN_STRNCMP.
2052
2053         * builtins.def (BUILT_IN_STRNCPY, BUILT_IN_STRNCMP): New entries.
2054
2055         * c-common.c (c_common_nodes_and_builtins): Declare builtin
2056         strncpy and strncmp.
2057
2058         * extend.texi (strncmp, strncpy): Document new builtins.
2059
2060 2000-11-26  Mark Mitchell  <mark@codesourcery.com>
2061
2062         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
2063         a list, to keep track of the sections.
2064         * tm.texi (ASM_OUTPUT_SECTION_NAME): Document the fact that the
2065         parameter provided will always be a canonical string.
2066
2067 2000-11-26  Neil Booth  <neilb@earthling.net>
2068
2069         * cppmacro.c (cpp_scan_buffer_nooutput): Only scan the
2070         current buffer.
2071
2072 2000-11-26  Joseph S. Myers  <jsm28@cam.ac.uk>
2073
2074         * makefile.vms: Remove EGCS references.
2075
2076 2000-11-26  Ulrich Drepper  <drepper@redhat.com>
2077
2078         * dwarf2out.c (output_file_names): New function.  Compute minimal
2079         combination of directory and file name table and emit them.
2080         (output_line_info): Remove code to emit directory and file name
2081         table and call output_file_names instead.
2082         (file_info_cmp): Helper function to sort directory names.
2083
2084 2000-11-26  Neil Booth  <neilb@earthling.net>
2085
2086         * cpplib.h (struct cpp_reader): Remove lang_asm.
2087         (struct cpp_options): Remove c89. New members lang,
2088         extended_numbers.
2089         * cppexp.c (parse_number): Use them.
2090         * cpphash.h (VALID_SIGN): Use them.
2091         * cppinit.c (set_lang, cpp_start_read): Update.
2092         * cpplex.c (parse_string, _cpp_lex_token): Update.
2093         * cpplib.c (_cpp_handle_directive): Update.
2094         * cppmacro.c (parse_args): Update.
2095         * cppmain.c (scan_buffer): Update.
2096
2097 Sun Nov 26 10:02:37 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2098
2099         * fold-const.c (fold, case CONVERT_EXPR): Always return tree of
2100         proper type.
2101
2102 2000-11-26  Neil Booth  <neilb@earthling.net>
2103
2104         * Makefile.in: Remove MAYBE_CPPLIB and maybe_cpplib.
2105         * c-decl.c: Remove parse_in declaration.
2106         * c-lang.c: Similarly.
2107         * c-lex.c: Similarly.
2108         * c-parse.in: Similarly.
2109         * c-pragma.c: Similarly.
2110         * configure.in: Similarly.
2111         * cp/Make-lang.in: Similarly.
2112         * cp/spew.c: Similarly.
2113         * cp/decl2.c: Remove check for lang-c++ option.
2114         * cp/lang-specs.h: Remove -lang-c++ from cc1plus command line.
2115         * cp/lex.c (lang_init_options): With cpp_reader_init, default to C++.
2116         * c-lex.h: Add declaration of parse_in.
2117         * cppinit.c: Call set_lang after allocating pfile->pending.
2118         * configure: Regenerate.
2119
2120 2000-11-25  Zack Weinberg  <zack@wolery.stanford.edu>
2121
2122         * combine.c (try_combine): Remove redundant test.
2123
2124 2000-11-25  Richard Henderson  <rth@redhat.com>
2125
2126         * c-common.h (DECL_C_HARD_REGISTER): New.
2127         * c-decl.c (finish_decl): Set it for asm register variables.
2128         * c-semantics.c (emit_local_var): Test it when instantiating one.
2129
2130 2000-11-25  Richard Henderson  <rth@redhat.com>
2131
2132         * c-decl.c (c_expand_body): Use DECL_SOURCE_LINE rather than
2133         lineno for the start of the function.
2134
2135 2000-11-25  Richard Henderson  <rth@redhat.com>
2136
2137         * dwarf2out.c (file_table, file_table_allocated): Remove.
2138         (file_table_allocated): Remove.
2139         (struct file_table): New.
2140         (decl_file_table, line_file_table): New.
2141         (print_dwarf_line_table): Use them.
2142         (size_of_line_prolog): Likewise.
2143         (output_line_info): Likewise.
2144         (add_src_coords_attributes): Likewise.
2145         (gen_subprogram_die): Likewise.
2146         (gen_variable_die): Likewise.
2147         (dwarf2out_add_library_unit_info): Likewise.
2148         (dwarf2out_line): Likewise.
2149         (lookup_filename): Take a struct file_table argument.
2150         (init_file_table): New.
2151         (dwarf2out_init): Use it.
2152
2153 2000-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
2154
2155         * invoke.texi: Update sequence points references.
2156
2157 2000-11-25  Neil Booth  <neilb@earthling.net>
2158
2159         * c-common.c: Remove USE_CPPLIB conditional inclusions.
2160         * c-common.h: Similarly.
2161         * c-decl.c: Similarly.
2162         * c-lang.c: Similarly.
2163         * c-lex.c: Similarly.
2164         * c-parse.in: Similarly.
2165         * c-pragma.c: Similarly.
2166         * c-pragma.h: Similarly.
2167         * gcc.c: Similarly.
2168         * toplev.c: Similarly.
2169         * cp/cp-tree.h: Similarly.
2170         * cp/decl2.c: Similarly.
2171         * cp/lang-specs.h: Similarly.
2172         * cp/lex.c: Similarly.
2173         * cp/lex.h: Similarly.
2174         * cp/spew.c: Similarly.
2175         * java/lang-options.h: Similarly.
2176         * objc/lang-specs.h: Similarly.
2177         * objc/objc-act.c: Similarly.
2178
2179         * configure.in: Remove configure option.
2180         * config.in: Regenerate.
2181         * configure: Regenerate.
2182
2183 2000-11-25  Richard Henderson  <rth@redhat.com>
2184
2185         * haifa-sched.c (sched_analyze_1, sched_analyze_2, sched_analyze):
2186         Revert 2000-11-22 change.
2187
2188 2000-11-25  Bernd Schmidt  <bernds@redhat.co.uk>
2189
2190         * config/i386/i386.h (FIXED_REGS): Make the three flags registers
2191         fixed.
2192
2193 2000-11-25  Philipp Thomas  <pthomas@suse.de>
2194         * configure.in (ALL_LINGUAS): Remove en_GB and add sv.
2195         * configure: Rebuilt.
2196
2197 2000-11-25  Jakub Jelinek  <jakub@redhat.com>
2198
2199         * config/sparc/sparc.md (muldi3_v8plus): Remove H constraint.
2200         Handle CONST_INT as second argument.
2201         * config/sparc/sparc.c (set_extends): Remove first argument.
2202         Properly handle AND, CONST_INT and CONST_DOUBLE, handle IOR, XOR and
2203         MOV.
2204         (sparc_check_64): Abort if first argument is not REG.
2205         If it is DImode REG, look at the lower register of the register
2206         pair.
2207
2208         * config/sparc/sparc.c (load_pic_register, restore_regs,
2209         output_return, sparc_v8plus_shift, sparc_function_profiler,
2210         sparc_function_block_profiler, sparc_block_profiler): Fix output
2211         formatting.
2212
2213 2000-11-25  Alexandre Oliva  <aoliva@redhat.com>
2214
2215         * config/sh/sh.h (TARGET_NONE): New.
2216         (TARGET_SWITCHES): For all variant-selecting switch, use
2217         TARGET_NONE to reset all other variant-selecting switch.  Added
2218         empty strings to avoid warnings.
2219         (TARGET_DEFAULT): Set to SH1_BIT.
2220
2221         * Makefile.in ($(INTL_TARGETS)): Added $(CONFIG_H) for
2222         insn-codes.h.
2223
2224         * gcc/config/sh/sh.md (sibcalli, sibcalli_pcrel): New insns.
2225         (sibcall_pcrel): New insn_and_split.
2226         (sibcall, sibcall_value, sibcall_epilogue): New expands.
2227
2228         * config/sh/sh.md (GOTaddr2picreg, symGOT2reg, symGOTOFF2reg,
2229         symPLT_label2reg, call, call_value): Don't set
2230         current_function_uses_pic_offset_table.
2231         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't mark
2232         PIC_OFFSET_TABLE_REGNUM as call_used, so that calc_live_regs
2233         takes it into account.
2234         (FINALIZE_PIC): Delete, useless.
2235         (LEGITIMATE_CONSTANT_P): Delete, unused.
2236         * config/sh/sh.c (sh_expand_prologue): Don't use
2237         current_function_uses_pic_offset_table.  Don't special-case
2238         PIC_OFFSET_TABLE_REGNUM.  Initialize it if it's ever live and
2239         PIC is enabled.
2240         (sh_expand_epilogue, initial_elimination_offset): Don't
2241         special case PIC_OFFSET_TABLE_REGNUM.
2242
2243 2000-11-25  Alexandre Oliva  <aoliva@redhat.com>, NIIBE Yutaka  <gniibe@m17n.org>
2244
2245         * config/sh/sh-protos.h (symbol_ref_operand): Declare.
2246         * config/sh/sh.md (UNSPEC_CALLER): New constant.
2247         (calli_pcrel, call_valuei_pcrel): Use PIC_REG.
2248         (call_pcrel, call_value_pcrel): New insn_and_splits.
2249         (call, call_value): Use them.
2250         (call_site): New expand.
2251         (sym_label2reg, symPLT_label2reg): Adjust to hold call_sites.
2252         * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA) [UNSPEC_CALLER]:
2253         Output call_site label.
2254         (PREDICATE_CODES): Added symbol_ref_operand.
2255         * config/sh/sh.c (symbol_ref_operand): Define.
2256         * emit-rtl.c (try_split): Propagate CALL_INSN_FUNCTION_USAGE
2257         to CALL_INSNs in the split sequence.
2258
2259 2000-11-24  Nick Clifton  <nickc@redhat.com>
2260
2261         * config.gcc (v850-*-*): Define c_target_objs and
2262         cxx_target_objs.
2263
2264         * config/v850/t-v850: Define how to build v850-c.o
2265
2266         * config/v850/v850.h (struct data_area_stack_element): Move
2267         definition here from v850.c.
2268
2269         * config/v850v850.c: Include gcc.h to avoid compile time
2270         warning.
2271         (push_data_area): Move to v850-c.c.
2272         (pop_data_area): Move to v850-c.c.
2273         (mark_current_function_as_interrupt): Move to v850-c.c.
2274         (GHS_default_section_names): Allow to be exported.
2275         (GHS_current_section_names): Allow to be exported.
2276         (data_area_stack_elements): Allow to be exported.
2277         (ghs_pragma_section): Move to v850-c.c.
2278         (ghs_pragma_interrupt): Move to v850-c.c.
2279         (ghs_pragma_starttda): Move to v850-c.c.
2280         (ghs_pragma_startsda): Move to v850-c.c.
2281         (ghs_pragma_startzda): Move to v850-c.c.
2282         (ghs_pragma_endtda): Move to v850-c.c.
2283         (ghs_pragma_endsda): Move to v850-c.c.
2284         (ghs_pragma_endzda): Move to v850-c.c.
2285
2286         * config/v850/v850-c.c: New file: Contains v850 specific
2287         pragma parsing functions.
2288
2289 2000-11-24  Nick Clifton  <nickc@redhat.com>
2290
2291         * config.gcc (extra_objs): Remove duplicate description.
2292         (c_target_objs): New variable.  Contains target specific
2293         object files for the gcc C compiler only.
2294         (cxx_target_objs): New variable.  Contains target specific
2295         object files for the gxx C++ compiler only.
2296
2297         * configure.in (c_target_objs): Substitute in the makefile.
2298         (cxx_target_objs): Substitute in the makefile.
2299         * configure: Regenerate.
2300
2301         * Makefile.in (C_TARGET_OBJS): Define and initialise from
2302         c_target_objs.
2303         (CXX_TARGET_OBJS): Define and initialise from
2304         cxx_target_objs.
2305         (C_AND_OBJC_OBJS): Include C_TARGET_OBJS.
2306
2307         * cp/Make-lang.in (CXX_C_OBJS): Include CXX_TARGET_OBJS).
2308
2309         * tm.texi (REGISTER_TARGET_PRAGMAS): Add paragraph explaining
2310         about how the use of the 'c_lex' function requires the use of
2311         the target specific, language specific object files feature of
2312         the configuration mechanism.
2313
2314 Fri Nov 24 18:50:58 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2315
2316         * gcc.c (process_command): Use F_OK, not R_OK.
2317
2318 2000-11-24  Arno J. Klaassen  <arno@heho.snv.jussieu.fr>
2319
2320         * flow.c (print_rtl_and_abort): Remove ANSIism.
2321
2322 Fri Nov 24 19:54:36 2000  Alexandre Oliva  <aoliva@redhat.com>
2323
2324         * config/sh/sh.h (GENERAL_REGISTER_P,
2325         GENERAL_OR_AP_REGISTER_P, FP_REGISTER_P, XD_REGISTER_P,
2326         FP_OR_XD_REGISTER_P, FP_ANY_REGISTER_P): New macros.  Use them
2327         all over.
2328         (SPECIAL_REG): Renamed to SPECIAL_REGISTER_P.
2329         * config/sh/sh.c: Use new macros.
2330         * config/sh/sh.md: Likewise.
2331
2332 Fri Nov 24 19:46:16 2000  Alexandre Oliva  <aoliva@redhat.com>
2333
2334         * config/sh/sh.md: Clobber MACH_REG and MACL_REG in SImode,
2335         instead of just MACH_REG in DImode.  Always refer to FPSCR_REG
2336         in PSImode.
2337
2338 Fri Nov 24 22:37:41 2000  Denis Chertykov  <denisc@overta.ru>
2339
2340         * config/avr/avr.c (out_tsthi,out_tstsi): Test simplification bug
2341         fixed.
2342         (machine_dependent_reorg): Wrong optimization based on
2343         NOTICE_UPDATE_CC removed.
2344
2345 Fri Nov 24 19:48:09 2000  J"orn Rennecke <amylaar@redhat.com>
2346
2347         * jump.c (delete_computation): Re-instate deletion of feeding insn.
2348         (delete_insn): Look for REG_LABEL notes.
2349         (redirect_tablejump): Delete feeding insns.
2350
2351 2000-11-24  Bernd Schmidt  <bernds@redhat.co.uk>
2352
2353         * config/i386/i386.md (call_pop_0, call_pop_1, call_value_pop_0,
2354         call_value_pop_1): Make sure operand numbers are contiguous.
2355
2356         * fold-const.c (fold_range_test): Avoid crash if LHS or RHS is null.
2357
2358         * reload1.c (conflicts_with_override): New function.
2359         (emit_input_reload_insns): Use it to tighten test for validity
2360         of substituting into output of previous insn.
2361
2362         * haifa-sched.c (struct ready_list): New.
2363         (ready_lastpos, ready_add, ready_remove_first, ready_sort): New static
2364         functions.
2365         (schedule_insn): Replace args READY and N_READY with a pointer to a
2366         ready_list; return void.  Use the new functions to access the ready
2367         list.  All callers changed.
2368         (queue_to_ready, debug_ready_list): Likewise.
2369         (schedule_block): Initialize a ready_list structure.  Use new
2370         functions to access it.
2371         (max_priority): Remove unused variable.
2372         (schedule_insn): Don't set it.
2373
2374         * c-common.c (verify_tree): Don't recurse into CONSTRUCTORs.
2375
2376         * combine.c (cant_combine_insn_p): New function.
2377         (try_combine): Use it.
2378
2379         * Makefile.in (c-common.o): Depend on $(OBSTACK_H).
2380         * c-common.c (c-obstack.c): Include "obstack.h".
2381         (struct reverse_tree): Delete.
2382         (reverse_list, reverse_max_depth): Delete.
2383         (build_reverse_tree, common_ancestor, modify_ok): Delete functions.
2384         (struct tlist, struct tlist_cache): New.
2385         (tlist_obstack, tlist_firstobj, warned_ids, save_expr_cache): New.
2386         (add_tlist, merge_tlist, verify_tree, warning_candidate_p,
2387         warn_for_collisions, warn_for_collisions_1, new_tlist): New
2388         static functions.
2389         (verify_sequence_points): Rewritten.
2390         * fold-const.c (fold): Don't lose possibly important sequence
2391         points when removing one arm of TRUTH_ORIF_EXPRs or TRUTH_ANDIF_EXPRs.
2392
2393 2000-11-24  Richard Sandiford  <rsandifo@redhat.com>
2394
2395         * gcc/cse.c (cse_insn): Removed conversion of REG_EQUIV to REG_EQUAL
2396         when reversing a register-to-register copy.  Reversal now disabled
2397         when the previous instruction has a REG_EQUIV.
2398
2399 2000-11-24  Nathan Sidwell  <nathan@codesourcery.com>
2400
2401         * c-parse.in (unary_expr): Move VA_ARG from here ...
2402         (primary): ... to here.
2403
2404 2000-11-23  Graham Stott  <grahams@redhat.com>
2405
2406         * expr.c (store_constructor): If a field is non addressable and
2407         the target is a MEM use MEM_ALIAS_SET otherwise use get_alias_set.
2408
2409 2000-11-23  Bernd Schmidt  <bernds@redhat.co.uk>
2410
2411         * flow.c (print_rtl_and_abort): New function.
2412         (verify_wide_reg, verify_local_live_at_start): Try to dump more
2413         information before aborting.
2414
2415 2000-11-23  Alexandre Oliva  <aoliva@redhat.com>
2416
2417         * emit-rtl.c (gen_lowpart_common): Use word 0 if register mode
2418         is narrower than requested mode.
2419         (gen_highpart): Abort if register mode is narrower than
2420         requested mode.
2421
2422 2000-11-23  Graham Stott  <grahams@redhat.com>
2423
2424         * cse.c (cse_insn): Initialise all regcost variables.
2425         Fix a typo add missing '='.
2426         Only compare costs if there is a replacement insn.
2427
2428 Thu Nov 23 04:33:33 2000  Alexandre Oliva  <aoliva@redhat.com>
2429
2430         * final.c (output_addr_const) [LABEL_REF]: Simplify.
2431         [MINUS]: Enclose non-CONST_INTs in parentheses.
2432         [default]: Try OUTPUT_ADDR_CONST_EXTRA.
2433         * tm.texi (OUTPUT_ADDR_CONST_EXTRA): Document it.
2434         * varasm.c (decode_rtx_const) [CONST]: If it's not something
2435         PLUS or MINUS a CONST_INT, use the whole CONST with offset 0
2436         instead of abort()ing.
2437         * sh.c (output_pic_addr_const): Removed.  Fixed all callers.
2438         * sh.h (OUTPUT_ADDR_CONST_EXTRA): New.  Handle the UNSPECs
2439         formerly handled in output_pic_addr_const.
2440         * sh.md (sym_label2reg, symPLT_label2reg): Enclose UNSPEC
2441         operands of MINUS in CONSTs so that decode_rtx_const() will
2442         accept them.
2443
2444 Thu Nov 23 04:10:30 2000  Alexandre Oliva  <aoliva@redhat.com>
2445
2446         * config/sh/sh.md (mova_const): New pattern.
2447         (GOTaddr2picreg): Use it.
2448         * config/sh/sh.c (broken_move): Match it.
2449         (mova_p): Don't match it.
2450         (machine_dependent_reorg): Adjust it.
2451
2452 Thu Nov 23 02:09:09 2000  Alexandre Oliva  <aoliva@redhat.com>
2453
2454         * config/sh/sh.h (FIRST_GENERAL_REG, LAST_GENERAL_REG): New.
2455         Moved most register-number #defines...
2456         * config/sh/sh.md (define_constants): ... here.  Use macros to
2457         refer to registers and unspecs.
2458         * config/sh/sh.c: Likewise.
2459
2460 Thu Nov 23 01:01:32 2000  J"orn Rennecke <amylaar@redhat.com>
2461
2462         * Makefile.in (HOST_CFLAGS): Add -DGENERATOR_FILE.
2463         (rtl.o, print-rtl.o, bitmap.o, obstack.o): Build with -DGENERATOR_FILE.
2464         (alloca.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
2465         (splay-tree.o, hash.o): Likewise.
2466         GCONFIG_H: New.
2467         (rtl.o, print-rtl.o): Depend on $(GCONFIG_H) instead of $(CONFIG_H).
2468         (bitmap.o, obstack.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
2469         (hashtab.o): Likewise.
2470         (gcov.o): Depend on $(CONFIG_H).
2471         * configure.in: #include insn-codes.h in tm.h.
2472
2473 2000-11-22  Nick Clifton  <nickc@redhat.com>
2474
2475         * config/arm/arm.c (arm_encode_call_attribute): Make 'newstr' a
2476         const char * to avoid a compile time warning.
2477
2478         * config/arm/arm.md (define_constants): Define symbolic names for
2479         the link register, last integer register and the fake CC register.
2480         Update patterns to use these symbolic names.
2481
2482 2000-11-22  Neil Booth  <neilb@earthling.net>
2483
2484         * cpplex.c (trigraph_ok): Ensure we don't warn twice.
2485         * cpplib.h (struct cpp_buffer): New member last_Wtrigraphs.
2486
2487 2000-11-22  Richard Henderson  <rth@redhat.com>
2488
2489         * haifa-sched.c (sched_analyze_1): Don't special-case calls
2490         for clobbering registers.
2491         (sched_analyze_2): Likewise.
2492         (sched_analyze): Zap reg_last_uses and reg_last_sets after calls.
2493
2494 2000-11-22  Chris Demetriou  <cgd@sibyte.com>
2495             Neil Booth  <neilb@earthling.net>
2496
2497         * gcc.c (validate_switches): Validate multiple switches named
2498         in '|' (or) expressions in specs.
2499         (handle_braces): If more than 1 alternative in a '|' spec
2500         matches, call do_spec1 just once.
2501
2502 2000-11-22  Michael Meissner  <meissner@redhat.com>
2503
2504         * d30v.h (TARGET_SWITCHES): Add documentation strings.
2505         (TARGET_OPTIONS): Ditto.
2506         (OPTIMIZATION_OPTIONS): Temporarily turn off -frename-registers if
2507         -O3.
2508
2509 Wed Nov 22 06:40:56 2000  Jeffrey A Law  (law@cygnus.com)
2510
2511         * pa.c (hppa_encode_label): Account for addition of encoding
2512         character when allocating persistent space for the new label
2513         name.
2514
2515 2000-11-22  Zack Weinberg  <zack@wolery.stanford.edu>
2516
2517         * Makefile.in, config.gcc, configure.in: Expunge remaining
2518         traces of facility for running MD files through C preprocessor.
2519
2520 2000-11-22  Joseph S. Myers  <jsm28@cam.ac.uk>
2521
2522         * gcov.texi: Add magic comments for texi2pod.pl.
2523         * Makefile.in: Add rules to generate and install gcov.1.
2524         * gcov.1: New (generated) file.
2525
2526 2000-11-21  Richard Henderson  <rth@redhat.com>
2527
2528         * regrename.c (scan_rtx_reg): Terminate the chain rather than
2529         abort on mark_read with NO_REGS.
2530
2531 2000-11-21  Mike Stump  <mrs@wrs.com>
2532
2533         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Fix to allow
2534         compilation with older compilers, such as /bin/cc on SunOS.
2535         * fixinc/fixfixes.c (FIX_PROC_HEAD): Ditto.
2536
2537 2000-11-21  Richard Henderson  <rth@redhat.com>
2538
2539         * varasm.c (record_constant): Pad the constructed
2540         constant_descriptor appropriately.
2541
2542 Wed Nov 22 00:52:55 2000  J"orn Rennecke <amylaar@redhat.com>
2543
2544         * rtl.h (traverse_md_constants): Declare.
2545         (struct md_constant): Define.
2546         * Makefile.in (HOST_RTL): Add hashtab.o .
2547         (OBJS): Add hashtab.o .
2548         (hashtab.o): New rule.
2549         (rtl.o): Depends on HASHTAB_H.
2550         * rtl.c (hashtab.h): #include.
2551         (md_constants): New static variable.
2552         (def_hash, def_name_eq_p, read_constants): New static functions.
2553         (traverse_md_constants): New function.
2554         (read_name): Do constant expansion.
2555         (read_rtx): Recognize define_constants.
2556         * gencodes.c (print_md_constant): New function.
2557         (main): Emit #defines for all constant definitions encountered.
2558         * md.texi (Constant Definitions): New node.
2559         * gensupport.c (xcalloc): New function.
2560
2561 2000-11-21  Richard Henderson  <rth@redhat.com>
2562
2563         * config/alpha/alpha.c (alpha_split_tfmode_frobsign): New.
2564         * config/alpha/alpha-protos.h: Declare it.
2565         * config/alpha/alpha.md (abstf_internal): Use it.
2566         (negtf_internal): Likewise.
2567         (andnotdi3): Unstar the name.
2568         (movtf_internal): Add o/G alternative.
2569
2570 2000-11-21  Zack Weinberg  <zack@wolery.stanford.edu>
2571
2572         * stringpool.c (stringpool_statistics): Also report number and
2573         percentage of entries which are identifiers.
2574
2575 2000-11-21  Diego Novillo  <dnovillo@redhat.com>
2576
2577         * gcse.c (hoist_expr_reaches_here_p): Do not mark expr_bb as
2578         visited before visiting it.
2579
2580 2000-11-21  Nick Clifton  <nickc@redhat.com>
2581
2582         * config/arm/arm.h: Accept TARGET_CPU_arm9tdmi,
2583         TARGET_CPU_strongarm110 and TARGET_SPU_strongarm1100.
2584
2585         * config.gcc: Accept --with-cpu=arm9 and --with-cpu=arm9tdmi.
2586
2587 2000-11-21  Richard Henderson  <rth@redhat.com>
2588
2589         * c-common.c (c_unsafe_for_reeval): New function.
2590         (add_c_tree_codes): Register it.
2591         * c-common.h: Declare it.
2592         * tree.c (lang_unsafe_for_reeval): New hook.
2593         (unsafe_for_reeval): Call it.
2594         * tree.h: Declare it.
2595
2596 2000-11-21  Richard Henderson  <rth@redhat.com>
2597
2598         * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify @GOT
2599         references as well.
2600
2601 2000-11-21  Neil Booth  <neilb@earthling.net>
2602
2603         * do_includes: Revert to using cpp_read_file.
2604
2605 2000-11-21  Bernd Schmidt  <bernds@redhat.co.uk>
2606
2607         * loop.c (consec_sets_giv): If the reg we're examining is anything
2608         but UNKNOWN_INDUCT, do nothing.
2609         Reset the reg's type to UNKNOWN_INDUCT before returning.
2610
2611         Mostly from Vladimir Makarov (vmakarov@redhat.com)
2612         * ia64.md (attr itanium_class): Define insn types as described in
2613         Itanium docs.
2614         (all insn patterns): Use itanium_class, not type attributes.
2615         Occasionally split alternatives as necessary.
2616         (attr type): Compute from new attr itanium_class.
2617
2618 2000-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2619
2620         * tradcpp.c (output_line_command): Mark system headers as such in
2621         `line' commands.
2622
2623 2000-11-21  Jakub Jelinek  <jakub@redhat.com>
2624
2625         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Sparc has .file/.loc
2626         support in as as well.
2627         * configure: Regenerate.
2628
2629 2000-11-20  Richard Henderson  <rth@redhat.com>
2630
2631         * c-lex.c (orig_filename): New variable.
2632         (init_c_lex): Set it.  Move call to cpp_start_read ...
2633         (yyparse): ... here.  New function.
2634         * c-parse.in (yyparse_1): Rename the parser entry point.
2635         * c-tree.h: Declare it.
2636
2637 2000-11-21  Jakub Jelinek  <jakub@redhat.com>
2638
2639         * expr.c (do_compare_and_jump): If op0 was replaced by promoted
2640         integer constant, use type of op1 for comparison.
2641
2642 2000-11-20  Stan Shebs  <shebs@apple.com>
2643
2644         * config/rs6000/xm-darwin.h: New file, Darwin host definitions.
2645         * config/rs6000/x-darwin: New file, Darwin host fragment.
2646         * config.gcc (powerpc-*-darwin*): New host.
2647         * system.h (HAVE_DESIGNATED_INITIALIZERS):  Allow this to be
2648         overridden by a config file.
2649
2650 2000-11-20  Neil Booth  <neilb@earthling.net>
2651
2652         * cppmacro.c (paste_tokens): Rename from paste_payloads.
2653         Change token type after pasting spellings.
2654         (paste_all_tokens): Use it.
2655         * gcc.dg/cpp/paste2.c: Update test.
2656         * objc/execute/paste.m: New test.
2657
2658 2000-11-20  Richard Henderson  <rth@redhat.com>
2659
2660         * dwarf.h (FMT_CODE): Adjust argument order; fix mapping to
2661         dwarf_subscr_data_formats bits.
2662         * dwarfout.c (simple_type_size_in_bits): Handle a type with
2663         no computed size as size zero.
2664         (field_byte_offset): Likewise.
2665         (subscript_data_attribute): Handle a range with no upper bound.
2666
2667 2000-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2668
2669         * gansidecl.h (const): Check __STDC__ before undef'ing `const'.
2670
2671 2000-11-20  Joseph S. Myers  <jsm28@cam.ac.uk>
2672
2673         * c-typeck.c (build_conditional_expr): When merging type
2674         qualifiers for conditional expressions between a pointer and a
2675         pointer to a void type, merge the qualifiers on the target types
2676         rather than the pointer type.  Remove obsolete conditioned out
2677         code.
2678
2679 2000-11-20  Neil Booth  <neilb@earthling.net>
2680
2681         * c-lang.c (lang_init_options): Update call to
2682         cpp_reader_init.
2683         * cppmain.c (main): Similarly.
2684         * fix-header.c (read_scan_file): Similarly.
2685         * cp/lex.c (lang_init_options): Similarly.
2686         * objc/objc-act.c (lang_init_options): Similarly.
2687         * cppexp.c (parse_number): Only warn for unextended C89.
2688         * cppinit.c (set_lang): New function.
2689         (cpp_reader_init): Take a LANG argument and pass it to set_lang.
2690         (COMMAND_LINE_OPTIONS): New option std=c++98.
2691         (cpp_handle_option): Use set_lang.
2692         * cpplex.c (_cpp_lex_token): Warn pedantically if not C99.
2693         * cppib.h (enum_c_lang): New enumeration.  Update comments.
2694
2695 2000-11-20  Will Cohen  <wcohen@redhat.com>
2696
2697         * calls.c (expand_call): Clear target only when target is in
2698         hard register and current_function_check_memory_usage is set.
2699
2700 2000-11-20  Bernd Schmidt  <bernds@redhat.co.uk>
2701
2702         * toplev.c (rest_of_compilation): Run optimize_mode_switching even
2703         if not optimizing.
2704         * sh.c (emit_sf_insn, emit_df_insn): Just call emit_insn.
2705
2706 2000-11-19  Richard Henderson  <rth@redhat.com>
2707
2708         * crtstuff.c (force_to_data): Use array size 1 not 0.
2709
2710         * dwarf2out.c (simple_type_size_in_bits): Handle a type with
2711         no computed size as size zero.
2712         (field_byte_offset): Likewise.
2713
2714 2000-11-20  Joseph S. Myers  <jsm28@cam.ac.uk>
2715
2716         * config.gcc: Fix another typo.
2717
2718 2000-11-19  Richard Henderson  <rth@redhat.com>
2719
2720         * c-decl.c (grokdeclarator): Support flexible array members.
2721         Use open-ended ranges for these and zero-length arrays.
2722         * c-typeck.c (push_init_level): Validate the context of
2723         initialization of a zero-length array.
2724         * tree.c (int_fits_type_p): Be prepared for missing bounds.
2725         * varasm.c (array_size_for_constructor): New.
2726         (output_constructor): Use it for arrays of unspecified length.
2727         * extend.texi (Zero Length): Mention C99 flexible array members.
2728         Document initialization in a top-level struct as valid.
2729
2730 2000-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
2731
2732         * config.gcc, invoke.texi: Fix errors in spelling of "deprecated".
2733
2734         * alias.c (mems_in_disjoint_alias_sets_p): Do use alias sets in
2735         stdarg and varargs functions.
2736
2737 2000-11-19  Zack Weinberg  <zack@wolery.stanford.edu>
2738
2739         * gcc.c (process_command): Define 'j' variable when
2740         MODIFY_TARGET_NAME is defined.
2741
2742 2000-11-19  Richard Henderson  <rth@redhat.com>
2743
2744         * stor-layout.c (variable_size): Only put SAVE_EXPRs on pending_sizes.
2745
2746 2000-11-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2747
2748         * rs6000/rs6000.c (rs6000_encode_section_info): Fix string length
2749         calculation and allocation.
2750
2751 2000-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2752
2753         * builtins.c (c_getstr): Constify variable.
2754         * gmon-sol2.c (_mcleanup): Comment out #endif labels.
2755         * conflict.c (const_conflict_graph_arc): New typedef.
2756         (arc_hash, arc_eq): Avoid needlessly casting away const-ness.
2757         * cppmacro.c (builtin_macro): Likewise.
2758         * dwarf2out.c (output_comp_unit): Constify variable.
2759         * fix-header.c (v_fatal): Add ATTRIBUTE_PRINTF.
2760         * protoize.c (IS_SAME_PATH_CHAR): Use TOUPPER, not toupper.
2761         * ssa.c (ssa_rename_from_hash_function): Avoid needlessly casting
2762         away const-ness.
2763         * tradcpp.c (rescan, do_line, macroexpand, macarg): Use
2764         ISALNUM/ISDIGIT/ISPRINT, not isalnum/isdigit/isprint.
2765         * varasm.c (const_str_htab_hash, const_str_htab_eq,
2766         compare_constant_1, record_constant_1): Constify.
2767
2768 2000-11-18  Richard Henderson  <rth@redhat.com>
2769
2770         * c-decl.c (grokdeclarator): Special case the creation of an
2771         index for a zero-length array.
2772         * tree.c (build_index_type): Revert Oct 20 change.
2773
2774 2000-11-18  Marek Michalkiewicz  <marekm@linux.org.pl>
2775
2776         * config/avr/avr-protos.h (avr_output_addr_vec_elt): Prototype.
2777         * config/avr/avr.c (jump_tables_size): New variable.
2778         (function_prologue): Initialize it as 0.
2779         (function_epilogue): Add it to function_size.
2780         (avr_output_addr_vec_elt): New function.  Count words in jump
2781         tables in jump_tables_size.  Move code ...
2782         * config/avr/avr.h (ASM_OUTPUT_ADDR_VEC_ELT): ... from here.
2783         Call avr_output_addr_vec_elt instead.
2784         * config/avr/avr.md (tablejump): Remove disabled define_expand.
2785
2786 2000-11-18  Mark Mitchell  <mark@codesourcery.com>
2787
2788         * configure.in: Make --enable-new-gxx-abi the default.
2789         * configure: Likewise.
2790
2791 2000-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2792
2793         * Makefile.in (tradcpp.o, tradcif.o): Depend on tradcpp.h.
2794
2795         * tradcif.y: Include tradcpp.h.  Constify.  Make functions static.
2796         Move extern function declarations to tradcpp.h.
2797
2798         * tradcpp.c: Likewise.
2799
2800         * tradcpp.h: New file.
2801
2802 2000-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
2803
2804         * c-decl.c (check_for_loop_decls): New function.
2805         * c-parse.in (for_init_stmt): New.
2806         (select_or_iter_stmt): Use for_init_stmt.
2807         * c-tree.h (check_for_loop_decls): New declaration.
2808
2809 2000-11-18  Neil Booth  <neilb@earthling.net>
2810
2811         * cppinit.c: Update comments.
2812         (cpp_reader_init): Make -imacro and -include use the standard
2813         #include "" search path.
2814         (do_includes): New function.
2815
2816 2000-11-18  Ben Elliston  <bje@redhat.com>
2817
2818         * config/sh/crt1.asm (start_l): Move PC-relative move instruction
2819         out of a branch delay slot.
2820
2821 2000-11-17  Richard Henderson  <rth@redhat.com>
2822
2823         * config/alpha/elf.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
2824         (ASM_SPEC): Disable and enable .mdebug based on -gstabs.
2825         (ASM_FILE_START): Only write out ecoff .file directive if
2826         emitting mdebug debugging.
2827
2828 2000-11-17  Richard Henderson  <rth@redhat.com>
2829
2830         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): New.  Detect
2831         whether as accepts .file/.loc and produces dwarf2 line info.
2832         * dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Default on if
2833         the assembler supports it.
2834         * config.in, configure: Regenerate.
2835
2836 2000-11-17  Richard Henderson  <rth@redhat.com>
2837
2838         * fixinc/mkfixinc.sh: Don't disable fixincludes for any linux*.
2839
2840 2000-11-17  Jim Wilson  <wilson@redhat.com>
2841
2842         * config/ia64/ia64.c (emit_insn_group_barriers, case CALL_INSN):
2843         Don't clear need_barrier is next_insn is a CALL_INSN, or has
2844         instruction type B or UNKNOWN.
2845
2846 2000-11-17  Neil Booth  <neilb@earthling.net>
2847
2848         * cpperror.c (print_file_and_line): Don't display line number if 0.
2849
2850 2000-11-17  Zack Weinberg  <zack@wolery.stanford.edu>
2851
2852         * ggc.h: Delete ggc_add_string_root and ggc_mark_string.  Add
2853         digit_vector and digit_string.
2854         * stringpool.c (digit_vector): New.
2855         (ggc_alloc_string): Use digit_string.
2856
2857         * stmt.c (digit_strings): Delete.
2858         (init_stmt): Do not initialize digit_strings.
2859         (expand_asm_operands): Use ggc.h's digit_string macro.
2860         * toplev.c (mark_file_stack): Delete.
2861         (compile_file): Don't call init_tree_codes.
2862         (main): No need to make the file stack a GC root.
2863         * tree.c (init_tree_codes): Delete.
2864         * tree.h (init_tree_codes): Delete.
2865
2866         * c-lex.c: Don't include ggc.h.
2867         (mark_splay_tree_node, mark_splay_tree): Delete.
2868         (init_c_lex): No need to ggc_strdup string constant.  Don't add
2869         file_info_tree to GGC roots.
2870         (cb_enter_file, cb_rename_file): No need to ggc_strdup
2871         ip->nominal_fname.
2872
2873         * Makefile.in (c-lex.o): No longer depends on $(GGC_H).
2874
2875         * dbxout.c (dbxout_init),
2876         dwarf2out.c (dwarf2out_line),
2877         ggc-common.c (ggc_mark_rtx_children, ggc_mark_trees),
2878         varasm.c (mark_const_hash_entry, mark_pool_constant, init_varasm_once),
2879         xcoffout.c (xcoffout_source_file),
2880         i386.c (load_pic_register):
2881         Delete call(s) to ggc_add_string_root and/or ggc_mark_string.
2882
2883         * except.c (create_rethrow_ref),
2884         profile.c (init_edge_profiler),
2885         toplev.c (compile_file),
2886         varasm.c (named_section, assemble_static_space,
2887         assemble_trampoline_template, output_constant_def, force_const_mem),
2888         i386.c (load_pic_register),
2889         ia64.c (ia64_encode_section_info),
2890         rs6000.c (rs6000_emit_load_toc_table, create_TOC_reference,
2891         rs6000_emit_prologue, rs6000_emit_epilogue),
2892         rs6000.md (load_toc_aix_si, load_toc_aix_di):
2893         Change ggc_alloc_string (var, -1) to ggc_strdup (var).
2894
2895         * profile.c (output_func_start_profiler),
2896         tree.c (make_node),
2897         i386.c (load_pic_register): No need to ggc_strdup string constant.
2898
2899 2000-11-17  Hans-Peter Nilsson  <hp@axis.com>
2900
2901         * Makefile.in (config.status): Depend on config.gcc.
2902         * configure.in <for machine in $build $host $target>: Move
2903         contents of loop into config.gcc, removing autoconf quoting.
2904         Fix changequote bug for alpha*-*-vxworks*.
2905         * configure: Regenerate.
2906         * config.gcc: New.
2907
2908 2000-11-16  Zack Weinberg  <zack@wolery.stanford.edu>
2909
2910         * c-parse.in (if_prefix): Find the filename and line number at
2911         $-2 and $-1 respectively.
2912         * diagnostic.c (error_recursion): Add missing newline, use
2913         fputs, translate string.
2914
2915 2000-11-16  Zack Weinberg  <zack@wolery.stanford.edu>
2916
2917         * stringpool.c: New file.
2918         * ggc-common.c (ggc_mark_string_ptr, ggc_add_string_root): Delete.
2919         (ggc_alloc_string): Now in stringpool.o.
2920         * ggc-page.c, ggc-simple.c: Do not define or allocate empty_string.
2921         * ggc.h: Delete prototype of ggc_add_string_root.  #define
2922         ggc_add_string_root and ggc_mark_string to nothing.  Prototype
2923         init_stringpool and stringpool_statistics.
2924         (ggc_alloc_string): Returns a const char *.
2925         * tree.c (hash_table, do_identifier_warnings): Delete.
2926         (init_obstacks): Don't initialize the identifier hash table.
2927         (get_identifier, maybe_get_identifier, start_identifier_warnings,
2928         set_identifier_size): Now in stringpool.c.
2929         * tree.h (struct tree_string): Constify pointer field.
2930         (approx_sqrt): Prototype.
2931
2932         * Makefile.in (stringpool.o): Add rule, mention in OBJS.
2933
2934         * toplev.c (approx_sqrt): New function.
2935         (compile_file): Call stringpool_statistics if mem_report is on.
2936         (main): Call init_stringpool.
2937
2938         * builtins.c (c_strlen), c-decl.c (finish_decl), c-lex.c
2939         (process_directive), c-typeck.c (constructor_asmspec, struct
2940         initializer_stack, start_init), except.c (create_rethrow_ref),
2941         stmt.c (digit_strings), toplev.c (decode_f_option), tree.c
2942         (built_in_filename), varasm,c (in_named_name,
2943         assemble_static_space, struct constant_descriptor, struct
2944         deferred_string, struct pool_constant, force_const_mem),
2945         i386.c (pic_label_name, global_offset_table_name), rs6000.c
2946         (rs6000_emit_prologue, rs6000_emit_epilogue) : Constify a char *.
2947
2948         * c-common.c (combine_strings): Combine strings in scratch
2949         buffer, then pass to build_string.
2950         * optabs.c (init_libfuncs), profile.c (init_edge_profiler,
2951         output_func_start_profiler), stmt.c (init_stmt), alpha.c
2952         (alpha_need_linkage), arm.c (arm_encode_call_attribute),
2953         i386.c (load_pic_register), ia64.c (ia64_encode_section_info),
2954         rs6000.c (rs6000_encode_section_info): Create string in
2955         scratch buffer, then pass to ggc_alloc_string.
2956
2957         * stmt.c (expand_asm_operands): If we must adjust the
2958         constraint strings, do so by creating a new one, not by
2959         modifying the old one in place.  Constify some char *s.
2960         * config/pa/pa.c (hppa_encode_label): Drop unnecessary second
2961         argument.  Create string in scratch buffer, then pass to
2962         ggc_alloc_string.
2963         * config/pa/pa-protos.h: Update prototype.
2964         * config/pa/elf.h, config/pa/pa.h, config/pa/som.h:
2965         hppa_encode_label takes only one argument.
2966
2967 2000-11-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2968
2969         * mcore.c (mcore_expand_prolog): Call xmalloc/xrealloc, not
2970         malloc/realloc.
2971
2972         * cpplib.c (glue_header_name): Likewise.
2973
2974         * fixincl.c (run_compiles, start_fixer): Likewise.
2975
2976         * fixlib.c (load_file_data): Likewise.
2977
2978         * mkdeps.c (munge): Likewise.
2979
2980 2000-11-17  Hans-Peter Nilsson  <hp@axis.com>
2981
2982         * defaults.h [EH_FRAME_SECTION_ASM_OP] (EH_FRAME_SECTION): Remove
2983         trailing ';'.  Fix formatting.
2984
2985 2000-11-16  Jim Wilson  <wilson@redhat.com>
2986
2987         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT, MASK_INLINE_DIV_THR):
2988         Shift masks left by one to avoid conflict.
2989
2990         * config/ia64/ia64.c (ia64_encode_section_info): Disallow decls with
2991         DECL_EXTERNAL set.
2992
2993 2000-11-16  Nick Clifton  <nickc@redhat.com>
2994
2995         * config/arm/arm.c (output_arm_prologue): Note nested functions.
2996         (arm_expand_prologue): For nested functions preserve the
2997         static chain register during stack frame creation.
2998
2999         * config/arm/arm.h (STATIC_CHAIN_REGNUM): Change to 12.
3000         (ARM_INITIAL_FRAME_ELIMINATION_OFFSET): For a nested function
3001         with a stack frame there is a 4 byte gap between the arg
3002         pointer and the hard frame pointer (used to preserve the
3003         static chain register during stack frame creation).
3004
3005 2000-11-16  DJ Delorie  <dj@redhat.com>
3006
3007         * rtl.c (read_rtx): Provide suitable names for unnamed
3008         define_insn and define_insn_and_split patterns, based on file
3009         and line numbers.
3010
3011 2000-11-15  Neil Booth  <neilb@earthling.net>
3012
3013         * cpplib.c (start_directive, end_directive): New functions.
3014         (_cpp_handle_directive, run_directive): Use them.
3015         (_cpp_handle_directive): Don't -Wtraditional on indented
3016         null directives.
3017         (_cpp_push_buffer): Don't re-clear was_skipping.
3018         * cpplib.h (struct cpp_reader): New member la_saved.
3019         * cppmacro.c (cpp_get_token): Don't interpret _Pragma in
3020         directives.
3021
3022         gcc.dg/cpp/_Pragma1.c: Update.
3023         gcc.dg/cpp/_Pragma2.c: New test.
3024
3025 2000-11-15  Mark Mitchell  <mark@codesourcery.com>
3026
3027         * toplev.c (wrapup_global_declarations): Don't write out
3028         artificial static variables that aren't needed.
3029
3030 2000-11-15  Bernd Schmidt  <bernds@redhat.co.uk>
3031
3032         * ia64.c (struct group): New structure.
3033         (last_group): New static array.
3034         (group_idx): New static variable.
3035         (emit_group_barrier_after, errata_find_address_regs, errata_emit_nops):
3036         New static functions.
3037         (emit_insn_group_barriers): Initialize and keep track of group_idx
3038         and last_group.
3039         Call errata_emit_nops if TARGET_B_STEP or TARGET_A_STEP.
3040         Replace all calls to emit_insn_after that emit a group barrier to use
3041         emit_group_barrier_after.
3042         * ia64.h (MASK_B_STEP): New.
3043         (other MASK_XXX macros): Renumbered.
3044         (TARGET_B_STEP): New.
3045         (TARGET_SWITCHES): Add -mb-step.
3046
3047 2000-11-15  Fred Fish  <fnf@be.com>
3048
3049         * fixinc/mkfixinc.sh (fixincludes): Add *-*-beos* to list of
3050         machines for which fixincludes is not needed.
3051         * config/i386/x-beos (STMP_FIXPROTO): Don't run fixproto.
3052
3053 2000-11-15  Jason Merrill  <jason@redhat.com>
3054
3055         * diagnostic.c (finish_abort): New fn.
3056         (fancy_abort, error_recursion): Use it.
3057         * toplev.c (crash_signal): Likewise.
3058         * diagnostic.h: Declare it.
3059
3060 2000-11-13  Andrew Haley  <aph@redhat.com>
3061
3062         * tree.c (build_type_no_quals): New function.
3063         * tree.h (build_type_no_quals): Declare.
3064         * c-common.c (c_get_alias_set): When considering type
3065         compatibility for pointer types, ignore cv-qualifiers anywhere in
3066         a pointer chain.
3067
3068 2000-11-15  Graham Stott  <grahams@redhat.com>
3069
3070         * regrename.c (scan_rtx_rtx): Skip to the next chain on
3071         encountering a terminated chain.
3072
3073 2000-11-14  Mark Mitchell  <mark@codesourcery.com>
3074
3075         * configure.in: Move check for V3 above check for C++ header-file
3076         directory.
3077         * configure: Regenerated.
3078
3079 2000-11-14  DJ Delorie  <dj@redhat.com>
3080
3081         * config/v850/v850.c: Remove obstacks.
3082
3083 Tue Nov 14 21:54:31 2000  Marek Michalkiewicz  <marekm@linux.org.pl> & Denis Chertykov  <denisc@overta.ru>
3084
3085         * config/avr/avr.c (avr_case_values_threshold): New.
3086         (avr_override_options): Set it depending on options, make it large
3087         when not optimizing to work around "unable to generate reloads".
3088
3089         * config/avr/avr.h (TARGET_SWITCHES): Add -mno-tablejump option.
3090         (EXTRA_SECTION_FUNCTIONS): Make the .progmem.gcc_sw_table section
3091         executable if not AVR_MEGA.  Make sure jump tables are word-aligned.
3092         (JUMP_TABLES_IN_TEXT_SECTION): Define as 0, not 1.
3093         (ASM_OUTPUT_ADDR_VEC_ELT): Optimize, use "rjmp" if not AVR_MEGA.
3094         (avr_case_values_threshold): Declare as extern int.
3095         (CASE_VALUES_THRESHOLD): Define as avr_case_values_threshold.
3096
3097         * config/avr/avr.md (tablejump): Removed.
3098         (*tablejump_rjmp): New for jump tables made from "rjmp" instructions.
3099         (*tablejump_lib, *tablejump_enh, *tablejump): Change to expect the
3100         index in the table, not multiplied by 2.
3101         (casesi): Change to match the above insns.  Always enable.
3102
3103         * config/avr/libgcc.S (__tablejump__): Rename to __tablejump2__.
3104         Change to expect the word address of the table, multiply it by 2
3105         here and not in the caller.  Change "adiw" to faster "inc".
3106
3107 2000-11-14  Neil Booth  <neilb@earthling.net>
3108
3109         * cppexp.c (parse_defined): Call cpp_get_token not
3110         _cpp_get_token.
3111         (lex): Similarly.
3112         * cpplex.c (cpp_output_line): Similarly.
3113         * cpplib.c (glue_header_name, do_line, do_ident,
3114         parse_answer, parse_assertion): Similarly.
3115         (_cpp_handle_diretive): Don't save to lookaheads
3116         when processing directives.
3117         * cppmacro.c (parse_arg, expand_arg): Call cpp_get_token not
3118         _cpp_get_token.
3119         (funlike_invocation_p): Don't save to lookaheads
3120         when pre-expanding arguments.
3121         (_cpp_get_token): Delete.
3122         (cpp_get_token): Merge contents of _cpp_get_token.
3123
3124 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
3125
3126         * builtins.c (expand_builtin_setjmp): Set
3127         current_function_calls_setjmp.
3128         (expand_builtin_longjmp): Set current_function_calls_longjmp.
3129
3130         * config/sparc/sparc.md (builtin_setjmp_setup): New expand.
3131         (do_builtin_setjmp_setup): New insn.
3132
3133 Tue Nov 14 12:34:56 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3134
3135         * tree.c (get_unwidened): Use host_integerp and tree_low_cst.
3136         (int_fits_type_p): For variable bounds, call force_fit_type.
3137
3138 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
3139
3140         * varasm.c (struct deferred_string): New structure.
3141         (const_str_htab): New variable.
3142         (STRHASH): New macro.
3143         (mark_const_str_htab_1, mark_const_str_htab, const_str_htab_hash,
3144         constr_str_htab_eq, const_str_htab_del): New functions.
3145         (output_constant_def): Add DEFER argument, defer string
3146         constants until mark_constant_pool time if requested.
3147         (mark_constant_pool): Walk the insn chain even if const_str_htab is
3148         not empty.
3149         (mark_constants): If a SYMBOL_REF for deferred string is found,
3150         output it and remove from hash table.
3151         (output_addressed_constants): Set DEFER to 0 in call to
3152         output_constant_def.
3153         * rtl.h (STRING_POOL_ADDRESS_P): Define.
3154         (output_constant_def): Adjust prototype.
3155         * expr.c (expand_expr): Set DEFER to 1 in call to output_constant_def.
3156
3157 2000-11-14  Chandrakala Chavva  <cchavva@redhat.com>
3158
3159         * optabs.c (expand_complex_ab):: Use overflow-trapping optabs for
3160         signed types if flag_trapv.
3161
3162 2000-11-14  Zack Weinberg  <zack@wolery.stanford.edu>
3163
3164         * tradcpp.c, tradcif.y: Update FSF mailing address, delete
3165         reference to GPLv1.
3166
3167 2000-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
3168
3169         * c-common.h (CTI_C_SIZE_TYPE): Update comment.
3170
3171 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
3172
3173         * varasm.c (struct varasm_status): Change x_const_rtx_sym_hash_table
3174         to array of pool_constnat pointers.
3175         (struct pool_constant): Add next_sym and label members.
3176         (struct pool_sym): Remove.
3177         (init_varasm_status): Change pool_sym into pool_constant.
3178         (mark_pool_constant): Mark pc->label string as well.
3179         (mark_pool_sym_hash_table): Remove.
3180         (mark_varasm_status): Remove it from caller as well.
3181         (free_varasm_status): Don't free pool_sym structures.
3182         (force_const_mem): Don't allocate pool_sym structure, instead
3183         fill pool->label and chain it into rtx_sym hash table.
3184         (find_pool_constant, mark_constant_pool): Use pool_constant instead
3185         of pool_sym.
3186
3187 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
3188
3189         * reload1.c (emit_input_reload_insns): Honour forcing of constants
3190         into memory by PREFERRED_RELOAD_CLASS NO_REGS.
3191
3192 2000-11-14  Michael Matz  <matzmich@cs.tu-berlin.de>
3193
3194         * dominance.c: New file.
3195         * Makefile.in (OBJS): Add dominance.o.
3196
3197         * flow.c (compute_flow_dominators): Remove.
3198         (compute_immediate_dominators): Remove.
3199         (compute_immediate_postdominators): Remove.
3200         * basic-block.h: Remove their prototypes.
3201         (calculate_dominance_info): Add prototype.
3202
3203         * dce.c (eliminate_dead_code): Change calls to above functions.
3204         Don't compute dominators but only immediate dominators.
3205         * flow.c (flow_loops_find): Change callers.
3206         * gcse.c (compute_code_hoist_data): Likewise.
3207         * haifa-sched.c (schedule_insns): Likewise.
3208         * ifcvt.c (if_convert): Likewise.
3209         * ssa.c (convert_to_ssa): Likewise, and only compute immediate
3210         dominators.
3211
3212 2000-11-14  Richard Henderson  <rth@redhat.com>
3213
3214         * stmt.c (warn_if_unused_value): Don't warn if the expression
3215         has side effects.
3216
3217         * c-typeck.c (c_sizeof): Fold result to c_size_type_node.
3218         (c_sizeof_nowarn, c_alignof, c_alignof_expr): Likewise.
3219
3220 2000-11-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3221
3222         * loop.c (basic_induction_var): Revert accidental checkin.
3223
3224 2000-11-13  Hans-Peter Nilsson  <hp@axis.com>
3225
3226         * c-lex.c (cb_leave_file): Harmonize conditions and order of
3227         statements to those of process_directive for (action == act_pop).
3228
3229         * collect2.c (main): Pass on -B options from COLLECT_GCC_OPTIONS.
3230
3231         * local-alloc.c (equiv_init_movable_p): References to CC0 are not
3232         movable.
3233
3234 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3235
3236         * c-parse.in (stmts_and_decls): Deprecate use of label at end of
3237         compound statement.
3238
3239 2000-11-13  Neil Booth  <neilb@earthling.net>
3240
3241         * cpplex.c (_cpp_lex_token): CPP_COMMENT and true CPP_EOF
3242         cases return without MI check.
3243         * cpplib.c (do_diagnostic): Take boolean of whether to
3244         print the directive name.
3245         (do_error, do_warning): Update.
3246         (do_pragma_dependency): Use it.
3247         * cpplib.h (VARARGS_FIRST): Delete.
3248         (struct cpp_token): Delete integer.
3249         * cppmacro.c (enter_macro_context): Move disabled check
3250         to _cpp_get_token.
3251         (_cpp_get_token): Simplify into a single loop.
3252
3253 2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
3254
3255         * configure.in:  Use 'test -f' not '[ -e'.
3256         * configure: Regenerated.
3257
3258 2000-11-13  DJ Delorie  <dj@redhat.com>
3259
3260         * config/mn10300/mn10300.md (store_movm): Note which registers are
3261         really used or clobbered.
3262
3263 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3264
3265         * c-parse.in (ends_in_label): Remove from %union and %type.
3266         (decls, stmts, lineno_stmt_or_labels, xstmts,
3267         lineno_stmt_or_label, stmt_or_label): Remove.
3268         (stmts_and_decls, lineno_stmt_decl_or_labels_ending_stmt,
3269         lineno_stmt_decl_or_labels_ending_decl,
3270         lineno_stmt_decl_or_labels_ending_label,
3271         lineno_stmt_decl_or_labels_ending_error,
3272         lineno_stmt_decl_or_labels, compstmt_contents_nonempty,
3273         lineno_stmt, lineno_label): New.
3274         (compstmt_nostart): Use compstmt_contents_nonempty.
3275
3276 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3277
3278         * c-common.c (boolean_increment): New function.
3279         * c-common.h (enum c_tree_index): Add CTI_C_BOOL_TYPE,
3280         CTI_C_BOOL_TRUE and CTI_C_BOOL_FALSE.
3281         (c_bool_type_node, c_bool_true_node, c_bool_false_node): Define.
3282         (boolean_increment): Declare.
3283         * c-convert.c (convert): Allow for BOOLEAN_TYPE.
3284         * c-decl.c (init_decl_processing): Create boolean nodes.
3285         (finish_struct): Allow for _Bool bitfields.
3286         * c-parse.in (reswords): Add _Bool.
3287         (rid_to_yy): Allow for RID_BOOL.
3288         * c-typeck.c (default_conversion): Make booleans promote to int.
3289         (convert_arguments, build_unary_op, build_modify_expr,
3290         convert_for_assignment): Allow for booleans.
3291         * ginclude/stdbool.h: Make conforming to C99.
3292
3293 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3294
3295         * c-parse.in (c99_block_start, c99_block_end,
3296         c99_block_lineno_labeled_stmt): New.
3297         (simple_if, do_stmt_start): Use c99_block_lineno_labeled_stmt.
3298         (stmt): Split off selection and iteration statements into...
3299         (select_or_iter_stmt): New.  Use c99_block_lineno_labeled_stmt.
3300
3301 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3302
3303         * invoke.texi (-Wtrigraphs, -fdump-translation-unit, -save-temps,
3304         -time): Update.
3305
3306 2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
3307
3308         * arm.md (mulsidi3adddi, umulsidi3adddi): Revert previous change.
3309         Rewrite to avoid use of match_dup.  Don't try to tie registers that
3310         are not in the same mode.
3311
3312 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3313
3314         * invoke.texi: Update lists of languages and suffixes supported.
3315
3316 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3317
3318         * configure.in: Take toplevel configure arguments from the
3319         environment to create configargs.h and substitute
3320         gcc_config_arguments, taking account of any existing configargs.h
3321         if reconfiguring.
3322         * configure: Regenerate.
3323         * gccbug.in: Include toplevel configure arguments in gccbug.
3324
3325 2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
3326
3327         * varasm.c (struct constant_descriptor): Put CONTENTS inside a
3328         union to make it well-aligned.  Update all uses.
3329
3330 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3331
3332         * c-parse.in (initelt): Give appropriate pedantic warnings,
3333         depending on flag_isoc99, for non-ISO syntax and for C99 syntax
3334         outside C99 mode.
3335         (designator): If pedantic, pedwarn for a designator specifying a
3336         range of elements.
3337         * c-typeck.c (set_init_index, set_init_label): Don't pedwarn for
3338         these cases.
3339         * extend.texi: Document the C99 syntax as the preferred syntax,
3340         and the pre-2.5 syntax as obsolete.  Mention use of designator
3341         lists for nested subobjects.
3342
3343 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3344
3345         * diagnostic.c (vbuild_message_string, output_do_printf, vnotice):
3346         Add ATTRIBUTE_PRINTF.
3347         * tradcpp.c (v_message, warning, error, fatal, error_with_line):
3348         Add ATTRIBUTE_PRINTF*.
3349
3350 2000-11-12  Mark Mitchell  <mark@codesourcery.com>
3351
3352         * function.c (assign_parms): When calling put_var_into_stack, make
3353         sure that there are no hidden pending sequences.
3354
3355 2000-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3356
3357         * builtins.c (expand_builtin): Handle BUILT_IN_INDEX and
3358         BUILT_IN_RINDEX.  Add missing checks for BUILT_IN_STRCHR and
3359         BUILT_IN_STRRCHR.
3360
3361         * builtins.def (BUILT_IN_INDEX, BUILT_IN_RINDEX): New entries.
3362
3363         * c-common.c (c_common_nodes_and_builtins): Declare index and
3364         rindex when nonansi builtins are allowed.
3365
3366         * extend.texi (index, rindex): Document new builtins.
3367
3368 2000-11-12  Mark Mitchell  <mark@codesourcery.com>
3369
3370         * configure.in: Turn on libstdc++ V3 by default.
3371         * configure: Regenerated.
3372
3373         * fixinc/mkfixinc.sh: Use the ordinary fixincludes on Solaris.
3374
3375 2000-11-12  Jakub Jelinek  <jakub@redhat.com>
3376
3377         * reload1.c (set_label_offsets): Go inside of PARALLELs.
3378
3379 2000-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3380
3381         * invoke.texi: Clean up option summary.
3382
3383 2000-11-12  Nick Clifton  <nickc@redhat.com>
3384
3385         * config/mcore/mcore.c: Fix comment formating, and adjust sequence
3386         of #include headers.
3387
3388 2000-11-12  Marc Espie <espie@openbsd.org>
3389
3390         * configure.in: Fix filds test.
3391         * configure: Regen.
3392
3393 2000-11-12  Mark Mitchell  <mark@codesourcery.com>
3394
3395         * jump.c (delete_computation): Don't assume that just becuase an
3396         instruction sets a register, that register is dead.
3397
3398 2000-11-12  Neil Booth  <neilb@earthling.net>
3399
3400         * cppexp.c: Don't worry about pfile->skipping.
3401         * cpplib.c (struct if_stack): Make was_skipping unsigned char.
3402         (cpp_handle_directive): Save pfile->skipping in struct cpp_buffer
3403         for handled directives.
3404         (skip_rest_of_line): Use _cpp_lex_token after popping contexts
3405         and releasing lookaheads.
3406         (do_ifdef, do_ifndef, do_if): Use buffer->was_skipping.
3407         (do_else, do_elif, push_conditional): Update logic.
3408         (do_endif): Set buffer->was_skipping rather than pfile->skipping.
3409         (unwind_if_stack): Inline into cpp_pop_buffer.
3410         (cpp_push_buffer): Clear ifs->was_skipping for cpp_handle_directive.
3411         * cpplex.c (_cpp_lex_token): Clear skipping on EOF.  Handle
3412         multiple-include optimisation.
3413         * cpplib.h (struct cpp_buffer): New member was_skipping.
3414         * cppmacro.c (_cpp_get_token): Loop whilst pfile->skipping.  This
3415         works because skipping == 0 in directives.
3416         (_cpp_release_lookahead): Renamed from release_lookahead.
3417         (cpp_get_token): No need to check skipping as _cpp_get_token does
3418         this for us.  No need to handle MI optimisation.
3419
3420 Sat Nov 11 21:14:02 2000  Mark P Mitchell  <mark@codesourcery.com>
3421
3422         * fixinc/inclhack.def (sunos_matherr_decl): Bypass matherr
3423         declarations that use `__MATH_EXCEPTION' in their prototypes, too.
3424         * fixinc/fixincl.x: Regenerated.
3425
3426 2000-11-11  Bruce Korb  <bkorb@gnu.org>
3427
3428         * fixinc/inclhack.def (avoid_bool_type): avoid commenting out #endif
3429         (avoid_wchar_t_type): ditto
3430         * fixinc/fixinc.irix: obsoleted
3431
3432 2000-11-11  Zack Weinberg  <zack@wolery.stanford.edu>
3433
3434         * configure.in: Don't add $outputs to all_lang_makefiles.  Add
3435         $srcdir/$s/Makefile.in if it exists.
3436         * configure: Regenerate.
3437
3438 Sat Nov 11 18:41:20 2000  Mark P Mitchell  <mark@codesourcery.com>
3439
3440         * fixinc/mkfixinc.sh: Use the ordinary fixincludes on IRIX.
3441
3442 2000-11-11  Jason Merrill  <jason@redhat.com>
3443
3444         * function.c (assign_parms): If TREE_ADDRESSABLE is set, try to
3445         give the parm a register and then call put_var_into_stack.
3446         * stmt.c (expand_decl): Likewise.
3447
3448 2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
3449
3450         * gcc.texi: Adjust wording.
3451
3452 2000-11-11  Mark Mitchell  <mark@codesourcery.com>
3453
3454         * fixinc/inclhack.def (avoid_wchar_t_type): New fix.
3455         * fininc/fixincl.x: Regenerated.
3456
3457 2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
3458
3459         * invoke.texi: Correct spelling of -foptimize-register-move.
3460
3461 20