]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
aclocal.m4: Quote final argument of patsubst.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
05e12634
ZW
12001-05-25 Zack Weinberg <zackw@stanford.edu>
2
3 * aclocal.m4: Quote final argument of patsubst. Use
4 3-argument form of AC_DEFINE. Restore quotes to [] while
5 using AC_FD_CC.
6 * configure.in: Remove unnecessary changequote calls.
7 * configure, config.in: Regenerate.
8
88657302
RH
92001-05-25 Sam TH <sam@uchicago.edu>
10
11 * basic-block.h: Fix header include guards.
12 * bitmap.h c-dump.h c-lex.h c-pragma.h c-tree.h collect2.h
13 cppdefault.h cpphash.h cpplib.h defaults.h diagnostic.h errors.h
14 except.h flags.h gcc.h gcov-io.h graph.h gstab.h gthr-aix.h
15 gthr-dce.h gthr-posix.h gthr-rtems.h gthr-single.h gthr-solaris.h
16 gthr-vxworks.h gthr-win32.h gthr.h hard-reg-set.h hwint.h
17 insn-addr.h libgcc2.h mbchar.h mkdeps.h params.h prefix.h real.h
18 rtl.h sbitmap.h system.h timevar.h toplev.h tradcpp.h tsystem.h
19 varray.h version.h: Likewise.
20 * config/dbxelf.h config/fp-bit.h config/arm/arm-protos.h
21 config/arm/arm.h config/c4x/c4x-protos.h
22 config/h8300/h8300-protos.h config/h8300/h8300.h
23 config/i370/i370-protos.h config/i370/i370.h
24 config/i960/i960-protos.h config/mcore/mcore.h
25 config/mips/mips-protos.h config/sh/sh-protos.h config/sh/sh.h
26 config/v850/v850-protos.h config/v850/v850.h: Likewise.
27 * fixinc/fixlib.h fixinc/server.h: Likewise.
28
f811f821
SS
292001-05-25 Stacey Sheldon <ssheldon@Catena.com>
30
31 * config/arc/initfini.c (.init): Fix typo.
32
d365ba42
GK
332001-05-25 Geoffrey Keating <geoffk@redhat.com>
34
35 * config/rs6000/rs6000.md (fseldfsf4): Correct mode of operand 4.
36
3f0e0fa2
RO
372001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
38
39 * i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages.
40
f204d330
RH
412001-05-25 Richard Henderson <rth@redhat.com>
42
43 * libgcc-std.ver: Export XFmode and TFmode versions of symbols.
44
7b3a4df5
RH
452001-05-25 Richard Henderson <rth@redhat.com>
46
47 * config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
48 (i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld.
49 (sparc*-*-solaris2): Likewise.
50 * config/t-linux: Remove shared libgcc macros.
51 * config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc.
52 * config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld.
53
45f1add1
LR
542001-05-25 Loren J. Rittle <ljrittle@acm.org>
55
56 * config.gcc (*-*-freebsd*): Report bad configuration.
57
f245e30e
DE
582001-05-25 David Edelsohn <edelsohn@gnu.org>
59
60 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.
61
62 * config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
63 any prefix.
64 (ASM_OUTPUT_LABELREF): Delete.
65
a26c3bb5
RO
662001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
67
68 * fixinc/inclhack.def (strict_ansi_not, strict_ansi_not_ctd,
69 strict_ansi_only): Don't run if stdc_0_in_system_headers.
70 * fixinc/fixincl.x: Regenerate.
71 * fixinc/fixtests.c (stdc_0_in_system_headers_test): New function.
72 (FIX_TEST_TABLE): Declare it.
73 * fixinc/fixlib.h: Include config.h.
74
a88072eb
RO
752001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
76
77 * fixinc/inclhack.def (alpha___assert): Change char * args to
78 const char * on Tru64 UNIX to avoid excessive warnings from
79 assert.h.
80 * fixinc/fixincl.x: Regenerate.
81
83a05a97
GK
822001-05-25 Geoff Keating <geoffk@redhat.com>
83
84 * dbxout.c (dbxout_symbol): Invert previous patch, which was
85 outputting a tag only for variable-size records.
86
dde5a563
JK
872001-05-25 Jeff Knaggs <jknaggs@redhat.com>
88
89 * config/alpha/alpha.md (movtf_internal): Use reg_overlap_mentioned_p
90 instead of rtx_equal_p for early clobber test.
91
351d8ec8 922001-05-26 Mark Mitchell <mark@codesourcery.com>
10841285
MM
93
94 * builtins.def: Encode additional information, such as names and
95 types, here.
96 * builtin-types.def: New file.
97 * builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
98 (built_in_decls): Likewise. Don't explicitly initialize global
99 data to NULL.
100 (expand_builtin_mathfn): Handle float and long double variants of
101 math builtins.
102 (expand_builtin): Likewise.
103 * c-common.c (c_common_nodes_and_builtins): Make it table-driven.
104 (expand_tree_builtin): Handle long, long long, float, and long
105 double variants of math functions.
106 * c-common.h (c_tree_index): Remove some unused nodes.
107 (void_ftype): Remove.
108 (void_type_ptr): Likewise.
109 (int_ftype_int): Likewise.
110 (ptr_ftype_sizetype): Likewise.
111 * c-decl.c (init_decl_processing): Remove creation of DWARF
112 builtins.
113 * defaults.h (MD_INIT_BUILTINS): Provide default definition.
114 * tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
115 * Makefile.in (c-common.o): Depend on builtin-types.def.
116
c132505e
DJ
1172001-05-25 Dale Johannesen <dalej@apple.com>
118
119 * config/rs6000/t-darwin: Fix dependencies for darwin.o.
120
d3c733f9
NB
1212001-05-25 Neil Booth <neil@daikokuya.demon.co.uk>
122
123 * c-parse.in (notype_initdcl): Remove redundant line.
124
827ae6cf
RO
1252001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
126
127 * aclocal.m4: Fixed typo.
128 (gcc_AC_HEADER_STDBOOL): Define.
129 (gcc_AC_C__BOOL): Define.
130 * configure.in: Use them.
131 (AC_CHECK_HEADERS): Remove stdbool.h
132 * configure, config.in: Regenerate.
133
80a480ca
RH
1342001-05-25 Richard Henderson <rth@redhat.com>
135
136 * function.c (expand_function_start): Don't abort on PARALLEL
137 returns from hard_function_value.
138
244ec848
RH
1392001-05-25 Richard Henderson <rth@redhat.com>
140
141 * config/i386/i386.md: Revert previous change. Do not apply
142 the peephole if the components do not die after the sequence.
143
0e03329a
JM
1442001-05-25 Joseph S. Myers <jsm28@cam.ac.uk>
145
146 * c-parse.in (array_declarator): New. Handle C99 constructs.
147 Don't restrict [*] declarators to C only.
148 (after_type_declarator, parm_declarator_starttypename,
149 parm_declarator_nostarttypename, notype_declarator,
150 direct_absdcl1): Use it.
151 * c-decl.c (build_array_declarator, set_array_declarator_type):
152 New functions. Warn that [*] isn't properly implemented; pedwarn
153 for [*] outside C99 mode if pedantic rather than giving a hard
154 error.
155 (grokdeclarator): Handle static and type qualifiers in parameter
156 array declarators.
157 * c-tree.h (build_array_declarator, set_array_declarator_type):
158 Declare.
159 * extend.texi (Attribute Syntax): Document attributes in parameter
160 array declarators.
161
244ec848 1622001-05-25 Mark Mitchell <mark@codesourcery.com>
e35031a6
MM
163
164 * config/i386/i386.md: Make sure cmpstr peepholes do not
165 affect liveness information.
166
eb8543b3
MM
1672001-05-24 Mark Mitchell <mark@codesourcery.com>
168
169 * c-typeck.c (digest_init): Issue error messages about
170 invalid constants, not warnings.
171
0b1161fc
MM
1722001-05-24 Mark Mitchell <mark@codesourcery.com>
173
174 * invoke.texi (-fno-builtin): Document that this is always on
175 in C++.
176
6646fd70
PB
1772001-05-24 Philip Blundell <philb@gnu.org>
178
179 * doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
180 required.
181
e46ccf7c
PB
1822001-05-24 Philip Blundell <philb@gnu.org>
183
184 * config/arm/arm.c (output_return_instruction): Correctly handle
185 interworking and interrupt functions.
186
6399271a
PB
1872001-05-24 Philip Blundell <philb@gnu.org>
188
189 * config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
190 -m{no-}sched-prolog. Fix typos and improve formatting.
191
247f8561
PB
1922001-05-24 Philip Blundell <philb@gnu.org>
193
194 * invoke.texi (ARM Options): Improve wording slightly. Add
195 documentation for more options, including those for Thumb mode.
196 Don't mention options that don't exist or are unimplemented.
197 (Thumb Options): Delete; merged into above section.
198
a0a843c7
GK
1992001-05-24 Geoff Keating <geoffk@redhat.com>
200
201 * config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define.
202 (MD_FALLBACK_FRAME_STATE_FOR): Use it.
203
0fff4222
JH
204Thu May 24 19:47:19 CEST 2001 Jan Hubicka <jh@suse.cz>
205
206 * simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
207 fix hard register simplification.
208
5a2136e8
RO
209Thu May 24 00:15:17 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
210
211 * sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead
212 of just copying CPP_CPU_SPEC.
213
2b1c08f5
JH
214Thu May 24 15:56:48 CEST 2001 Jan Hubicka <jh@suse.cz>
215
216 * i386.c (incdec_operand): Accept only 1 and -1.
217
c4df8f8c
KC
2182001-05-23 Kelley Cook <kelley.cook@home.com>
219
220 * Makefile.in: Move many of the *_H definitions eariler in the
221 file, so that rules in t-* files that use them for
222 dependencies will work in a parallel build.
223 * config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H).
224
9688f9ad
RH
2252001-05-23 Richard Henderson <rth@redhat.com>
226
227 * integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT.
228
f8710242
NB
2292001-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
230
231 * cpp.texi: Update for handling of charconsts.
232 * cpplex.c (maybe_read_ucs): Don't accept D800-DFFF. Update
233 diagnostics. Skip to the end if the UCS is too short.
234 (cpp_interpret_charconst): Long charconsts issue a warning
235 not an error.
236
75f3e3c8
RH
2372001-05-23 Richard Henderson <rth@redhat.com>
238
239 * doc/install.texi (alpha-linux): Require binutils 2.11.
240
62729350
NB
2412001-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
242
243 * c-lex.c (read_escape, read_ucs): Delete.
244 (lex_string): Use cpp_parse_escape.
245 * cpplex.c (read_ucs): Rename maybe_read_ucs. Do nothing
246 if not C++ or not C99. Warn if traditional.
247 (parse_escape): Rename cpp_parse_escape. Make the bitmask
248 unsigned. Warn for out-of-range escape sequences here.
249 Update to use maybe_read_ucs.
250 (cpp_interpret_charconst): Don't warn here.
251 * cpplib.h (cpp_parse_escape): New exported function.
252
ff867905
JM
2532001-05-23 Joseph S. Myers <jsm28@cam.ac.uk>
254
255 * extend.texi (Attribute Syntax): Clarify application of
256 attributes to parameters declared as functions or arrays.
257
b1a86a99
JM
2582001-05-23 Jason Merrill <jason_merrill@redhat.com>
259
260 * dbxout.c (dbxout_type_methods): Do still group methods by name.
261
1f8875f9
ZW
2622001-05-23 Zack Weinberg <zackw@stanford.edu>
263
264 * diagnostic.c (vnotice): Kill.
265 (fnotice): Call vfprintf directly.
266 (diagnostic_for_decl, output_do_verbatim, output_verbatim,
267 verbatim, set_diagnostic_context): Rename string argument to
268 indicate that it is run through gettext.
269 (vbuild_message_string, build_message_string, output_do_printf):
270 Rename string argument to indicate that it is NOT run through
271 gettext.
272 (output_printf, diagnostic_for_decl, fatal_io_error, sorry,
273 output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn):
274 Run msgid argument through gettext.
275 (default_print_error_function): Run constant strings through
276 gettext when nothing else will.
277 (fatal_error, internal_error, error_recursion): Use fnotice.
278 Present complete sentences to gettext.
279
834452d2
MM
2802001-05-23 Mark Mitchell <mark@codesourcery.com>
281
282 * jump.c (mark_jump_label): Fix thinko in 2001-05-19 change.
283
d5bf1143
RH
2842001-05-23 Richard Henderson <rth@redhat.com>
285
286 * function.c (expand_function_start): Always use a pseudo
287 for the function result value.
288
7ac76c85
RH
2892001-05-22 Richard Henderson <rth@redhat.com>
290
9336389d
RH
291 * config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the
292 section pointer alignment.
293
e427d51a
RH
294 * doc/install.texi (alpha-linux): Require binutils >= 2.10.
295
7ac76c85
RH
296 * unwind-dw2-fde.c (__deregister_frame_info): Stringize use
297 of __USER_LABEL_PREFIX__.
298
101fa48c
RH
2992001-05-22 Richard Henderson <rth@redhat.com>
300
301 * unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favour of...
302 (__deregister_frame_info_bases): New.
303 * unwind-dw2-fde.h: Declare it.
304 * libgcc-std.ver: Export it.
305 * crtstuff.c (__do_global_dtors_aux): Call it if we would have
306 called __register_frame_info_bases.
307
73daf27e
LR
3082001-05-22 Loren J. Rittle <ljrittle@acm.org>
309
310 * config/freebsd.h (FBSD_CPP_PREDEFINES): Use #endif/#if pair
311 instead of #elif (which is OK for this case but not in general).
312
8206fc89
AM
3132001-05-22 Andrew MacLeod <amacleod@redhat.com>
314
315 * builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
316 * config/ia64/ia64.md (nonlocal_goto): Reverse label and frame pointer
317 parameters to __ia64_nonlocal_goto. Flag as NO_RETURN.
318 * config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing
319 "r2" to the assembly file. Only issue allocs with non-zero parameters.
320
766a4175
LR
3212001-05-22 Loren J. Rittle <ljrittle@acm.org>
322 David O'Brien <obrien@freebsd.org>
323
324 * config/freebsd.h (LIB_SPEC): Key the exact setting to
325 configure-time options and target version of FreeBSD. Set-up
326 to match architectural change in threading support. Correctly
327 report when -pthread option is not supported by configure-time
328 options.
329 (FBSD_CPP_PREDEFINES): Move from architecture-specific files
330 and extend to encode target version number in run-time setting
331 of __FreeBSD__ macro to match the system compiler.
332 (CPP_PREDEFINES): Likewise.
333 (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
334
335 * config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
336 * config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
337
9e405fe5
LR
3382001-05-22 Loren J. Rittle <ljrittle@acm.org>
339 David O'Brien <obrien@freebsd.org>
340
341 * config.gcc (the unlabeled system switch statement): Add
342 generic configuration section to handle *-*-freebsd*. Also,
343 to match the system compiler, default to threading support (it
344 may be disabled with the standard --disable-threads
345 configuration-time switch).
346 (i[34567]86-*-freebsd* in machine-specific section): Use it.
347 (alpha*-*-freebsd* in machine-specific section): Likewise.
348
349 * config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
350 * config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
351 * config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
352 * config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
353 * config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
354
28b6b317
LR
3552001-05-22 Loren J. Rittle <ljrittle@acm.org>
356 David O'Brien <obrien@freebsd.org>
357
358 * config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
359 * config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add
360 -pthread instead setting macro.
361
1066e2b5
RH
3622001-05-22 Richard Henderson <rth@redhat.com>
363
364 * crtstuff.c (__register_frame_info_bases): Declare.
365 (frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA.
366 (__do_global_dtors_aux, __do_global_dtors): Streamline.
367
368 * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
369 (CRT_GET_RFIB_DATA): New.
370 * config/i386/sysv4.h: Likewise.
371 * config/i386/sco5.h: Likewise.
372 (ASM_PREFERRED_EH_DATA_FORMAT): New.
373
eac8c4b0
RH
3742001-05-22 Richard Henderson <rth@redhat.com>
375
376 * rtl.c (read_string): Break out from ...
377 (read_rtx): ... here.
378
9a3db543
GP
3792001-05-22 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
380
381 * doc/install.texi (Specific): Remove a bogus and duplicate part
382 copied from the end of the document.
383
1032f705
BS
3842001-05-22 Bernd Schmidt <bernds@redhat.com>
385
386 * Makefile.in (LIBGCC_DEPS): Correct LIB1ASMSRC dependency.
387
e954b3d7
GP
3882001-05-22 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
389
390 * install.texi: Remove obsolete information on SunOS as well as
391 i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*.
392 (Installing GNU CC on the Sun): Remove section.
393
8d75ad04
AO
3942001-05-22 Alexandre Oliva <aoliva@redhat.com>
395
396 * cppfiles.c (remove_component_p): Don't assume lstat/stat will
397 keep errno unchanged on success.
398
c215b29f
JM
3992001-05-22 Joseph S. Myers <jsm28@cam.ac.uk>
400
401 * c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
402 once for hexadecimal floats, whether or not they contain a decimal
403 point. Don't let the setting of pedantic otherwise affect the
404 parsing of hexadecimal floats.
405
252ba2d4
GP
4062001-05-22 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
407
408 * README.ACORN: Remove obsolete file.
409
8c9864f3
JH
4102001-05-22 Jan Hubicka <jh@suse.cz>
411
412 * combine.c (gen_binary): Use swap_commutative_operands_p
413 (simplify_comparison): Likewise.
414 * expmed.c (emit_store_flag): Likewise.
415 * expr.c (compare_from_rtx): Likewise.
416 (do_compare_rtx_and_jump): Likewise.
417 * optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort
418 if not emitting a branch and operands want swapping.
419
083e9f92
NB
4202001-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
421
422 * c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one.
423 * stringpool.c: (IS_FE_IDENT, make_identifier): Delete.
424 (maybe_get_identifier): Update.
425 * tree.h (make_identifier): Delete.
426
d425c5b0
RH
4272001-05-21 Richard Henderson <rth@redhat.com>
428
0a33d11e
RH
429 * combine.c (subst): Do not substitute for a register as
430 a destination subreg/strict_low_part/zero_extract.
431
b4fbaca7
RH
432 * combine.c (simplify_comparison): Update op1 after constant
433 extension.
434 * recog.c (const_int_operand): Accept only constants valid
435 for the given mode.
436 * genrecog.c: Update comments wrt const_int_operand.
437
d425c5b0
RH
438 * emit-rtl.c (init_emit_once): Zero unused memory in a
439 CONST_DOUBLE.
440
f5d6a24c
MM
4412001-05-21 Mark Mitchell <mark@codesourcery.com>
442
443 * tree.h (type_num_arguments): Declare it.
444 * tree.c (type_num_arguments): New function.
445
b1e6ab03
RH
4462001-05-21 Richard Henderson <rth@redhat.com>
447
448 * dwarf2out.c (current_funcdef_number): Move outside dwarf2
449 conditional ifdef.
450
50a0b056
GK
4512001-05-21 Geoff Keating <geoffk@redhat.com>
452
453 * config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
454 (maxsf3+1): Delete.
455 (minsf3): Use rs6000_emit_minmax.
456 (minsf3+1): Generalize to handle both SMIN and SMAX. Use
457 rs6000_emit_minmax.
458 (movsfcc): Use rs6000_emit_cmove.
459 (fselsfsf4): Don't compare a CONST_INT with a floating-point value.
460 Don't generate emit_fselsfsf4.
461 (fseldfsf4): Likewise.
462 (maxdf3): Use rs6000_emit_minmax.
463 (maxdf3+1): Delete.
464 (mindf3): Use rs6000_emit_minmax.
465 (mindf3+1): Generalize to handle both SMIN and SMAX. Use
466 rs6000_emit_minmax.
467 (movdfcc): Use rs6000_emit_cmove.
468 (fseldfdf4): Don't compare a CONST_INT with a floating-point value.
469 Don't generate emit_fselsfsf4.
470 (fselsfdf4): Likewise.
471 * config/rs6000/rs6000.c (zero_fp_constant): New predicate.
472 (min_max_operator): New predicate.
473 (rs6000_emit_cmove): New function.
474 (rs6000_emit_minmax): New function.
475 * config/rs6000/rs6000-protos.h: Prototype new functions.
476 * config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
477 and min_max_operator.
478
479 * config/rs6000/rs6000.c (output_cbranch): Handle all
480 conditional types in the switch statement.
481
0adc3c19
MM
4822001-05-21 Mark Mitchell <mark@codesourcery.com>
483
484 * c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
485 non-register variables.
486 * extend.texi: Document that asm-specifications do not make sense
487 for non-static local variables.
488
deda4b76
JM
4892001-05-21 Jason Merrill <jason_merrill@redhat.com>
490
491 * dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
492 (dbxout_type_fields): Lose minimal_debug support.
493 (dbxout_type_methods, dbxout_type): Likewise.
494
da502956
AH
4952001-05-17 Andrew Haley <aph@redhat.com>
496
497 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
498
cf2fe500
RH
4992001-05-21 Richard Henderson <rth@redhat.com>
500
501 * dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
502 Update all users.
503
9d2f2c45
RH
5042001-05-20 Richard Henderson <rth@redhat.com>
505
506 * dwarf2out.c (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
507 DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION,
508 DEBUG_STR_SECTION): Rename from s/DEBUG_//. Update all users.
509 * dwarfout.c (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
510 DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION):
511 Likewise.
512 * config/mips/iris6.h (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
513 DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION,
514 DEBUG_FRAME_SECTION, DEBUG_ABBREV_SECTION): Rename as above.
515 (DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
516 * config/ia64/ia64.h (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
517 DEBUG_PUBNAMES_SECTION): Rename as above.
518 (DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
519
9f4ccc25
RH
5202001-05-20 Richard Henderson <rth@redhat.com>
521
522 * optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
523 operands unless the operation is commutative.
524
88e3805d
KG
5252001-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
526
527 * fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
528 cases.
529
4b404517
JM
5302001-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
531
532 * extend.texi: Clarify documentation of extensions included in ISO
533 C99. Prefer C99 terminology and syntax to old GNU terminology and
534 syntax. Add more index entries. Document mixed declarations and
535 code as an extension in C89 mode. Warn about future changes to
536 semantics of inline functions. Fixes PR other/930.
537
eabb9ed0
RK
538Sun May 20 16:39:24 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
539
cb5fa0f8
RK
540 * expr.c (expand_expr, case ARRAY_REF): Don't fold constant
541 access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
542 (expand_expr, case COMPONENT_REF): Do copy if misaligned even
543 if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
544
eabb9ed0
RK
545 * stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
546
d9214e53
RH
5472001-05-20 Richard Henderson <rth@redhat.com>
548
549 * sched-deps.c (sched_analyze_insn): Force volatile memory reads
550 to be output before a branch.
551
b161c505
RH
5522001-05-20 Richard Henderson <rth@redhat.com>
553
554 * Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
555
79b79064
RH
5562001-05-20 Richard Henderson <rth@redhat.com>
557
558 * config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
559 (ASM_DOUBLE): Remove.
560 * config/i386/bsd.h, config/i386/sco5.h: Likewise.
561 * config/i386/sun386.h: Likewise.
562
563 * config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
564 (UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
565
566 * config/i386/cygwin.h (INT_ASM_OP): Remove.
567 * config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
568 * config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
569 * config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
570
571 * config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
572 * config/i386/djgpp.h, config/i386/i386.h: Likewise.
573 * config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
574 * config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
575 * config/i386/sysv4.h, config/i386/vsta.h: Likewise.
576 * config/i386/win32.h: Likewise.
577
aa0cc562
JM
5782001-05-20 Joseph S. Myers <jsm28@cam.ac.uk>
579
580 * invoke.texi: Add more options to summary list.
581
91ea548a
JM
5822001-05-20 Joseph S. Myers <jsm28@cam.ac.uk>
583
584 * invoke.texi: Document meaning of -pedantic when -std=gnu* is
585 used. Fixes PR c/2291.
586 * gcc.1: Regenerate.
587
dbf03ee3
SC
5882001-05-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
589
590 * config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
591 the -fpic and -fPIC options, clear flag_pic.
592
a078edf8
NB
5932001-05-20 Neil Booth <neil@daikokuya.demon.co.uk>
594
595 * hashtable.c (calc_hash): Fix HASHSTEP definition.
596 * stringpool.c (make_identifier): No statistics here anymore.
597 * objc-act.c (steup_string_decl): Remove redundant check.
598
2a967f3d
NB
5992001-05-20 Neil Booth <neil@daikokuya.demon.co.uk>
600
601 * Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
602 cpplib.o, cpphash.o, fix-header): Update.
603 (hashtable.o): New target.
604 * c-common.h: Include cpplib.h. Define C_RID_CODE and
605 struct c_common_identifier here.
606 * c-lang.c (c_init_options): Update. Call set_identifier_size.
607 * c-lex.c (c_lex): Update.
608 * c-pragma.h: Update.
609 * c-tree.h (struct lang_identifier): Contain c_common_identifier.
610 Delete rid_code.
611 (C_RID_CODE): Delete.
612 * cpphash.c: Rewrite to use hashtable.c.
613 * cpphash.h: Update include guards.
614 (struct cpp_reader): Remove hashtab.
615 hash_ob and buffer_ob are no longer pointers. Add hash_table
616 and our_hashtable.
617 (HASHSTEP, _cpp_init_hashtable, _cpp_lookup_with_hash): Delete.
618 (_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
619 (_cpp_cleanup_stacks): Rename _cpp_init_directives.
620 * cppinit.c (cpp_create_reader): Update.
621 * cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
622 (cpp_interpret_charconst): Eliminate warning.
623 * cpplib.c (do_pragma, do_endif, push_conditional,
624 cpp_push_buffer, cpp_pop_buffer): Update.
625 (_cpp_init_stacks): Rename cpp_init_directives.
626 (_cpp_cleanup_stacks): Remove.
627 * cpplib.h: Update include guards. Include tree-core.h and c-rid.h.
628 (cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
629 cpp_forall_identifiers, cpp_create_reader): Update.
630 (C_RID_CODE, cpp_make_node): New.
631 (c_common_identifier): New identifier node for C front ends.
632 * cppmain.c (main): Update.
633 * fix-header.c (read_scan_file): Update.
634 * flags.h (id_clash_len): Make unsigned.
635 * ggc.h (ggc_mark_nonnull_tree): New.
636 * hashtable.c: New.
637 * hashtable.h: New.
638 * stringpool.c: Update comments and copyright. Update to use
639 hashtable.c.
640 * toplev.c (approx_sqrt): Move to hashtable.c.
641 (id_clash_len): Make unsigned.
642 * toplev.h (ident_hash): New.
643 * tree.c (gcc_obstack_init): Move to hashtable.c.
644 * tree.h: Include hashtable.h.
645 (IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
646 (GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
647 (struct tree_identifier): Update.
648 (make_identifier): New.
649cp:
650 * cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
651 (C_RID_CODE): Remove.
652 * lex.c (cxx_init_options): Call set_identifier_size. Update.
653 (init_parse): Don't do it here.
654objc:
655 * objc-act.c (objc_init_options): Call set_identifier_size. Update.
656
9e800206
RH
657Sat May 19 18:23:04 2001 Richard Henderson <rth@redhat.com>
658
659 * except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
660 as ncessary.
661 (expand_eh_return): Convert between word_mode and Pmode.
662 * unwind-dw2.c (extract_cie_info): Do not assume words and pointers
663 are the same size.
664 (execute_stack_op): Likewise.
665 (execute_cfa_program): Likewise.
666 (uw_frame_state_for): Likewise.
667 (uw_update_context_1): Likewise.
668 * unwind.inc (_Unwind_Reason_Code): Likewise.
669 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
670 (EH_RETURN_STACKADJ_RTX): Likewise.
671 * config/mips/mips.c (compute_frame_size): Make space for saving
672 EH return registers.
673 (mips_expand_epilogue): Handle EH stack adjustments.
674 * config/mips/mips.md (eh_return): New pattern.
675 (eh_set_lr_si): Likewise.
676 (eh_set_lr_di): Likewise.
677 Add splitter to perform EH return after reload.
678
878de307
MM
6792001-05-19 Mark Mitchell <mark@codesourcery.com>
680
681 * jump.c (mark_jump_label): Tidy previous change.
682
c3226462
BK
6832001-05-19 Bruce Korb <bkorb@gnu.org>
684
685 * fixinc/genfixes: no need for two warnings
baacc9f7 686 * fixinc/Makefile.in: open stdin for those building with a closed one.
c3226462 687
85b94003
MM
6882001-05-19 Mark Mitchell <mark@codesourcery.com>
689
690 * jump.c (jump_optimize_1): Tidy.
691 (mark_jump_label): When changing the label in a LABEL_REF, change
692 update any REG_EQUAL notes as well.
693
97d24516
JM
6942001-05-19 Joseph S. Myers <jsm28@cam.ac.uk>
695
696 * c-parse.in (parm_declarator): Split into
697 parm_declarator_starttypename and parm_declarator_nostarttypename.
698 (parm_declarator_starttypename, parm_declarator_nostarttypename):
699 New. Allow parenthesised sub-declarators which don't begin with a
700 TYPENAME. Fixes PR c/166.
701
4da5f005
MM
7022001-05-19 Mark Mitchell <mark@codesourcery.com>
703
704 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
705 macro.
706 * tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
707 Document it.
708 * toplev.c (main): If the target does not allow profiling without
709 a frame pointer, issue an error message.
710 * config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
711 Define it to false.
712
e86f9f32
RK
713Sat May 19 07:53:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
714
715 * recog.c (general_operand): Modify last change to allow it if reload
716 has completed.
717
30cf266f
JH
718Sat May 19 10:23:54 CEST 2001 Jan Hubicka <jh@suse.cz>
719
720 * recog.c (general_operand): Prohibit nonzero subreg bytes on
721 subregs containing mem.
722
65599eb4
DC
723Sat May 19 09:40:45 2001 Denis Chertykov <denisc@overta.ru>
724
725 * regrename.c (regrename_optimize): frame pointer register can
726 use a few hardregs.
727
3804fe2e
JM
7282001-05-18 Jason Merrill <jason_merrill@redhat.com>
729
730 * README.DWARF: Move into dwarfout.c.
731
46fad5b7
DJ
7322001-05-18 Dale Johannesen <dalej@apple.com>
733
734 * config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
735 specific misuse of r0 as a reload address.
736
eb47ec1b
JH
737Fri May 18 22:42:04 CEST 2001 Jan Hubicka <jh@suse.cz>
738
739 * combine.c (combine_simplify_rtx): Clear op0_mode if simplification
740 suceeded.
741
3342b6fd
RK
742Fri May 18 07:26:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
743
070ef6f4
RK
744 * genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
745 (add_to_sequence): Make that decision type.
746 (maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
747 (write_switch, write_cond, debug_decision_2): Likewise.
748
8d81254b
RK
749 * dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
750 for INTEGER_TYPE.
3342b6fd
RK
751 (dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
752 variable size.
753
41948db5
SS
7542001-05-18 Stan Shebs <shebs@apple.com>
755
756 * configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
757 * configure: Regenerate.
758
3a5a9edc
PB
7592001-05-18 Per Bothner <per@bothner.com>
760
79b79064
RH
761 Changes needed for java/jvspec.c
762 * gcc.h (n_infiles, outfiles): Add declarations.
763 * gcc.c (n_infiles, outfiles): Mske no longer static.
3a5a9edc 764
c19814b6
JL
765Fri May 18 10:14:42 2001 Jeffrey A Law (law@cygnus.com)
766
767 * config/pa/som.h (EXCEPTION_SECTION): Define.
768
63e46568
DB
7692001-05-18 Daniel Berlin <dan@cgsoftware.com>
770
771 * dwarf2out.c: Add dw_loc_list_ref, a reference to a location
772 list.
773 Add have_location_lists, a variable to determine whether we need a
774 .debug_loc section or not.
775 (enum dw_val_class): Add dw_val_class_loc_list.
776 (dw_val_struct): Add val_loc_list.
777 (dw_loc_list_struct): New structure, represents location lists.
778 (new_loc_list): New function, return a new location list, given
779 the range and location expression.
780 (add_loc_descr_to_loc_list): New function, add a location
781 expression to a location list, given the expression and range.
782 (output_loc_list): New function, output a location list.
783 (gen_internal_sym): Modified to take symbol prefix, so we can
784 reuse it for location list symbols.
785 (add_AT_loc_list): New function, add a location list to a DIE at
786 the named attribute.
787 (AT_loc_list): New function, return the location list reference
788 for a given attribute, if it's a location list.
789 (print_die): Handle dw_val_class_loc_list.
790 (size_of_die): Ditto.
791 (value_format): Ditto.
792 (output_die): Ditto.
793 (output_location_lists): New function, output all of the location
794 lists for a DIE and it's children.
795 (dwarf2out_finish): Call output_location_lists if we have location
796 lists.
797
798
9e71c818
JH
799Fri May 18 15:39:16 CEST 2001 Jan Hubicka <jh@suse.cz>
800
801 * gcse.c (try_replace_reg): First try global replace, later try to
802 simplify the expression.
803
804 * gcse.c (find_used_regs): Change calling convention; work via
805 note_uses.
806 (cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
807
24cdff34
BS
8082001-05-18 Bernd Schmidt <bernds@redhat.com>
809
810 Revert
811 2001-02-09 Nick Clifton <nickc@redhat.com>
812 * config/arm/arm.md: Change output constraint on post inc
813 load/store multiple patterns to be a read/write constraint.
814
db3c0315
MM
8152001-05-18 Mark Mitchell <mark@codesourcery.com>
816
4da5f005
MM
817 * basic-block.h (struct basic_block_def): Add documentation about
818 what a basic block is, and what the various fields are used for.
819 * flow.c (calculate_globlal_regs_live): Add documentation about
820 how the algorithm works, and how we know that it will terminate.
821 Check that the the inductive assumption that guarantees
822 termination actually holds.
823 (mark_used_regs): Treat conditionally set registers as used.
824 (debug_regset): Add comment.
825 * rtl.texi (cond_exec): Add documentation.
826
db3c0315
MM
827 * function.c (expand_function_start): Avoid creating BLKmode
828 pseudos.
829
8302001-05-17 Mark Mitchell <mark@codesourcery.com>
831
832 * dwarf2out.c (output_comp_unit): Always output a compilation-unit
833 DIE, even if it has no children.
834 (dwarf2out_finish): Always output the line-number table, even if
835 it has no content.
836
6fd72f81
DE
8372001-05-18 David Edelsohn <edelsohn@gnu.org>
838
839 * rs6000.md (movsfcc,movdfcc): Remove NE case.
840
98c197fe
BK
8412001-05-17 Bruce Korb <bkorb@gnu.org>
842
843 * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
844 * fixinc/genfixes: emit a warning if AutoGen is out of date
845
b3eddcee
BC
8462001-05-17 Brendan Conoboy <blc@cygnus.com>
847 Bruce Korb <bkorb@gnu.org>
848
849 * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
850 found in fixinc directory. Facilitates binary distributions.
851
02db7776
JO
8522001-05-17 Jeffrey Oldham <oldham@codesourcery.com>
853
854 * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
855 COMPLEX_TYPE.
856
3d2999ba
MK
857Thu May 17 19:42:39 2001 Mark Kettenis <kettenis@wins.uva.nl>
858
859 * dwarf2out.c (modified_type_die): Equate qualified type to die.
860
e5c56fd9
JH
861Thu May 17 23:19:46 CEST 2001 Jan Hubicka <jh@suse.cz>
862
863 * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
864 (simplify_subreg): Handle complex types represented as CONCAT.
865
866 * recog.c (validate_replace_rtx_1): Properly canonicalize expression
867 * rtl.h (swap_commutative_operands_p): Declare.
868 * rtlanal.c (swap_commutative_operands_p): New.
869 (operand_preference): New static function.
870
871 * combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
872 (gen_binary): Likewise.
873 * optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
874 * simplify-rtx.c (simplify_gen_binary,
875 simplify_gen_relational): Likewise.
876
949c5d62
JH
877Thu May 17 20:43:36 CEST 2001 Jan Hubicka <jh@suse.cz>
878
879 * cse.c (fold_rtx): Use simplify_subreg.
880
881 * simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
882 (simplify_gen_subreg): New.
883 (simplify_rtx): Use simplify_subreg.
884 * rtl.h (simplify_gen_subreg): Declare.
885
e6855a2d
MM
8862001-05-17 Mark Mitchell <mark@codesourcery.com>
887
e221a0a8
MM
888 * doc/install.texi: Update Solaris information.
889
e6855a2d
MM
890 * except.h (protect_cleanup_actions): Remove it.
891 (lang_protect_cleanup_actions): Declare it.
892 * except.c (protect_cleanup_actions): Remove it.
893 (lang_protect_cleanup_actions): New variable.
894 (init_eh): Don't make protect_cleanup_actions a GC root.
895 (expand_eh_region_and_cleanup): Call
896 lang_protect_cleanup_actions.
897 (output_function_exception_table): Remove unused `align'
898 variable.
899 * varasm.c (assemble_external): Abort if we have not yet
900 opened the assembly output file.
901
8979edec
JL
902Thu May 17 11:54:50 2001 Jeffrey A Law (law@cygnus.com)
903
904 * except.c (sjlj_emit_function_enter): Call assemble_external_libcall
905 for eh_personality_libfunc.
906
992550d9
JH
907Thu May 17 19:48:00 CEST 2001 Jan Hubicka <jh@suse.cz>
908
909 * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
910 when calling simplify_subreg. This is needed to allow replacing
911 of expression of one mode by expression of different mode.
912
8f778593
JH
913Thu May 17 19:40:03 CEST 2001 Jan Hubicka <jh@suse.cz>
914
915 * simplify-rtx.c (simplify_subreg): Avoid creating of incorrect subregs.
916
73b7f58c
BS
9172001-05-17 Bernd Schmidt <bernds@redhat.com>
918
919 * expr.c (protect_from_queue): Protect against subsequent calls to
920 emit_queue.
921 (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
922 too clever.
923
07b53149
JH
924Thu May 17 18:17:34 CEST 2001 Jan Hubicka <jh@suse.cz>
925
926 * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
927
e18748c0
GP
9282001-05-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
929
930 * gccbug.in (CATEGORIES): Add "bootstrap".
931
eea50aa0
JH
932Thu May 17 16:59:41 CEST 2001 Jan Hubicka <jh@suse.cz>
933
934 * simplify-rtx.c (simplify_subreg): Break out from ...
935 * combine.c (combine_splify_rtx) ... here and ...
936 * recog.c (validate_replace_rtx_1): ... here;
937 * rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
938 * emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
939 (subreg_lowpart_p): ... here.
940
2e2ed7d2
BS
9412001-05-17 Bernd Schmidt <bernds@redhat.com>
942
943 * stmt.c (expand_asm_operands): For inout operands, make sure
944 the substitution of '=' for '+' makes it into the rtl.
945
5d7ef82a
BS
946 * reload1.c (delete_output_reload): Call eliminate_regs on substed.
947 (reload_as_needed): Call update_eliminable_offsets a bit later.
948
8d2b6116
GP
9492001-05-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
950
951 * gcc.texi (gccbug): Refer to the web pages for detailed information
952 on GNATS.
953
7857f134
ZW
9542001-05-16 Zack Weinberg <zackw@stanford.edu>
955
956 * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
957
958 * Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
959 OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
960 LIB1FUNCS, and LIB1FUNCS_EXTRA. Delete rules: libgcc1-test,
961 libgcc1-test.o. Clarify commentary now that libgcc1 no longer exists.
962 * cross-make: Don't set LIBGCC1.
963 * mklibgcc.in: Delete all code for building from libgcc1.c.
964 Always honor LIB1ASMFUNCS if set.
965
966 * crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
967 config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
968 config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
969 config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
970 config/i386/uwin.asm, config/m68hc11/larith.asm,
971 config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
972 config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
973 config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
974 config/v850/lib1funcs.asm, config/c4x/libgcc.S:
975 Delete or update references to libgcc1 in commentary.
976
977 * config/t-libc-ok, config/t-linux, config/t-linux-aout,
978 config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
979 config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
980 config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
981 config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
982 config/arm/t-semi, config/arm/t-strongarm-coff,
983 config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
984 config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
985 config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
986 config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
987 config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
988 config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
989 config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
990 config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
991 config/m68k/t-m68kbare, config/m68k/t-m68kelf,
992 config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
993 config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
994 config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
995 config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
996 config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
997 config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
998 config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
999 config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
1000 config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
1001 config/mips/t-ultrix, config/mn10200/t-mn10200,
1002 config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
1003 config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
1004 config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
1005 config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
1006 config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
1007 config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
1008 config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
1009 config/sparc/t-sparclite, config/sparc/t-splet,
1010 config/sparc/t-sunos41, config/sparc/t-vxsparc,
1011 config/sparc/t-vxsparc64, config/v850/t-v850:
1012 Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
1013
1014 * config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
1015 Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
1016 * config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
1017 FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
1018 nongcc_SI_type, nongcc_word_type, or perform_*
1019 * config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
1020
1021 * config/i386/386bsd.h, config/i386/beos-elf.h,
1022 config/i386/linux-aout.h, config/i386/linux-oldld.h,
1023 config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
1024 config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
1025 Don't include i386/perform.h.
1026
1027 * config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
1028 config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
1029 config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
1030 config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
1031 config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
1032 config/vax/t-openbsd, config/vax/t-vax: Delete.
1033
1034 * config.gcc: Remove references to deleted files.
1035 (arm-semi-aof): Use arm/t-semi for tmake_file.
1036
1037 * gcc.texi, install.texi, invoke.texi, tm.texi:
1038 Delete or rewrite text which is no longer relevant now that
1039 libgcc1 no longer exists.
1040
1041 * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
1042 No need to set INSTALL_ASSERT_H. (Missed in previous sweep.)
1043
1f98d85e
WB
10442001-05-16 Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
1045 Bruce Korb <bkorb@gnu.org>
1046
1047 * fixinc/inclhack.def(solaris27_mutex_init): Fix broken mutex
1048 initializer
1049
a3e991f2
ZW
10502001-05-16 Zack Weinberg <zackw@stanford.edu>
1051
1052 * i386.md: Add two peepholes to clean up code generated by
1053 cmpstr* expanders.
1054
f90811a2
RH
10552001-05-16 Richard Henderson <rth@redhat.com>
1056
1057 * dwarf2asm.c (eh_data_format_name): Add names for "pointer size"
1058 variants of non-absolute encodings.
1059
e4c4ebeb
RH
1060 * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
1061
12b38507
RH
1062 * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
1063 __register_frame_info_table_bases): Export.
1064
e1f9550a
RH
10652001-05-16 Richard Henderson <rth@redhat.com>
1066
1067 * except.c (eh_data_format_name): Move to ...
1068 * dwarf2asm.c: ... here. Use designated initializers if available.
1069 (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
1070 * dwarf2asm.h: Update declarations.
1071 * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
1072 ASM_PREFERRED_EH_DATA_FORMAT.
1073 (output_call_frame_info): Likewise. Use 'L' augmentation for
1074 the LSDA encoding.
1075
1076 * unwind-dw2-fde.h (struct fde_vector): New.
1077 (struct old_object): Rename from struct object.
1078 (struct object): New.
1079 (__register_frame_info_bases): Declare.
1080 (__register_frame_info_table_bases): Declare.
1081 (struct dwarf_fde): Remove explicit pc_begin/pc_range members.
1082 * unwind-dw2-fde.c (objects): Remove.
1083 (unseen_objects, seen_objects): New.
1084 (__register_frame_info_bases): New.
1085 (__register_frame_info): Use it.
1086 (__register_frame_info_table_bases): New.
1087 (__register_frame_info_table): Use it.
1088 (__deregister_frame_info): Rewrite for changed object struct.
1089 (base_from_object, get_cie_encoding, get_fde_encoding): New.
1090 (fde_unencoded_compare): Rename from fde_compare; uninline.
1091 (fde_single_encoding_compare, fde_mixed_encoding_compare): New.
1092 (start_fde_sort): Adjust for new definition of fde_vector.
1093 (fde_insert): Likewise.
1094 (end_fde_sort): Likewise. Select comparison function based
1095 on properties of the object.
1096 (fde_split): Take object and fde_compare_t arguments.
1097 (frame_heapsort, fde_merge): Likewise.
1098 (classify_object_over_fdes): Rename from count_fdes. Handle
1099 encoded pointers. Collect encoding, mixed_encoding, and pc_begin
1100 for the object.
1101 (add_fdes): Handle encoded pointers.
1102 (init_object): Rename from frame_init. Update for new struct object.
1103 (linear_search_fdes): Rename from search_fdes. Handle encoded
1104 pointers.
1105 (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
1106 (binary_search_single_encoding_fdes): New.
1107 (binary_search_mixed_encoding_fdes): New.
1108 (search_object): New.
1109 (_Unwind_Find_FDE): Update for new struct object. Fill in
1110 the dwarf_eh_bases.
1111 * unwind-dw2.c: Include unwind-pe.h. Constify all pointers
1112 iterating over EH data.
1113 (_Unwind_FrameState): Remove saw_lsda, addr_encoding. Add
1114 fde_encoding, lsda_encoding.
1115 (read_uleb128, read_sleb128): Remove.
1116 (read_encoded_pointer): Remove. All callers use read_encoded_value.
1117 (extract_cie_info): Set lsda_encoding from 'L' augmentation.
1118 (uw_frame_state_for): Don't set bases.func. Handle encoded fde
1119 pointers.
1120 * unwind-pe.h: Add "struct" to _Unwind_Context references.
1121
a28c5035
NB
11222001-05-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
1123
1124 * cppexp.c (lex): Use NODE_NAME and NODE_LEN.
1125 * cpphash.c (_cpp_lookup_with_hash): Similarly.
1126 * cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
1127 cpp_spell_token, cpp_output_token): Similarly.
1128 * cpplib.c (lex_macro_node, do_undef, do_pragma,
1129 do_pragma_poison, parse_assertion, do_assert): Similarly.
1130 * cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
1131 save_parameter, _cpp_create_definition, check_trad_stringification,
1132 cpp_macro_definition): Similarly.
1133 * cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
1134 * c-lex.c (cb_undef, c_lex): Similarly.
1135 * fix-header.c (recognized_function): Similarly.
1136 * cpplib.h (NODE_LEN, NODE_NAME): New.
1137 (cpp_hashnode): Rename length len.
1138
d7c613b6
JL
1139Wed May 16 13:41:10 2001 Jeffrey A Law (law@cygnus.com)
1140
1141 * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
1142 GPRs.
1143
5262d6b6
AJ
11442001-05-16 Andreas Jaeger <aj@suse.de>
1145
1146 * Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
1147
1148 * toplev.c: Include dwarf2asm.h for prototype of
1149 dw2_output_indirect_constants.
1150
d96ecaf4
JH
1151Wed May 16 19:53:53 CEST 2001 Jan Hubicka <jh@suse.cz>
1152
1153 * stmt.c (expand_asm_operands): Be able to offload addressof
1154 expression to memory. (PR optimization/185)
1155
6e20204f
JH
1156Wed May 16 18:53:23 CEST 2001 Jan Hubicka <jh@suse.cz>
1157
1158 * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
1159 applying distributive law.
1160
5467baef
JDA
11612001-05-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
1162
1163 * pa-hpux10.h (THREAD_MODEL_SPEC): Define.
1164
1165 * gthr-dce.h (UNUSED): Attribute unused macro.
1166 (__gthread_key_dtor): Make arguments UNUSED.
1167 (__gthread_key_delete): Revise for compatibility with DRAFT4
1168 implementation.
1169
df002c7d
DE
11702001-05-16 David Edelsohn <edelsohn@gnu.org>
1171
1172 * doc/install.texi: Update AIX information.
1173 * README.RS6000: Remove obsolete file.
1174
e65677af
JJ
11752001-05-16 Jakub Jelinek <jakub@redhat.com>
1176 Nathan Sidwell <nathan@codesourcery.com>
5262d6b6 1177
79b79064 1178 * gcc.c (give_switch): Don't write before start of string.
e65677af
JJ
1179 Always append suffix.
1180
e61fc951
NS
11812001-05-16 Nathan Sidwell <nathan@codesourcery.com>
1182
1183 * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
1184 after stage3.
1185
f4c5a69a
GP
11862001-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1187
1188 * README.ALTOS: Remove obsolete file.
1189
bf646593
NB
11902001-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
1191
1192 * c-lex.h (save_and_forget_protocol_qualifiers,
1193 forget_protocol_qualifiers, remember_protocol_qualifiers):
1194 Remove deleted functions' prototypes.
1195
0b1cdaf2
NB
11962001-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
1197
1198 * c-parse.in (methodtype): New production.
1199 (methoddef, methodproto): Collapse separate '-' and '+'
1200 handlers into 1.
1201
4c521bad
NB
12022001-05-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
1203
1204 * c-common.h (RID_FIRST_PQ): New.
1205 * c-parse.in (objc_pq_context): New.
1206 (objc parser): Set objc_pq_context rather than calling
1207 remember_protocol_qualifiers and forget_protocol_qualifiers.
1208 Don't call save_and_forget_protocol_qualifiers.
1209 (yylexname): Handle objc protocol qualifiers here.
1210 * stringpool.c (struct str_header): Replace with sp_hashnode.
1211 (SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
1212 (alloc_string): Rename alloc_ident. Use the SP_ accessors.
1213 Allocate an IDENTIFIER_NODE for each identifier.
1214 (FORALL_STRINGS, set_identifier): Delete.
1215 (FORALL_IDS, expand_string_table, stringpool_statistics): Update.
1216 (ggc_alloc_string): Use an obstack.
1217 (get_identifier, maybe_get_identifier, mark_string_hash): Update.
1218 * tree.h: Update comments.
1219 (set_identifier): Delete.
1220 * objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
1221 save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
1222 remember_protocol_qualifiers): Delete.
1223
fca790eb
JL
1224Tue May 15 22:14:09 2001 Jeffrey A Law (law@cygnus.com)
1225
1226 * flow.c (life_analysis): After life analysis is complete, do
1227 an optional scan over insns looking for REG_LABEL notes that
1228 reference a deleted label.
1229 (propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
1230 before peeking at LABEL_NUSES.
1231
48941cb8
RH
12322001-05-15 Richard Henderson <rth@redhat.com>
1233
1234 * unwind-sjlj.c (_Unwind_GetDataRelBase): New.
1235 (_Unwind_GetTextRelBase): New.
1236
99d8dccc
MM
12372001-05-15 Mark Mitchell <mark@codesourcery.com>
1238
1239 * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
1240
50c30603
GK
12412001-05-15 Geoffrey Keating <geoffk@redhat.com>
1242
c53c4afc
GK
1243 * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
1244 so that CHOOSE_SECTION gets used.
1245
50c30603
GK
1246 * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
1247 TARGET_RELOCATABLE like flag_pic for now.
1248
78e1b90d
DE
12492001-05-15 David Edelsohn <edelsohn@gnu.org>
1250
1251 * rs6000.md (movdi splitter): Sign extend more efficiently.
1252 * rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
1253 to "long long" valid on 32-bit and 64-bit hosts.
a51ccef3 1254 (logical_operand): Cast trunc_int_for_mode return value.
78e1b90d
DE
1255 (rs6000_emit_move): Shift macro to encapsulate variable.
1256 (rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
1257 (rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
1258 plus_constant requires signed argument.
1259
6f9b26b0
LR
12602001-05-15 Loren J. Rittle <ljrittle@acm.org>
1261
1262 * gthr-posix.h: Make additional pthread-* functions weak.
1263
66aa2d30
JH
1264Tue May 15 13:51:32 CEST 2001 Jan Hubicka <jh@suse.cz>
1265
1266 * recog.c (apply_change_group): Avoid unneeded validating.
1267
0d30d435
DE
12682001-05-14 David Edelsohn <edelsohn@gnu.org>
1269
1270 * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
1271 (num_insns_constant): CONST_INT can be 64-bits.
1272
5fa5a27c
SS
12732001-05-14 Stan Shebs <shebs@apple.com>
1274
1275 * config/darwin.h (LIB_SPEC): Just use -lSystem.
1276 (LIBGCC_SPEC): Don't define.
1277
c64688ae
RH
12782001-05-14 Richard Henderson <rth@redhat.com>
1279
1280 * configure.in (gcc_cv_as_eh_frame): New test.
1281 * config.in, configure: Rebuild.
1282 * gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
1283
f327ea3e
AM
12842001-05-14 Andrew MacLeod <amacleod@redhat.com>
1285
1286 * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
1287 extended precision divide.
1288
339cb12e
AM
12892001-05-14 Andrew MacLeod <amacleod@redhat.com>
1290
1291 * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
1292 for RETURNS as well.
1293
0c2dc519
JH
1294Mon May 14 17:34:48 CEST 2001 Jan Hubicka <jh@suse.cz>
1295
1296 * i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
1297 (CPP_CPU??_SIZE_TYPE): New.
1298 (CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
1299 (CPP_CPU_SPEC): ... here; support choosing of CPU.
1300 (EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
1301 (MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
1302 compiler.
1303 * i386.c (override_options): Add sorry about not suported modes.
1304
47792129
JL
1305Mon May 14 08:56:47 2001 Jeffrey A Law (law@cygnus.com)
1306
1307 * config/pa/som.h (NM_FLAGS): Remove.
1308 (ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
1309 (ASM_OUTPUT_SECTION_NAME): Remove.
1310 (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
1311
b2a8b026
MM
13122001-05-14 Mark Mitchell <mark@codesourcery.com>
1313
1314 * regrename.c (regrename_optimize): Do not rename registers to
1315 leaf registers.
1316
c78df6e1
AO
13172001-05-14 Alexandre Oliva <aoliva@redhat.com>
1318
1319 * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
1320 contain MEMs. Remove useless distinction about clobbering
1321 registers.
1322
e44713f7
GK
13232001-05-13 Geoff Keating <geoffk@redhat.com>
1324
1325 * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
1326 * config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
1327 * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
1328 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1329 (EXCEPTION_SECTION): Define.
1330
3fe68d0a
ZW
13312001-05-13 Zack Weinberg <zackw@stanford.edu>
1332
1333 * libgcc2.c, libgcc2.h: Restore __eprintf. Label as used for
1334 binary backward compat only.
1335 * Makefile.in (LIB2FUNCS_ST): New. Put _eprintf here, not
1336 in LIB2FUNCS. Pass it to mklibgcc.
1337 * mklibgcc.in: Handle LIB2FUNCS_ST.
1338
1339 * Makefile.in (installdirs): Don't create $(gcc_tooldir).
1340
008355a6
AO
13412001-05-13 Alexandre Oliva <aoliva@redhat.com>
1342
1343 * tm.texi (THREAD_MODEL_SPEC): Document it.
1344 * gcc.c (main): Use it.
1345 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
1346 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
1347
ff0b6b99
FS
13482001-05-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1349
1350 * rtl.h (SYMBOL_REF_WEAK): New macro.
1351 * rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
1352 * varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
1353 * rtl.texi (SYMBOL_REF_WEAK): Document it.
1354 * gcc.texi: Remove wrong description.
1355
d9835ae8
MM
13562001-05-13 Mark Mitchell <mark@codesourcery.com>
1357
1358 * Makefile.in (STAMP): New macro.
1359 Replace all uses of `touch' with $(STAMP).
1360 * fixinc/Makefile.in: Likewise.
1361
7f2749d4
RK
1362Sun May 13 07:26:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1363
1364 * configure.in: ldopen is never in -lexc, so don't test for it.
1365 Add test for exc_resume in -lexc for Ada.
1366 * configure: Regenerated.
1367
d9c21959 13682001-05-12 Richard Henderson <rth@redhat.com>
b627d6fe
RH
1369
1370 * dwarf2asm.c (size_of_encoded_value): New function.
1371 * dwarf2asm.h: Declare it.
1372 * except.c (output_function_exception_table): Align the TType
1373 array only as wide as the encoding.
1374
1f730ff7
ZW
13752001-05-12 Zack Weinberg <zackw@stanford.edu>
1376
1377 * extend.texi: Document #pragma GCC java_exceptions.
1378
a3eaca15
NB
13792001-05-12 Neil Booth <neil@cat.daikokuya.demon.co.uk>
1380
1381 * c-parse.in (bison parser, init_reswords): Remove uses of
1382 doing_objc_thang.
1383 * c-tree.h (doing_objc_thang): Remove.
1384
800914c3
NB
13852001-05-12 Neil Booth <neil@daikokuya.demon.co.uk>
1386
1387 * cpplex.c (_cpp_lex_token): Ensure we warn at most once
1388 about files not ending in newlines.
1389
64f0ba0a
NB
13902001-05-12 Neil Booth <neil@cat.daikokuya.demon.co.uk>
1391
1392 * dwarfout.c (dwarfout_init): Add cast.
1393 * sched-deps.c (sched_analyze_insn): Remove unused vars.
1394 * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
1395cp:
1396 * method.c (build_mangled_C99_name): Remove unused prototype.
1397
92928d71
AO
13982001-05-12 Alexandre Oliva <aoliva@redhat.com>
1399
1400 * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
1401
f3c55c97
AO
14022001-05-12 Alexandre Oliva <aoliva@redhat.com>
1403
1404 * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
1405 * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
1406
2a1ee410
RH
14072001-05-11 Richard Henderson <rth@redhat.com>
1408
1409 * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
1410 * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
1411 dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
1412 * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
1413 (dw2_output_indirect_constants): Prototype.
1414 * dwarf2out.c (dwarf2out_begin_prologue): Generate
1415 current_function_func_begin_label if we'll need it for EH. Exit
1416 early for IA64_UNWIND_INFO.
1417 * except.c: Get DW_EH_PE_* defines from dwarf2.h.
1418 (eh_data_format_name): Update for indirect references.
1419 (output_function_exception_table): Care for IA64_UNWIND_INFO.
1420 Handle ASM_PREFERRED_EH_DATA_FORMAT.
1421 * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
1422 define HAVE_eh_return etc.
1423 * final.c (final_start_function): Always call dwarf2out_begin_prologue.
1424 (final_end_function): Don't call output_function_exception_table.
1425 * toplev.c (compile_file): Call dw2_output_indirect_constants.
5262d6b6 1426 (rest_of_compilation): Invoke output_function_exception_table
2a1ee410
RH
1427 for ia64 before assemble_end_function.
1428 * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
1429 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
1430
1431 * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
1432 * unwind.h: Declare them.
1433 * libgcc-std.ver: Export them.
1434 * unwind-pe.h: New file.
1435
1436 * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
1437
1438 * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
1439 instead of "fde".
1440 (find_fde_for_dso): Extract DT_PLTGOT.
1441 (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
1442 the segment and gp as well.
1443 * config/ia64/frame-ia64.c: Remove file.
1444 * config/ia64/frame-ia64.h: Remove file.
1445 * config/ia64/unwind-ia64.c: New file.
1446 * config/ia64/unwind-ia64.h: New file.
1447 * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
1448 (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
1449 (ASM_OUTPUT_EH_DOUBLE_INT): Remove.
1450 (ASM_PREFERRED_EH_DATA_FORMAT): New.
1451 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
1452 (IA64_UNWIND_INFO): Re-enable.
1453 (HANDLER_SECTION): Remove.
1454 (EH_RETURN_DATA_REGNO): New.
1455 * config/ia64/ia64.md (exception_receiver): Remove.
1456 * config/ia64/t-glibc (LIB2ADDEH): Re-enable.
1457 * config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
1458
f12f25a7
RH
14592001-05-11 Richard Henderson <rth@redhat.com>
1460
1461 * config/ia64/ia64.c (group_barrier_needed_p): Don't allow
1462 calls and jumps to be bundled together.
1463 (ia64_reorg): Emit a break after a noreturn call that ends
1464 a function.
1465 * config/ia64/ia64.md (break_f): New.
1466
c8a96070
NB
14672001-05-12 Neil Booth <neil@daikokuya.demon.co.uk>
1468
1469 * c-lex.c (lex_charconst): Convert into a simple wrapper
1470 around cpp_interpret_charconst, to which most of the code
1471 body is moved.
1472 * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
1473 MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
1474 MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
1475 (lex): Use cpp_interpret_charconst.
1476 * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
1477 hex_digit_value): New functions.
1478 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
1479 * cpplib.h (cpp_interpret_charconst): New prototype.
1480 * Makefile.in: Update.
1481
f42974dc
DW
14822001-05-12 Dean Wakerley <dean@wakerley.com>
1483
1484 * doc/install.texi: New file. Converted to texinfo from the HTML
1485 documentation in wwwdocs/htdocs/install.
1486
37ff4d28
JL
1487Fri May 11 15:50:13 2001 Jeffrey A Law (law@cygnus.com)
1488
8598a9a2
JL
1489 * gcse.c (insert_insn_end_bb): Do not search for assignments to
1490 non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
1491
37ff4d28
JL
1492 * toplev.c (compile_file): Move comment for opening output
1493 file to just before the code that opens the output file.
1494
3721581a
JJ
14952001-05-11 Jakub Jelinek <jakub@redhat.com>
1496
1497 * regmove.c (regmove_optimize): Suppress the optimization for
1498 unchanging destination register. Add comment above function.
1499
fecd6201
ZW
15002001-05-11 Zack Weinberg <zackw@stanford.edu>
1501
1502 * Makefile.in: Exterminate all references to assert.h.
1503 * cross-make: Likewise.
1504 * assert.h: Delete.
1505 * configure.in: Correct commentary.
1506 * configure: Regenerate.
1507
1508 * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
1509 Remove __eprintf.
1510
1511 * config/t-freebsd, config/t-linux, config/t-linux-aout,
1512 config/t-netbsd, config/t-rtems, config/x-linux,
1513 config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
1514 No need to override INSTALL_ASSERT_H.
1515
1516 * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
1517 fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
1518 fixinc/fixincl.sh: Don't install assert.h into objdir/include.
1519
99dc5306
GS
15202001-05-11 Graham Stott <grahams@redhat.com>
1521
1522 * combine.c (simplify_comparison): Fix typo.
1523
28680540
MM
15242001-05-11 Mark Mitchell <mark@codesourcery.com>
1525
1526 * loop.h (struct movables): Remove `num'.
1527 * loop.c (scan_loop): Don't set it. Use count_insns_in_loop.
1528 Adjust call to strength_reduce.
1529 (num_unmoved_movables): New function.
1530 (move_movables): Don't set movables->num.
1531 (strength_reduce): Compute the number of instructions in the loop
1532 here, rather than in the caller.
1533 (check_dbra_loop): Always clear reversible_mem_store if there
1534 are any memory sets.
1535 (loop_regs_scan): Don't count instructions here.
1536 (count_insn_in_loop): New function.
1537
897aa57f
MM
15382001-05-11 Mark Mitchell <mark@codesourcery.com>
1539
1540 * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
1541
15b732b2
NB
15422001-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
1543
1544 * c-common.c (finish_label_expr): New function, lifted from
1545 from cp/semantics.c.
1546 * c-common.h (finish_label_expr, lookup_label): New prototypes.
1547 * c-parse.in: Move 3 blocks of parser code into new functions.
1548 * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
1549 * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
1550 (lookup_label): Remove.
1551
487dcdb0
AO
15522001-05-11 Alexandre Oliva <aoliva@redhat.com>
1553
1554 * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
1555 FLOAT_BIT_ORDER_MISMATCH.
1556
f1eaaf73
DE
15572001-05-10 David Edelsohn <edelsohn@gnu.org>
1558
1559 * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
1560 bytes. Reported by Kazu Hirata <kazu@hxi.com>.
1561
f3ce87a9
DE
15622001-05-10 David Edelsohn <edelsohn@gnu.org>
1563
1564 * expr.c (emit_group_load): extract_bit_field requires a REG or
1565 MEM as an argument.
1566
7dfd465c
JL
1567Thu May 10 14:45:44 2001 Jeffrey A Law (law@cygnus.com)
1568
d466c016
JL
1569 * cse.c (cse_insn): Mostly remove first hunk of code which collapsed
1570 a computed jump into an unconditional jump.
1571 In second hunk of code for collapsing computed and conditional jumps
1572 into unconditional jumps, reemit the jump in additional cases.
1573
7dfd465c
JL
1574 * jump.c (jump_optimize_1): Do not wrap the new jump target
1575 inside a LABEL_REF; gen_jump will do that automatically.
1576
79cdfa4b
TM
15772001-05-10 Toon Moene <toon@moene.indiv.nluug.nl>
1578
1579 * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
1580 contents for a SYMBOL_REF in case of floating point constants.
1581
b0089a92
DD
15822001-05-10 DJ Delorie <dj@redhat.com>
1583
1584 * c-common.c (combine_strings): Widen strings in a
1585 host-endian-independent way.
1586
25d78ace
JM
15872001-05-10 Joseph S. Myers <jsm28@cam.ac.uk>
1588
1589 * c-parse.in: Remove many shift/reduce conflicts. Update
1590 %expect values.
1591 (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
1592 declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
1593 declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
1594 declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
1595 declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
1596 declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
1597 declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
1598 declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
1599 declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
1600 declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
1601 maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
1602 typespec_reserved_nonattr, typespec_reserved_attr,
1603 typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
1604 structsp_nonattr, components_notype, component_notype_declarator,
1605 absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
1606 firstparm, setspecs_fp): New
1607 (typed_declspecs, reserved_declspecs, typed_typespecs,
1608 reserved_typespecquals, declmods, typespec, typespecqual_reserved,
1609 typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
1610 declmods_no_prefix_attr, nonempty_type_quals, structsp,
1611 type_quals): Remove. Users updated.
1612 (initdecls, notype_initdecls, after_type_declarator,
1613 parm_declarator, notype_declarator, absdcl1, components, ivars):
1614 Don't allow attributes at the start of a declarator; include them
1615 in the production containing the declarator instead. Always
1616 require type specifiers before trying to redeclare a typedef name.
1617 (typename): Allow for attributes but warn that they are ignored.
1618 (parmlist, firstparm, setspecs_fp): Include attributes in
1619 parmlist; suck them off the parser stack in firstparm using
1620 setspecs_fp.
1621
f926a256
JL
1622Thu May 10 09:17:42 2001 Jeffrey A Law (law@cygnus.com)
1623
1624 * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
1625 to determine if a block has an unconditional jump at its end.
1626
1627 * jump.c (jump_optimize_1): When converting a conditional jump
1628 to an unconditional jump, build the jump using gen_jump instead
1629 of just modify operands in-place.
1630
6d4587f7
ZW
16312001-05-09 Zack Weinberg <zackw@stanford.edu>
1632
1633 * cppinit.c (cpp_post_options): Shut off macro expansion if
1634 -fpreprocessed.
1635 * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
1636 IN_I directives only if the # is in column 1 and the directive
1637 name begins in column 2.
1638 * cppmain.c (scan_buffer): Insert a space between # and an
1639 identifier, when that identifier is a directive name.
1640
1641 * tradcpp.c (struct file_buf): Add a pointer to the next entry
1642 in the header search path.
1643 (enum node_type): Add T_INCLUDE_NEXT.
1644 (directive_table): Add entry for include_next.
1645 (do_include_next): New function.
1646 (process_include): New routine, broken out of do_include.
1647 (finclude): Insert 'nhd' argument, to be copied into
1648 next_header_dir of the new buffer.
1649 (main): Adjust to match.
1650 * gsyslimits.h, limity.h: Un-indent #include_next.
1651
10c179f3
JM
16522001-05-09 Joseph S. Myers <jsm28@cam.ac.uk>
1653
1654 * objc.texi: Move from ../libobjc/objc-features.texi. Adjust for
1655 inclusion as a chapter of the GCC manual.
1656 * gcc.texi: Include objc.texi.
1657 * fdl.texi: Use @unnumberedsec for the addendum.
1658 * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
1659
6c12e488
JH
1660Wed May 9 16:01:41 CEST 2001 Jan Hubicka <jh@suse.cz>
1661
1662 * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
1663
d3c7d45e
AO
1664Wed May 9 10:40:25 2001 Alexandre Oliva <aoliva@redhat.com>
1665
1666 * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
1667 handling of two-address insns.
1668
d08d4a19
AO
1669Wed May 9 10:36:18 2001 Alexandre Oliva <aoliva@redhat.com>
1670
1671 * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
1672 ../binutils/nm-new instead of ../binutils/nm.
1673
a2bafd20
JH
1674Wed May 9 12:15:46 CEST 2001 Jan Hubicka <jh@suse.cz>
1675
1676 * i386.md (movdi splitter): Fix the splitting condition
1677 (float_extenddftf splitter): Fix mode.
1678
4ea7a307
JH
1679Wed May 9 12:05:39 CEST 2001 Jan Hubicka <jh@suse.cz>
1680
1681 * genrecog.c (write_switch): Avoid outputting of switch for
1682 types wider than int.
1683
94bd63e5
AH
16842001-05-03 Andrew Haley <aph@cambridge.redhat.com>
1685
1686 * reload1.c (copy_eh_notes): New function.
1687 (emit_input_reload_insns): Call it.
1688 (emit_output_reload_insns): Call it.
1689
7d25bcce
ZW
16902001-05-07 Zack Weinberg <zackw@stanford.edu>
1691
1692 * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
1693 Delete stanzas.
1694 * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
1695 config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
1696
1697 * optabs.c: Delete #ifdef BROKEN_LDEXP block.
1698
5c8cfcd6
JDA
16992001-05-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
1700
1701 * pa.md (interspace_jump): Revise comment.
1702 (builtin_longjmp): Block initial setup insns from delay slot of
1703 interspace branch.
1704 (builtin_setjmp_receiver): New expander to save and restore PIC
1705 register.
1706
1707 * som.h (NM_FLAGS): Remove `-n' sort option. Revise comment.
1708
b73bff7e
JL
1709Mon May 7 09:30:14 2001 Jeffrey A Law (law@cygnus.com)
1710
1a02aff4
JL
1711 * toplev.c (compile_file): Set up the output file before we call
1712 the various initializers for the compiler.
1713
cb0bb87d
JL
1714 * except.c (sjlj_mark_call_sites): Do not search for assignments to
1715 non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
1716
b73bff7e
JL
1717 * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
1718 * pa-64.h (*_TYPE_SIZE): Undefine before redefining.
1719
37459466
ZW
17202001-05-06 Zack Weinberg <zackw@stanford.edu>
1721
1722 * Makefile.in (tradcpp0): Correct typo in dependency list.
1723
d5fa86ba
GK
17242001-05-06 Geoff Keating <geoffk@redhat.com>
1725
1726 * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
1727 the link register if we're not going to use it.
1728
1729 * config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
1730 (output_function_profiler): Likewise.
1731
ff5a340a
AM
17322001-05-07 Alan Modra <amodra@one.net.au>
1733
1734 * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
1735
024c02b1
AO
17362001-05-06 Alexandre Oliva <aoliva@redhat.com>
1737
b8ebd779
AO
1738 * unroll.c (loop_iterations): Don't sign-extend abs_diff;
1739 zero-extend it. Make abs_inc unsigned.
1740
3c04502e
AO
1741 * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
1742 widest mode in narrowing and widening operations.
1743
024c02b1
AO
1744 * config/mips/mips.md: Sign extend CONST_INTs.
1745
762e166b
AJ
17462001-05-06 Andreas Jaeger <aj@suse.de>
1747
1748 * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
1749 (i386 Options): Document -momit-leaf-frame-pointer.
1750
714a0864
NB
17512001-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
1752
1753 * c-typeck.c (internal_build_compound_expr): Check for
1754 array to pointer conversion just once.
1755
e00c1338
RH
17562001-05-05 Richard Henderson <rth@redhat.com>
1757
1758 * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
1759
45053eaf
RH
17602001-05-05 Richard Henderson <rth@redhat.com>
1761
1762 * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
1763 to the parent of the fixup region.
1764
17652001-05-05 Jakub Jelinek <jakub@redhat.com>
2a9071bb
JJ
1766
1767 * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
1768 "inline" keyword.
1769 * cpp.texi (__NO_INLINE): Document it.
1770
f277b5e0
NB
17712001-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
1772
1773 * cppfiles.c (struct include_file): New member err_no.
1774 (find_or_create_entry): Set it.
1775 (open_file): Don't set fds to -2. Instead, use err_no to
1776 remember previous errors, if any.
1777
ce8882e6
SC
17782001-05-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1779
1780 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
1781 between X and Y by using sequences of xgdx and xgdy.
1782
a1fdc802
SC
17832001-05-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1784
1785 * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
1786 of '!' for the 'D' alternative ('!' is too strong).
1787 ("*logicalsi3_silshl16"): Likewise.
1788 ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
1789 ("movstrictsi"): Remove spurious '+'.
1790 ("movstrictqi"): Don't accept 'A' and remove spurious '+'.
1791 ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
1792 ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
1793 a reload to them.
1794
4f380204
DE
17952001-05-04 David Edelsohn <edelsohn@gnu.org>
1796
1797 * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
1798
c52c9a9c
LB
17992001-05-04 Lars Brinkhoff <lars@nocrew.org>
1800
1801 * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
1802 into -a.
1803
ff0b6b99 18042001-05-04 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4264cf59 1805
c52c9a9c
LB
1806 * config/rs6000/rs6000.md (ashldi3 splits): Guard with
1807 TARGET_POWERPC64.
4264cf59 1808
39cc8df7
SC
18092001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1810
1811 * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
1812 soft register, use ror instead of rol.
1813
3c2f4000
SC
18142001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1815
1816 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
1817 into account pre/post increment decrement for 68HC12.
1818 Fix other problems in replacement and fix call to reg_mentioned_p.
1819
c5c2ca16
SC
18202001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1821
1822 * config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
1823 Put the soft registers in bss for 68HC12.
1824 (L_regs_d3_4): New for _.d3 and _.d4.
1825 (L_regs_d5_6): Likewise.
1826 (L_regs_d1_2): Likewise.
762e166b 1827 * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
c5c2ca16 1828
3750bc81
SC
18292001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1830
1831 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
1832 to the pre-processor when -fshort-double is specified.
1833 * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
1834
3d0746ba
SC
18352001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1836
1837 * config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
1838 (__mulsi3): Rewrite for 68HC12.
1839 * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
762e166b 1840 Mark 'x' constraint with earlyclobber to prevent a
3d0746ba
SC
1841 RELOAD_FOR_OTHER_ADDRESS to go in it.
1842 (mulhi3_m68hc12): New pattern.
1843 (mulhi3_m68hc11): Rename of mulhi3.
1844 (mulhi3): New expand for 68HC12 optimisation.
1845 (umulhisi3, mulhisi3): New patterns for 68HC12.
1846
dc3c6806
SC
18472001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1848
1849 * config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
1850 (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
1851 (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
1852
5a62a693
SC
18532001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1854
1855 * config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
1856 constants cheap after reload.
1857 * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
1858 are cheap.
1859 (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
1860 so that gcc prefers a shift by 16.
1861 (m6811_cost, m6812_cost): Make the shift cheap compared to an add.
1862
30506ece
NC
18632001-05-04 Nick Clifton <nickc@cambridge.redhat.com>
1864
1865 * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
1866
df4ae160
KG
18672001-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1868
1869 * alpha.h: NULL_PTR -> NULL.
1870 * arm.c: Likewise.
1871 * arm.h: Likewise.
1872 * avr.h: Likewise.
1873 * c4x.c: Likewise.
1874 * c4x.h: Likewise.
1875 * i386.c: Likewise.
1876 * i386.md: Likewise.
1877 * i860.c: Likewise.
1878 * ia64.c: Likewise.
1879 * m68hc11.h: Likewise.
1880 * rs6000.h: Likewise.
1881 * sh.c: Likewise.
1882 * sh.h: Likewise.
1883 * sparc.h: Likewise.
1884 * v850.c: Likewise.
1885
1886 * expr.c: Likewise.
1887 * final.c: Likewise.
1888 * gcc.c: Likewise.
1889 * recog.c: Likewise.
1890
37a58036
KG
18912001-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1892
1893 * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
1894 `bool' parameter to `int'.
1895
1896 * hash.c (hash_lookup): Likewise.
762e166b 1897
37a58036
KG
1898 * hash.h (hash_lookup): Likewise.
1899
1900 * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
1901
e7a4892c
JH
1902Fri May 4 13:10:03 CEST 2001 Jan Hubicka <jh@suse.cz>
1903
1904 * i386.c (x86_initialize_trampoline): Fix mode of constant.
1905
3e18fdf6
GK
19062001-05-03 Geoff Keating <geoffk@redhat.com>
1907
1908 * invoke.texi (i386 Options): Delete references to -malign-jumps,
1909 -malign-loops, -malign-functions.
1910 * i386.c (ix86_align_funcs): Delete.
1911 (ix86_align_loops): Delete.
1912 (ix86_align_jumps): Delete.
1913 (override_options): Mark -malign-* as obsolete. Emulate their
1914 behaviour with the -falign-* options. Default -falign-* from
1915 the processor table.
1916 * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
1917 patch of Wed May 2 13:09:36 2001.
1918 (LOOP_ALIGN): Delete.
1919 (LOOP_ALIGN_MAX_SKIP): Delete.
1920 (LABEL_ALIGN_AFTER_BARRIER): Delete.
1921 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
1922
02d208ff
AJ
19232001-05-04 Andreas Jaeger <aj@suse.de>
1924
1925 * except.h: Add prototype declaration for
1926 expand_builtin_init_dwarf_reg_sizes.
1927
4091fa5f
GK
19282001-05-03 Geoffrey Keating <geoffk@redhat.com>
1929
1930 * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
1931
c418c5ab
SC
19322001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1933
1934 * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
1935 instruction.
1936 ("bitcmpqi2"): New pattern for bit-extract and test.
1937 ("bitcmphi"): New pattern for bitb/bita instructions.
1938
fa27606c
JM
19392001-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
1940
1941 * gccbug.in: Use a temporary directory when the mktemp command is
1942 not available.
1943
7bdf2c65
SC
19442001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1945
1946 * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
1947 instead of _.d1.
1948 (INITIALIZE_TRAMPOLINE): Call it.
1949 (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
1950 (TRAMPOLINE_TEMPLATE): Remove.
1951 * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
1952 * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
1953 Declare.
1954
df9ab511
DB
19552001-05-03 David O'Brien <obrien@FreeBSD.org>
1956
1957 * config/t-freebsd: Don't install "assert.h" in gcc. Compile crtbeginS.o
1958 and crtendS.o with PIC.
1959
01beec65
SC
19602001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1961
1962 * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
1963 negative numbers.
1964 (___subdi3, ___adddi3): Use x instead of y as index register.
1965 (__init_bss_section, __map_data_section): Optimize for 68HC12.
1966 (__memset, __memcpy): Likewise.
1967 (regs): Put the soft registers in bss for 68HC12.
1968 (abort): Use trap to abort for 68hc12.
1969 (__mulhi3, __mulhi32): Use emul for 68hc12.
1970 (__mulsi3): Avoid to use the tmp soft register for 68hc12.
1971
19722001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1973
1974 * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
1975 * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
1976 * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
1977 (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
1978 Set 68HC12 min offset to -65536.
02d208ff 1979 (print_operand): Put parenthesis arround the operand if it refers
01beec65 1980 to a symbol having the same name as a register.
02d208ff 1981 (m68hc11_z_replacement): When z register is replaced by its
01beec65
SC
1982 equivalent soft register, force the insn to be re-recognized.
1983 (m68hc11_check_z_replacement): Fix the test when destination is
1984 the index register and z dies in the insn.
1985 (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
1986
19872001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1988
1989 * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
1990 costs according to processor variant.
1991 (m68hc11_shift_cost): New function to compute shift costs.
1992 (m68hc11_rtx_costs): Define costs according to processor variant.
1993 (m6811_cost): Costs for 68HC11.
1994 (m6812_cost): Costs for 68HC12.
1995 (COSTS_N_INSNS): Remove.
1996
1997 * config/m68hc11/m68hc11.h (RTX_COSTS): New.
1998 (DEFAULT_RTX_COSTS): Remove.
1999 (CONST_COSTS): Define costs according to OUTER_CODE.
2000 (processor_costs): New struct to define costs.
2001 (m68hc11_cost): Pointer to current costs.
2002
20032001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2004
2005 * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
2006 and use m68hc11_notice_keep_cc when using leax/leay.
02d208ff 2007 (addhi3 split): Reject split if the insn is handled by
01beec65
SC
2008 leax/leay above.
2009 * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
2010 push must be handled in a special way if the source operand uses
2011 sp as index register.
2012 (m68hc11_notice_keep_cc): New function.
02d208ff 2013 (m68hc11_gen_movhi): Use it when an insn changes a register but
01beec65
SC
2014 not the flags.
2015 (m68hc11_gen_movqi): Fix move for 68HC12.
2016 * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
2017
20182001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2019
2020 * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
2021 and don't pass operands[0] to emit_library_call_value.
2022
20232001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2024
2025 * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
2026 (zero_extendsi split): Simplify and use (zero_extendhi).
02d208ff 2027 (*addhi3): Remove 'w' constraint since stack pointer is handled
01beec65
SC
2028 by (addhi3_sp).
2029 (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
2030 (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
2031 (*ashrhi3_const): Fix shift by 7.
2032 (*lshrsi3_const16): Fix template.
2033 (call, call_value): Fix constraint and predicate.
2034
20352001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2036
2037 * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
2038 (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
2039 (CC_REGNUM): Likewise.
2040 (*unnamed splits): Use above constants instead of hard coded numbers.
2041 (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
2042 (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
2043 (*return_16bit, *unnamed peepholes): Likewise.
2044
cb5dda2b
DB
20452001-05-03 David O'Brien <obrien@FreeBSD.org>
2046
2047 * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix): Do not include
2048 rs6000/rs6000.h twice.
2049
11fdc4c3
ME
20502001-05-03 Mark Elbrecht <snowball3@bigfoot.com>
2051
2052 * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
2053 (CPP_SPEC): Conditionally define MSDOS and GO32.
2054 (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
2055 (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
2056 ignored.
2057 (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
2058
776716da
AO
20592001-05-03 Alexandre Oliva <aoliva@redhat.com>
2060
2061 * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
2062
c826ae21
MM
20632001-05-03 Mark Mitchell <mark@codesourcery.com>
2064
2065 * integrate.h (struct inline_remap): Add leaf_reg_map table.
2066 * integrate.c (expand_inline_function): Use xcalloc to allocate
2067 memory.
2068 (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
2069 registers.
2070
c64539a8
MM
20712001-05-03 Mark Mitchell <mark@codesourcery.com>
2072
2073 * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
2074 if it is not set.
2075
4abe9f62
AO
20762001-05-03 Alexandre Oliva <aoliva@redhat.com>
2077
2ea10770
AO
2078 * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
2079 linker if -mrelax is given.
2080 (TARGET_SWITCHES): Document -mrelax.
2081
4abe9f62
AO
2082 Re-installed 2001-01-09's patch:
2083 * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
2084 if it's wider than long and the target's long is wider than the
2085 host's.
2086
05de394b
DB
20872001-05-02 David O'Brien <obrien@FreeBSD.org>
2088
2089 * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h: Do not
2090 directly include rs6000/rs6000.h. Instead do it in tm.h.
2091
fa340504
SS
20922001-05-02 Stan Shebs <shebs@apple.com>
2093
2094 * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
2095 NSConstantString for NeXT-style runtimes.
2096 (STRING_OBJECT_GLOBAL_NAME): New macro.
2097 (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
2098 OCTI_STRING_CLASS_DECL.
2099 (constant_string_global_id): New macro.
2100 (string_class_decl): Ditto.
2101 (setup_string_decl): New function.
2102 (build_objc_string_object): Use it to build a NeXT runtime
2103 compatible string initializer.
2104
2d2a86ae
JJ
21052001-05-02 Jakub Jelinek <jakub@redhat.com>
2106
2107 * tradcpp.c (do_define): Make sure we don't walk past limit.
2108
258bfae2
FS
21092000-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2110
2111 * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
2112 offsets if not REG_OK_STRICT.
2113
2114 * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
2115 (INT_REG_OK_FOR_INDEX_P): Likewise.
2116 (INT_REG_OK_FOR_BASE_P): Likewise.
2117 (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
2118 (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
2119 (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
6d4587f7 2120 INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
258bfae2
FS
2121 REG_OK_FOR_BASE_P. Take an additional parameter.
2122 (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
2123 (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
2124 (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
2125 (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
2126 rs6000_legitimate_address() and use it.
2127 * config/rs6000/rs6000.c: Update all callers.
2128 (rs6000_legitimate_address): New function.
2129
d34c5b80
DE
21302001-05-02 David Edelsohn <edelsohn@gnu.org>
2131
2132 * config/rs6000/rs6000.c (rs6000_emit_move): Merge
2133 special_constant conditional blocks together.
2134
21352001-05-02 Dale Johannesen <dalej@apple.com>
2136
2137 * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
2138 parameter.
2139 (STRICT_ARGUMENT_NAMING): Define.
2140 * config/rs6000/rs6000.c (function_arg_advance, function_arg,
2141 function_arg_partial_nregs, setup_incoming_varargs): Remove
2142 args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
2143 is defined.
2144
2be6a7e9
RK
2145Wed May 2 13:09:36 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2146
f1419b42
RK
2147 * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
2148
6349ad24
RK
2149 * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
2150 for replacement.
2151
2be6a7e9
RK
2152 * expr.c (store_field): Do nothing except elaborate side-effects if
2153 zero-bit field.
2154
9714cf43
KG
21552001-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2156
2157 * c-lex.c: NULL_PTR -> NULL.
2158 * cse.c: Likewise.
2159 * emit-rtl.c: Likewise.
2160 * gcse.c: Likewise.
2161 * genpeep.c: Likewise.
2162 * jump.c: Likewise.
2163 * mips-tdump.c: Likewise.
2164 * reload1.c: Likewise.
2165 * rtlanal.c: Likewise.
2166 * stmt.c: Likewise.
2167 * stor-layout.c: Likewise.
2168 * toplev.c: Likewise.
2169
0a5fee32
PB
21702001-05-01 Per Bothner <per@bothner.com>
2171
2172 * expr.c (expand_expr): When compiling LABELED_BLOCK_EXPR,
2173 call do_pending_stack_adjust before emiting label.
2174
bd78000b
MM
21752001-05-01 Mark Mitchell <mark@codesourcery.com>
2176
2177 * extend.texi: Fix typo.
2178
d54d2a05
SS
21792001-05-01 Stan Shebs <shebs@apple.com>
2180
2181 * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
2182 of UOBJC_MODULES_decl.
2183 (generate_strings): Clear DECL_CONTEXT of new decl nodes.
2184 (generate_descriptor_table): Ditto.
2185 (generate_protocols): Ditto.
2186 (generate_protocol_list): Ditto.
2187 (generate_classref_translation_entry): Ditto.
2188
1c4c47db
JO
21892001-05-01 Jeffrey Oldham <oldham@codesourcery.com>
2190
2191 * invoke.texi (Optimize Options): Add documentation for `--param
2192 max-delay-slot-insn-search' and `--param
2193 max-delay-slot-live-search' and reorder --param section.
2194 * params.def: Modify initial comment.
2195 * params.h (param_info): Add `help' member.
2196 * toplev.c (lang_independent_params): Include `help' description.
2197 (display_help): Print --param parameters.
2198
4e70264f
ZW
21992001-05-01 Zack Weinberg <zackw@stanford.edu>
2200
2201 * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
2202 Remove references to deleted files.
2203 (*-*-openbsd): No need to override xmake_file.
2204 (*-*-sysv4): Treat like *-*-sysv.
2205
2206 * configure.in: Probe for ldopen in various places, and set up
2207 collect2 to be linked with them if found.
2208 Don't dink with Windows registry stuff unless $host_os is a
2209 Win32 os name. Check to see if we need -ladvapi32.
2210 * configure: Regenerate.
2211
2212 * Makefile: Get rid of CLIB and HOST_CLIB.
2213 Substitute in COLLECT2_LIBS and link collect2 against its contents.
2214 * build-make: Get rid of HOST_CLIB.
2215
2216 * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
2217 config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
2218 config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
2219 config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
2220 config/rs6000/x-rs6000: Delete.
2221
2222 * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
2223 Don't set CLIB.
2224
2225 24 x-host fragments remain, 0 x-cpu, 3 top level.
2226
22272001-05-01 Zack Weinberg <zackw@stanford.edu>
2228
2229 * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
2230 * configure: Regenerate.
2231
16636d35
AMT
22322001-05-01 Angela Marie Thomas <angela@cygnus.com>
2233
2234 * Makefile.in (install-headers): Remove redundant dependency.
2235
07dd196a
NS
22362001-05-01 Nathan Sidwell <nathan@codesourcery.com>
2237
2238 * c-tree.texi (USING_STMT): Document.
2239
6496a589
KG
22402001-05-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2241
2242 * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
2243 * c-common.c: Likewise.
2244 * c-decl.c: Likewise.
2245 * combine.c: Likewise.
2246 * rs6000.c: Likewise.
2247 * except.c: Likewise.
2248 * explow.c: Likewise.
2249 * expr.c: Likewise.
2250 * fold-const.c: Likewise.
2251 * function.c: Likewise.
2252 * gcc.c: Likewise.
2253 * gcse.c: Likewise.
2254 * integrate.c: Likewise.
2255 * loop.c: Likewise.
2256 * objc/objc-act.c: Likewise.
2257 * recog.c: Likewise.
2258 * reg-stack.c: Likewise.
2259 * reload.c: Likewise.
2260 * reload1.c: Likewise.
2261 * simplify-rtx.c: Likewise.
2262 * stmt.c: Likewise.
2263 * varasm.c: Likewise.
2264
d0e66dbb
GDR
22652001-05-01 Gabriel Dos Reis <gdr@codesourcery.com>
2266
2267 * diagnostic.def: New file.
2268 * diagnostic.h (diagnostic_t): New enum.
2269 * Makefile.in (diagnostic.o): Depend on diagnostic.def
2270
34f4f3a5
ZW
22712001-04-30 Zack Weinberg <zackw@stanford.edu>
2272
02d208ff 2273 * tsystem.h: Test only POSIX for availability of string.h
34f4f3a5
ZW
2274 and time.h.
2275 * config.gcc (all systems): If USG appeared in xm_defines,
2276 change it to POSIX. If both USG and POSIX appeared, just
2277 delete USG. Remove unnecessary quotes around xm_defines
2278 settings.
2279 (m68k-crds-unos*): Don't #define unos - tested nowhere.
2280 (m68k-apple-aux*): Don't #define AUX - tested nowhere.
2281 (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
2282 powerpc-*-linux*): No need to set xm_defines - handled by
2283 global settings for *-*-linux*.
2284
7719ffbf
ZW
22852001-04-30 Zack Weinberg <zackw@stanford.edu>
2286
2287 * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
2288 Always include gstab.h, not system stab.h. Don't provide
2289 default definitions of N_CATCH or N_OPT. Always use the
2290 gstab.h variant of STAB_CODE_TYPE.
2291 * final.c: Don't include stab.h/gstab.h at all, or provide
2292 defaults for N_SLINE and N_SOL.
2293
2294 * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
2295 N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
2296 available.
2297 * sdbout.c: Always include gsyms.h instead of system syms.h.
2298
2299 * configure.in: No need to check for stab.h.
2300 * configure, config.in: Regenerate.
2301 * Makefile.in (final.o): Don't depend on gstab.h.
2302
e71b34aa 23032001-04-30 Mark Mitchell <mark@codesourcery.com>
7719ffbf
ZW
2304 Richard Henderson <rth@redhat.com>
2305
e71b34aa 2306 * extend.texi: Improve documentation of volatile asms.
7719ffbf 2307
e71b34aa
MM
23082001-04-30 Mark Mitchell <mark@codesourcery.com>
2309
2310 * c-tree.texi: Fix thinko.
2311 * gcc.texi: Likewise.
2312
d72040f5
RH
23132001-04-30 Richard Henderson <rth@redhat.com>
2314
2315 * c-common.c (c_promoting_integer_type_p): New function, from the
2316 corpse of old macro. Properly promote too-small enumerations and
2317 booleans. Adjust all callers.
2318 * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
2319 (c_promoting_integer_type_p): Declare.
2320 * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
2321 * c-typeck.c: Likewise.
2322 (default_conversion): Remove now redundant boolean check.
2323
595c2290 23242001-04-30 Jan Hubicka <jh@suse.cz>
7719ffbf 2325 Richard Henderson <rth@redhat.com>
595c2290
JH
2326
2327 * regmove.c (try_apply_stack_adjustment): Remove now redundant
2328 sanity checks.
2329 (combine_stack_adjustments_for_block): Don't combine stack
2330 allocation followed by deallocations. Handle grow-up stacks.
2331
c3aac512
MM
23322001-04-30 Mark Mitchell <mark@codesourcery.com>
2333
2334 * fdl.texi: New file.
2335 * c-tree.texi: Use the GFDL.
2336 * gcc.texi: Likewise.
2337
60de6385
SS
23382001-04-30 Stan Shebs <shebs@apple.com>
2339
2340 * invoke.texi: Add a section documenting Objective-C options.
2341
d6e95df8
AH
23422001-04-27 Andrew Haley <aph@cambridge.redhat.com>
2343
2344 * emit-rtl.c (try_split): Copy EH notes to sequence.
2345
d60e5448
MM
23462001-04-30 Mark Mitchell <mark@codesourcery.com>
2347
2348 * regmove.c (record_stack_memrefs): Catch all references to the
2349 stack pointer.
2350
fba3bbe3
TR
23512001-04-29 Toomas Rosin <toomas at ns dot tklabor dot ee>
2352
3804fe2e 2353 * Makefile.in (stmp-fixinc): quote shell assignment values
fba3bbe3 2354
d4f2852f
KG
23552001-04-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2356
2357 * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
2358
2359 * gcc.c: Likewise.
2360
2361 * prefix.c: Likewise.
2362
f37f462a
SS
23632001-04-28 Stan Shebs <shebs@apple.com>
2364
28df0b5a
SS
2365 * objc/objc-act.c (handle_class_ref): Rewrite to flush target
2366 specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
2367 * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
2368 * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
2369
f37f462a
SS
2370 * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
2371 (NEXT_OBJC_RUNTIME): Define.
7719ffbf 2372
141e454b
JH
2373Sat Apr 28 21:02:58 CEST 2001 Jan Hubicka <jh@suse.cz>
2374
2375 * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
2376 * simplify-rtx.c (simplify_gen_relational): Likewise.
2377
2378 * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
2379
2380 * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
2381 * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
2382
2383 * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
2384 registers in SSE case; fix handling of the immediates.
2385 (negsf2_ifs, abssf2_ifs): Tweak constraints; require
2386 operands to be in regsiters before reload.
2387 (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
2388 (negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
2389 (abstf,absxf,negtf,negxf splitters): Compute
2390 properly the regnum for x86_64.
2391 (avsdf2_if_rex64): New.
2392
5bb86bf2
JL
2393Sat Apr 28 10:36:23 2001 Jeffrey A Law (law@cygnus.com)
2394
2395 * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
2396 and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
2397 into the constant pool.
2398 * jump.c (jump_optimize_1): Remove barrier successors after all
2399 the LABEL_NUSES counds have been computed.
2400 (delete_barrier_successors): When deleting a tablejump insn, also
2401 delete the jump table it uses.
2402 * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
2403 label into memory.
2404
3a432f1f
MK
24052001-04-28 Martin Kalen <martin.kalen@todaysystems.com.au>
2406
7719ffbf 2407 * pa.c (FRP): Remove erroneous white space in macro definition.
3a432f1f 2408
02f52e19
AJ
24092001-04-28 Andreas Jaeger <aj@suse.de>
2410
2411 * invoke.texi: Use XX-bit instead of XXbit or XX bit where
2412 appropriate.
2413 * extend.texi: Likewise.
2414 * tm.texi: Likewise.
2415
1e5f973d
AJ
24162001-04-28 Andreas Jaeger <aj@suse.de>
2417
7719ffbf
ZW
2418 * md.texi: Use XX-bit instead of XXbit or XX bit where
2419 appropriate.
1e5f973d 2420
4275c4c4
JS
24212001-04-28 Jens Schweikhardt <schweikh@schweikhardt.net>
2422
2423 * gcc.c (process_command): Allow -l lib in addition to -llib
2424 for POSIX compliance. This fixes PR c/2347.
2425
2426 * invoke.texi: Update section on Link Options accordingly.
2427
cc2e8b2d
ZW
24282001-04-27 Zack Weinberg <zackw@stanford.edu>
2429
2430 * function.c (purge_addressof_1): Remove the duplicate
2431 if (code == SET) block. Fold the two if (code == ADDRESSOF)
2432 blocks together.
2433
16842c15
JM
24342001-04-28 Jason Merrill <jason_merrill@redhat.com>
2435
2436 * except.c (expand_eh_region_start): Don't start a new block.
2437 (expand_eh_region_end): Don't end a block.
2438 * stmt.c (expand_end_bindings): Don't end EH blocks.
2439 (expand_decl_cleanup): Starting an EH region won't change the block.
2440 (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
2441 (is_eh_region): Lose.
2442 * tree.h: Adjust.
2443
5897739e
JO
24442001-04-27 Jeffrey Oldham <oldham@codesourcery.com>
2445
16842c15
JM
2446 * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
2447
5897739e
JO
2448 * collect2.c (main): Add `-L' case to remove duplicate entries.
2449 (is_in_args): New function to check for a duplicate argument.
2450 * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
2451 * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
2452 * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
2453 Define to be nonzero.
2454
994682b9
AJ
24552001-04-27 Andreas Jaeger <aj@suse.de>
2456 Richard Henderson <rth@redhat.com>
2457
2458 * md.texi (Machine Constraints): Document additional i386
2459 constraints and fix description of "A".
2460
58c35fc2
JL
2461Fri Apr 27 10:43:49 2001 Jeffrey A Law (law@cygnus.com)
2462
2463 * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
2464
041c9d5a
JM
24652001-04-27 Jason Merrill <jason_merrill@redhat.com>
2466
2467 * except.c (get_exception_filter): word_mode, not Pmode.
2468
fbffc70a
GK
24692001-04-26 Geoffrey Keating <geoffk@redhat.com>
2470
fd2c87bd
GK
2471 * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
2472 common to other movsf patterns. Move up so that in future
2473 people who change the other patterns will change it too.
2474 (movsf_lo_sum): Allow even for soft-float; add appropriate
2475 constraints.
2476 (movsf_high): Likewise.
2477 (movsf_high+1): Allow even for soft-float.
2478
fbffc70a
GK
2479 * function.c (expand_function_end): Always clobber the
2480 return registers, even if there is no return label.
2481
52a661a6
JH
2482Thu Apr 26 20:28:21 CEST 2001 Jan Hubicka <jh@suse.cz>
2483
2484 * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
2485
b3298882
JH
2486Thu Apr 26 19:20:28 CEST 2001 Jan Hubicka <jh@suse.cz>
2487
2488 * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
2489 (pushqi2_rex64, pushhi2_rex64): Add.
2490
c10f3adf
AH
24912001-04-26 Andrew Haley <aph@cambridge.redhat.com>
2492
2493 * except.c (expand_eh_region_end_cleanup): Force pending stack
994682b9 2494 adjust before emitting label that branches around cleanup code.
c10f3adf 2495
44404b8b
L
24962001-04-26 H.J. Lu (hjl@gnu.org)
2497
2498 * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
2499
2500 * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
2501 define.
2502 * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
2503 (ASM_OUTPUT_SECTION_NAME): Likewise.
2504 (ASM_WEAKEN_LABEL): Likewise.
2505 (UNIQUE_SECTION): Likewise.
2506 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
2507 (ASM_OUTPUT_DESTRUCTOR): Likewise.
2508 * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
2509 (ASM_OUTPUT_SECTION_NAME): Likewise.
2510 (ASM_WEAKEN_LABEL): Likewise.
2511 (UNIQUE_SECTION): Likewise.
2512 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
2513 (ASM_OUTPUT_DESTRUCTOR): Likewise.
2514 * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
2515 * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
2516 (ASM_FILE_START): Likewise.
2517 (ASM_OUTPUT_SOURCE_LINE): Likewise.
2518 (ASM_DECLARE_OBJECT_NAME): Likewise.
2519 (ASM_FILE_END): Likewise.
2520 (ASM_DECLARE_FUNCTION_NAME): Likewise.
2521 (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
2522 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2523 (ASM_OUTPUT_CASE_LABEL): Likewise.
2524 (ASM_OUTPUT_SKIP): Likewise.
2525 (ASM_OUTPUT_ASCII): Likewise.
2526 (ASM_OUTPUT_IDENT): Likewise.
2527 (READONLY_DATA_SECTION): Likewise.
2528 (EXTRA_SECTIONS): Likewise.
2529 (EXTRA_SECTION_FUNCTIONS): Likewise.
2530 (SELECT_RTX_SECTION): Likewise.
2531 (SELECT_SECTION): Likewise.
2532
2533 * config/mips/linux.h (INVOKE__main): Undefine.
2534 (CTOR_LIST_BEGIN): Likewise.
2535 (CTOR_LIST_END): Likewise.
2536 (DTOR_LIST_BEGIN): Likewise.
2537 (DTOR_LIST_END): Likewise.
2538 (SET_ASM_OP): Defined it to ".dummy".
2539 (ASM_OUTPUT_DEF): Defined.
2540 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
2541
fdc2d3b0
NC
25422001-04-26 Nick Clifton <nickc@cambridge.redhat.com>
2543
2544 * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
2545 assembler supports .p2align.
2546
5677efb0
NS
25472001-04-26 Nathan Sidwell <nathan@codesourcery.com>
2548
2549 * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
2550
3b07c79b
JJ
25512001-04-26 Jakub Jelinek <jakub@redhat.com>
2552
2553 * integrate.c (expand_inline_function): Check for error_mark_node
2554 in actual argument.
2555
e9070e7b
JJ
25562001-04-26 Jakub Jelinek <jakub@redhat.com>
2557
2558 * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
2559 -m386 and -m486.
2560
a6687d2b
AO
25612001-04-26 Alexandre Oliva <aoliva@redhat.com>
2562
2563 * configure.in (configargs.h): Define thread_model.
2564 * configure: Rebuilt.
2565 * gcc.c (main): Print it with -v.
2566
1f0c3120
JM
25672001-04-25 Joseph S. Myers <jsm28@cam.ac.uk>
2568
2569 * invoke.texi: Document -Wmissing-braces, -dumpspecs,
2570 -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
2571 * gcc.1: Regenerate.
2572
66cc965c
RO
25732001-04-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2574
2575 * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
2576 is_redundant_typedef): Use static inline instead of inline static.
2577
2baa5453
CF
2578Wed Apr 25 18:21:01 2001 Christopher Faylor <cgf@cygnus.com>
2579
2580 * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
2581 this directory is always searched.
2582
84e306b4
RH
25832001-04-25 Richard Henderson <rth@redhat.com>
2584
2585 * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
2586 of registers to restore along non eh_return path.
2587
b5cd6849
JJ
25882001-04-25 Jakub Jelinek <jakub@redhat.com>
2589
2590 * c-format.c (check_format_info_recurse): Handle
2591 PLUS_EXPR for format string.
2592
ad5042df
JJ
25932001-04-25 Jakub Jelinek <jakub@redhat.com>
2594
2595 * config/ia64/ia64.h (CC1_SPEC): Define.
2596 * config/ia64/linux.h (CC1_SPEC): Define.
2597
73de376f
R
2598Wed Apr 25 17:09:50 2001 J"orn Rennecke <amylaar@redhat.com>
2599
2600 * emit-rtl.c (constant_subword): Also do sign extension in
2601 BITS_PER_WORD == 16 case.
2602
0ef52662
JM
26032001-04-25 Jason Merrill <jason_merrill@redhat.com>
2604
2605 * loop.c (try_swap_copy_prop): Go back to checking insn.
2606
0607953c
JJ
26072001-04-25 Jakub Jelinek <jakub@redhat.com>
2608
2609 * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
2610 if check_mode is non-zero.
2611
e99af66b
JJ
26122001-04-25 Jakub Jelinek <jakub@redhat.com>
2613
2614 * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
2615 out and comparison sequence has been detected, put result into
2616 proper temporary pseudo.
2617
0f976b45
ZW
26182001-04-24 Zack Weinberg <zackw@stanford.edu>
2619
2620 * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
2621 * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
2622 * libgcc2.c: Remove __dummy and __builtin_saveregs.
2623 * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
2624 * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
2625 for future reference.
2626
47c84870
JM
26272001-04-24 Jason Merrill <jason_merrill@redhat.com>
2628
2629 * except.c (reachable_handlers): Step out one level from a RESX.
2630
2631 * except.c (struct eh_region): Rename 'last' to 'resume'.
2632 (mark_eh_region, duplicate_eh_region_1): Adjust.
2633 (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
2634 (build_post_landing_pads): Likewise.
2635 (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
2636 (expand_eh_region_end_must_not_throw): Likewise.
2637 (connect_post_landing_pads): Thread (only) regions with non-deleted
2638 resume insns.
2639
2640 * except.c (expand_eh_region_end_cleanup): Save the EH return data
2641 registers around the cleanup.
2642 (get_exception_filter): New fn.
2643 (finish_eh_generation): Use it.
2644
de8e49f3
NS
26452001-04-24 Nathan Sidwell <nathan@codesourcery.com>
2646
2647 * c-semantics.c (add_scope_stmt): Don't call
2648 current_scope_stmt_stack multiple times.
2649
0ba8a114
NS
26502001-04-24 Zack Weinberg <zackw@stanford.edu>
2651 Nathan Sidwell <nathan@codesourcery.com>
2652
2653 Lazy __FUNCTION__ generation.
2654 * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
2655 RID_C99_FUNCTION_NAME): New _RIDs.
2656 (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
2657 (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
2658 CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
2659 global tree slots.
2660 (function_id_node, pretty_function_id_node, func_id_node): Remove.
2661 (c99_function_name_decl_node, function_name_decl_node,
2662 pretty_function_name_decl_node, saved_function_name_decls):
2663 Declare.
2664 (struct language_function): Remove x_function_name_declared_p.
2665 (make_fname_decl): Remove a parameter.
2666 (declare_function_names): Remove prototype.
2667 (start_fname_decls, finish_fname_decls): Prototype.
2668 (fname_as_string): Likewise.
2669 (fname_string, fname_decl): Likewise.
2670 * c-common.c (make_fname_decl): Adjust.
2671 (struct fname_var_t): New struct.
2672 (fname_vars): New static array.
2673 (declare_function_name): Remove.
2674 (start_fname_decls, finish_fname_decls): New functions.
2675 (fname_as_string): New function from remnants of
2676 declare_function_name.
2677 (fname_string, fname_decl): New functions.
2678
2679 * c-decl.c (c_function_name_declared_p): Remove.
2680 (init_decl_processing): Don't generate __FUNCTION__ et al ids,
2681 don't call declare_function_name. Call start_fname_decls.
2682 (c_make_fname_decl): Adjust parameters. Generate the name. Don't
2683 clobber the line number. Call finish_decl.
2684 (start_function): Call start_fname_decls.
2685 (finish_function): Call finish_fname_decls.
2686 Remove c_function_name_declared_p.
2687 (push_c_function_context): Don't push c_function_name_declared_p.
2688 (pop_c_function_context): Don't pop c_function_name_declared_p.
2689 (c_begin_compound_stmt): Don't check c_function_name_declared_p.
2690 * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
2691 (program): Call finish_fname_decls for C.
2692 (primary): Add VAR_FUNC_NAME.
2693 (reswords): Add slots for __FUNCTION__ et al.
2694 (rid_to_yy): Add mappings for __FUNCTION__ et al.
2695 (yylexname): If it's a STRING_FUNC_NAME generate the function name
2696 now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
2697 * c-semantics.c (prune_unused_decls): Remove.
2698 (finish_stmt_tree): Don't call prune_unused_decls.
2699 (genrtl_decl_stmt): Don't prune unused decls here.
2700
b201442f
NC
27012001-04-24 Nick Clifton <nickc@cambridge.redhat.com>
2702
c6f9b9a1
NC
2703 * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
2704 constant pool, use the pool's SYMBOL_REF instead.
2705
b201442f
NC
2706 * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
2707 v850e.
2708
c3cd9c8b
JM
27092001-04-23 Joseph S. Myers <jsm28@cam.ac.uk>
2710
2711 * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
2712 passing nested NOP_EXPRs to fold.
2713
35433587
JH
2714Mon Apr 23 14:32:12 CEST 2001 Jan Hubicka <jh@suse.cz>
2715
2716 * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
2717
e6217dcd
MM
27182001-04-22 Mark Mitchell <mark@codesourcery.com>
2719
2720 * loop.c (loop_delete_insns): Add prototype.
2721
e2584c52
PE
27222001-04-23 Phil Edwards <pme@sources.redhat.com>
2723
2724 * configure.in: Remove ENABLE_STD_NAMESPACE.
2725 * config.in: Regenerated.
2726 * configure: Regenerated.
2727
a3b1a352
SS
27282001-04-22 Stan Shebs <shebs@apple.com>
2729
2730 * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
2731 into xm_defines.
2732 * config/rs6000/xm-darwin.h: Remove file.
2733
d4c3ec27
KG
27342001-04-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2735
2736 * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
2737 (write_c_file_stat): Likewise.
2738
2739 * dbxout.c (dbxout_init): Likewise.
2740
2741 * profile.c (output_func_start_profiler): Likewise.
2742
146ef880
PT
27432001-04-22 Philipp Thomas <pthomas@suse.de>
2744
2745 * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
2746 require it instead of the CVS version.
7719ffbf
ZW
2747 * cpperror.c (v_message): Put a blank before the macro
2748 body to not confuse exgettext.
146ef880 2749
e8c8470b
MM
27502001-04-21 Mark Mitchell <mark@codesourcery.com>
2751
2752 * flow.c (proagate_one_insn): Remove useless assignment.
2753 * jump.c (delete_insn): Tidy.
2754 * loop.c (try_copy_prop): When deleting an instruction with a
2755 REG_RETVAL note, delete the entire libcall sequence.
2756 (loop_delete_insns): New function.
2757 * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
2758 we're not substituting into them yet.
994682b9 2759
68560db3
KH
27602001-04-21 Kazu Hirata <kazu@hxi.com>
2761
2762 * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
2763
51f26c45
KH
2764 * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
2765 Fix a comment typo.
2766 * config/i960/i960.c (signed_arith_operand): Likewise.
2767
d80d2d2a
KH
2768 * calls.c (expand_call): Fix a comment typo.
2769
c1800ec8
ZW
27702001-04-20 Zack Weinberg <zackw@stanford.edu>
2771
2772 * configure.in: Probe for times, clock, struct tms, and clock_t.
2773 * configure, config.in: Regenerate.
2774 * timevar.c: Replace ifdef forest in get_time with (relatively)
2775 straightforward series of checks based on autoconf's probes.
2776
2c2ef4b9
JL
2777Fri Apr 20 12:24:50 2001 Jeffrey A Law (law@cygnus.com)
2778
2779 * config/pa/som.h (NM_FLAGS): Define.
2780
a0a7b566
BS
27812001-04-20 Bernd Schmidt <bernds@redhat.com>
2782
2783 * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
2784 function.
2785 * ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
2786 * ia64.c (nop_cycles_until): New function.
2787 (prev_cycle, prev_first, last_issued): New static variables.
2788 (ia64_sched_reorder): Additional arg for clock.
2789 On final scheduling pass, emit extra NOPs as needed.
2790 Set prev_first and prev_cycle.
2791 (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
2792 (ia64_variable_issue): Set last_issued.
2793
7471a1f0
AO
27942001-04-20 Alexandre Oliva <aoliva@redhat.com>
2795
2796 * config/i386/i386.c (ix86_expand_int_movcc,
2797 ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
2798
856a6884
GK
27992001-04-20 Geoff Keating <geoffk@redhat.com>
2800
2801 * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
2802 ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
2803 ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
2804 ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
2805 ctrdi_internal6): In the short-branch case, this insn is only 4
2806 bytes long. Reported by Reza Yazdani <reza@apple.com>.
2807
d40cd80a
JJ
28082001-04-20 Jakub Jelinek <jakub@redhat.com>
2809
2810 * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
2811 "=u" is used together with "st" resp. "st(1)" clobber.
2812
43e72072
JJ
28132001-04-20 Jakub Jelinek <jakub@redhat.com>
2814
2815 * gcse.c (gcse_main): Fix comment typo.
2816 (delete_null_pointer_check): Likewise.
2817 (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
2818 * cse.c (cse_insn): Likewise.
2819 * function.c (fixup_var_refs_insns_with_hash): The sequence is
2820 toplevel.
2821
4000fada
ZW
28222001-04-19 Zack Weinberg <zackw@stanford.edu>
2823
2824 * toplev.c: Excise all code for the undocumented -dm option.
2825 (float_signal): Call signal just once, unconditionally.
2826
dea8be3e
GK
28272001-04-19 Geoff Keating <geoffk@redhat.com>
2828
2829 * fold-const.c (fold): Use first_rtl_op rather than
2830 TREE_CODE_LENGTH when looping over parameters of a tree.
2831 Correct strange grouping in test for evaluated SAVE_EXPR.
2832
fe6adb3e
JL
2833Thu Apr 19 19:15:26 2001 Jeffrey A Law (law@cygnus.com)
2834
2835 * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
2836 * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
2837
2838 * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
2839 name at 32 total characters.
2840 (ASM_OUTPUT_SECTION_NAME): Similarly. Also, only support placing
2841 functions in named sections -- data items can still go into unique
2842 sections, but they have normal names (ie $LIT$ and $DATA$).
2843
2844 * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
2845 INIT_PRIORITY.
2846
45936a85
DD
28472001-04-19 DJ Delorie <dj@redhat.com>
2848
2849 * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
2850 to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
2851 * config/i386/cygwin.h: Likewise.
2852 * config/i386/mingw32.h: Likewise.
2853 * config/vax/vms.h: Likewise.
2854 * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
2855
2856 * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
2857 to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
2858 * config/i386/xm-cygwin.h: Likewise.
2859 * config/i386/xm-djgpp.h: Likewise.
2860 * config/i386/xm-mingw32.h: Likewise.
2861 * config/vax/xm-vms.h: Likewise.
2862
2863 * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
2864 instead of OBJECT_SUFFIX.
2865 * collect2.c (find_a_file): Look for files matching the extension
2866 HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
994682b9 2867 * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
45936a85
DD
2868 TARGET_EXECUTABLE_SUFFIX.
2869 (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
2870 (make_relative_prefix): Likewise.
2871 (convert_filename): Use TARGET_ suffixes throughout. Remove
2872 NO_AUTO_EXE_SUFFIX.
2873 (process_command): Likewise.
2874 (do_spec_1): Likewise.
2875 * java/lang.c (init_parse): Likewise.
2876
2877 * gcc.texi : Document four new options matching the pattern
2878 (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX. Remove documentation
2879 for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX. Remove
2880 documentation for NO_AUTO_EXE_SUFFIX.
2881
3dcaf6e0
MM
28822001-04-19 Mark Mitchell <mark@codesourcery.com>
2883
57883c53
MM
2884 * toplev.h (struct lang_hooks): Allow decode_option to indicate
2885 that language-independent processing should not be done.
2886 * toplev.c (main): Adjust accordingly.
2887
13c502cd
MM
2888 * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
2889 * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
2890
3dcaf6e0
MM
2891 * mips.md (reload_outputdi): Require that operand0 be a
2892 general_operand.
2893
d773df5a
DB
28942001-04-19 Jakub Jelinek <jakub@redhat.com>
2895
2896 * invoke.texi (-Wshadow): Clarify.
2897
17e2b3cb
MM
28982001-04-18 Mark Mitchell <mark@codesourcery.com>
2899
2900 * loop.c (load_mems): Examine all the instructions in the loop
2901 before concluding that all jumps branch to the first instruction
2902 after the loop.
2903
9e24b950
CF
2904Wed Apr 18 20:32:03 2001 Christopher Faylor <cgf@cygnus.com>
2905
2906 * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
2907
0d692355
JJ
29082001-04-18 Jakub Jelinek <jakub@redhat.com>
2909
2910 * cpp.texi (-Wwhite-space): Remove.
2911 (-Wall): -Wall does not imply -Wwhite-space.
2912
ad087b92
ZW
29132001-04-17 Zack Weinberg <zackw@stanford.edu>
2914
2915 * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
2916 use it instead of blindly generating a .stabs.
2917 * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
2918 in the right place.
2919 * xcoffout.c: Don't bother defining default for N_CATCH.
2920 (UNKNOWN_STAB): Use internal_error.
2921 (stab_to_sclass): Remove now-unnecessary aborts.
2922 Remove #if 0'ed case N_BROWS. Add #ifdef N_OPT block.
2923
b9c81bcb
JL
2924Tue Apr 17 21:41:11 2001 Jeffrey A Law (law@cygnus.com)
2925
2926 * jump.c (mark_all_labels): Canonicalize the tail recursion
2927 label attached to CALL_PLACEHOLDER insns.
2928
2f4e671d
KG
29292001-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2930
2931 * output.h (dump_flow_info, free_basic_block_vars,
2932 which_alternative): Delete redundant prototypes.
2933
2934 * rtl.h (bss_section): Likewise.
2935
7848c238
LR
29362001-04-17 Loren J. Rittle <ljrittle@acm.org>
2937
2938 * dbxout.c (N_OPT): Define if not available from <stab.h>
2939
5854680c
JDA
29402001-04-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
2941
2942 * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
2943 libraries and native K&R compilers.
2944
3ed56f8a
KG
29452001-04-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2946
2947 * c-typeck.c (convert_arguments): Don't check for width changes
2948 with -Wtraditional.
2949
2950 * invoke.texi (-Wtraditional): Update documentation.
2951
acb0db7b
ZW
29522001-04-16 Zack Weinberg <zackw@stanford.edu>
2953
2954 * toplev.c (output_lang_identify): Delete.
2955 (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
2956 Don't generate gcc2_compiled. label. Don't emit a nop if profiling.
2957 If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
2958 after calling ASM_FILE_END.
2959
2960 * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
2961 Instead, unconditionally emit an N_OPT stab with string equal
2962 to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
2963
2964 * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
2965
2966 * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
2967 config/psos.h, config/ptx4.h, config/1750a/1750a.h,
2968 config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
2969 config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
2970 config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
2971 config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
2972 config/i370/i370.h, config/i386/beos-elf.h,
2973 config/i386/osf1elf.h, config/i386/osfrose.h,
2974 config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
2975 config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
2976 config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
2977 config/m68k/tower-as.h, config/mcore/mcore-elf.h,
2978 config/mips/iris6.h, config/mips/osfrose.h,
2979 config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
2980 config/sparc/sp64-elf.h:
2981 Delete definitions of any or all of: ASM_IDENTIFY_GCC,
2982 ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
2983
2984 * config/elfos.h, config/freebsd.h, config/linux.h,
2985 config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
2986 config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
2987 config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
2988 of ASM_FILE_START which merely emit a .version directive. Delete
2989 definitions of ASM_FILE_END which merely emit an .ident directive.
2990
2991 * config/avr/avr.h, config/vax/vax.h: Delete definition of
2992 ASM_IDENTIFY_GCC and move part of its logic into
2993 ASM_FILE_START.
2994
2995 * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
2996 config/sparc/linux-aout.h: Don't emit .version directive in
2997 ASM_FILE_START.
2998
2999 * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
3000 (output_file_start): Correct comment.
3001
3002 * config/i386/osfrose.h: Don't emit trailing .ident directive.
3003 * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
3004 to match gdb.
3005 * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
3006 * config/rs6000/aix.h: Correct comment.
3007
3008 * config/i386/i386afe.h: Delete.
3009 * config.gcc: Remove references to i386afe.h.
3010
3011 * tm.texi: Delete documentation of ASM_IDENTIFY_GCC. The
3012 other macros deleted by this patch were undocumented.
3013
3bcd50fe
JL
3014Mon Apr 16 08:03:48 2001 Jeffrey A Law (law@cygnus.com)
3015
75d71b2f
JL
3016 * pa.md (reload_outdi): Operand 0 must be a non hard register.
3017
ad087b92 3018 * pa.c (secondary_reload_class): SAR<->FP copies require a
26ee120d
JL
3019 secondary register.
3020
3bcd50fe
JL
3021 * install.texi (mips-mips-bsd): Update list of functions
3022 required to include memmove.
3023 * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
3024 used functions to include memmove.
3025
2406cfed
TM
30262001-04-15 Toon Moene <toon@moene.indiv.nluug.nl>
3027
3028 * i386.md (sqrtdf2): SFmode should be DFmode.
3029
f54104df
AO
30302001-04-15 Alexandre Oliva <aoliva@redhat.com>
3031
3032 * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
3033 (find_moveable_store): Likewise.
3034
aa570f54
JW
30352001-04-15 Jim Wilson <wilson@redhat.com>
3036
3037 * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
3038
7c17f553
JH
3039Sat Apr 14 16:24:19 CEST 2001 Jan Hubicka <jh@suse.cz>
3040
3041 * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
3042 (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
3043
81df85c4
AO
30442001-04-14 Alexandre Oliva <aoliva@redhat.com>
3045
3046 * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
3047 first alternative.
3048
6619e96c
AM
30492001-04-14 Alan Modra <amodra@one.net.au>
3050
3051 * pa.c (force_mode): New function.
3052 (emit_move_sequence): Use it instead of generating new rtx_REGs.
3053
25250265
JW
30542001-04-13 Jim Wilson <wilson@redhat.com>
3055
3056 * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
3057 (first_instruction): New static variable.
3058 (rtx_needs_barrier): Return 1 for alloc.
3059 (init_insn_group_barriers): Set first_instruction.
3060 (rws_sum): Delete duplicate definition.
3061 (group_barrier_needed_p): Return 0 when first_instruction true.
3062 (safe_group_barrier_needed_p): Save and restore first_instruction
3063 around group_barrier_needed_p call.
3064
b215b52e
LR
3065Fri Apr 13 21:40:28 2001 Loren J. Rittle <ljrittle@acm.org>
3066
3067 * expr.h (enum libfunc_index): Add LTI_memmove.
3068 (memmove_libfunc): Define macro.
3069 * optabs.c (init_optabs): Initialize memmove_libfunc.
3070 * expr.c (expand_assignment): Use memmove_libfunc instead of
3071 memcpy_libfunc.
3072
7eb07bdb
AM
30732001-04-13 Alan Modra <alan@linuxcare.com.au>
3074
ad087b92
ZW
3075 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
3076 fp mode addresses.
7eb07bdb 3077
2840aebf
KG
30782001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3079
3080 * Makefile.in (reg-stack.o): Depend on reload.h.
3081 (insn-attrtab.o): Depend on flags.h.
3082
3083 * genattrtab (main): Include flags.h in insn-attrtab.c.
3084
3085 * reg-stack.c: Include reload.h.
3086
3087 * sparc.h (flag_pic): Delete redundant declaration.
3088
3089 * output.h (flag_pic): Likewise.
3090
3091 * tree.h (pedantic): Likewise.
3092
8461e984
KG
30932001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3094
3095 * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
3096
3097 * jump.c, regmove.c, toplev.c: Include reload.h.
3098
3099 * reload.h (reload_cse_regs): Declare.
3100
3101 * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
3102 reload_cse_regs, init_reload, mark_home_live, reload,
3103 init_caller_save): Delete redundant prototypes.
3104
0829d244
KG
31052001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3106
3107 * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
3108
3109 * regclass.c, ssa.c: Include expr.h.
3110
3111 * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
3112 gen_move_insn): Delete redundant declarations.
3113
6fa0f379 31142001-04-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
02f52e19 3115
6fa0f379
FS
3116 * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
3117 (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
3118 MAKEINFO and MAKEINFOFLAGS too.
3119 (stage4_build): Correctly order -B flags.
3120
38010927
AM
31212001-04-13 Alan Modra <amodra@one.net.au>
3122
fbdd633b
AM
3123 * pa.c (hppa_init_pic_save): Set rtx_unchanging for
3124 PIC_OFFSET_TABLE_SAVE_RTX.
831c1763
AM
3125 (zdepi_cint_p): Describe zdepi insn.
3126 Formatting and white space fixes throughout file.
fbdd633b 3127
e0c556d3
AM
3128 * pa.c (uint32_operand): Don't use long constant >= 2^32.
3129 (emit_move_sequence): Use HOST_WIDE_INT constants. Don't worry
3130 about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
3131 (compute_movstrsi_length): Make `align' unsigned to avoid warning.
3132 (output_64bit_and): Use plain `int's for shift counts.
3133 (output_64bit_ior): Likewise.
3134 (function_arg_partial_nregs): Use unsigned vars to avoid warnings.
3135 * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
3136 `N', and simplify.
3137
8d913d99
AM
3138 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
3139 * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
3140 * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
3141 NEW_HP_ASSEMBLER into one. Kill warnings.
3142
c21a2372
AM
3143 * pa-gas.h: Delete file.
3144 * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
3145 Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*. Update
3146 hppa*-*-linux*. For all pa targets, remove pa/gas.h from tm_file,
3147 instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
3148
48bd7758
AM
3149 * config/pa/mill32.S: New file.
3150 * config/pa/mill64.S: New file.
3151 * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
3152 LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
3153 * config/pa/t-linux64: New file.
3154 * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
3155 (LIB1ASMFUNCS, LIB1ASMSRC): Define.
3156 (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
3157
e25724d8
AM
3158 * elfos.h (SELECT_SECTION): Undef before defining.
3159 * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
3160 (LIB_SPEC): Remove -lmilli.
3161 (DBX_REGISTER_NUMBER): Remove.
3162 (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
3163 (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
3164 NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
3165 DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
3166 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
3167 ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
3168 ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
3169 TARGET_GAS): Define.
3170 * pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
3171 (function_arg): If TARGET_ELF32, pass fp args in both general and fp
3172 regs if we don't have a prototype.
3173 * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
3174 * pa.h (TARGET_ELF32): Default to 0 if undefined.
3175 (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
3176 EH_RETURN_HANDLER_RTX): Define.
3177 * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
3178 (DWARF_FRAME_REGNUM): Define.
3179 * pa64-regs.h (DWARF_FRAME_REGNUM): Define.
3180 * pa32-linux.h: New file.
3181 * pa64-linux.h: New file.
3182
38010927
AM
3183 * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
3184 (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
3185 (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
3186 NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
3187 DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
3188 DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
3189 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
3190 FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
3191 READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
3192 DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
3193 UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
3194 ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
3195 TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
3196 * pa64-hpux.h: New file.
3197 (ASM_FILE_START): Correct typo.
3198 (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
3199 * config.gcc: Modify for above.
3200
35bb0780
JW
3201Fri Apr 13 00:09:22 EDT 2001 John Wehle (john@feith.com)
3202
3203 * jump.c (jump_optimize_1): Don't delete dead stores here.
3204 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
3205 prior to running jump optimize before cse2.
3206
754fd218
RH
32072001-04-12 Richard Henderson <rth@redhat.com>
3208
3209 * Makefile.in (regmove.o): Depend on except.h.
3210 * regmove.c: Include it.
3211
4bd34c39
SS
32122001-04-12 Stan Shebs <shebs@apple.com>
3213
3214 * objc/objc-act.c: Remove all code ifdefed with the never-used
3215 macro OBJC_INT_SELECTORS.
3216 * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
3217 * tm.texi: Remove doc for OBJC_INT_SELECTORS.
3218
3b7da9c5
RB
3219Thu Apr 12 18:13:37 2001 Rodney Brown <RodneyBrown@mynd.com>
3220
3221 * config/pa/quadlib.c: Add prototypes.
3222
44c4c11d
KG
32232001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3224
3225 * bitmap.h (debug_bitmap): Delete redundant prototype.
3226
3227 * rtl.h (get_frame_size): Likewise.
3228
640cea5f
JW
32292001-04-12 Jim Wilson <wilson@redhat.com>
3230
3231 * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
3232 to just emit an fnorm.
3233
20e50c62
KG
32342001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3235
3236 * c-common.h (truthvalue_conversion, type_for_mode,
3237 type_for_size): Delete redundant declarations.
3238
3239 * c-lex.h (is_class_name): Likewise.
3240
3241 * c-tree.h (pedantic, convert, getdecls, gettags,
3242 global_bindings_p, init_decl_processing, insert_block,
3243 maybe_build_cleanup, poplevel, print_lang_decl,
3244 print_lang_identifier, print_lang_type, pushdecl, pushlevel,
3245 set_block, incomplete_type_error, build_function_call,
3246 lvalue_or_else, mark_addressable): Likewise.
3247
3248 * expr.h (expand_tree_builtin): Likewise.
3249
33d3b05b
MM
32502001-04-12 Mark Mitchell <mark@codesourcery.com>
3251
3252 * invoke.texi: Document --param max-gcse-memory.
3253
6c889b67
KG
32542001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3255
3256 * configure.in (errno): Check for declaration.
3257 * configure, config.in: Regenerated.
3258
3259 * system.h (errno): Only declare if not already done.
3260
c033e268
AO
32612001-04-12 Alexandre Oliva <aoliva@redhat.com>
3262
3263 * recog.c (general_operand, immediate_operand,
3264 nonmemory_operand): Require CONST_INTs to be sign-extended
3265 values for their modes.
3266
69107307
AO
32672001-04-12 Alexandre Oliva <aoliva@redhat.com>
3268
3269 * expmed.c (store_bit_field): Truncate CONST_INTs.
3270 (expand_mult_highpart, expand_divmod): Likewise.
3271 * expr.c (convert_modes, store_field): Likewise.
3272 * integrate.c (expand_inline_function): Use promote_mode() to
3273 determine whether to convert_modes() an argument as signed
3274 or unsigned.
3275 * optabs.c (expand_binop): Get CONST_INT operands
3276 sign-extended for their appropriate modes.
3277 * stmt.c (emit_case_nodes): Convert node values to the
3278 appropriate mode.
3279 (expand_end_case): Convert minval and range to the appropriate
3280 mode.
3281 * unroll.c (loop_iterations): Truncate abs_diff to the mode of
3282 the iteration variable.
3283 * varasm.c (immed_double_const): Don't require words to be
3284 narrower than host wide ints to properly sign-extend
3285 CONST_INTs.
3286
001643af
KK
32872001-04-12 kaz Kojima <kkojima@rr.iij4u.or.jp>
3288
3289 * sh.md (builtin_setjmp_receiver): New expander.
3290
38886f37
AO
32912001-04-12 David Edelsohn <dje@watson.ibm.com>
3292
3293 * config/rs6000/rs6000.c (rs6000_emit_move): Do not
3294 special-case HOST_BITS_PER_WIDE_INT != 32. Use same criteria
3295 for generating CONST_INT and CONST_DOUBLE.
3296
32972001-04-12 Alexandre Oliva <aoliva@redhat.com>
3298
3299 * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
3300 already sign-extended.
3301 (rs6000_emit_prologue): Make register iterator signed.
3302 (rs6000_emit_epilogue): Likewise.
3303 * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
3304 and low.
3305 (movsf split, movdf split): Sign-extend CONST_INTs.
3306 (movdi splits): Likewise.
3307
ccc27eab
KC
33082001-04-12 Kelley Cook <kelley.cook@home.com>
3309
3310 * config-lang.in (lang_dirs): Add in zlib.
3311
383252a7
AO
33122001-04-11 Alexandre Oliva <aoliva@redhat.com>
3313
3314 * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
3315 operands that make it to RTL.
3316
ee890fe2
SS
33172001-04-11 Stan Shebs <shebs@apple.com>
3318
3319 Add Darwin (Mac OS X kernel) native support.
3320 * config.gcc (powerpc-*-darwin*): Add native bits.
3321 * config/darwin.c: New file, generic Darwin support functions.
3322 * config/darwin.h: New file, generic Darwin definitions.
3323 * config/darwin-protos.h: New file, generic Darwin prototypes.
3324 * rs6000/darwin.h: New file, Darwin for PowerPC.
3325 * rs6000/t-darwin: New file, Darwin makefile fragment.
3326 * rs6000/rs6000.h (OBJECT_MACHO): New macro.
3327 (TARGET_MACHO): Ditto.
3328 (rs6000_abi): Add ABI_DARWIN.
3329 (RS6000_REG_SAVE): Add ABI_DARWIN case.
3330 (RS6000_SAVE_AREA): Ditto.
3331 (FP_ARG_MAX_REG): Ditto.
3332 (RETURN_ADDRESS_OFFSET): Ditto.
3333 * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
3334 cases.
3335 (rs6000_emit_move): Add ABI_DARWIN cases.
3336 (print_operand): Ditto.
3337 (first_reg_to_save): Ditto.
3338 (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
3339 (debug_stack_info): Ditto.
3340 (rs6000_emit_prologue): Ditto.
3341 (rs6000_emit_epilogue): Ditto.
3342 (output_profiler_hook): Ditto.
3343 (output_function_profiler): Ditto.
3344 (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
3345 (output_mi_thunk): Add TARGET_MACHO case.
3346 (add_compiler_stub): Ditto.
3347 (output_compiler_stub): Ditto.
3348 (no_previous_def): Ditto.
3349 (output_call): Ditto.
3350 (machopic_output_stub): Ditto.
3351 (rs6000_machopic_legitimize_pic_address): Ditto.
3352 (toc_section): Ditto.
3353 * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
3354 (macho_high): Ditto.
3355 (macho_low): Ditto.
3356 (movsi_low): Ditto.
3357 (load_macho_picbase): Ditto.
3358 (call): Add TARGET_MACHO case to modify function.
3359 (call_value): Ditto.
3360 (call_nonlocal_sysv): Add ABI_DARWIN case.
3361 (call_value_nonlocal_sysv): Ditto.
3362 * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
3363 Add prototype.
3364 (machopic_output_stub): Ditto.
3365 * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
3366
5101b304
MM
33672001-04-11 Mark Mitchell <mark@codesourcery.com>
3368
3369 * dwarf2out.c (modified_type_die): Don't create new types here.
3370 * tree.h (get_qualified_type): New function.
3371 (build_qualified_type): Adjust comment.
3372 * tree.c (get_qualified_type): New function.
3373 (build_qualified_type): Use it.
3374
c8abc684
KG
33752001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3376
3377 * cpp.texi (-Wtraditional): Update description.
3378
3379 * invoke.texi (-Wtraditional): Likewise.
3380
93dd6255
JW
33812001-04-11 Jim Wilson <wilson@redhat.com>
3382
3383 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
3384 requires more than 64 bits of alignment.
3385
2f5bf149
NB
33862001-04-11 Neil Booth <neil@daikokuya.demon.co.uk>
3387
3388 * cpplib.c (do_line): Sanity check iff enable checking.
3389
04f378ce
RH
33902001-04-11 Richard Henderson <rth@redhat.com>
3391
3392 * Makefile.in (insn-recog.o): Depend on toplev.h.
3393 (insn-emit.o, doloop.o): Likewise.
3394 * genrecog.c, genemit.c: Include toplev.h in generated file.
3395 * doloop.c: Include toplev.h.
3396
f1fa37ff
MM
33972001-04-11 Mark Mitchell <mark@codesourcery.com>
3398
3399 * Makefile.in (gcse.o): Depend on params.h.
3400 * gcse.c: Include params.h.
3401 (gcse_main): Don't do GCSE if doing so will take inordinate
3402 amounts of memory.
3403 * params.def (PARAM_MAX_GCSE_MEMORY): New parameter.
3404 * params.h (MAX_GCSE_MEMORY): New macro.
3405
f3a8030a
KG
34062001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3407
3408 * Makefile.in (insn-output.o): Depend on $(EXPR_H).
3409
3410 * genoutput.c (output_prologue): Include expr.h in insn-output.c.
3411
2ef56a41
KG
34122001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3413
68896bf9
KG
3414 * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
3415
3416 * real.h (ereal_atof, real_value_truncate, target_isnan,
3417 target_isinf, target_negative, assemble_real, debug_real): Delete
3418 redundant prototypes.
3419
d6684bc8
KG
3420 * Makefile.in (ifcvt.o): Depend on toplev.h.
3421
3422 * c-semantics.c: Include expr.h.
3423
3424 * ifcvt.c: Include toplev.h.
3425
3426 * expr.h (rtx_equal_p): Delete prototype.
3427
3428 * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
3429 protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
3430 eliminate_constant_term, expand_complex_abs, find_single_use,
3431 make_tree, init_expr_once, init_optabs, supports_one_only):
3432 Likewise.
ad087b92 3433
d6684bc8
KG
3434 * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
3435 rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
3436 expand_assignment, store_expr, emit_line_note_after,
3437 emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
ad087b92 3438
d6684bc8
KG
3439 * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
3440
2ef56a41
KG
3441 * sparc-protos.h: Delete redundant prototypes.
3442
550d7942
VM
34432001-04-11 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
3444
3445 * reload.c (push_reload): Add condition missed in SUBREG byte
3446 offset patch.
3447
8fe879c7
RO
3448Wed Apr 4 00:28:23 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3449
3450 * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
3451
037f20f1
JH
3452Wed Apr 11 14:06:10 CEST 2001 Jan Hubicka <jh@suse.cz>
3453
3454 * i386.md (floatsisf_sse): Fix output template
3455 * i386.c (ix86_expand_fp_movcc)
3456
3457 * reg-stack.c (emit_pop_insn): Handle complex modes.
3458 (move_for_stack_reg): Emit proper move mode.
3459 (subst_stack_regs_pat): Handle complex modes.
3460
01ef6563
JJ
34612001-04-11 Jakub Jelinek <jakub@redhat.com>
3462
3463 * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
3464
706701af
RH
34652001-04-10 Richard Henderson <rth@redhat.com>
3466
3467 * libgcc2.h (__terminate_func_ptr): Remove typedef.
3468 (__pure_virtual, __terminate, __terminate_set_func,
3469 __default_terminate, __throw_type_match, __empty,
3470 __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
3471 __eh_rtime_match, __unwinding_cleanup, __rethrow,
3472 __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
3473 Remove prototypes of deleted functions.
3474
03829ad2
KG
34752001-04-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3476
3477 * c-typeck.c (convert_arguments): -Wtraditional now activates
3478 -Wconversion warnings, except for changes in signed-ness.
3479 Detect complex<->int & int<->complex conversions as well.
3480
3481 * invoke.texi (-Wtraditional): Document it.
3482
c57718d3
RK
3483Tue Apr 10 17:45:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3484
3485 * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
3486 * flow.c (set_block_for_new_insns): Remove needless cast and
3487 properly check for unset block number.
3488
55107ee3
AM
34892001-04-10 Andrew MacLeod <amacleod@redhat.com>
3490
ad087b92 3491 * function.c (purge_single_hard_subreg_set): Only check REGNO if
55107ee3
AM
3492 the subreg was a hard register. Pseudos are left as subregs.
3493
6fa0f379 34942001-04-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
fa9518de
FS
3495
3496 * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
3497 (LIB2ADD_ST): New macro, pass it to mklibgcc.
3498 * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
ad087b92 3499 (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
fa9518de
FS
3500 * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
3501
d4f33f6c
BT
35022001-04-09 Bo Thorsen <bo@suse.co.uk>
3503
3504 * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
3505
5b3ad99f
AM
35062001-04-09 Andrew MacLeod <amacleod@redhat.com>
3507
ad087b92 3508 * output.h (set_block_num): Missed it earlier, remove deprecated
5b3ad99f
AM
3509 prototype.
3510
e2d2ed72
AM
35112001-04-09 Andrew MacLeod <amacleod@redhat.com>
3512
3513 * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
3514 (load_killed_in_block_p): Change bb parameter from int to basic_block.
3515 (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
3516 (handle_rd_kill_set): Change bb parameter from int to basic_block.
3517 (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
ad087b92 3518 (expr_killed_p): Change bb parameter from int to basic_block, pass
e2d2ed72
AM
3519 basic_blocks instead of ints as parameters.
3520 (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
ad087b92 3521 (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
e2d2ed72 3522 from int to basic_block, pass basic_blocks instead of ints as parms.
ad087b92 3523 (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
e2d2ed72
AM
3524 parameter from int to basic_block, pass basic_blocks instead of ints.
3525 (process_insert_insn): Pass basic_blocks instead of ints as parameters.
ad087b92 3526 (insert_insn_end_bb): Change bb parameter from int to basic_block,
e2d2ed72 3527 pass basic_blocks instead of ints.
ad087b92 3528 (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
e2d2ed72
AM
3529 basic_blocks instead of ints as parameters.
3530 (pre_delete): Pass basic_blocks instead of ints as parameters.
ad087b92 3531 (hoist_expr_reaches_here_p): Change bb parameter from int to
e2d2ed72
AM
3532 basic_block, pass basic_blocks instead of ints.
3533 (hoist_code): Pass basic_blocks instead of ints as parameters.
ad087b92 3534 (reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
e2d2ed72
AM
3535 Change bb parameter from int to basic_block.
3536 (build_store_vectors): Pass basic_blocks instead of ints as parameters.
ad087b92 3537 (insert_insn_start_bb): Change bb parameter from int to basic_block,
e2d2ed72
AM
3538 pass basic_blocks instead of ints.
3539 (insert_store): Pass basic_blocks instead of ints as parameters.
ad087b92 3540 (replace_store_insn, delete_store): Change bb parameter from int to
e2d2ed72
AM
3541 basic_block, pass basic_blocks instead of ints.
3542 (store_motion): Pass basic_blocks instead of ints as parameters.
3543
ccbaf064
AM
35442001-04-09 Andrew MacLeod <amacleod@redhat.com>
3545
3546 * basic-block.h (set_new_block_for_insns): New Prototype.
3547 (set_block_num): Delete prototype.
3548 * flow.c (set_block_num): Remove obsolete function.
3549 (set_block_for_new_insns): Set BB for single or multiple insns.
3550 * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
ad087b92 3551 (process_insn_end_bb): Use set_block_for_new_insns or
ccbaf064
AM
3552 set_block_for_insn instead of set_block_num.
3553 (pre_insert_copy_insn): Use set_block_for_new_insns.
3554 (update_ld_motion_stores): Use set_block_for_new_insns.
3555 (insert_insn_start_bb): Use set_block_for_new_insns.
3556 (replace_store_insn): Use set_block_for_new_insns.
3557
a13d4ebf
AM
35582001-04-09 Andrew MacLeod <amacleod@redhat.com>
3559 Jeff Law <law@redhat.com>
3560
3561 * alias.c (get_addr): Externalize.
3562 (canon_true_dependence): New function. Behaves like true_dependance
3563 except it already assumes a MEM has been canonicalized.
3564 * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
3565 * gcse.c (struct ls_expr): Add load/store expressions structure.
3566 (modify_mem_list, canon_modify_mem_list): New variable.
ad087b92 3567 (gcse_main): Initialize & finalize alias analysis. Use enhanced
a13d4ebf
AM
3568 load motion and store motion if requested.
3569 (alloc_gcse_mem): Allocate space for modify_mem_list array.
3570 (free_gcse_mem): Free the modify_mem_list array.
3571 (oprs_unchanged_p): Use load_killed_in_block_p.
3572 (gcse_mems_conflict_p, gcse_mem_operand): New variables.
ad087b92 3573 (mems_conflict_for_gcse_p): New function. Don't kill loads
a13d4ebf
AM
3574 with stores to themselves if its in the load/store expression list.
3575 (load_killed_in_block_p): New function.
3576 (canon_list_insert): New Function.
3577 (record_last_mem_set_info): Keep a list of all instructions which
3578 can modify memory for each basic block.
3579 (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
3580 (oprs_not_set_p): Use load_killed_in_block_p.
3581 (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
3582 (expr_killed_p): Use load_killed_in_block_p.
3583 (compute_transp): Do not pessimize memory references.
3584 (pre_edge_insert): Update stores for a load motion expression.
3585 (one_pre_gcse_pass): Check loads/stores for extra load motion.
3586 (ldst_entry): Find or create a ldst_expr structure.
3587 (free_ldst_entry): Free memory for an individual item.
3588 (free_ldst_mems): Free entire load/store expression list.
3589 (print_ldst_list): Print debug info.
3590 (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
3591 (enumerate_ldsts): Assign integer values to each entry in list.
3592 (first_ls_expr): First expression in the list.
3593 (next_ls_expr): Next expression in the list.
3594 (simple_mem): Check if expression qualifies for ld/st expression list.
3595 (invalidate_any_buried_refs): Remove from expression list if its
3596 used in some other way we dont understand.
3597 (compute_ld_motion_mems): Find all potential enhanced load motion
3598 expression.
3599 (trim_ld_motion_mems): Remove any expressions which are invalid.
3600 (update_ld_motion_stores): Copy store values to registers for loads
3601 which have been moved.
3602 (regvec, st_antloc, num_store): New global statics.
3603 (reg_set_info): Marks registers as set.
3604 (store_ops_ok): Verfies registers expressions are valid in a block.
3605 (find_moveable_store): Look for moveable stores in a pattern.
3606 (compute_store_table): Find stores in a function worth moving, maybe.
3607 (load_kills_store): Check dependance of a load and store.
3608 (find_loads): Find any loads in a pattern.
3609 (store_killed_in_insn): Check if a store is killed in an insn.
3610 (store_killed_after): Check is store killed after an insn in a block.
3611 (store_killed_before): Check is store killed before an insn in a block.
3612 (build_store_vectors): Generate the antic and avail vectors.
3613 (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
3614 (insert_store): Add a store to an edge.
3615 (replace_store_insn): Replace a store with a SET insn.
3616 (delete_store): Delete a store insn.
3617 (free_store_memory): Free memory.
3618 (store_motion): Perform store motion.
3619 * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
3620 * rtl.h (get_addr, canon_true_dependence): Add prototypes.
3621 * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
3622 (f_options): Add gcse-lm and gcse-sm.
3623
92d0fb09
JH
3624Mon Apr 9 16:18:03 CEST 2001 Jan Hubicka <jh@suse.cz>
3625
3626 * i386.c (expand_fp_movcc): Fix condition reversal code.
3627
3628 * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
3629 * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
3630 (CLASS_MAX_NREGS): Use it.
3631
3632 * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
3633 handle properly complex values.
3634 (CLASS_MAX_NREGS): Likewise; update comment.
3635
68340ae9
BS
36362001-04-05 Bernd Schmidt <bernds@redhat.com>
3637
3638 * ia64.c (ia64_flag_schedule_insns2): New variable.
3639 (ia64_override_options): Initialize it. Clear
3640 flag_schedule_insns_after_reload.
3641 (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
3642
46ed7963
JH
3643Mon Apr 9 15:09:13 CEST 2001 Jan Hubicka <jh@suse.cz>
3644
3645 * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
3646 Do not require source to match destination anymore;
3647 Add abort to the nontrivial cases that should be handled by split.
3648 (fix_trunc?fdi): Add SSE case for x86_64.
3649 (floatdi?f): Likewise.
3650 (floatdi?f_sse): New.
3651 (fix_trunc?fdi_sse): New.
3652
04448128
RS
36532001-04-09 Richard Sandiford <rsandifo@redhat.com>
3654
3655 * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
3656 (DEBUG_ARANGES_END_LABEL): Ditto.
3657 (dwarfout_init): Generate length and version fields at the start
3658 of the .debug_aranges info. Insert DEBUG_ARANGES_BEGIN_LABEL
3659 after the length field.
3660 (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
3661 the .debug_aranges info.
3662
39d04363
JH
3663Sun Apr 8 00:43:27 CEST 2001 Jan Hubicka <jh@suse.cz>
3664
3665 * i386.c (call, call_value): Make sure that resulting call_insn
3666 does have proper second operand.
3667
ab762be5
CF
3668Sun Apr 8 22:50:49 2001 Christopher Faylor <cgf@cygnus.com>
3669
3670 * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
3671 function. Remove include of sys/cygwin.h.
3672
9a33d505
CF
3673Sun Apr 8 22:20:27 2001 Christopher Faylor <cgf@cygnus.com>
3674
3675 * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
3676 (CPP_SPEC): Always search */include/w32api for header files.
3677 (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
3678 (LINK_SPEC): Add "cyg" to the library search prefixes.
3679
d4206a10
PB
36802001-04-08 Philip Blundell <philb@gnu.org>
3681
3682 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
3683
2f878973
NB
36842001-04-08 Neil Booth <neil@daikokuya.demon.co.uk>
3685
3686 * cpperror.c (print_location): Don't special case <stdin>.
3687 (_cpp_begin_message): Handle WARNING_SYSHDR the same as
3688 WARNING, but we don't check if we're in system headers.
3689 * cpplib.h (enum error_type): WARNING_SYSHDR: New.
3690 * cpplib.c (do_warning): Warn in system headers.
3691
f0225099
MK
36922001-04-07 Mumit Khan <khan@NanoTech.Wisc.EDU>
3693
3694 * mbchar.c: Include config.h first.
3695
b6d7afec
ZW
36962001-04-07 Zack Weinberg <zackw@stanford.edu>
3697
3698 * config.gcc: Set default for xmake_file at top, not bottom.
3699 Change places that set xmake_file to "none" to set to the
3700 empty string instead, or remove them entirely if there is no
3701 default xmake_file for this cpu_type. Remove references to
3702 deleted files.
3703
3704 * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
3705 config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
3706 config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
3707 config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
3708 config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
3709 config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
3710 config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
3711 config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
3712 config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
3713 config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
3714 Delete.
3715
3716 * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
3717 config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
3718 config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
3719 config/mips/x-sysv, config/rs6000/x-aix31:
3720 Just set CLIB to -lld or -lmld, as appropriate.
3721
3722 * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
3723 config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
3724 config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
3725 config/mips/x-iris, config/pa/x-pa:
3726 Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
3727 OTHER_FIXINCLUDES_DIRS.
3728
3729 * config/i386/x-djgpp: Don't set LN or LN_S.
3730 * config/m88k/x-dolph: Don't define __m88k__.
3731 * config/m88k/x-tekXD88: Don't set AR_FLAGS.
3732 * config/pa/x-pa-mpeix: Just set up quadlib.asm.
3733 * config/i860/fx2800.h: No need to #undef SVR4.
3734
3735 38 x-host fragments remain, 2 x-cpu.
3736
d0550d07
HB
37372001-04-07 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3738
3739 * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
3740
62fce11f
NB
37412001-04-06 Neil Booth <neil@daikokuya.demon.co.uk>
3742
3743 * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
3744
f9200da2
NB
37452001-04-06 Neil Booth <neil@daikokuya.demon.co.uk>
3746
3747 * configure.in: Add check for lstat.
3748 * configure, config.in: Regenerate.
3749 * cppinit.c (append_include_chain): Make empty path ".".
b6d7afec
ZW
3750 * cpplib.c (do_line): Don't simplify #line paths.
3751 * cppfiles.c (remove_component_p): New function.
f9200da2
NB
3752 (find_or_create_entry): Acknowledge stat () errors during
3753 path simplification.
3754 (handle_missing_header): Don't simplify paths.
b6d7afec
ZW
3755 (_cpp_simplify_pathname): Don't simplify VMS paths. Return
3756 the empty path untouched. Don't leave a trailing '/'.
f9200da2 3757
98c2359b 37582001-04-06 Benjamin Kosnik <bkoz@redhat.com>
b6d7afec 3759
98c2359b
BK
3760 * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
3761 * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
3762
7c092714
NB
37632001-04-06 Neil Booth <neil@daikokuya.demon.co.uk>
3764
3765 * cppfiles.c (open_file): Fail directories silently, but
3766 with an errno of NOENT set.
3767 (read_include_file): Move the common exit code to the sole
3768 caller. Return an int indicating success or failure. Let
3769 open_file handle directories.
3770 (stack_include_file): If read_include_file fails,
3771 push a "null" buffer.
3772
c39ada04
DD
37732001-04-05 DJ Delorie <dj@redhat.com>
3774
3775 * function.h (virtuals_instantiated): Declare.
3776 * function.c: (virtuals_instantiated): Make global.
3777 * calls.c (emit_library_call_value_1): Use
3778 virtual_outgoing_args_rtx only if it hasn't been instantiated.
3779 Otherwise, use the stack pointer directly.
3780
0ed08620
JH
3781Thu Apr 5 19:13:33 CEST 2001 Jan Hubicka <jh@suse.cz>
3782
3783 * i386.c (x86_initialize_trampoline): New global function.
3784 * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
3785 (INITIALIZE_TRAMPOLINE): Move offline.
3786 * i386-protos.h (x86_initialize_trampoline): Declare.
3787
ac62a60e
JH
3788Thu Apr 5 19:02:15 CEST 2001 Jan Hubicka <jh@suse.cz>
3789
3790 * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
3791 (lea_0): Rename to lea_1.
3792 (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
3793 (lea_general_?): Allow SImodes on TARGET_64BIT
3794 (lea_general_?_zext): New patterns.
3795 (call_1, call_1_rex64): Fix.
3796
b47b4f21
JH
3797Thu Apr 5 19:00:15 CEST 2001 Jan Hubicka <jh@suse.cz>
3798
3799 * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
3800
32ee7d1d
JH
3801Thu Apr 5 18:25:56 CEST 2001 Jan Hubicka <jh@suse.cz>
3802
3803 * i386.c (function_arg): Return constm1_rtx for last argument.
3804 (ix86_expand_prologue): Update gen_call calls.
3805 * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
3806 * i386.md (call_pop): Likewise.
3807 (call): Second operand is VOIDmode.
3808 (call_0): Likewise; Support 64bits.
3809 (call_exp): New expander.
3810 (call_1): Get to the sync.
3811 (call_1_exp): New pattern.
3812 (call_value): Support 64bit.
3813 (call_value_exp): New pattern.
3814 (untyped_call): Update gen_call call.
3815 (call_value_pop): Disable for 64bit.
3816 (call_value_0_rex64): New pattern.
3817 (call_value_1_rex64): Likewise.
3818
60e589ef
BT
38192001-04-05 Bo Thorsen <bo@suse.de>
3820
3821 * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
3822
93b23859
R
3823Thu Apr 5 13:44:17 2001 J"orn Rennecke <amylaar@redhat.com>
3824
b6d7afec 3825 * i386.md (*andsi_1+3): If used after reload, make sure the operand
93b23859
R
3826 satisfies ANY_QI_REG_P.
3827
0c23cca3
BS
38282001-04-05 Bernd Schmidt <bernds@redhat.com>
3829
1032c357
BS
3830 * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
3831 ASM_OPERAND.
3832
0c23cca3
BS
3833 * sched-deps.c (sched_analyze_insn): Revert more of the March 27
3834 change.
3835
4dc0535b
ZW
38362001-04-04 Zack Weinberg <zackw@stanford.edu>
3837
3838 * config.gcc: Remove default for xm_file. Clean up local
3839 machine type handling. Remove settings of xm_file to
3840 something that doesn't exist. In the big switch, set xm_file,
3841 don't append to it (the value before the big switch is always
3842 null). Don't force build_xm_file or host_xm_file to have a value.
60e589ef
BT
3843 * configure.in: Remove default for xm_file. Do not special
3844 case $cpu/xm-$cpu.h not existing.
4dc0535b
ZW
3845 * configure: Regenerate.
3846
b0835578
DN
38472001-04-04 Diego Novillo <dnovillo@redhat.com>
3848
3849 * simplify-rtx.c (simplify_binary_operation): Check for overflow
3850 when folding integer division and modulo operations.
3851
12f0b96b
AM
38522001-04-04 Andrew MacLeod <amacleod@redhat.com>
3853
60e589ef 3854 * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
12f0b96b 3855 instead of DWARF2_ADDR_SIZE for EH addresses.
60e589ef 3856 (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
12f0b96b
AM
3857 EH addresses.
3858
1b4356ed
RH
38592001-04-04 Richard Henderson <rth@redhat.com>
3860
3861 * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
3862 * config/ia64/t-glibc (LIB2ADDEH): Disable.
3863 * config/ia64/t-ia64 (LIB2ADDEH): Disable.
3864
3d399d67
RH
38652001-04-04 Richard Henderson <rth@redhat.com>
3866
3867 * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
3868 * configure: Rebuilt.
3869
8e184d9c
JJ
38702001-04-04 Jakub Jelinek <jakub@redhat.com>
3871
3872 * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
3873 push insns to delete to it instead of deleting them.
3874 (delete_null_pointer_checks): Delete insns from delete_list after
3875 all delete_null_pointer_checks_1 passes are done.
3876
dd7fc59c
RH
38772001-04-04 Richard Henderson <rth@redhat.com>
3878
3879 * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
3880 * configure: Rebuilt.
3881
c3fa1afd
ZW
38822001-04-04 Zack Weinberg <zackw@stanford.edu>
3883
3884 * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
3885 * config/romp/xm-romp.h: Delete.
3886
79ba58ef
BS
38872001-04-04 Bernd Schmidt <bernds@redhat.com>
3888
3889 * sched-deps.c (sched_analyze_insn): Partially revert March 27
3890 change.
3891
e5bef2e4
HB
38922001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3893
3894 * emit-rtl.c (mark_label_nuses) Increment the label uses for
3895 all labels present in rtx.
3896 (try_split) Call new function for all split insns.
3897
347f3440
JJ
38982001-04-04 Jakub Jelinek <jakub@redhat.com>
3899
3900 * recog.c (validate_replace_rtx_1): Instead of aborting just make
3901 sure the change won't be validated.
3902
7142e318
JW
3903Wed Apr 4 00:45:38 EDT 2001 John Wehle (john@feith.com)
3904
3905 * rtl.h (set_noop_p): Declare.
3906 * flow.c (set_noop_p): Move from here ...
3907 * rtlanal.c (set_noop_p): ... to here and enhance.
3908 * cse.c (delete_trivially_dead_insns): Use it.
3909 * gcse.c (hash_scan_set): Likewise.
3910 * jump.c (delete_noop_moves): Likewise.
3911 * recog.c (split_all_insns): Likewise.
3912
19ec6a36
AM
39132001-04-04 Alan Modra <alan@linuxcare.com.au>
3914
3915 * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
3916 stack pointer via a LO_SUM. Ditto for setting a temp register
3917 used to save to the stack. Set cfa_temp when setting fp, and
3918 allow matches to cfa_temp in addition to cfa_store when saving
3919 regs. Handle POST_INC and LO_SUM register stores. Document the
3920 changes and errors in rule 12 doco.
3921
3922 * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
3923 (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
3924 (load_reg): Move closer to epilogue code.
3925 (DO_FRAME_NOTES): Define to control the following..
3926 (FRP): Define to set RTX_FRAME_RELATED_P on insns.
3927 (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
3928 notes as necessary.
3929 (hppa_expand_epilogue): Likewise.
3930
78e766a0
RH
39312001-04-03 Richard Henderson <rth@redhat.com>
3932
3933 * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
3934 * configure: Rebuild.
3935
9555a122
RH
39362001-04-03 Richard Henderson <rth@redhat.com>
3937
3938 * rtl.h (LCT_THROW): New.
3939 * calls.c (emit_library_call_value_1): Handle it.
3940 * except.c (connect_post_landing_pads): Use it.
3941
d02af173
ZW
39422001-04-03 Zack Weinberg <zackw@stanford.edu>
3943
3944 * gansidecl.h: Delete file.
3945 * configure.in: Change all refs to gansidecl.h to use
3946 ansidecl.h. Adjust *_file_list so they know where ansidecl.h
3947 lives.
3948 * configure: Regenerate.
3949
3950 * Makefile.in (intl.o): Don't depend on gansidecl.h.
3951 * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
3952 * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
3953 Don't include gansidecl.h.
3954 * intl.c, main.c, version.c, fixinc/fixlib.h,
3955 fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
3956 gansidecl.h.
3957
898d374d
JH
3958Tue Apr 3 19:41:21 CEST 2001 Jan Hubicka <jh@suse.cz>
3959
3960 * i386.c (ix86_force_to_memory, ix86_free_from_memory):
3961 Update for 64bit.
3962
547a559d
ZW
39632001-04-03 Zack Weinberg <zackw@stanford.edu>
3964
3965 * config/i386/xm-beos.h, config/i386/xm-isc.h,
3966 config/i386/xm-next.h, config/i386/xm-sco.h,
3967 config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
3968 config/m88k/xm-m88k.h: Delete.
3969
3970 * config/i386/xm-djgpp.h: Don't define __MSDOS__.
3971 * config/romp/xm-romp.h: Don't define bcopy.
3972 * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
3973 HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
3974
3975 * config.gcc: Remove references to deleted files.
3976
3977 14 xm-host.h remain, 1 xm-cpu.h.
3978
ddef6bc7
JJ
39792001-04-03 Jakub Jelinek <jakub@redhat.com>
3980 David S. Miller <davem@pierdol.cobaltmicro.com>
d02af173 3981 Andrew MacLeod <amacleod@redhat.com>
ddef6bc7
JJ
3982
3983 Use byte offsets in SUBREGs instead of words.
3984
3985 * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
3986 * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
3987 to pass new argument.
3988 (add_stored_regs): Use subreg_regno_offset function.
3989 * calls.c (expand_call): For non-paradoxical SUBREG take endianess
3990 into account.
3991 (precompute_arguments): Use gen_lowpart_SUBREG.
3992 * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
3993 (combine_simplify_rtx): Rework to use SUBREG_BYTE.
3994 (simplify_set): Rework to use SUBREG_BYTE.
3995 (expand_field_assignment): Use SUBREG_BYTE.
3996 (make_extraction): Use SUBREG_BYTE.
3997 (if_then_else_cond): Use SUBREG_BYTE.
3998 (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
3999 (gen_lowpart_for_combine): Compute full byte offset.
4000 * cse.c (mention_regs): Use SUBREG_BYTE.
4001 (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
4002 (canon_hash): Use SUBREG_BYTE.
4003 (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
4004 (gen_lowpart_if_possible): Formatting.
4005 * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
4006 correctly.
4007 * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
4008 (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4009 (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4010 * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
4011 (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4012 (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4013 * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
4014 certain invariants about SUBREGs the compiler creates.
4015 (gen_lowpart_SUBREG): New function.
4016 (subreg_hard_regno): New function to get the final register number.
4017 (gen_lowpart_common): Use SUBREG_BYTE.
4018 (gen_imagpart): Spacing nits.
4019 (subreg_realpart_p): Use SUBREG_BYTE.
4020 (gen_highpart): Use SUBREG_BYTE.
4021 (subreg_lowpart_p): Always compute endian corrected goal offset,
4022 even at the byte level, then compare against that.
4023 (constant_subword): New function, pulled out all constant cases
4024 from operand_subword and changed second argument name to offset.
4025 (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
d02af173 4026 and call constant_subword to do the work. Return const0_rtx if
ddef6bc7
JJ
4027 looking for a word outside of OP.
4028 (operand_subword_force): Change second arg name to offset.
4029 * expmed.c (store_bit_field): Use SUBREG_BYTE.
4030 (store_split_bit_field): Use SUBREG_BYTE.
4031 (extract_bit_field): Use SUBREG_BYTE.
4032 (extract_split_bit_field): Use SUBREG_BYTE.
4033 (expand_shift): Use SUBREG_BYTE.
d02af173 4034 * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
ddef6bc7
JJ
4035 * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
4036 * flow.c (set_noop_p): Use SUBREG_BYTE.
4037 (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
4038 * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
4039 (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
4040 correction code.
4041 (optimize_bit_field): Use SUBREG_BYTE.
4042 (purge_addressof_1): Use SUBREG_BYTE.
4043 (purge_single_hard_subreg_set): Use subreg_regno_offset function.
d02af173 4044 (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
ddef6bc7
JJ
4045 actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
4046 * gengenrtl.c (special_rtx): Add SUBREG.
4047 * global.c (mark_reg_store): Use SUBREG_BYTE.
4048 (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
4049 * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
4050 * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
4051 final byte offset is congruent to subreg's mode size.
4052 (subst_constants): Use SUBREG_BYTE.
4053 (mark_stores): Use subreg_regno_offset function.
4054 * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
4055 function and SUBREG_BYTE.
4056 * local-alloc.c (combine_regs): Use subreg_regno_offset function.
4057 (reg_is_born): Use subreg_hard_regno.
4058 * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
d02af173 4059 endian correction code. Don't combine subregs unless resulting
ddef6bc7
JJ
4060 offset aligns with type. Fix subreg constant extraction for DImode.
4061 Simplify SUBREG of VOIDmode CONST_DOUBLE.
4062 (general_operand): Remove dead mode_altering_drug code.
4063 (indirect_operand): Use SUBREG_BYTE.
4064 (constrain_operands): Use subreg_regno_offset function.
4065 * reg-stack.c (get_true_reg): Use subreg_regno_offset function.
4066 * regmove.c (regmove_optimize): Use SUBREG_BYTE.
4067 (optimize_reg_copy_3): Use gen_lowpart_SUBREG.
4068 * regs.h (REG_SIZE): Allow target to override.
4069 (REGMODE_NATURAL_SIZE): New macro which target can override.
d02af173 4070 * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
ddef6bc7
JJ
4071 on the entire subreg rtx.
4072 (push_reload): Use SUBREG_BYTE in comments and code.
4073 (find_dummy_reload): Use subreg_regno_offset. Only adjust offsets
4074 for hard registers inside subregs.
4075 (operands_match_p): Use subreg_regno_offset.
d02af173 4076 (find_reloads): Use SUBREG_BYTE and only advance offset for subregs
ddef6bc7
JJ
4077 containing hard regs.
4078 (find_reload_toplev): Use SUBREG_BYTE. Remove byte endian
4079 corrections when fixing up MEM subregs.
4080 (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
4081 subreg_regno_offset where appropriate.
4082 (find_reloads_subreg_address): Use SUBREG_BYTE. Remove
4083 byte endian corrections when fixing up MEM subregs.
4084 (subst_reloads): When combining two subregs, make sure final
4085 offset is congruent to subreg's mode size.
4086 (find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
4087 (refers_to_regno_for_reload_p): Use subreg_regno.
4088 (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
4089 * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
4090 correction code for memory subreg fixups.
4091 (forget_old_reload_1): Use subreg_regno_offset.
4092 (choose_reload_regs): Use subreg_regno.
4093 (emit_input_reload_insns): Use SUBREG_BYTE.
4094 (reload_combine_note_store): Use subreg_regno_offset.
4095 (move2add_note_store): Use subreg_regno_offset.
d02af173 4096 * resource.c (update_live_status, mark_referenced_resources): Use
ddef6bc7
JJ
4097 subreg_regno function.
4098 (mark_set_resources): Use subreg_regno function.
4099 * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
4100 (subreg_regno_offset, subreg_regno): Define prototypes.
4101 (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
4102 (gen_lowpart_SUBREG): Add prototype.
4103 * rtl.texi (subreg): Update to reflect new byte offset representation.
4104 Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
4105 * rtlanal.c (refers_to_regno_p): Use subreg_regno.
4106 (reg_overlap_mentioned_p): Use subreg_regno.
4107 (replace_regs); Make sure final offset of combined subreg is
4108 congruent to size of subreg's mode.
4109 (subreg_regno_offset): New function.
4110 (subreg_regno): New function.
4111 * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
4112 * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
4113 * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
4114 * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
4115 (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
4116 * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
4117 (a29k_get_reloaded_address): Use SUBREG_BYTE.
4118 (print_operand): Use SUBREG_BYTE.
4119 * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
4120 * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
4121 (arm_reload_out_hi): Use SUBREG_BYTE.
4122 * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
4123 instead of SUBREG_WORD.
4124 (d30v_print_operand_memory_reference): Use subreg_regno_offset.
4125 * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
4126 SUBREG creation to use byte offset.
4127 * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
4128 inverted load insns): Fix explicit rtl subregs to use byte
4129 offsets.
4130 * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
4131 udivsi3, umodsi3): Generate SUBREGs with byte offsets.
4132 * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
4133 * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
4134 to use byte offsets.
4135 (unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
4136 * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
4137 offsets, also make sure it is congruent to SUBREG's mode size.
4138 (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
4139 unnamed ldob insn): Generate SUBREGs with byte offset.
4140 (zero_extendqihi2): SUBREG's are byte offsets.
4141 * config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
4142 (m68hc11_gen_highpart): Use SUBREG_BYTE.
4143 * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
4144 zero-extendqisi2): Generate SUBREGs with byte offset.
4145 (umulsidi3, mulsidi3, subreghi1ashrdi_const32,
4146 subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
4147 subregs in rtl to use byte offsets.
4148 * config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
4149 * config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
4150 (mips_move_2words): Use subreg_regno_offset.
4151 (mips_secondary_reload_class): Use subreg_regno_offset.
4152 * config/mips/mips.md (DImode plus, minus, move, and logical op
4153 splits): Fixup explicit subregs in rtl to use byte offsets.
4154 * config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
4155 * config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
4156 * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
4157 rtl to use byte offsets.
4158 * config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
4159 * config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
4160 subregs to use byte offsets.
4161 * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
4162 Fixup explicit subregs in rtl to use byte offsets.
4163 * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
4164 and remove byte endian correction code.
4165 * config/sh/sh.c (output_movedouble): Use subreg_regno.
4166 (gen_ashift_hi): Use SUBREG_BYTE.
4167 (regs_used): Use subreg_regno_offset.
4168 (machine_dependent_reorg): Use subreg_regno_offset.
4169 * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
4170 * config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
4171 (movdf_i4): Subregs are byte offsets now.
4172 * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
4173 * config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
4174 (REGMODE_NATURAL_SIZE): Override.
4175 (REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
4176 * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
4177 with byte offsets.
4178 (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
4179 extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
4180 extendqidi2): Generate SUBREGs with byte offsets, also make sure
4181 it is congruent to SUBREG's mode size.
4182 (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
4183 offsets.
d02af173
ZW
4184 (cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
4185 cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
ddef6bc7
JJ
4186 lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
4187 SUBREG_BYTE offset for non-paradoxical subregs in patterns.
d02af173 4188 * config/v850/v850.c (print_operand, output_move_double): Use
ddef6bc7
JJ
4189 subreg_regno function.
4190
ef14c259
AO
41912001-04-03 Alexandre Oliva <aoliva@redhat.com>
4192
924c96eb
AO
4193 * configure.in (target_subdir): Use target_alias, not target.
4194 * configure: Rebuilt.
4195
ef14c259
AO
4196 * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
4197 other way round.
4198 * config/sh/crti.asm: Fix typos in comments.
4199
a7721dc0
AM
42002001-04-03 Alan Modra <alan@linuxcare.com.au>
4201
4202 * pa.h: Revise comments for TARGET_NO_SPACE_REGS and
4203 TARGET_FAST_INDIRECT_CALLS.
4204 * pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
4205 -fPIC. Don't warn.
4206 (return_addr_rtx): Short circuit export stub matching when
4207 TARGET_NO_SPACE_REGS.
4208 (output_millicode_call): For out of range calls, make -fPIC
4209 take precedence, then TARGET_PORTABLE_RUNTIME, then ble. Don't
4210 return before delay slot checks when TARGET_PORTABLE_RUNTIME.
4211 * pa.md: Modify length attr calculation of all millicode insns to
4212 match above.
4213
fbe42b1b
GK
42142001-04-02 Geoffrey Keating <geoffk@redhat.com>
4215
4216 * configure.in (gcc_cv_as_leb128): Correct name of cache variable.
4217 Require at least 2.11 in the version test. Specifically check
4218 for and reject GAS version 2.10.90.
4219 * configure: regenerate.
4220
1c7a8112
AM
42212001-04-03 Alan Modra <alan@linuxcare.com.au>
4222
a7721dc0 4223 * pa.c (override_options): Remove PIC profiling warning.
1c7a8112
AM
4224 (hp_profile_labelno): Delete.
4225 (hp_profile_label_rtx): Delete.
4226 (hp_profile_label_name): Delete.
4227 (pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
4228 (output_function_prologue): Remove profiling code and all tests on
4229 profile_flag. Move store of PIC_OFFSET_TABLE_REGNUM now that
4230 merge_sp_adjust_with_store can work for PIC and profiling.
4231 (hppa_expand_epilogue): Remove profile_flag test.
4232 (hppa_can_use_return_insn_p): Likewise.
4233 (hppa_init_pic_save): Emit before tail_recursion_reentry, and
4234 cater for PROFILE_HOOK.
4235 (hppa_profile_hook): New function.
a7721dc0 4236 * pa.h (FUNCTION_PROFILER): Now does nothing.
1c7a8112
AM
4237 (PROFILE_HOOK): Define.
4238 (hppa_profile_hook): Declare.
4239 (PROFILE_BEFORE_PROLOGUE): Delete.
4240 (ASM_OUTPUT_REG_PUSH): Delete.
4241 (ASM_OUTPUT_REG_POP): Delete.
a7721dc0
AM
4242 * pa.md (call_profiler): Turn it into a call insn, and don't `use'
4243 r24. Accept function name operand, and use this and a locally
4244 generated label to calculate pc-rel offset to func start.
1c7a8112 4245
2a3e8203
KG
42462001-04-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4247
4248 * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
4249 ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
4250 $(SYSTEM_H).
4251
9ae21d2a
AM
42522001-04-03 Alan Modra <alan@linuxcare.com.au>
4253
4254 * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
4255 LO_SUM cases to where they belong.
4256
847abd1f
RH
42572001-04-02 Richard Henderson <rth@redhat.com>
4258
4259 * except.h (lang_eh_type_covers): Mark extern.
4260 (lang_eh_runtime_type): Likewise.
4261
0313e85b
ZW
42622001-04-02 Zack Weinberg <zackw@stanford.edu>
4263
4264 * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
4265 gengenrtl.c: Wrap generated header in multiple-include guard.
4266 Improve error checking.
4267
79cb7361
KG
42682001-04-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4269
4270 * configure.in: Don't check for putenv.
4271 * configure: Regenerate.
4272 * gcc.c (putenv): Don't define.
4273 * vax/xm-vms.h: Handle putenv.
4274
32ff70d2
JJ
42752001-04-02 Jakub Jelinek <jakub@redhat.com>
4276
4277 * ifcvt.c (noce_emit_move_insn): New.
4278 (noce_try_store_flag, noce_try_store_flag_constants,
4279 noce_try_store_flag_inc, noce_try_store_flag_mask,
4280 noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
4281 noce_try_abs): Use it.
4282 (noce_process_if_block): Likewise.
4283 For STRICT_LOW_PART, take mode from its SUBREG.
4284
d791ea1e
JJ
42852001-04-02 Jakub Jelinek <jakub@redhat.com>
4286
4287 * fold-const.c (fold): Before optimizing unsigned comparison with
4288 0x7fffffffU, make sure arg0 is integral type.
4289
c6955d85
JM
42902001-04-02 Joseph S. Myers <jsm28@cam.ac.uk>
4291
4292 * c-tree.texi: Document representation of wide strings.
4293
efc45658
RH
42942001-04-01 Richard Henderson <rth@redhat.com>
4295
4296 * except.h (expand_builtin_dwarf_fp_regnum): Declare.
4297
e74061a9
JH
4298Sun Apr 1 11:49:05 CEST 2001 Jan Hubicka <jH@suse.cz>
4299
4300 * i386.md: remove obsoleted comments.
4301 (adddi_?): Rename to adddi_?_rex64; disable for 32bit.
4302 (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
4303 fix output template.
4304
7656d28a
MM
43052001-03-31 Marek Michalkiewicz <marekm@linux.org.pl>
4306
4307 * config/avr/libgcc.S (__mulhi3): Optimize previous change.
4308
1757e774
BS
43092001-03-30 Bernd Schmidt <bernds@redhat.com>
4310
4311 * loop.c (load_mems): When generating a load from a pseudo, update
4312 REGNO_LAST_UID.
4313
886cbb88
JH
4314Fri Mar 30 17:36:43 CEST 2001 Jan Hubicka <jh@suse.cz>
4315
4316 * i386.c (ix86_split_long_move): Use change address to compensate
4317 stack pointer change in push instruction.
4318
f021d6fc
JH
4319Fri Mar 30 00:31:00 CEST 2001 Jan Hubicka <jh@suse.cz>
4320
4321 * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
4322 instead of rtx_equal_p; fix the output template.
4323
885a70fd
JH
4324Fri Mar 30 00:21:41 CEST 2001 Jan Hubicka <jh@suse.cz>
4325
4326 * i386.c (ix86_expand_setcc): Support 64bit.
4327 (ix86_expand_int_movcc): Likewise.
4328 * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
4329 New patterns.
4330
4331 * i386.md (allocate_stack_worker): Turn to expander.
4332 (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
4333
4334 * i386.c (print_reg): Do not print x86_64 style regs on IA-32
4335
e4b776a6
RH
43362001-03-29 Richard Henderson <rth@redhat.com>
4337
4338 * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
4339
498cf3d0
MH
43402001-03-28 Matthew Hiller <hiller@redhat.com>
4341
4342 * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
4343 output template.
4344
4345 * MAINTAINERS: Added self.
d02af173 4346
2bb9b75d
RH
43472001-03-28 Richard Henderson <rth@redhat.com>
4348
4349 * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
4350 Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
4351
2bf47a10
JW
43522001-03-28 Jim Wilson <wilson@redhat.com>
4353
4354 * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
4355 operand_subword.
4356
3fdefbcc
KG
43572001-03-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4358
4359 * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
4360
4361 * tradcif.y (yyerror): Likewise. Add format specifier in call to
4362 `error'.
d02af173 4363
3fdefbcc
KG
4364 * tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
4365
0ac19cfa
DD
43662001-03-28 DJ Delorie <dj@redhat.com>
4367
4368 * Makefile.in (stage1_build): Revert CFLAGS patch.
4369
500164d2
MM
43702001-03-28 Marek Michalkiewicz <marekm@linux.org.pl>
4371
4372 * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
4373 when multiplier or multiplicand is zero.
4374
669ff14e
BS
43752001-03-28 Bernd Schmidt <bernds@redhat.com>
4376
4377 * cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
4378
112333d3
BS
4379 * config/ia64/ia64.c (update_set_flags): New function, broken out of
4380 rtx_needs_barrier.
4381 (set_src_needs_barrier): Likewise.
4382 (rtx_needs_barrier): For SET case, use these two functions. Rework
4383 PARALLEL case to handle all inputs before all outputs.
4384 (emit_insn_group_barriers): Call init_insn_group_barriers only if we
4385 saw a label and no stop bit since then.
4386 (maybe_rotate, process_epilogue): Add prototypes.
4387
3553b09d
RH
43882001-03-28 Richard Henderson <rth@redhat.com>
4389
4390 * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
4391 not TARGET_TOC for special toc restore handling.
4392 * config/rs6000/rs6000.md (eh_return): Likewise.
4393
4573b4de
RH
43942001-03-28 Richard Henderson <rth@redhat.com>
4395
1150a841
RH
4396 * config/sparc/sparc.c (eligible_for_epilogue_delay): False if
4397 current_function_calls_eh_return.
4398 (output_function_epilogue): Handle eh_return.
4399 * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
4400 (EH_RETURN_DATA_REGNO): New.
4401 (EH_RETURN_STACKADJ_RTX): New.
4402 (EH_RETURN_HANDLER_RTX): New.
4403 * config/sparc/sparc.md (call/short branch peepholes): Check
4404 can_throw_internal instead of in_same_eh_region.
4405
83720594
RH
4406 * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
4407 for eh_return data registers.
4408 (rs6000_emit_prologue): Save eh_return data registers.
4409 (rs6000_emit_epilogue): Force inline restores if eh_return.
4410 Restore eh_return data registers. Mind EH_RETURN_STACKADJ_RTX.
4411 * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
4412 (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
4413 (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
4414 the target uses one.
4415 * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
4416 (return_eh_si, return_eh_di): Remove.
4417 (eh_return): New, from corpse of eh_epilogue.
4418 (eh_set_lr_si, eh_set_lr_di): New.
4419
1020a5ab
RH
4420 * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
4421 (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
4422 True for pic register if current_function_calls_eh_return.
4423 (ix86_expand_epilogue): Change "emit_return" argument into "style".
4424 Handle eh_return requirements.
4425 * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
4426 (EH_RETURN_STACKADJ_RTX): New.
4427 * config/i386/i386.md (exception_receiver): Remove.
4428 (eh_return, eh_return_1): New.
4429 * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
4430
4431 * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
4432 (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
4433 (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
4434 * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
4435 (EH_RETURN_DATA_REGNO): New.
4436 (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
4437 * config/alpha/alpha.md (eh_epilogue): Remove.
4438 (exception_receiver): Use $26 for ldgp input.
4573b4de
RH
4439 * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
4440
52a11cbf
RH
44412001-03-28 Richard Henderson <rth@redhat.com>
4442
4443 * except.c: Rewrite entirely for IA-64 ABI exception handling.
4444 * except.h: Likewise.
4445
4446 * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
4447 (LIB2ADDEHDEP): New.
4448 (LIB2FUNCS_EH): Remove.
4449 (LIB2ADD): Remove LIB2ADDEH.
4450 (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
4451 (LIBGCC_DEPS): Use LIB2ADDEHDEP.
4452 (crt{begin,end}[S].o): Likewise.
4453 (except.o): Update includes.
4454 * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
4455 (libgcc2_c_dep): Use LIB2ADDEHDEP.
4456
4457 * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
4458 * bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
4459 * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
4460 * builtins.c (expand_builtin): Implement it.
4461 [BUILT_IN_EH_RETURN]: Update for nr arguments change.
4462 * c-common.c (c_common_nodes_and_builtins): Declare it.
4463 * c-decl.c (init_decl_processing): Update __builtin_eh_return.
4464 * calls.c (libfunc_nothrow): Remove.
4465 (emit_library_call_value_1): Don't call it.
4466 * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
4467 * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
4468 (DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
4469 * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
4470 (current_funcdef_number): Globalize.
4471 (output_call_frame_info): Emit frame data if an lsda is needed.
4472 Generate augmentation for personality routine. Don't play with
4473 difference symbols.
4474 (dwarf2out_begin_prologue): Record funcdef_number.
4475 * dwarf2out.h (current_funcdef_number): Declare.
4476 * expr.c (expand_expr): Update for except.h name changes.
4477 Remove POPDCC_EXPR, POPDHC_EXPR. Add EXC_PTR_EXPR.
4478 * expr.h (LTI_throw, LTI_rethrow): Remove.
4479 (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
4480 (LTI_eh_rtime_match): Remove.
4481 (LTI_unwind_resume, LTI_eh_personality): Add.
4482 (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
4483 * final.c (final): Don't call check_exception_handler_labels,
4484 init_insn_eh_region, or free_insn_eh_region.
d02af173 4485 (final_scan_insn): Always emit debug labels for
52a11cbf
RH
4486 NOTE_INSN_EH_REGION notes.
4487 * flags.h (flag_new_exceptions): Remove.
4488 * flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
4489 (record_active_eh_regions): Remove.
4490 (count_basic_blocks): Check all instructions for REG_EH_REGION.
4491 Use can_throw_internal.
4492 (find_basic_blocks_1): Likewise.
4493 (move_stray_eh_region_notes): Remove.
4494 (find_label_refs): No eh_return_stub_label.
4495 (make_edges): Likewise. No init/free_eh_nesting_info. Handle RESX.
4496 (make_eh_edge): No eh_nest_info. Update for reachable_handlers
4497 changes.
4498 (delete_unreachable_blocks): Don't track deleted handlers.
4499 (flow_delete_block): Use maybe_remove_eh_handler.
4500 (delete_eh_regions): Remove.
4501 (merge_blocks): Don't check for eh region match.
d02af173 4502 (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
52a11cbf
RH
4503 EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
4504 (init_propagate_block_info): Disable dead frame store optimization
4505 when current_function_calls_eh_return.
4506 (dump_bb): Don't print eh_beg, eh_end.
4507 * function.c (fixup_var_refs): No catch_clauses.
4508 (expand_function_end): Likewise. Call expand_eh_return before
4509 the return register use. Call sjlj_emit_function_exit_after.
4510 (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
4511 * function.h (struct function): Add calls_eh_return, uses_eh_lsda.
4512 * ifcvt.c (dead_or_predicable): Remove eh region check.
4513 * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
4514 Don't check for EH vs parameters.
4515 (expand_inline_function_eh_labelmap, eif_eh_map): Remove.
4516 (expand_inline_function): Call duplicate_eh_regions.
4517 (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
4518 (copy_insn_notes): Remap REG_EH_REGION notes.
4519 (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
4520 * integrate.h (struct inline_remap): Add local_return_label.
4521 * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
4522 check_exception_handler_labels, nor exception_optimize.
4523 (find_cross_jump): No EH region check.
4524 * optabs.c (init_optabs): Update for changed eh libfuncs.
4525 * rtl.def (RESX): New.
4526 * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
4527 * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
4528 checks. Update for except.h name changes.
4529 (expand_cleanups): Likewise.
4530 (expand_dcc_cleanup, expand_dhc_cleanup): Remove.
4531 * toplev.c (dump_file_index, dump_file): Add .02.eh dump.
4532 (compile_file): Call init_eh before init_optabs. Don't
4533 output_exception_table here.
4534 (rest_of_compilation): Call convert_from_eh_region_ranges,
4535 convert_to_eh_region_ranges, output_function_exception_table.
4536 Don't emit_eh_context.
4537 * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
4538 (EXC_PTR_EXPR): New.
4539
4540 * md.texi (eh_epilogue): Remove.
4541 (eh_return): Document.
4542 * tm.texi (EH_RETURN_DATA_REGNO): Document.
4543 (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
4544
4545 * eh-common.h: Remove file.
4546 * frame-dwarf2.c, frame.c, frame.h: Remove files.
4547 * libgcc2.c (L_eh): Remove.
4548
4549 * unwind-dw2-fde.c: New file, largely copied from frame.c.
4550 * unwind-dw2-fde.h: New file.
4551 * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
4552 * unwind-sjlj.c, unwind.h, unwind.inc: New files.
4553 * libgcc-std.ver: Update for eh symbols.
4554
c1e9f663
RH
45552001-03-27 Richard Henderson <rth@redhat.com>
4556
a614d82e
RH
4557 * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
4558 reduce false positives.
4559 (regmove_optimize): Disable if flag_non_call_exceptions.
4560
7cc8342c
RH
4561 * stmt.c (expand_return): Remove always true predicate.
4562 (expand_decl_cleanup_no_eh): Remove dead code.
4563
ca3c1028
RH
4564 * sched-deps.c (sched_analyze_insn): Consolidate scheduling
4565 barrier code. Add a scheduling barrier if a non-call insn
4566 can throw internally.
4567
4f73495e
RH
4568 * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
4569 Auto-inc addresses trap only if their base register does.
4570
54590688
RH
4571 * except.c (can_throw_internal): Rename from can_throw.
4572 * except.h, resource.c: Update references.
4573
8cd44271
RH
4574 * integrate.c (copy_insn_list): Use returnjump_p.
4575 (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
4576
89996b6e
RH
4577 * function.h (struct function): Move all boolean valued fields
4578 to single bit fields at the end of the struct.
4579
c1e9f663
RH
4580 * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
4581 jump.c, toplev.c:
4582 Rename asynchronous_exceptions to flag_non_call_exceptions.
4583
d02af173 4584 * gthr-single.h (UNUSED): New. Distinguish between how C
e64a6541
RH
4585 and C++ mark unused function arguments. Use throughout.
4586
531073e7
RH
4587 * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
4588 value to target configuration header.
4589 * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
4590 * config.in, configure: Rebuild.
4591 * except.h (USING_SJLJ_EXCEPTIONS): New. Define based on
4592 configuration and target defines.
4593 (exceptions_via_longjmp): Remove.
4594 * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
4595 Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
4596
894d0e39
RH
4597 * except.h (flag_non_call_exceptions): Move ...
4598 * flags.h: ... here.
4599
662795a8
RH
4600 * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
4601 exceptions, put the note on the trapping instruction.
4602
461fc4de
RH
4603 * flags.h (flag_new_exceptions): Remove.
4604 * toplev.c: Don't set it.
4605 * final.c: Don't check it.
4606 * except.c: Provide stub definition.
4607
ad73b558
RH
4608 * flow.c (tidy_fallthru_edges): Don't combine complex edges.
4609 (calculate_global_regs_live): Kill call-clobbered registers
4610 across exception edges.
4611 * reg-stack.c (convert_regs_1): Kill the entire target stack
4612 across non-call exception edges.
4613
2f2ee4bb
RH
4614 * flow.c (cleanup_cfg): Take no argument.
4615 * output.h, sibcall.c, toplev.c: Update all calls.
4616
8e944909
KG
46172001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4618
4619 * configure.in: Don't check for bcopy.
4620 * configure, config.in: Regenerate.
4621
4622 * system.h: Don't define or prototype bcopy, instead poison it.
4623
3d74dad8
RH
46242001-03-27 Richard Henderson <rth@redhat.com>
4625
4626 * function.c (expand_function_start): Set DECL_REGISTER on
4627 a pseudo used for DECL_RESULT.
4628
695ee791
RH
4629 * rtl.h (LCT_NORETURN): New.
4630 * calls.c (emit_library_call_value_1): Handle it.
4631
e804281e
SS
46322001-03-27 Stan Shebs <shebs@apple.com>
4633
4634 * objc/objc-act.c (objc_init): Use dump_base_name.
4635 (gen_declaration): Clear the buffer arg.
4636 (gen_declaration_1): New function, body of gen_declaration.
4637 (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
4638 (gen_method_decl): Ditto, plus always clear buffer arg.
4639 (error_with_ivar): Simplify.
4640 (warn_with_method): Ditto.
4641 (build_message_expr): Don't clear buffers.
4642 (dump_interface): Ditto.
4643 (objc_debug): Ditto.
4644 (build_keyword_selector): Clear the buffer by only zeroing
4645 the first element.
4646 (objc_implementation_context): Declare.
4647 (start_class): Warn about missing @end.
4648 (finish_objc): Ditto.
4649
055c7759
JDA
46502001-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
4651
4652 * reload1.c (eliminate_regs): Don't abort on MEM USEs.
4653
911e6107
KG
46542001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4655
4656 * Makefile.in (SYSTEM_H): Define.
4657 Depend on $(SYSTEM_H), not system.h.
4658
4659 * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
4660
685af3af
JW
46612001-03-27 Jim Wilson <wilson@redhat.com>
4662
ad0fc698
JW
4663 * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
4664 IA64_UNWIND_EMIT.
4665 * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
4666 (process_epilogue): New static function.
4667 (process_set): Call process_epilogue instead of emitting .restore
4668 directly.
4669 (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
4670
685af3af
JW
4671 * flow.c (struct reg_cond_life_info): New fields orig_condition
4672 and stores.
4673 (init_propagate_block_info): Set new fields.
4674 (mark_regno_cond_dead): Set and use new fields.
4675 (flush_reg_cond_reg_1): Likewise.
4676 (and_reg_cond, case AND): Check for redundant AND conditions.
4677 (mark_used_reg): Delete unnecessary clears before freeing splay trees.
4678 Set new fields.
4679
b044e9d5
NB
46802001-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
4681
4682 * cppmacro.c (stringify_arg): Null terminate strings.
4683
0b29309a
ZW
46842001-03-27 Zack Weinberg <zackw@stanford.edu>
4685
4686 * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
4687 inclusion style. xm-m68hc11.h no longer exists.
4688 * config/m68hc11/xm-m68hc11.h: Delete file.
4689 * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
4690
4691 * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
4692 Don't define GCC_VERSION, N_, or PARAMS; don't include
4693 gansidecl.h or stdio.h. Define inhibit_libc here.
4694 Make code conditioned on #if GCC_VERSION > 2095 unconditional.
4695 Delete code conditioned on #if GCC_VERSION == 2095.
4696
4697 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
4698 Make code conditioned on #if GCC_VERSION > 2095 unconditional.
4699 Delete code conditioned on #if GCC_VERSION == 2095.
4700
4bc5fbd4
KG
47012001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4702
4703 * system.h: Include symcat.h.
4704 (STRINGIFY): Don't define.
4705
4706 * configure.in: Adjust comment.
4707
4708 * builtins.c: Use STRINGX, not STRINGIFY.
4709 * gencheck.c: Likewise.
4710 * gengenrtl.c: Likewise.
4711 * protoize.c: Likewise.
4712
4713 * cpplex.c: Don't include symcat.h.
4714 * cpplib.c: Likewise.
4715
4716 * gansidecl.h (HAVE_STRINGIZE): Don't define.
4717
b13aca19
AM
47182001-03-27 Alan Modra <alan@linuxcare.com.au>
4719
4720 * c-typeck.c (digest_init): Fold init expression.
4721
7c5b92c4
KG
47222001-03-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4723
4724 * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
4725
5b5c2734
AM
47262001-03-27 Alan Modra <alan@linuxcare.com.au>
4727
4728 * except.c (eh_regs): Save results of build_pointer_type to a temp
4729 as FUNCTION_VALUE macro may evaluate its args multiple times.
4730
b850de4f
MM
47312001-03-26 Mark Mitchell <mark@codesourcery.com>
4732
4733 * c-common.h (DECL_NUM_STMTS): New macro.
4734 * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
4735 DECL_FRAME_SIZE.
4736 (pushdecl): Likewise.
4737 * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
4738 * integrate.c (expand_inline_function): Don't check
4739 DECL_FRAME_SIZE.
4740 * print-tree.c (print_node): Don't print it.
4741 * toplev.c (rest_of_compilation): Don't try to inline when
4742 flag_no_inline is on.
4743 * tree.h (DECL_FRAME_SIZE): Remove.
4744 (tree_decl): Adjust accordingly.
0b29309a 4745
d38a30c9
KG
47462001-03-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4747
4748 * combine.c (try_combine): Use memcpy, not bcopy.
4749
4750 * genattrtab.c (expand_units): Likewise.
4751
cc2e591b
JH
4752Mon Mar 26 15:55:08 CEST 2001 Jan Hubicka <jh@suse.cz>
4753
4754 * i386.md (push mem DI peep2): New.
4755 (mov 0, mov -1 peep2): Handle 64bit.
4756 (lea to arithmetics peep2): Handle 64bit leas.
4757 (rsp arithmetics to push/pop peep2s): New.
4758
4759 * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
4760
8362f420
JH
4761Mon Mar 26 14:35:18 CEST 2001 Jan Hubicka <jh@suse.cz>
4762
4763 * i386.c (struct machine_function): Add save_varrargs_registers.
4764 (ix86_save_varrargs_registers): New macro.
4765 (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
4766 (ix86_expand_prologue): Likewise.
4767 (ix86_emit_epilogue_esp_adjustement): Likewise.
4768 (ix86_expand_epilogue): Likewise.
4769 * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
4770 (pro_epilogue_adjust_stack_1): New insn.
4771 (pro_epilogue_adjust_stack_rex64): Likewise.
4772 * i386.h (MASK_NO_RED_ZONE): New constant.
4773 (TARGET_RED_ZONE): New macro.
4774 (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
4775 (RED_ZONE_SIZE): New constant.
4776 (RED_ZONE_RESERVE): New constant.
4777
56b89084
KG
47782001-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4779
4780 * toplev.c (set_float_handler): Use memcpy, not bcopy.
4781
273c3244
KH
47822001-03-25 Kazu Hirata <kazu@hxi.com>
4783
4784 * config/h8300/h8300.md (umodqi3): Output a tab instead of a
4785 space.
4786 (modqi3): Likewise.
4787 (umodhi3): Likewise.
4788 (modhi3): Likewise.
4789
d2a2648c
KG
47902001-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4791
4792 * mkconfig.sh (DEFINES): Handle entries with '='.
4793
4794 * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
4795 Set xm_defines to MACRO=value instead.
4796
4797 * i370/xm-mvs.h: Delete.
0b29309a 4798
d2a2648c
KG
4799 * ns32k/xm-pc532-min.h: Likewise.
4800
371bc54b
JH
4801Sun Mar 25 15:01:40 CEST 2001 Jan Hubicka <jh@suse.cz>
4802
4803 * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
4804 shiftdi_operand;
4805 use ix86_expand_binary_operator
4806 (?sh??i_?): Disable for 64bit.
4807 * i386.h (PREDICATE_CODES): Add shiftdi_operand.
4808 * i386.c (shiftdi_operand): New predicate.
4809
4810 * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
4811 ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
4812 ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
4813 ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
4814 ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
4815 lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
4816 lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
4817 rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
4818 rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
4819 rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
4820 (rotldi3, rotrdi3): New expanders.
4821
0945b39d
JH
4822Sun Mar 25 14:25:33 CEST 2001 Jan Hubicka <jh@suse.cz>
4823
4824 * i386.md (movstrsi): Move offline.
4825 (movstrdi): New.
4826 (strmovdi_rex64): New.
4827 (strmov?i): Accept 64bit.
4828 (strmov?i_rex64): New.
4829 (strmov?i_rex_1): New.
4830 (strmov?i_1): Disable for 64bit.
4831 (rep_mov?i_rex64): New.
4832 (rep_mov?i): Disable for 64bit.
4833 (clrstrsi): Move offline.
4834 (strset?i_rex64): New.
4835 (strset?i: Accept 64bit.
4836 (rep_stos?i): Disable for 64bit.
4837 (rep_stos?i_rex64): New.
4838 (strset?i_rex_1): New.
4839 (strset?i_1): Disable for 64bit.
4840 (cmpstrsi): Accept 64bit.
4841 (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
4842 (cmpstrqi_nz_rex_1): New.
4843 (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
4844 (strlensi): Move offline.
4845 (strlendi): New.
4846 (strlenqi_1): Disable for 64bit; fix constraints.
4847 (strlenqi_rex_1): New.
4848 * i386.c (ix86_adjust_counter): New static function.
4849 (ix86_zero_extend_to_Pmode): Likewise.
4850 (ix86_expand_aligntest): Likweise.
4851 (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
4852 (ix86_expand_movstr): New global function.
4853 (ix86_expand_clrstr): New global function.
4854 (ix86_expand_strlen): New global function.
4855 * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
4856 ix86_expand_strlen): Declare.
4857 (ix86_expand_strlensi_unroll_1): Delete.
4858
9b70259d
JH
4859Sat Mar 24 23:15:19 CET 2001 Jan Hubicka <jh@suse.cz>
4860
4861 * i386.md (cmpdi): Fix operand predicates.
4862 (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
4863 cmpdi_1_insn_rex64): New patterns.
4864 (adddi3): Turn to expander.
4865 (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
4866 (addsi3_carry_zext): New pattern.
4867 (adddi_?_rex64): New patterns and splitters.
4868 (addsi_?_zext): New patterns.
4869 (subsi3_carry_zext): New pattern.
4870 (subdi_?_rex64): New patterns and splitters.
4871 (iorsi_?_zext): New patterns.
4872 (iordi_?_rex64): New patterns and splitters.
4873 (iorsi_?_zext): New patterns.
4874 (iorsi_?_zext_imm): New patterns.
4875 (xorsi_?_zext): New patterns.
4876 (xordi_?_rex64): New patterns and splitters.
4877 (xorsi_?_zext): New patterns.
4878 (negdi*): New patterns.
4879 (one_cmpldi*): Likewise.
4880 (one_cmplsi*_zext, negsi*_zext): Likewise.
4881 (testqi_ext_3_rex64): New pattern.
4882
26e5b205
JH
4883Sat Mar 24 21:13:28 CET 2001 Jan Hubicka <jh@suse.cz>
4884
4885 * i386-protos.h (ix86_split_long_move): Return void.
4886 * i386.c (ix86_split_to_parts): Handle 64bit target.
4887 (ix86_split_long_move): Likewise.
4888 * i386.md (all calls to ix86_split_long_move): Update.
4889
75e0407e
RH
48902001-03-23 Richard Henderson <rth@redhat.com>
4891
4892 * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
4893 to avoid shadowing arguments.
4894
60080880
JJ
48952001-03-23 Jakub Jelinek <jakub@redhat.com>
4896
4897 * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
4898 to variable names where DECL_NAME is different from
4899 DECL_ASSEMBLER_NAME.
4900
9ea07fd0
JW
49012001-03-23 Jim Wilson <wilson@redhat.com>
4902
4903 * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
4904 (assemble_alias): Call make_decl_rtl.
0b29309a 4905
25caaba8
R
4906Fri Mar 23 16:59:08 2001 J"orn Rennecke <amylaar@redhat.com>
4907
4908 * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
4909
60c87482
BM
49102001-03-23 Bryce McKinlay <bryce@albatross.co.nz>
4911
4912 * extend.texi: Document the "java_interface" attribute.
4913
1b0ae0f9
ZW
49142001-03-22 Zack Weinberg <zackw@stanford.edu>
4915
4916 * mkconfig.sh: Use a subshell with redirected stdout,
4917 instead of closing stdout and confusing commands that run
4918 afterward. Throw away output of cmp.
4919
b937498e
GS
49202001-03-22 Gordon Sadler <gbsadler1@lcisp.com>
4921
4922 * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
4923
123bf9e3
JH
4924Thu Mar 22 22:15:59 CET 2001 Jan Hubicka <jh@suse.cz>
4925
4926 * i386.md (zero_extendsidi2_32): Break out from ...
4927 (zero_extendsidi2): ... here ; turn to expander.
4928 (zero_extendsidi2_rex64): New.
4929 (extendsidi2_32): Break out from ...
4930 (extendsidi2): ... here ; turn to expander.
4931 (extendsidi2_rex64): New.
4932 (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
4933 (trunc?f?f splitters): Add 64bit versions.
4934
0ec259ed
JH
4935Thu Mar 22 21:41:16 CET 2001 Jan Hubicka <jh@suse.cz>
4936
4937 * i386.md (pushsi, pushsi2_prologue): Disable.
4938 (pushsi2_rex64): New.
4939 (movabs?i_1_rex64, movabs?i_2_rex64): New.
4940 (movqi_ext_1): Disable for 64bit.
4941 (movqi_ext_1_rex64): New.
4942 (pushdi2_rex64): New pattern, peep2s and splitter.
4943 (pushdi2_prologue_rex64): New pattern.
4944 (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
4945 Likewise.
4946 (movdi splitters): Disable for 64bit.
4947 (movdi_1_rex64): New pattern, peep2s and splitters.
4948 (swapdi): New pattern.
4949 (pushsf): Disable for 64bit.
4950 (pushsf_rex64): New pattern and splitter.
4951 (pushdf_nointeger): Disable for 64bit.
4952 (pushdf_integer): Handle the 64bit case.
4953 (pushtf): Likewise; update splitters.
4954
5e7f4a4a
RH
49552001-03-22 Richard Henderson <rth@redhat.com>
4956
4957 * mkconfig.sh: Include insn-flags.h.
4958 * Makefile.in (CONFIG_H): Include insn-flags.h.
4959 (lots of objects): Remove insn-codes.h and insn-flags.h.
4960
4961 * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
4962 integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
4963 regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
4964 avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
4965 dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
4966 i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
4967 m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
4968 mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
4969 pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
4970 v850/v850.c, vax/vax.c:
4971 Don't include insn-flags.h.
4972
4973 * diagnostic.c, expr.h, reload.c, toplev.c:
4974 Don't include insn-codes.h.
4975
4976 * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
4977 final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
4978 c4x/c4x.c, i960/i960.c, mips/mips.c:
4979 Don't include insn-codes.h or insn-flags.h.
4980
4981 * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
4982 or insn-flags.h in the generated code.
4983 * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
4984 (main): Forward declare struct rtx_def.
4985
52a11d15
JM
49862001-03-22 Joseph S. Myers <jsm28@cam.ac.uk>
4987
8b87acb8
JM
4988 * invoke.texi (-ffast-math): Remove duplicate line about
4989 __FAST_MATH__.
4990
52a11d15
JM
4991 * gcc.texi: Remove more obsolete documentation of bugs and
4992 installation problems.
4993
b5f1747c
KH
49942001-03-21 Kazu Hirata <kazu@hxi.com>
4995
4996 * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
4997 into two parts.
4998
64d9c3fe
JM
49992001-03-20 Jason Merrill <jason@redhat.com>
5000
5001 * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
5002 not '.' or '$'.
5003 * tree.c (FILE_FUNCTION_FORMAT): Likewise.
5004 * varasm.c (CHKR_PREFIX): Likewise.
5005
4eadbbd5
RK
5006Wed Mar 21 14:27:11 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5007
52d76e11
RK
5008 * gcse.c (hash_scan_set): An expression is not anticipatible if it
5009 is part of a multi-SET insn.
5010
bca05d20
RK
5011 * cse.c (find_comparison_args): Remove previous change.
5012 * ifcvt.c (noce_process_if_block): When moving an insn, remove any
5013 REG_EQUAL notes.
5014
37c7da7b
RK
5015 * config/i386/i386.md (conditional_trap): Remove warning.
5016
a8d19608
RK
5017 * recog.c (push_operand): Fix error in last change that caused
5018 undefined symbol on many targets.
5019
4eadbbd5 5020 * sdbout.c: #include ggc.h.
60e589ef 5021 (sdbout_init): Move to end of file.
4eadbbd5
RK
5022 Call ggc_add_tree_root for anonymous_types.
5023 (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
5024 (sdbout_one_type): Use DECL_NAME for field name.
5025 * Makefile.in (sdbout.o): Show includes ggc.h.
5026
0d7d98ee
JH
5027Wed Mar 21 20:33:26 CET 2001 Jan Hubicka <jh@suse.cz>
5028
5029 * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
5030 (override_options): Use properlimits for preferred_stack_boundary.
5031 (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
5032 on x86_64.
5033 (ext_register_operand): Accept DImode.
5034 (load_pic_register): Abort on 64bit.
5035 (gen_push): Use Pmode instead of SImode.
5036 (ix86_save_reg): Pic reg is never used on 64bit.
5037 (ix86_expand_prologue): Likewise.
5038 (ix86_emit_save_regs): Use Pmode instead of SImode.
5039 (legitimate_address_p): Check displacement for 64bit.
5040 (print_operand): Avoid outputting of (%rip) on 64bit.
5041 (print_operand_address): Output (%rip) where possible.
5042 (split_di): Abort on 64bit registers.
5043 (ix86_expand_branch): DImode comparison is simple for x86_64.
4eadbbd5
RK
5044 (memory_address_length): Recognize memory addresses formed using
5045 PRE/POST modify.
0b29309a 5046 (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
4eadbbd5 5047 for x86_64.
0d7d98ee
JH
5048 * i386.h (TARGET_USE_SAHF): Disable for 64bit.
5049
70a32495
JH
5050Wed Mar 21 18:51:19 CET 2001 Jan Hubicka <jh@suse.cz>
5051
5052 * recog.c (push_operand): Recognize new format of push instructions.
5053
7dd4b4a3
JH
5054Wed Mar 21 10:53:57 CET 2001 Jan Hubicka <jh@suse.cz>
5055
5056 * i386.md (pushqi1): New.
5057 * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
5058 x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
5059 x86_64_immediate_operand, x86_64_immediate_operand,
5060 x86_64_zext_immediate_operand): Declare.
5061 * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
5062 x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
5063 x86_64_immediate_operand, x86_64_immediate_operand,
5064 x86_64_zext_immediate_operand): define.
5065 * i386.h (PREDICATE_CODES): Add new predicates.
5066
5067Wed Mar 21 10:25:13 CET 2001 Jan Hubicka <jh@suse.cz>
566aa174
JH
5068
5069 * i386.md (pophi1, popqi1, pushqi1): Remove.
5070
5071 * expr.c (emit_single_push_insn): New function.
5072 (move_by_pieces): Accept NULL as destination for push instructions.
5073 (gen_push_operand): Kill.
5074 (emit_push_insn): Pass NULL when pushing; avoid updating of
5075 stack_pointer_delta.
5076 * expr.h (gen_push_operand): Kill.
5077
e26b8996
RK
5078Tue Mar 20 20:15:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5079
5080 * rtl.texi (COMPARE): Clarify documentation and reference section
5081 on comparisons.
5082
e44949e9
SS
50832001-03-20 Stan Shebs <shebs@apple.com>
5084
5085 * objc/objc-act.c (get_static_reference): Use NULL_TREE.
5086 (get_object_reference): Ditto.
5087 (error_with_ivar): Use error_with_file_and_line.
5088 (warn_with_method): Use warning_with_file_and_line.
5089
2ba5f9b1
TT
50902001-03-20 Tom Tromey <tromey@redhat.com>
5091
5092 * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
5093
116b39e0
MM
50942001-03-20 Mark Mitchell <mark@codesourcery.com>
5095
5096 * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
5097 variables that are TREE_PUBLIC, even if not TREE_STATIC.
5098
17da603c 50992001-03-20 DJ Delorie <dj@redhat.com>
67680154
DD
5100
5101 * Makefile.in (install-libgcc): Pass complete list of variables.
5102 (install-multilib): Ditto.
5103
79f96374
DB
51042001-03-20 David Billinghurst <David.Billinghurst@riotinto.com>
5105
5106 * config/i386/cygwin.h: Declare ctor_section, dtor_section
5107 drectve_section, switch_to_section.
5108
5109 * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
5110 i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
5111 i386_pe_mark_dllimport.
5112
51132001-03-20 David Billinghurst <David.Billinghurst@riotinto.com>
0b29309a 5114
79f96374
DB
5115 * config/i386/cygwin.h: Include <stdio.h> Declare and constify
5116 functions i386_pe_*.
5117
5118 * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
5119 i386_pe_* functions with char * arguments.
5120
a92facbb
AO
51212001-03-20 Alexandre Oliva <aoliva@redhat.com>
5122
5123 * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
5124 and store.
5125 (movsi_ie): Introduce fpul store.
5126
78f8fa86
AM
51272001-03-20 Alan Modra <alan@linuxcare.com.au>
5128
5129 * Makefile.in (OBJS): Remove hashtab.o.
5130
ced5bce7
SS
51312001-03-19 Stan Shebs <shebs@apple.com>
5132
5133 * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
5134 * c-lang.c (maybe_objc_method_name): Ditto.
5135 * c-tree.h (maybe_objc_method_name): Remove decl.
5136
d60726da
TT
51372001-03-19 Tom Tromey <tromey@redhat.com>
5138
5139 * gcc.c (init_gcc_specs): Fix comment.
5140
68e568c2
MM
51412001-03-19 Mark Mitchell <mark@codesourcery.com>
5142
92643fea
MM
5143 Compute DECL_ASSEMBLER_NAME lazily.
5144 * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
5145 (DECL_ASSEMBLER_NAME_SET_P): New macro.
5146 (SET_DECL_ASSEMBLER_NAME): Likewise.
5147 (COPY_DECL_ASSEMBLER_NAME): Likewise.
5148 (set_decl_assembler_name): Declare.
5149 (lang_set_decl_assembler_name): Likewise.
5150 * tree.c (lang_set_decl_assembler_name): New variab.e
5151 (set_decl_assembler_name): New function.
5152 (init_obstacks): Set lang_set_decl_assembler_name.
5153 (build_decl): Don't set DECL_ASSEMBLER_NAME.
5154 * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
5155 COPY_DECL_ASSEMBLER_NAME, etc. Don't set DECL_ASSEMBLER_NAME
5156 where it's not necessary.
5157 (builtin_function): Likewise.
5158 (finish_decl): Likewise.
5159 * dbxout.c (dbxout_type_methods): Likewise.
5160 * ggc-common.c (ggc_mark_trees): Likewise.
5161 * profile.c (output_func_start_profiler): Likewise.
5162 * varasm.c (make_decl_rtl): Likewise.
5163
68e568c2
MM
5164 * cse.c (find_comparison_args): Update documentation. Fix
5165 mishandling of COMPARE operations.
5166
5167 * tree.def (ABS_EXPR): Add documentation.
5168 * fold-const.c (fold): Improve folding of ABS_EXPRs.
5169
d4b6faf6
ZW
51702001-03-19 Zack Weinberg <zackw@stanford.edu>
5171
5172 * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
5173
373368fd
JJ
51742001-03-19 Jakub Jelinek <jakub@redhat.com>
5175
5176 * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
5177 Remove ia32 linux PIC kludge and move it...
5178 * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
5179
7343a5a9
JH
5180Mon Mar 19 18:53:54 CET 2001 Jan Hubicka <jh@suse.cz>
5181
5182 * i386.md (absdf2 expander): Fix 64bit case.
5183
a8e5b5d9
BL
51842001-03-19 Brad Lucier <lucier@math.purdue.edu>
5185
5186 * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
5187
e7aadbbb
AH
51882001-03-16 Andrew Haley <aph@cambridge.redhat.com>
5189
0b29309a 5190 * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
e7aadbbb 5191
5df3dc23
GP
51922001-03-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5193
5194 * README.X11: Remove obsolete file.
5195
ff9b0a49
AG
51962001-03-18 Anthony Green <green@redhat.com>
5197
5198 * config/pj/pj.h: Remove some trailing commas.
5199 (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
5200
bf501a65
RH
52012001-03-18 Richard Henderson <rth@redhat.com>
5202
5203 * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
5204 * calls.c: ... here.
5205 * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
5206 defaults for them here.
5207
488744fa
AG
52082001-03-17 Anthony Green <green@redhat.com>
5209
5210 * config/pj/lib1funcs.S: Fix broken comment.
5211 * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
5212 labels with '.'.
5213
1f618c58
JM
52142001-03-18 Joseph S. Myers <jsm28@cam.ac.uk>
5215
5216 * gcc.texi: Remove obsolete information relating to build and
5217 installation problems with enquire or the Pyramid C compiler.
5218
fbfa55b0
RH
52192001-03-17 Richard Henderson <rth@redhat.com>
5220
5221 * dwarf2out.c (queue_reg_save): New.
5222 (flush_queued_reg_saves, clobbers_queued_reg_save): New.
5223 (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
5224 dwarf2out_reg_save.
5225 (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
5226 (cfa, cfa_store, cfa_temp): Make static.
5227 * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
5228
464186fb
RH
52292001-03-17 Richard Henderson <rth@redhat.com>
5230
5231 * integrate.h (struct inline_remap): Add local_return_label.
5232 * integrate.c (expand_inline_function): Initialize it and emit
5233 it after copy_insn_notes.
5234 (copy_insn_list): Don't store local_return_label here.
5235 (copy_insn_notes): New function split out from copy_insn_list.
5236
acc187f5
RH
52372001-03-17 Richard Henderson <rth@redhat.com>
5238
5239 * dwarf2out.c (lookup_filename): Emit .file if the assembler
5240 is generating .debug_line.
5241 (dwarf2out_init): Add main_input_filename to the file table first.
5242 * configure.in (as_dwarf2_debug_line): Test with file number 1
5243 instead of file number 0.
5244
6732576c
RK
5245Sat Mar 17 11:52:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5246
f1c6ba8b
RK
5247 * combine.c (undobuf): Remove field previous_undos; all refs deleted.
5248 (gen_rtx_combine): Deleted; all references changed as appropriate.
5249 (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
5250
6732576c
RK
5251 * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
5252
3b92de06
DB
52532001-03-17 David Billinghurst <David.Billinghurst@riotinto.com>
5254
5255 * config/i386/xm-cygwin.h: Include <sys/cygwin.h. Remove unused
5256 variable.
5257
0c35f902
JW
52582001-03-16 Jim Wilson <wilson@redhat.com>
5259
5260 * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
5261 then set it to LOC_REG (79) instead of aborting.
5262
cf440c3c
PE
52632001-03-16 Phil Edwards <pme@sources.redhat.com>
5264
5265 * gccbug.in: Remove high priority.
5266
e48cd290
RH
52672001-03-16 Richard Henerson <rth@redhat.com>
5268
5269 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
5270 output with a space instead of deleting it.
5271 * configure: Regenerate.
5272
2d6eb5bf
ZW
52732001-03-16 Zack Weinberg <zackw@stanford.edu>
5274
5275 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
5276 handles the gory details of converting an object file into
5277 something that's safe to grep.
5278 (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
5279 gcc_AC_C_COMPILE_ENDIAN. Use gcc_AC_EXAMINE_OBJECT. Put
5280 newlines at either end of the string we're looking for.
5281 Make 'checking ...' message less stilted.
5282 (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT. Handle
5283 ARM in-memory layout and its hypothetical converse. Don't
5284 define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
5285 HOST_WORDS_BIG_ENDIAN.
5286
5287 * configure.in: Adjust for renamed macro. Move
5288 gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
5289 * configure, config.in: Regenerate.
5290
d577781c
LB
52912001-03-16 Laurynas Biveinis <lauras@softhome.net>
5292
5293 * fixinc/Makefile.in: Set SHELL.
5294
52952001-03-16 Laurynas Biveinis <lauras@softhome.net>
5296
5297 * fixinc/fixincl.c (fix_with_system): Quote file names before
5298 passing them to shell.
2d6eb5bf 5299
d577781c
LB
53002001-03-16 Laurynas Biveinis <lauras@softhome.net>
5301
5302 * Makefile.in: Use fix-header$(build_exeext) instead
5303 of fix-header.
2d6eb5bf 5304
981975b6
RH
53052001-03-16 Richard Henderson <rth@redhat.com>
5306
5307 * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
5308 (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
5309 (size_of_line_prolog): Remove.
5310 (output_line_info): Compute prologue size via label difference.
5311 (lookup_filename): Return "unspecified" for <internal> and <built-in>.
5312
5313 * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
5314 assembler error when redefining file numbers.
5315 * config.in, configure: Rebuild.
5316
da6af203
RH
5317 * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
5318 (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
5319 (dw2_asm_output_delta_uleb128): Likewise.
5320 (dw2_asm_output_delta_sleb128): Similarly.
5321 (dw2_asm_output_data_sleb128): Similarly. Print number in decimal.
5322
3a6ee9f4
MM
53232001-03-16 Michael Meissner <meissner@redhat.com>
5324
5325 * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
5326 warnings.
5327 (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
5328 warnings.
5329 (BITMASK_LOWER16): Replacement for 0x0000ffff.
5330
5331 * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
5332 instead of 0xffff0000/0x0000ffff to avoid warnings about constants
5333 being unsigned in ISO C and signed in traditional.
5334 (expand_prologue): Ditto.
5335 (RA_MASK): Use BITMASK_HIGH to avoid warnings.
5336
5337 * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
5338 warnings.
5339 (divsi3,divdi3): Ditto.
5340 (modsi3,moddi3): Ditto.
5341 (fix_truncdfsi2,fix_truncdfdi2): Ditto.
5342 (fix_truncsfsi2,fix_truncsfdi2): Ditto.
5343 (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
5344 warnings.
5345
fa9f36a1
JH
5346Fri Mar 16 14:47:57 CET 2001 Jan Hubicka <jh@suse.cz>
5347
5348 * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
5349 SSE based conditional moves on LTGT/UNEQ conditions;
5350 Canonicalize EQ to NE.
5351 * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
5352 (sse_mov?fcc_ne): New.
5353
5354 * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
5355
fd969c7c
AO
53562001-03-16 Alexandre Oliva <aoliva@redhat.com>
5357
5358 * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
5359 register may be dead.
5360
91c251fd
BL
53612001-03-16 Brad Lucier <lucier@math.purdue.edu>
5362
5363 * Makefile.in (hash.o): Depend on CONFIG_H.
5364
110c3568
MM
53652001-03-15 Mark Mitchell <mark@codesourcery.com>
5366
5367 * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
5368
7426e9a2
RH
53692001-03-15 Richard Henderson <rth@redhat.com>
5370
5371 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
5372 (ASM_OUTPUT_DWARF_PCREL): New.
5373 * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
5374
11bca309
AO
53752001-03-16 Alexandre Oliva <aoliva@redhat.com>
5376
5377 * cppfiles.c (stack_include_file): Use MAX of sysp.
5378
7e5b9908
SE
53792001-03-15 Steve Ellcey <sje@cup.hp.com>
5380
2d6eb5bf
ZW
5381 * config.gcc (ia64*-*-hpux*): New case.
5382 * config/ia64/hpux.h: New file for HP-UX support.
5383 * config/ia64/t-hpux: New file for HP-UX support.
7e5b9908 5384
3b3a1054
BK
53852001-03-16 Bruce Korb <bkorb@gnu.org>, Alexandre Oliva <aoliva@redhat.com>
5386
5387 * fixinc/inclhack.def (irix_stdio_va_list): New.
5388 * fixinc/fixincl.x: Rebuilt.
5389
8e7fa2c8
RH
53902001-03-15 Richard Henderson <rth@redhat.com>
5391
5392 * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
5393 if provided by the target.
5394 (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
5395 (dw2_asm_output_addr): New.
5396 * dwarf2asm.h (dw2_asm_output_addr): Declare.
5397 * dwarf2out.c (output_cfi): Use it for program addresses.
5398 (output_call_frame_info, output_die): Likewise.
5399 (output_aranges, output_line_info): Likewise.
5400
798bdf70
BK
54012001-03-15 Bruce Korb <bkorb@gnu.org>
5402
5403 * gcc.c(main): make more rigorous
5404 * collect2.c(main): guard against ignoring SIGCHLD
5405 * protoize.c(main): ditto
5406 * gcc/fixinc/fixincl.c(initialize): ditto
5407
d975d8c3
MM
54082001-03-15 Mark Mitchell <mark@codesourcery.com>
5409
5410 * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
5411 (sdbout_parms): Likewise.
5412
b216e516
JL
5413Thu Mar 15 12:57:14 2001 Jeffrey A Law (law@cygnus.com)
5414
5415 * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
5416 "widen" a destination that is already wider than a word. Also do
5417 not widen if LOAD_EXTEND_OP is NIL for the given mode.
5418
e06736f4
BS
54192001-03-15 Bernd Schmidt <bernds@redhat.com>
5420
5421 * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
5422
42edbfa1
JW
5423Thu Mar 15 11:30:31 EST 2001 John Wehle (john@feith.com)
5424
5425 * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
5426
43fabf7d
JW
5427Thu Mar 15 11:24:29 EST 2001 John Wehle (john@feith.com)
5428
5429 * i960.h (i960_maxbitalignment,
5430 i960_last_maxbitalignment): Declare.
5431 * i960.c (i960_maxbitalignment,
5432 i960_last_maxbitalignment): Make global.
5433 (process_pragma): Delete.
5434 (i960_pr_align, i960_pr_noalign): Move from here ...
5435 * i960-c.c: ... to this new file.
5436 * t-960bare (i960-c.o): New rule.
5437 * t-vxworks960 (i960-c.o): Likewise.
5438 * config.gcc (i960-*-*): Define c_target_objs and
5439 cxx_target_objs.
5440
e4027dab
BS
54412001-03-15 Bernd Schmidt <bernds@redhat.com>
5442
a4f4333a
BS
5443 * cselib.c (hash_rtx): For REG and MEM, just use value of expression
5444 without adding in rtx code and mode.
5445
bb2cf916
BS
5446 * alias.c (init_alias_analysis): Don't use any rtx whose value
5447 varies as a known value.
5448 Delete a superfluous test.
5449
e4027dab
BS
5450 * config/ia64/ia64.c (maybe_rotate): New function, broken out of
5451 ia64_sched_reorder.
5452 (ia64_sched_reorder): Call maybe_rotate; also rotate after
5453 scheduling a stop bit.
5454 (ia64_emit_nops): Correctly handle ASMs.
5455
d1d61788
MM
54562001-03-15 Mark Mitchell <mark@codesourcery.com>
5457
5458 * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
5459
ba133c96
NB
54602001-03-15 Neil Booth <neil@daikokuya.demon.co.uk>
5461
5462 * cpp.texi: Update documentation for -include and -imacros.
5463 * cppfiles.c (struct include_file): Remove "defined" memeber.
5464 (find_or_create_entry): Make a copy of the file name, and
5465 simplify it.
5466 (open_file): Update to ensure we use the simplified filename.
5467 (stack_include_file): Don't set search_from.
5468 (cpp_included): Don't simplify the path name here.
5469 (find_include_file): New prototype. Call search_from to
5470 get the start of the "" include chain. Don't simplify the
5471 filenames here.
5472 (_cpp_execute_include): New prototype. Move diagnostics to
5473 do_include_common. Update.
5474 (_cpp_pop_file_buffer): Don't set defined.
5475 (search_from): New prototype. Use the preprocessor's cwd
5476 for files included from the command line.
5477 (read_name_map): Don't simplify the pathname here.
5478 * cpphash.h (enum include_type): New.
5479 (struct buffer): Delete search from. New search_cached.
5480 (_cpp_execute_include): Update prototype.
5481 * cppinit.c (do_includes): Use _cpp_execute_include.
5482 * cpplib.c (do_include_common): New function.
5483 (do_include, do_include_next, do_import): Use it.
5484
19e7881c
MM
54852001-03-14 Mark Mitchell <mark@codesourcery.com>
5486
5487 * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
5488 contents of the RTL, to determine the name of the object.
5489
54902001-03-14 Mark Mitchell <mark@codesourcery.com>
5491
5492 * tree.h (DECL_RTL): Allocate RTL lazily.
5493 (SET_DECL_RTL): New macro.
5494 (DECL_RTL_SET_P): Likewise.
5495 (COPY_DECL_RTL): Likewise.
5496 (DECL_RTL_IF_SET): Likewise.
5497 * varasm.c (make_decl_rtl): Add assertions about the kind of
5498 declaration we are processing.
5499 * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
5500 (start_decl): Likewise.
5501 (finish_decl): Likewise.
5502 * c-semantics.c (emit_local_var): Likewise.
5503 * calls.c (expand_call): Likewise.
5504 * dbxout.c (dbxout_symbol): Likewise.
5505 * emit-rtl.c (unshare_all_rtl): Likewise.
5506 (unshare_all_decls): Likewise.
5507 (reset_used_decls): Likewise.
5508 * expr.c (store_constructor): Likewise.
5509 (safe_from_p): Likewise.
5510 (expand_expr): Likewise.
5511 * function.c (put_var_into_stack): Likewise.
5512 (instantiate_decls_1): Likewise.
5513 (assign_parms): Likewise.
5514 (expand_function_start): Likewise.
5515 (expand_function_end): Likewise.
5516 * ggc-common.c (gcc_mark_trees): Likewise.
5517 * integrate.c (function_cannot_inline_p): Likewise.
5518 (copy_decl_for_inlining): Likewise.
5519 (expand_inline_function): Likewise.
5520 (integrate_parm_decls): Likewise.
5521 (integrate_decl_tree): Likewise.
5522 * print-tree.c (print_node): Likewise.
5523 * reg-stack.c (stack_result): Likewise.
5524 * stmt.c (label_rtx): Likewise.
5525 (expand_return): Likewise.
5526 (expand_decl): Likewise.
5527 (expand_decl_cleanup): Likewise.
5528 (expand_anon_union_decl): Likewise.
5529 * toplev.c (check_global_declarations): Likewise.
5530 (rest_of_decl_compilation): Likewise.
5531 * tree.c (simple_cst_equal): Likewise.
5532 * objc/objc-act.c (generate_static_references): Likewise.
2d6eb5bf 5533
84c041a1
ZW
55342001-03-14 Zack Weinberg <zackw@stanford.edu>
5535
5536 * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
5537 gcc_AC_C_FLOAT_FORMAT): New macros.
5538 * configure.in: Add AC_PROG_CPP after CC tests;
5539 gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
5540 tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
5541 * configure, config.in: Regenerate.
5542
5543 * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
5544 config/arm/xm-arm.h, config/c4x/xm-c4x.h,
5545 config/convex/xm-convex.h, config/d30v/xm-d30v.h,
5546 config/i370/xm-linux.h, config/i370/xm-oe.h,
5547 config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
5548 config/m68k/xm-m68k.h, config/mips/xm-mips.h,
5549 config/pa/xm-linux.h, config/pa/xm-pa.h,
5550 config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
5551 config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
5552 config/sparc/xm-sparc.h, config/vax/xm-vax.h,
5553 config/we32k/xm-we32k.h: Delete.
5554
5555 * config/i370/xm-mvs.h, config/m88k/m88k.h,
5556 config/romp/xm-romp.h, config/rs6000/xm-beos.h,
5557 config/vax/xm-vms.h: Don't define any of:
5558 HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
5559
5560 * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
5561
5562 * config.gcc: Remove references to deleted files.
5563 (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
5564 FATAL_EXIT_CODE, which is the same between oe and mvs).
5565
fca097e7
DD
55662001-03-14 DJ Delorie <dj@redhat.com>
5567 Vladimir Makarov <vmakarov@redhat.com>
5568
5569 * config/i960/i960.c (i960_function_prologue): Compute size of
5570 frame according to number of registers actually saved there.
5571
e9c0bd54
RH
55722001-03-14 Richard Henderson <rth@redhat.com>
5573
5574 * expr.c (emit_move_insn_1): Fix else if around #endif.
5575
0c56474e
JH
5576Wed Mar 14 22:39:12 CET 2001 Jan Hubicka <jh@suse.cz>
5577 Vojtech Pavlik
5578
5579 * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
5580 constraints.
5581
6189a572
JH
5582Wed Mar 14 22:26:10 CET 2001 Jan Hubicka <jh@suse.cz>
5583
5584 * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
5585 (override_options): Parse cmodel string.
5586 (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
5587 * i386.h (TARGET_OPTIONS): Add "cmodel".
5588 (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
5589 (enum cmodel): New.
5590 (ix86_cmodel_string, ix86_cmodel): Declare.
5591
5592Wed Mar 14 22:26:54 CET 2001 Jan Hubicka <jh@suse.cz>
5593
5594 Spot by Matt Kraai:
5595 * i386.h (GENERAL_REG_P): Add missing REG_P.
5596
16a0fe50
LB
55972001-03-14 Laurynas Biveinis <lauras@softhome.net>
5598
5599 * configure.in: Use $gcc_cv_as instead of $as.
5600 * configure: Regenerated.
5601
e7182666
NB
56022001-03-14 Neil Booth <neil@daikokuya.demon.co.uk>
5603
84c041a1 5604 * cppfiles.c (stack_include_file): Only increase the include
e7182666
NB
5605 count if we actually process the file properly, as opposed
5606 to treating it as length zero. Only call read_include_file
5607 if not DO_NOT_REREAD. Handle the -H include file output
5608 here.
5609 (read_include_file): Remove now redundant DO_NOT_REREAD check.
5610 (cpp_included, find_include_file): Simplify pathnames after
5611 remapping them. If remapping, don't use the remapped file
5612 name's buffer as our scratch buffer.
5613 (cpp_pop_file_buffer): Replace the multiple include macro
5614 only if it isn't yet set.
5615 (read_name_map): Simplify remapped names when reading in.
5616 (remap_filename): Move code to code path that uses it.
5617 (_cpp_simplify_pathname): Return the input pointer.
5618 * cpphash.h (_cpp_simplify_pathname): Update prototype.
5619
f80022ff
MM
56202001-03-14 Mark Mitchell <mark@codesourcery.com>
5621
5622 * expr.c (expand_expr): Revove bogus conditional.
5623
79ce92d7
JH
5624Wed Mar 14 19:29:50 CET 2001 Jan Hubicka <jh@suse.cz>
5625
5626 * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
5627
9cf218a3
JJ
56282001-03-14 Jakub Jelinek <jakub@redhat.com>
5629
5630 * reg-stack.c (stack_result): Unconditionally use
5631 FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
5632
1a06f5fe
JH
5633Wed Mar 14 16:36:25 CET 2001 Jan Hubicka <jh@suse.cz>
5634
5635 * expr.c (emit_move_insn_1): Split push of complex value when
5636 no suitable push instruction exist.
5637
5638 * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
5639 instead of QI_REG_P.
5640
6e24b709
RK
5641Tue Mar 13 22:22:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5642
5643 * alias.c (handled_component_p, can_address_p): New functions.
5644 (get_alias_set): Use them.
5645
9502c558
JW
56462001-03-13 Jim Wilson <wilson@redhat.com>
5647
5648 * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
5649 from 80 in try_locals code.
5650 (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
5651
75e93faa
ZW
56522001-03-13 Zack Weinberg <zackw@stanford.edu>
5653
5654 * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
5655 gcc_AC_C_LONG_LONG): New.
5656 * configure.in: Use them. Probe the size of short, int, long,
5657 and long long/__int64 if we have them. Move all the AC_C_*
5658 checks together, except gcc_AC_C_CHAR_BIT which has to go
5659 after AC_CHECK_HEADERS(limits.h).
5660 Take hwint.h out of host_xm_file and build_xm_file.
5661
5662 * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
5663 HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
5664 and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
5665 Move the HOST_WIDEST_INT setup logic here from system.h.
5666 Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
5667 defined.
5668 * system.h: Include hwint.h after limits.h. HOST_WIDEST_INT
5669 is now handled by hwint.h.
5670
5671 * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
5672 config/c4x/xm-c4x.h, config/i370/xm-oe.h,
5673 config/ia64/xm-ia64.h: Don't define any of:
5674 HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
5675 HOST_BITS_PER_LONGLONG.
5676
5677 * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
5678 config/h8300/xm-h8300.h, config/mips/iris6.h,
5679 config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
5680 config/sparc/xm-sp64.h: Delete.
5681 * config.gcc: Remove references to deleted files.
5682
5683 * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
5684 HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
5685 * config/i370/xm-linux.h: Clarify floating-point situation in
5686 a comment.
5687
41947a54
NB
56882001-03-13 Neil Booth <neil@daikokuya.demon.co.uk>
5689
5690 * cppfiles.c (NO_INCLUDE_PATH): New macro.
5691 (find_include_file): Decide here which part of the include
5692 chain to start the search. Complain about an empty include
5693 chain in all cases apart from an abolsute file name.
5694 (_cpp_execute_include): Don't choose the search chain here.
5695 Don't call handle_missing_include in the case of an empty
5696 include chain.
5697 (_cpp_compare_file_date): Don't choose the search chain here.
5698 * cpplib.c (do_include_next): Move the in-main-file diagnostic
5699 here from _cpp_execute_include. Behave like #include if
5700 we're in the main file.
5701
77b84559
KG
57022001-03-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5703
5704 * system.h (malloc, realloc, calloc, strdup): Only poison these
5705 tokens when IN_GCC is defined.
5706
ca29d1dc
JH
5707Tue Mar 13 14:38:44 CET 2001 Jan Hubicka <jh@suse.cz>
5708
5709 * i386.md (abs?f expander): Support SSE case.
5710 (abd?f_if): Add new "USE"; add splitters.
5711
bf4ab281
KG
57122001-03-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5713
5714 * cpp.texi (poison): Explain the macro expansion exception.
5715
e5408e52
JJ
57162001-03-13 Jakub Jelinek <jakub@redhat.com>
5717
5718 * expr.c (store_expr): Add dont_store_target. If temp is already in
5719 target before copying to reg, don't store it into target again.
5720
1198142b
NB
57212001-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
5722
5723 * cppinternals.texi: Update for file handling.
5724
a84efb51
JO
57252001-03-12 Jeffrey Oldham <oldham@codesourcery.com>
5726
5727 * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
5728 2001-02-24 which broke building the Java library.
5729 * function.c (identify_blocks): Likewise.
5730 (all_blocks): Likewise.
5731 * integrate.c (integrate_decl_tree): Likewise.
5732 * print-tree.c (print_node): Likewise.
5733 * tree.h (BLOCK_NUMBER): Likewise.
5734 (struct tree_block): Likewise.
5735
ba8afff6
DE
57362001-03-12 David Edelsohn <edelsohn@gnu.org>
5737
5738 * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
5739 __WCHAR_TYPE__ definition.
5740 (WCHAR_TYPE_SIZE): #undef before #define.
5741
a36c54fa
NB
57422001-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
5743
75e93faa 5744 * cppfiles.c: Update comments.
a36c54fa
NB
5745 (destroy_include_file_node): Rename destroy_node.
5746 (find_or_create_entry): New function.
5747 (open_file, _cpp_fake_include): Use it.
5748 (handle_missing_header): New function, broken out of
5749 _cpp_execute include. Don't segfault if there is no
5750 system or quoted path.
5751 (_cpp_execute_include): Use handle_missing_header.
5752
23712c11
JO
57532001-03-12 Jeffrey Oldham <oldham@codesourcery.com>
5754
5755 * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
5756 2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
5757
e8ea2809
RK
5758Mon Mar 12 14:05:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5759
5760 * flow.c (insn_dead_p): Don't consider two memrefs equivalent
5761 unless anti_dependence says they are.
5762 * alias.c (objects_must_conflict): If neither has a type specified,
5763 they must conflict.
5764
89c9653e
NB
57652001-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
5766 David Billinghurst <David.Billinghurst@riotinto.com>
5767
5768 * config/mips/iris5.h: Change WCHAR_TYPE to int.
5769
99560e26
JH
5770Mon Mar 12 16:32:21 CET 2001 Jan Hubicka <jh@suse.cz>
5771
5772 * i386.md (trunctfdf2_2): Rename missnamed pattern.
5773 (*_one_bit): Remove type on the match_operand in attributes.
5774
3d117b30
JH
5775Mon Mar 12 16:27:56 CET 2001 Jan Hubicka <jh@suse.cz>
5776
5777 * i386.c: Commit forgotten hunk in previous patch.
5778 (regclass_map): Add extended registers.
5779 (dbx_register_map): Add missing frame register.
5780
1e07edd3
JH
5781Mon Mar 12 15:41:08 CET 2001 Jan Hubicka <jh@suse.cz>
5782
5783 * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
5784
5785 * i386.md (x86_sahf_1): Disable for 64bit.
5786 (popsi*, pophi*): Likewise.
5787 (pushqi, pushhi): Likewise.
5788 (movdi, pushdi): Likewise.
5789 (zero extend DImode splitter): Likewise.
5790 (adddi, minusdi splitter): Likewise.
5791 (umulsidi): Likewise.
5792 (umulsi): New.
5793 (mulsidi): Disable for 64bit
5794 (lshift:DI/ashift:DI): Disable for 64bit.
5795 (loop patterns): Likewise.
5796 (call_pop, call_value_pop expanders and patterns): Likewise.
5797 (prologue_get_pc): Likewise.
5798 (leave): Likewise.
5799 (fcmovDI pattern and splitter): Likewise.
5800 (movdfcc_1_rex64): New.
5801
d2836273
JH
5802Mon Mar 12 15:16:36 CET 2001 Jan Hubicka <jh@suse.cz>
5803
5804 * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
5805 (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
5806 (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
5807 (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
5808 (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
5809 (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
5810 (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
5811 (PUSH_ROUNDING): x86_64 rounds to 64bits.
5812 (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
5813 (REGPARM_MAX): Set to 6 for x86_64.
5814 (SSE_REGPARM_MAX): Set to 16 for x86_64.
5815 * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
5816 registers.
5817
5818 * (patterns that does use upper halves): Update constraints
5819 'q' to 'Q' and 'r' to 'R'.
5820 (cmpqi_ext_1): Disable for 64bit.
5821 (cmpqi_ext_3_insn): Likewise.
5822 (movqi_extzv_1): Likewsie.
5823 (addqi_ext_1): Liekwsie
5824 (testqi_ext_1): Liekwsie
5825 (andqi_ext_1): Liekwsie
5826 (xorqi_ext_1): Liekwsie
5827 (cmpqi_ext_1_rex64): New.
5828 (cmpqi_ext_3_insn_rex64): Likewise.
5829 (movqi_extzv_1_rex64): Likewsie.
5830 (addqi_ext_1_rex64): Liekwsie
5831 (testqi_ext_1_rex64): Liekwsie
5832 (andqi_ext_1_rex64): Liekwsie
5833 (xorqi_ext_1_rex64): Liekwsie
5834
9612ab65
ZW
58352001-03-11 Zack Weinberg <zackw@stanford.edu>
5836
75e93faa 5837 * configure.in: Move check for unsigned enumerated bitfields
9612ab65
ZW
5838 to macro in aclocal.m4. Disable it for now.
5839 * configure, config.in: Regenerate.
5840 * system.h: Don't do anything with ONLY_INT_FIELDS. Use the
5841 unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
5842 * varasm.c (struct rtx_const): Use ENUM_BITFIELD(). Move enum
5843 kind above its first use.
5844
5845 * config/xm-interix.h, config/alpha/xm-alpha.h,
5846 config/i370/xm-linux.h, config/i386/xm-beos.h,
5847 config/i386/xm-mingw32.h, config/mips/xm-mips.h,
5848 config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
75e93faa 5849 config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
9612ab65
ZW
5850 Don't define ONLY_INT_FIELDS under any circumstances.
5851
5852 * config/pa/xm-pa.h: Don't define __BSD_NET2__.
5853
5854 * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
5855 config/sparc/xm-sysv4.h: Delete - now identical with some
5856 other xm header.
5857 * config.gcc (hppa targets): Replace xm-pahpux.h and
5858 xm-papro.h with implicit xm-pa.h.
5859 (sparc targets): Replace xm-sysv4.h with implicit or explicit
75e93faa 5860 xm-sparc.h.
9612ab65 5861
d5ae21aa
AH
58622001-03-12 Aldy Hernandez <aldyh@redhat.com>
5863
75e93faa
ZW
5864 * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
5865 before reload_cse_noop_set_p.
d5ae21aa 5866
190c4cb4
ZW
58672001-03-11 Zack Weinberg <zackw@stanford.edu>
5868
5869 * config.gcc: Where xm-host.h used to include another
5870 xm-host.h, list the nested header directly in xm_file. Remove
5871 references to deleted files. Can now use sparc/xm-sp64.h for
5872 sparcv9-*-solaris*.
5873
5874 * config/xm-linux.h, config/arm/xm-linux.h,
5875 config/i386/xm-dos.h, config/i386/xm-gnu.h,
5876 config/i386/xm-linux.h, config/i386/xm-openbsd.h,
5877 config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
5878 config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
5879 config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
5880 Delete.
5881
5882 * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
5883 * config/mips/xm-iris5.h: Don't include mips/xm-mips.h. Don't
5884 bother to wrap #undef in #ifdef.
5885 * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
5886 Don't include xm-linux.h.
5887 * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
5888
5889 * configure.in: Wrap regexps using [] in changequote block.
5890 Use expr : not echo | grep. Simplify regexps.
5891 * configure: Regenerate.
5892
5893 56 xm-files remain, 22 xm-arch.
5894
45a647be
KG
58952001-03-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5896
5897 * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
5898 (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
5899 (local_index, local_rindex): Delete, use strchr/strrchr instead.
5900 (copy_object): Fix format specifier vs argument mismatch.
5901
5902 * mips-tdump.c: Make local functions static.
5903 (rindex): Don't #undef.
5904 (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
5905 (fatal, fancy_abort): Delete.
5906 (read_seek): Avoid signed/unsigned compare.
5907
c7ca5912
RK
5908Sun Mar 11 17:01:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5909
5910 * combine.c (try_combine): Fix error in change to try original
5911 register.
5912 (gen_rtx_combine): Do same as gen_rtx for now.
5913
3d9d2476
ZW
59142001-03-11 Zack Weinberg <zackw@stanford.edu>
5915
5916 * configure.in: AC_SUBST xm_defines.
5917 * configure: Regenerate.
5918 * Makefile.in: Set DEFINES=$(xm_defines) when building
5919 tconfig.h.
5920
b6464a73
NB
59212001-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
5922
75e93faa 5923 * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
b6464a73
NB
5924 (cpp_included, find_include_file): Update.
5925 (_cpp_compare_file_date): Make else unconditional.
5926
2cef831c
KK
59272001-03-10 kaz Kojima <kkojima@rr.iij4u.or.jp>
5928
5929 * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
5930
e9a9e960
TM
59312001-03-10 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
5932
75e93faa 5933 * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
e9a9e960
TM
5934 * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
5935
066c84df
AO
5936Sat Mar 10 22:42:05 2001 Alexandre Oliva <aoliva@redhat.com>
5937
5938 * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
5939 if it's a record type.
5940
936ee790
CF
5941Sat Mar 10 17:52:54 2001 Christopher Faylor <cgf@cygnus.com>
5942
5943 * config/i386/cygwin.h: Make ../w32api a system directory. Reorganize
5944 mingw includes slightly.
5945
8a0e5115
KG
59462001-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5947
5948 * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
5949 #undef token before poisoning it.
5950
6439a1f2
KG
59512001-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5952
5953 * alpha.c (check_float_value): Use memcpy, not bcopy.
5954
5955 * m32r.c (m32r_sched_reorder): Likewise.
5956
5957 * vax.c (check_float_value): Likewise.
5958
b3e68a79
NB
59592001-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
5960
5961 * toplev.c (file_name_nondirectory): Remove.
5962 * toplev.h: Similarly.
5963 * dwarf2out.c (compute_section_prefix): Use lbasename instead
5964 of file_name_nondirectory.
5965
ea23d540
RK
5966Sat Mar 10 10:36:45 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5967
5968 * mips-tdump.c (read_seek): Call xmalloc, not malloc.
5969 * mips-tfile.c: Don't #undef rindex; not used.
5970
0f7fa3d0
JH
5971Sat Mar 10 14:34:59 CET 2001 Jan Hubicka <jh@suse.cz>
5972
5973 * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
5974 (dbx64_register_map): Declare.
5975 (RETURN_ADDR_RTX): Fix for 64bit.
5976 (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
5977 (INCOMING_FRAME_SP_OFFSET): Set to 8.
5978 * i386.c (dbx64_register_map): New global array.
5979 * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
5980 linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
5981 for 64bits.
5982
2251fd78
NB
59832001-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
5984
5985 * cppfiles.c (search_from): Use lbasename.
5986 * mkdeps.c (deps_add_default_target): Use lbasename.
5987
f4ce9d90
KG
59882001-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5989
5990 * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
5991 xcalloc in lieu of malloc, realloc & calloc.
190c4cb4 5992
f4ce9d90
KG
5993 * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
5994
5995 * gengenrtl.c (xmalloc): Likewise.
5996
5997 * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
5998 really_call_* memory allocation routines.
5999
6000 * stmt.c (check_for_full_enumeration_handling): Use
6001 really_call_calloc, not calloc.
6002
6003 * system.h (really_call_malloc, really_call_calloc,
6004 really_call_realloc): Define.
6005 (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
6006
0eac2984
JL
6007Fri Mar 9 18:39:19 2001 Jeffrey A Law (law@cygnus.com)
6008
6009 * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
6010
1bf17cc4
NP
60112001-03-09 Nicola Pero <n.pero@mi.flashnet.it>
6012
6013 * configure: Rebuilt.
6014 * configure.in: Only use `lang_requires' for languages athat are
6015 actually enabled.
6016
6ca3ad1b
JM
60172001-03-09 Joseph S. Myers <jsm28@cam.ac.uk>
6018
6019 * invoke.texi: Fix typo.
6020 * gcc.1: Regenerate.
6021
11642c3a
ZW
60222001-03-09 Zack Weinberg <zackw@stanford.edu>
6023
6024 * configure.in: Prune nonexistent files from build_xm_file,
6025 xm_file, and host_xm_file lists. Warn unless they're
6026 $cpu/xm-$cpu.h.
6027 Don't generate *config.h here.
6028 AC_SUBST all variables needed to generate *config.h.
6029 * configure: Regenerate.
6030 * mkconfig.sh: New helper script, from code removed from
6031 configure.in.
6032 * Makefile.in: Zap all MALLOC variables - no longer used
6033 anywhere, and malloc.c doesn't exist.
6034 Substitute in variables needed to generate *config.h.
6035 Stop lying about the dependencies contained in CONFIG_H and
6036 GCONFIG_H.
6037 (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
6038 (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
6039 cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
6040 (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
6041 $(TM_P_H), etc. as appropriate.
6042
6043 * config.gcc: Zap references to deleted files.
6044 * ggc-none.c: Don't include rtl.h or tm_p.h.
6045
6046 * config/i386/xm-beos.h, config/i386/xm-dgux.h,
6047 config/i386/xm-djgpp.h, config/i386/xm-dos.h,
6048 config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
6049 config/i386/xm-linux.h, config/i386/xm-linux.h,
6050 config/i386/xm-next.h, config/i386/xm-openbsd.h,
6051 config/i386/xm-sun.h, config/i386/xm-sysv3.h:
6052 Don't include i386/xm-i386.h.
6053
6054 * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
6055 config/i386/xm-i386.h, config/i860/xm-i860.h,
6056 config/i960/xm-i960.h, config/mcore/xm-mcore.h,
6057 config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
6058 config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
6059 Delete (empty except comments, #includes of other deleted
6060 files, and macros used nowhere).
6061
2faf6b96
JH
6062Fri Mar 9 20:05:27 CET 2001 Jan Hubicka <jh@suse.cz>
6063
6064 * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
6065 independent on TARGET_FLAGS.
6066
3f3f2124
JH
6067Fri Mar 9 19:52:52 CET 2001 Jan Hubicka <jh@suse.cz>
6068
6069 * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
11642c3a
ZW
6070
6071 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
6072 extended ones.
6073 (CONDITIONAL_REGISTER_USAGE): Set proper values according to
6074 TARGET_64BIT.
6075 (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
6076 LAST_REX_SSE_REG): define.
3f3f2124
JH
6077 (enum reg_class): Add 'LEGACY_REGS'
6078 (REG_CLASS_CONTENTS): Likewise; add extended registers.
6079 (SSE_REGNO_P): Recognize extended registers.
6080 (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
6081 (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
11642c3a
ZW
6082 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
6083 REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
3f3f2124
JH
6084 (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
6085 REG_OK_FOR_STRREG_P): Remove.
6086 (HI_REGISTER_NAMES): Add extended registers.
6087 (ADDITIONAL_REGISTER_NAMES): Likewise.
6088 (QI_REGISTER_NAMES): Add 8bit extended registers.
6089 (DEBUG_REG): Support extended registers.
6090 * i386.c (regclass_map): Add extended registers.
6091 (dbx_register-map): Likewise.
6092 (svr4_dbx_register_map): Likewise.
6093 (print_reg): Support extended registers.
6094 (print_operand): Support 64bit operands.
6095
65d9c0ab
JH
6096Fri Mar 9 19:37:46 CET 2001 Jan Hubicka <jh@suse.cz>
6097
6098 * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
6099 (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
6100 FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
6101 DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
6102 (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
6103 STACK_BOUNDARY): Set properly for 64bits.
6104 (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
6105 (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
6106 (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
6107 (MOVE_MAX): Set to 16.
6108 (MOVE_MAX_PIECES): 8 for 64bit.
6109 (Pmode): Set to SImode.
6110
dc647e99
MS
6111Fri Mar 9 09:00:36 2001 Mike Stump <mrs@wrs.com>
6112
6113 * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
6114
25f94bb5
JH
6115Fri Mar 9 17:38:08 CET 2001 Jan Hubicka <jh@suse.cz>
6116
6117 * i386.h (mask_64bit): New constant.
6118 (target_64bit): New macro.
6119 (target_options): Add '64'/'32'
6120 (target_default): Define.
6121 * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
6122 isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
6123 unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
6124
8b737c83
JL
6125Thu Mar 8 23:36:56 2001 Jeffrey A Law (law@cygnus.com)
6126
6127 * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
6128
e7d96a83
JW
6129Thu Mar 8 23:29:37 2001 John Wehle (john@feith.com)
6130
6131 * rtlanal.c (rtx_varies_p): Check operand 0 of a
6132 LO_SUM unless for_alias is set.
6133
4ce693cd
SS
61342001-03-08 Stan Shebs <shebs@apple.com>
6135
6136 * objc/objc-act.c: Fix old typos in comments, add comments for
6137 various functions.
6138 (hash_init): Fix file name in error message.
6139 (hash_enter): Ditto.
6140 (hash_add_attr): Ditto.
6141 (continue_class): Ditto.
6142
0bf679a3
BK
61432001-03-08 Bruce Korb <bkorb@gnu.org>
6144
6145 gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
11642c3a 6146 wait4() can receive the signal.
0bf679a3 6147
786b0d35
RO
6148Thu Mar 8 21:09:10 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6149
6150 * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
6151 entities.
6152 * fixinc/fixincl.x: Regenerate.
6153
6154Thu Mar 8 21:09:10 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6155
6156 * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
6157 on Tru64 UNIX.
6158 * fixinc/fixincl.x: Regenerate.
6159
b7460f24
RH
61602001-03-08 Richard Henderson <rth@redhat.com>
6161
6162 * configure.in (HAVE_AS_LEB128): New assembler check.
6163 * configure, config.in: Rebuilt.
6164
cadcffb3
JH
6165Thu Mar 8 19:54:04 CET 2001 Jan Hubicka <jh@suse.cz>
6166
6167 * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
6168 TFmode too.
6169
b19a539e
KG
61702001-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6171
6172 * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
6173 references to the MAXPATHLEN macro.
6174
6175 * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
6176 config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
6177 the POSIX macro.
6178
6179 * config/i386/xm-gnu.h, config/xm-gnu.h,
6180 config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
6181 config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
6182 config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
6183 and/or unused files.
6184
6185 * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
6186 doing so in various xm-*.h files.
6187
4082ab0f
RK
6188Thu Mar 8 06:32:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6189
6190 * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
6191
c785e0fa
AO
61922001-03-08 Alexandre Oliva <aoliva@redhat.com>
6193
6194 * configure.in (enable_shared): Support per-package shared-library
6195 enabling.
6196 * configure: Rebuilt.
6197
251b3667
DE
61982001-03-07 David Edelsohn <edelsohn@gnu.org>
6199
6200 * rs6000.md (cr logic): Add original POWER mnemonic alternative
6201 for crnot. Set operands[5] in splitter.
6202
cf30ef80
KG
62032001-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6204
6205 * config/i370/xm-mvs.h, config/i370/xm-oe.h,
6206 config/i386/xm-beos.h, config/i386/xm-mingw32.h,
6207 config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
6208 config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
6209 config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
6210 config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
6211 config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
6212 to the USG macro.
6213
6214 * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
6215 config/i370/xm-i370.h, config/i386/xm-dgux.h,
6216 config/i386/xm-sun.h, config/i386/xm-sysv3.h,
6217 config/m68k/xm-tower.h, config/m68k/xm-aux.h,
6218 config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
6219 config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
6220 config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
6221 config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
6222 config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
6223 config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
6224 Delete unused and/or empty files.
6225
6226 * config.gcc: Define USG in xm_defines as appropriate. Define
6227 POSIX in lieu of xm-svr4.h. Delete all references to the SVR3
6228 macro. Remove deleted xm-* files from $xm_files variable.
6229
75382c6d
TT
62302001-03-07 Tom Tromey <tromey@redhat.com>
6231
6232 * configure: Rebuilt.
6233 * configure.in: Allow config-lang.in to set `lang_requires' to list
6234 of other required languages.
6235
c874ab11
AM
62362001-03-07 Andrew MacLeod <amacleod@redhat.com>
6237
6238 * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
6239 after its emitted.
6240 (output_prologue): Use xmalloc not oballoc.
6241 (output_epilog): Free a29k_first_epilogue_insn when finished.
6242 * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
6243
de6c5979
BL
62442001-03-07 Brad Lucier <lucier@math.purdue.edu>
6245
6246 * builtins.c (expand_builtin_mathfn): Check
6247 flag_unsafe_math_optimizations, not flag_fast_math.
6248 (expand_builtin): Likewise
6249 * combine.c (combine_simplify_rtx): Likewise.
6250 (simplify_if_then_else): Likewise.
6251 * cse.c (fold_rtx): Likewise.
11642c3a 6252 * flags.h: Remove flag_fast_math. Add
de6c5979
BL
6253 flag_unsafe_math_optimizations and flag_trapping_math.
6254 * fold-const.c (negate_expr): Check
6255 flag_unsafe_math_optimizations, not flag_fast_math.
6256 (invert_truthvalue): Likewise.
6257 (fold): Likewise. Before associating operands, check that
6258 code == MULT_EXPR, not code != MULT_EXPR.
6259 * ifcvt.c (noce_try_minmax): Check
6260 flag_unsafe_math_optimizations, not flag_fast_math.
6261 (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
6262 * invoke.texi: Document -funsafe-math-optimizations and
6263 -fno-trapping-math. Change documentation for -ffast-math.
6264 * jump.c (reversed_comparison_code_parts): Likewise.
6265 (rtx_equal_for_thread_p): Likewise.
6266 * optabs.c (emit_conditional_move): Likewise.
6267 * simplify-rtx.c (simplify_binary_operation): Likewise.
6268 (simplify_relational_operation): Likewise.
6269 (simplify_ternary_operation): Likewise.
6270 * toplev.c: Remove flag_fast_math. Add flag_trapping_math and
6271 flag_unsafe_math_optimizations. Remove fast-math entry from f_options.
6272 Add trapping-math and unsafe-math-optimizations entries to f_options.
6273 (set_fast_math_flags): New, sets flags for -ffast-math.
6274 (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
6275 (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
6276 * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
6277
6278 * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
6279 (alpha_emit_conditional_move): Initialize local_fast_math to
6280 flag_unsafe_math_optimizations, not flat_fast_math.
6281 * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
6282 instead of setting flag_fast_math to 1.
6283 * config/convex/convex.md: Check flag_unsafe_math_optimizations,
6284 not flag_fast_math.
6285 * config/i386/i386.c (override_options): Likewise
6286 * config/i386/i386.md: Likewise.
6287 * config/m68k/m68k.md: Likewise.
6288 * config/mips/mips.md: Likewise.
6289 * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
6290 (rs6000_generate_compare): Likewise.
6291
6822468a
LB
62922001-03-07 Laurynas Biveinis <lauras@softhome.net>
6293
11642c3a
ZW
6294 * Makefile.in: Set RANLIB to @RANLIB@.
6295 Remove RANLIB_TEST.
6822468a
LB
6296
62972001-03-07 Laurynas Biveinis <lauras@softhome.net>
11642c3a 6298
6822468a
LB
6299 * fixinc/inclhack.def (djgpp_wchar_h): New test.
6300 * fixinc/fixincl.x: Regenerated.
6301
6e487492
RH
63022001-03-07 Richard Henderson <rth@redhat.com>
6303
6304 * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
6305
542d73ae
RH
63062001-03-07 Richard Henderson <rth@redhat.com>
6307
6308 * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
6309 of block notes and exception handling notes.
6310
232f749b
RH
6311 * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
6312 * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
6313 (compile_file): ... here.
6314
ed173cc9
KG
63152001-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6316
6317 * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
6318
6319 * fixinc/gnu-regex.c: Don't include auto-host.h since we get
6320 config.h now. Include libiberty.h to handle alloca.
6321
cc937581
ZW
63222001-03-06 Zack Weinberg <zackw@stanford.edu>
6323
6324 * c-parse.in (yylexname): New function, split out of _yylex.
6325 (objc_rid_sans_at): New table.
6326 (init_reswords): Initialize it.
6327 (_yylex): Give labels clearer names. Handle CPP_ATSIGN by
6328 retrieving the next token and checking it for significance as
6329 an ObjC keyword or string constant.
6330
6331 * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
6332 * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
6333
6334 * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
6335 to CPP_OSTRING.
6336
07ed7ecf
SM
63372001-03-06 Stephen L Moshier <moshier@mediaone.net>
6338
6339 * config/m68k/m68k.c (const_uint32_operand): Accept any
6340 const_int on a 32-bit host.
6341
805c6c57
NP
63422001-03-06 Nicola Pero <n.pero@mi.flashnet.it>
6343
6344 * objc/objc-act.c (init_objc): Set save_lang_status,
6345 restore_lang_status, and mark_lang_status.
6346
d2f65b7b
KW
63472001-03-06 Krister Walfridsson <cato@df.lth.se>
6348
6349 * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
6350
a867b80c
NB
63512001-03-06 Neil Booth <neil@daikokuya.demon.co.uk>
6352
6353 * cppinternals.texi: Update.
6354
68527d81
KG
63552001-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6356
6357 * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
6358 config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
6359 config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
6360 config/convex/xm-convex.h, config/d30v/xm-d30v.h,
6361 config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
6362 config/h8300/xm-h8300.h, config/i370/xm-i370.h,
6363 config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
6364 config/i386/xm-i386.h, config/i860/xm-i860.h,
6365 config/i960/xm-i960.h, config/ia64/xm-ia64.h,
6366 config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
6367 config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
6368 config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
6369 config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
6370 config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
6371 config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
6372 config/romp/xm-romp.h, config/rs6000/xm-beos.h,
6373 config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
6374 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
6375 config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
6376 config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
6377 config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
6378 match the defaults provided in hwint.h.
6379
6380 * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
6381 config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
6382
6383 * config.gcc (xm_file): Don't set to files which are deleted.
6384
6385 * hwint.h: Provide default values for HOST_BITS_PER_*. No longer
6386 guard this file against these macros being undefined.
6387
69f8cbfa
ZW
63882001-03-06 Zack Weinberg <zackw@stanford.edu>
6389
6390 * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
6391 and DECL_DEFER_OUTPUT on the decl we create, before calling
6392 rest_of_decl_compilation.
6393
1f50aafb
ZW
63942001-03-06 Zack Weinberg <zackw@stanford.edu>
6395
6396 * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
6397 AC_FUNC_ALLOCA.
6398 * configure, config.in: Regenerate.
6399 * config.gcc: Remove references to deleted files.
6400
6401 * genattr.c, genattrtab.c, genextract.c, genoutput.c,
6402 genrecog.c, rtl.c: Do not use alloca anywhere.
6403
6404 * Makefile.in, build-make, system.h, config/x-interix,
6405 config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
6406 config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
6407 config/arc/xm-arc.h, config/arm/xm-arm.h,
6408 config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
6409 config/h8300/xm-h8300.h, config/i370/x-oe,
6410 config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
6411 config/i386/x-ncr3000, config/i386/x-sco5,
6412 config/i386/xm-dgux.h, config/i860/x-sysv4,
6413 config/i960/xm-i960.h, config/m32r/xm-m32r.h,
6414 config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
6415 config/m68k/x-hp320g, config/m69k/x-mot3300,
6416 config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
6417 config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
6418 config/m68k/xm-mot3300.h, config/m88k/x-dolph,
6419 config/m88k/x-sysv4, config/m88k/x-tekXD88,
6420 config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
6421 config/mips/x-iris, config/mips/x-iris3,
6422 config/mips/x-sni-svr4, config/mips/x-sysv,
6423 config/mips/xm-iris6.h, config/mips/xm-mips.h,
6424 config/mips/xm-nws3250v4.h, config/pa/x-hpux,
6425 config/pa/x-pa-mpeix, config/pa/xm-pa.h,
6426 config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
6427 config/pa/xm-papro.h, config/romp/xm-romp.h,
6428 config/rs6000/x-aix31, config/rs6000/x-aix41,
6429 config/rs6000/x-beos, config/rs6000/x-lynx,
6430 config/rs6000/x-mach, config/rs6000/x-rs6000,
6431 config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
6432 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
6433 config/sparc/x-sysv4, config/sparc/xm-linux.h,
6434 config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
6435 config/vax/xm-vms.h: Eradicate all references to alloca and
6436 related stuff.
6437
6438 * config/xm-alloca.h, config/clipper/x-clix,
6439 config/i386/xm-sysv4.h, config/i860/x-fx2800,
6440 config/i860/x-sysv3, config/m88k/x-sysv3,
6441 config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
6442 (contained only alloca related hacks).
6443
6444 * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
6445 USE_C_ALLOCA.
6446
d97b75be
BL
64472001-03-05 Brad Lucier <lucier@math.purdue.edu>
6448
6449 * invoke.texi: Document __FAST_MATH__.
6450
1b5640cd
KG
64512001-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6452
6453 * crtstuff.c: Restore include of auto-host.h.
6454
aa5b94de
FH
64552001-03-05 Fergus Henderson <fjh@cs.mu.oz.au>
6456
6457 Put main() in a separate file, so that the language
6458 front-end can use a different main().
6459
6460 * main.c: New.
6461 * toplev.c: (main): Rename as toplev_main.
6462 * toplev.h: Declare toplev_main.
6463 * Makefile.in (OBJS): add toplev.o.
6464 (BACKEND): remove toplev.o, add main.o.
6465
04c8d9b9
NB
64662001-03-04 Neil Booth <neil@daikokuya.demon.co.uk>
6467
6468 * cppfiles.c (search_from): Special case the empty string.
6469
7868b4a2
NB
64702001-03-04 Neil Booth <neil@daikokuya.demon.co.uk>
6471
6472 * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
6473 copy of the filename. Don't use CPP_PREV_BUFFER. Don't call
6474 strlen or strcpy; we already know the length.
6475 (_cpp_compare_file_date): Similarly.
6476 * cpphash.h (struct cpp_reader): Delete done_initialising.
6477 (CPP_PREV_BUFFER): Delete.
6478 * cppinit.c (cpp_start_read): Don't set done_initialising.
6479 * cpplex.c (parse_string): Guarantee null-termination.
6480 (_cpp_equiv_toklists): Remove.
6481 * cpplib.c (glue_header_name): Null-terminate.
6482 (do_line): Don't leak memory.
6483 * cpplib.h (BT_WEAK): Delete.
6484 * cppmain.c (cb_ident): Strings are now null-terminated.
6485
64862001-03-04 Laurynas Biveinis <lauras@softhome.net>
6487
6488 * gcc.c (convert_filename): Append executable suffix
6489 if NO_AUTO_EXE_SUFFIX is not defined.
6490 * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
6491 * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
91c704c4 6492
7e7be827 64932001-03-03 David O'Brien <obrien@FreeBSD.org>
1f50aafb 6494
7e7be827
DB
6495 from 2000-09-06 Zack Weinberg <zack@wolery.cumb.org>
6496 * c-parse.gperf, c-gperf.h: Delete.
69f8cbfa
ZW
6497 (c-gperf.h was accidently re-added to the CVS repo in the rev
6498 1.16 commit by tromey)
7e7be827 6499
e8408f25
NB
65002001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
6501
6502 * cpplex.c (_cpp_lex_token): Don't warn about directives in
6503 macro arguments when looking for the '('.
6504 * cppmacro.c (funlike_invocation_p): Set parsing_args to
6505 2 when really parsing arguments; 1 when looking for '('.
6506 Always restore the lexer position.
6507
1d67c69a
NB
65082001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
6509
6510 * longlong.h (umul_ppmm): Don't use a multiline string.
6511
f6242907
JDA
65122001-03-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
6513
6514 * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
6515 * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
6516 t_bool in declaration because pcc can't combine volatile with typedef
6517 types.
6518
bf71a4f8
JH
6519Sat Mar 3 19:47:13 CET 2001 Jan Hubicka <jh@suse.cz>
6520
6521 * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
6522 until when it is really needed.
6523 (ix86_expand_compare): Update call of ix86_expand_fp_compare.
6524 * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
6525 * i386.md (float?i?f splitter): Don't force source operand to memory
6526 for SSE.
6527 (sse_movdfcc): Fix constraint.
6528 (sse_movdfcc splitter): Handle properly the second alternative.
6529
795a25f4
NB
65302001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
6531
20f9202d 6532 * cpplex.c (parse_string): Unconditionally pedwarn.
795a25f4 6533
c691145a
NB
65342001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
6535
20f9202d 6536 * cpp.texi: Update.
1f50aafb 6537 * cppexp.c (parse_number): Update.
20f9202d
DB
6538 * cpplex.c (parse_string): Pedwarn if multiline string does not
6539 result from a system header's macro.
6540 * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
6541 * cppmacro.c (sys_objmacro_p): Rename sys_macro_p. Return true
6542 for function-like macros too.
c691145a
NB
6543 * c-lex.c (lex_number): Update.
6544
e7f4d38a
RH
65452001-03-03 Richard Henderson <rth@redhat.com>
6546
6547 * dwarf2out.c (output_call_frame_info): Fix augmentation length.
6548
5dd3e650
R
6549Sat Mar 3 04:17:17 2001 J"orn Rennecke <amylaar@redhat.com>
6550
6551 * combine.c (try_combine): If split with mode-changed scratch
6552 register didn't work, try the original mode.
6553
31a02448
R
6554Sat Mar 3 03:46:47 2001 J"orn Rennecke <amylaar@redhat.com>
6555
6556 * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
6557 * config/c4x/c4x.h: Likewise.
6558 * stor-layout.c (compute_record_mode): Likewise.
6559 (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
6560
eaf4e618
ZW
65612001-03-02 Zack Weinberg <zackw@stanford.edu>
6562
6563 * configure.in: Kill tm.h. Include the files in the $tm_file
6564 list in all three of config.h, hconfig.h, tconfig.h, after the
6565 relevant set of xm_files. Put TARGET_CPU_DEFAULT in all
6566 three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
6567 * configure: Regenerate.
6568 * Makefile.in (clean): Don't delete tm.h.
6569
6570 * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
6571 defined, set them from EXIT_SUCCESS and EXIT_FAILURE. If
6572 those are not defined, set SEC and FEC to 0 and 1.
6573 * gcc.texi: Update to match.
6574
6575 * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
6576 * config/fp-bit.c, config/m68k/aux-crt2.asm,
6577 config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
6578 Include tconfig.h, not tm.h.
6579
6580 * config/xm-lynx.h, config/xm-std32.h,
6581 config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
6582 config/alpha/xm-alpha.h, config/arc/xm-arc.h,
6583 config/avr/xm-avr.h, config/c4x/xm-c4x.h,
6584 config/clipper/xm-clix.h, config/convex/xm-convex.h,
6585 config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
6586 config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
6587 config/h8300/xm-h8300.h, config/i370/xm-linux.h,
6588 config/i386/xm-i386.h, config/i860/xm-i860.h,
6589 config/i960/xm-i960.h, config/ia64/xm-ia64.h,
6590 config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
6591 config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
6592 config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
6593 config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
6594 config/pa/xm-linux.h, config/pa/xm-pa.h,
6595 config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
6596 config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
6597 config/pj/xm-pj.h, config/romp/xm-romp.h,
6598 config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
6599 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
6600 config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
6601 config/v850/xm-v850.h, config/vax/xm-vax.h,
6602 config/we32k/xm-we32k.h:
6603 Don't include tm.h.
6604 Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
6605
6606 * config/i370/xm-i370.h, config/i370/xm-mvs.h,
6607 config/i370/xm-oe.h: Don't include tm.h. Don't define
6608 SUCCESS_EXIT_CODE.
6609 * config/vax/xm-vms.h: Don't include tm.h.
6610
6611 * config/xm-lynx.h, config/avr/xm-avr.h,
6612 config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
6613 Delete; made empty by above changes.
6614 * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
6615 config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
6616 Don't include config/xm-lynx.h or tm.h.
6617
6618 * config/xm-gnu.h: Don't include fcntl.h.
6619 * config/sparc/xm-lynx.h: Don't include sys/types.h and
6620 sys/wait.h.
6621 * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
6622
1a7519ff
RH
66232001-03-02 Richard Henderson <rth@redhat.com>
6624
6625 * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
6626 UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
6627
2e4b9b8c
RH
66282001-03-02 Richard Henderson <rth@redhat.com>
6629
6630 * Makefile.in (OBJS): Add dwarf2asm.o.
6631 * dwarf2asm.c, dwarf2asm.h: New files.
6632 * dwarf2out.c (*): Use them.
6633 (size_of_uleb128, size_of_sleb128): Remove.
6634 (output_uleb128, output_sleb128): Remove.
6635 (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
6636 (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
6637 (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
6638 (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
6639 (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
6640 (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
6641 (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
6642 (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
6643 (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
6644 (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
6645 (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
6646 (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
6647 (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
6648 (dwarf2out_frame_debug): Remove unused variables.
6649 (output_loc_operands): Don't abort on 8 byte constants if
6650 host integers are wide enough.
6651 (output_symbolic_ref): Remove.
6652 (size_of_die): Don't assume 4 byte host integers.
6653 (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
6654 and end labels.
6655 (add_const_value_attribute) [CONST_INT]: Verify we're not doing
6656 something stupid with HOST_WIDE_INT to long truncation.
6657 [CONST_DOUBLE]: Likewise.
6658
6659 * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
6660 (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
6661 * config/arm/unknown-elf.h: Likewise.
6662 * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
6663 (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
6664 (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
6665 (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
6666 (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
6667 (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
6668 (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
6669 (ASM_OUTPUT_DWARF_OFFSET): Remove.
6670 * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
6671 * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
6672 (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
6673 (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
6674
dc76f41c
JDA
66752001-03-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
6676
6677 * cselib.c (hash_rtx): Cast enums to unsigned int.
6678
dbbbbf3b
JDA
66792001-03-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
6680
6681 * print-rtl.c (print_rtx): Cast enums to int for comparison.
6682 * c-decl.c (grokdeclarator): Cast enums to int for comparison and
6683 shifts.
6684 * c-format.c (C_STD_VER): Cast to int for comparisons.
6685 (check_function_format): Cast various enums to int for &.
6686 (maybe_read_dollar_number): Likewise.
6687 (check_format_info): Likewise.
6688 (check_format_info_main): Likewise.
6689 * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
6690 (safe_from_p): Likewise.
6691 * varasm.c (const_hash): Cast enum to int for %.
6692 * emit-rtl.c (init_emit_once): Use int loop variable to work around
6693 pcc enum problems with < and ++ operators.
6694 * regclass.c (init_reg_sets_1): Cast enums for comparison.
6695 (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
6696 (regclass_init): Change enum class to int to iterate over reg_classes.
6697 * genrecog.c (merge_trees): Cast enums for comparison.
6698 * rtl.h (GET_CODE): Cast to enum rtx_code.
6699 (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
6700 (GET_MODE): Cast to enum machine_mode.
6701 (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
6702 (GET_NOTE_INSN_NAME): Cast enum to int.
6703 * tree.h (TREE_CODE): Cast to enum tree_code.
6704 (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
eaf4e618 6705 * timevar.c (timevar_print): Change loop variable id from enum to
dbbbbf3b
JDA
6706 unsigned int.
6707 * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
6708 * config/i386/i386.md: Use PUT_MODE for mode assignment.
6709 * toplev.c (compile_file): Cast enum DFI to int.
6710 (decode_d_option): Likewise.
6711
4737b274
CF
6712Fri Mar 2 12:18:13 2001 Christopher Faylor <cgf@cygnus.com>
6713
6714 * cppinit.c (append_include_chain): Mark "after" include file name list
6715 as a system directory.
6716 * cpp.texi: Document new behavior.
6717
68af29ce
JH
6718Fri Mar 2 11:59:43 CET 2001 Jan Hubicka <jh@suse.cz>
6719
6720 * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
6721
591e15a1
NB
67222001-03-02 Neil Booth <neil@daikokuya.demon.co.uk>
6723
eaf4e618
ZW
6724 * cppfiles.c (struct include_file): Update.
6725 (stack_include_file): Use search_from.
6726 (cpp_included, find_include_file): Update.
6727 (cpp_execute_include): Update. ptr->name may not be
6728 null terminated. Use the new search_from member variable
6729 of cpp_buffer.
6730 (_cpp_compare_file_date): Similarly.
6731 (search_from): New function, similiar to actual_directory.
6732 (actual_directory): Delete.
6733 (remap_filename): Update. loc->name may not be null terminated.
6734 (struct file_name_list): Rename search_path. Update.
6735 * cpphash.h (struct cpp_buffer): Delete actual_dir. New members
6736 search_from and dir.
6737 (struct cpp_reader): Remove actual_dirs.
6738 * cppinit.c (struct cpp_pending): Update for renamed objects.
6739 (append_include_chain, remove_dup_dir, remove_dup_dirs,
6740 merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
6741 * cpplib.h (struct cpp_options): Similarly.
591e15a1 6742
d6edb99e
ZW
67432001-03-01 Zack Weinberg <zackw@stanford.edu>
6744
6745 * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
6746 config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
6747 config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
6748 config/clipper/xm-clix.h, config/convex/xm-convex.h,
6749 config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
6750 config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
6751 config/h8300/xm-h8300.h, config/i370/xm-i370.h,
6752 config/i370/xm-linux.h, config/i370/xm-mvs.h,
6753 config/i370/xm-oe.h, config/i386/xm-aix.h,
6754 config/i386/xm-i386.h, config/i386/xm-osf.h,
6755 config/i860/xm-i860.h, config/i960/xm-i960.h,
6756 config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
6757 config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
6758 config/mcore/xm-mcore.h, config/mips/xm-mips.h,
6759 config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
6760 config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
6761 config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
6762 config/pa/xm-pahpux.h, config/pa/xm-papro.h,
6763 config/pj/xm-pj.h, config/romp/xm-romp.h,
6764 config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
6765 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
6766 config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
6767 config/v850/xm-v850.h, config/vax/xm-vax.h,
6768 config/vax/xm-vms.h, config/we32k/xm-we32k.h:
6769 Do not define TRUE or FALSE.
6770
6771 * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
6772 empty by above change.
6773 * config.gcc: Remove references to these files.
6774
6775 * configure.in: Detect stdbool.h.
6776 * configure, config.in: Regenerate.
eaf4e618 6777 * system.h: Include stddef.h here if available.
d6edb99e
ZW
6778 Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
6779 Then set up a sensible boolean type at the very end.
6780
6781 * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
6782 config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
6783
6784 * hash.h: Delete 'boolean' typedef and related #undefs.
6785
6786 * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
6787 all uses of 'boolean' with 'bool'.
6788
37b8524c
JDA
67892001-03-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
6790
6791 * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
6792 * cppexp.c (lex): Cast enums for comparison.
6793 * cppinit.c (parse_option): Cast enum for comparison.
6794 * cpplex.c (cpp_spell_token): Cast enums to int for minus.
6795 (cpp_output_token): Likewise.
6796 (cpp_can_paste): Cast enums for comparsion and plus/minus.
6797 (cpp_avoid_paste): Cast enums for minus and comparison.
6798
f7143427
ZW
67992001-03-01 Zack Weinberg <zackw@stanford.edu>
6800
6801 * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
6802 field to all array elements.
6803
cb773845
ZW
68042001-03-01 Zack Weinberg <zackw@stanford.edu>
6805
6806 * cpphash.h (struct cpp_reader): Add print_version field.
6807 * cppinit.c (cpp_handle_option): For -v, -version, and --version,
6808 just set print_version and other flags as appropriate.
6809 (cpp_post_options): Print version here if print_version is set.
6810
6811 * toplev.c (exit_after_options): New flag.
6812 (independent_decode_option): Don't exit here; just set
6813 exit_after_options.
6814 (main): Exit after calling lang_hooks.post_options if
6815 exit_after_options is true.
6816
6817 * cppinit.c (append_include_chain): Drop never-used case QUOTE.
6818 (merge_include_chains): Adjust comment to match code.
6819
71b7be38
ZW
68202001-03-01 Zack Weinberg <zackw@stanford.edu>
6821
6822 * stringpool.c (set_identifier): New function.
6823 * tree.h: Prototype it.
6824
6825 * c-parse.in: Kill D_YES. If compiled for objc, call
6826 save_and_forget_protocol_qualifiers from init_reswords.
6827 * objc/objc-act.c (remember_protocol_qualifiers,
6828 forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
6829 Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
6830 vice versa.
6831 (save_and_forget_protocol_qualifiers): New function.
6832 * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
6833
5aa709ad
DN
68342001-03-01 Diego Novillo <dnovillo@redhat.com>
6835
6836 * c-semantics.c (prune_unused_decls): Return error_mark_node
6837 instead of (tree) 1 to stop traversing the tree chain.
6838
791f5e8d
BS
68392001-03-01 Bernd Schmidt <bernds@redhat.com>
6840
6841 Fix a problem introduced by Kenner's Feb 18 change.
6842 * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
6843 flag_cse_skip_blocks only temporarily, not for ever.
6844
9c1eed37
JL
6845Thu Mar 1 09:49:58 2001 Jeffrey A Law (law@cygnus.com)
6846
913553ce
JL
6847 * config/pa/som.h (ASM_IDENTIFY_GCC): Define.
6848 (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
6849
9c1eed37
JL
6850 * pa.c (emit_move_sequence): Verify operand0 is a hard register
6851 before determining its register class.
6852
21e4c9a8
BS
68532001-03-01 Bernd Schmidt <bernds@redhat.com>
6854
8cb71435
BS
6855 * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
6856 from reg 4 if current_function_calls_setjmp.
7a87c39c
BS
6857 (gen_nop_type): New function.
6858 (ia64_emit_nops): New function.
6859 (ia64_reorg): Call it.
2d1b811d 6860 (ia64_sched_reorder): Move code that rotates bundles up a bit.
8cb71435 6861
1abdf5e7
BS
6862 * reload1.c (eliminate_regs_in_insn): Restrict the special case
6863 code not to try to optimize adds with anything but a REG destination.
6864
21e4c9a8
BS
6865 * sched-int.h (struct haifa_insn_data): Add new member priority_known.
6866 (INSN_PRIORITY_KNOWN): New accessor macro.
6867 * haifa-sched.c (priority): Use it instead of testing priority against
6868 zero.
6869
d676911f
DD
68702001-02-28 DJ Delorie <dj@redhat.com>
6871
6872 * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
6873 since that doesn't work the way gcc wants on a generic m68k.
6874
d448e3e9
RH
68752001-02-28 Richard Henderson <rth@redhat.com>
6876
6877 * caller-save.c (save_call_clobbered_regs): Fix typo in
6878 comparison last change.
6879
b4e89e2d
JH
6880Wed Feb 28 19:31:42 CET 2001 Jan Hubicka <jh@suse.cz>
6881
6882 * i386.c (pentium4_cost): New.
6883 (m_PENT4): New macro.
6884 (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
6885 x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
6886 x86_integer_DFmode_moves, x86_partial_reg_dependency,
6887 x86_memory_mismatch_stall): Add Pentium4
6888 (x86_use_q_reg, x86_use_any_reg): Kill.
6889 (override_options): Add pentium4.
6890 (incdec_operand): Return 0 for pentium4.
6891 (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
6892 * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
6893 (TARGET_PENTIUM4): Define.
6894 (enum processor_type): Add PROCESSOR_PENTIUM4.
6895 (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
6896 * i386.md (attribute "cpu"): Add pentium4.
6897 * invoke.texi (march): Add pentium4.
6898
0073023d
JH
6899Wed Feb 28 19:28:06 CET 2001 Jan Hubicka <jh@suse.cz>
6900
6901 * i386.md (sse_mov?fcc*): New patterns and splitters.
6902 * i386.c (ix86_expand_movcc): Work post-reload; recognize
6903 the SSE based conditional moves.
6904
2b04e52b
JH
6905Wed Feb 28 19:18:23 CET 2001 Jan Hubicka <jh@suse.cz>
6906
6907 * i386.md (attribute mode): Add "TI".
6908 (movsf_1): Add pxor support; remove constant propagation splitter.
6909 (movdf_integer): Likewise.
6910 (movdf_nointeger): Likewise.
6911 (movxf constant prop splitter): Handle all modes; update for SSE.
6912 * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
6913 * i386.c (standard_80387_constant_p): Rewrite.
6914 (standard_sse_constant_p): New.
6915 * i386-protos.h (standard_sse_constant_p): New.
6916
a46d1d38
JH
6917Wed Feb 28 19:05:37 CET 2001 Jan Hubicka <jh@suse.cz>
6918
6919 * i386.md (sse_setccsf, sse_setccdf): New.
6920 (sse_cmp* patterns): Use '%D' instead of outputtting condition
6921 flag directly.
6922 * i386.c (sse_comparison_operator): Accept the supported unordered
6923 comparses; be ready for fast_math.
6924 (print_operand): Support 'D'.
6925
91afe941
JH
6926Wed Feb 28 18:54:51 CET 2001 Jan Hubicka <jh@suse.cz>
6927
6928 * jump.c (reversed_comparison_code): Kill.
6929
6f45f005
JH
6930Wed Feb 28 18:50:15 CET 2001 Jan Hubicka <jh@suse.cz>
6931
6932 * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
6933 for STACK_REGS
6934
c679d048
JH
6935Wed Feb 28 18:47:37 CET 2001 Jan Hubicka <jh@suse.cz>
6936
6937 * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
6938 add missing '%' in constraints.
6939
4ae31003
JH
6940Wed Feb 28 17:24:24 CET 2001 Jan Hubicka <jh@suse.cz>
6941
6942 * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
6943 for HOST_BITS_PER_WIDE_INT == 32 too.
6944
787dc842
JH
6945Wed Feb 28 17:22:35 CET 2001 Jan Hubicka <jh@suse.cz>
6946
6947 * caller-save.c (reg_save_code, reg_restore_code): Index by mode, not
6948 NREGS.
6949 (insert_save, insert_restore): New parameter save_mode.
6950 (init_caller_save): Update initialization of reg_save_code
6951 and reg_restore_code.
6952 (save_call_clobbered_regs): Compute save_modes and update calls to
6953 reg_save_code and reg_restore_code.
6954 (insert_restore): Unsignetize numbers; use save_modes to choose mode
6955 of spill; update use of reg_restore_code.
6956 (insert_save): Likewise.
6957 * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
6958 * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
6959 * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
6960
6961Wed Feb 28 17:19:28 CET 2001 Jan Hubicka <jh@suse.cz>
dc2698bc
JH
6962
6963 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
6964 noce_try_store_flag_inc, noce_try_store_flag_mask,
6965 noce_try_cmove_arith):
6966 Use reversed_comparison_code instead of reverse_comparison and
6967 can_reverse_comparison_p.
6968
2450703c
JH
6969Wed Feb 28 17:17:29 CET 2001 Jan Hubicka <jh@suse.cz>
6970
6971 * jump.c (reversed_comparison_code_parts): Allow reversal of
6972 unordered compares in -ffast-math mode; reverse ordered compares
6973 for FP even w/o -ffast-math.
6974
25cff714
RH
69752001-02-27 Richard Henderson <rth@redhat.com>
6976
6977 * print-rtl.c (print_rtx) [i]: Don't print field five on
6978 NOTEs other than NOTE_INSN_DELETED_LABEL.
6979
26029fe2
ZW
69802001-02-27 Zack Weinberg <zackw@stanford.edu>
6981
6982 * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
6983 * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
6984
87aee676
DN
69852001-02-27 Diego Novillo <dnovillo@redhat.com>
6986
6987 * c-common.c (walk_stmt_tree): Visit the chain of the current tree
6988 even if walk_subtrees is 0.
6989 * c-semantics.c (prune_unused_decls): Return a non-null value to
6990 stop traversing the tree chain.
6991
67935d3f
DD
69922001-02-27 DJ Delorie <dj@redhat.com>
6993
6994 * config/m68k/m68k.c (output_function_prologue): Save the new CFA
6995 register, *then* define it as the new CFA.
6996
7ee72796
JL
6997Tue Feb 27 16:49:13 2001 Jeffrey A Law (law@cygnus.com)
6998
6999 * pa.c (override_options): Promote -fpic to -fPIC.
7000 (legitimize_pic_address): Simplify due to removal of
7001 small PIC as a code generation option.
7002 (secondary_reload_class): Similarly.
7003 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
7004 (PRINT_OPERAND_ADDRESS): Similarly.
7005 * pa.md (various patterns): Similarly.
7006 (small pic lo_sum pattern): Remove.
7007
b71b019a
JH
7008Tue Feb 27 16:01:13 CET 2001 Jan Hubicka <jh@suse.cz>
7009 Fergus Henderson
7010
7011 * md.texi (min, max): Document
d6edb99e 7012
79005df5
JH
7013Tue Feb 27 15:51:35 CET 2001 Jan Hubicka <jh@suse.cz>
7014
7015 * i386.md (movsf, movdf): Use movaps for reg-reg moves if
7016 TARGET_PARTIAL_REG_DEPENDENCY.
7017 (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
7018
7ada6625
JH
7019Tue Feb 27 15:36:48 CET 2001 Jan Hubicka <jh@suse.cz>
7020
7021 * i386.md (mins*, maxs*): New patterns, expanders and splitters.
7022
8bb3dc77
JO
70232001-02-26 Jeffrey Oldham <oldham@codesourcery.com>
7024
7025 * mips.c (mips_make_temp_file): Fix thinko in last change.
7026
ac4cdf40
JE
70272001-02-26 Jason Eckhardt <jle@redhat.com>
7028
7029 * combine.c (known_cond): Do not reverse the condition when
d6edb99e 7030 SMAX/UMAX is being considered and the condition is for equality
ac4cdf40
JE
7031 or inequality.
7032
7033 * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
7034
14879e76
PB
70352001-02-26 Philip Blundell <philb@gnu.org>
7036
7037 * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
7038 "armv2-*-linux".
7039 * config/arm/linux-elf.h: Remove historical relics related to
7040 above configurations.
7041 * config/arm/linux-oldld.h: Delete.
7042 * config/arm/linux-elf26.h: Delete.
7043
8cf8d8a2
JM
70442001-02-26 Jason Merrill <jason@redhat.com>
7045
7046 * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
7047 definitions.
7048 * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
7049 recognize a tentative definition. Lose obsolete code.
7050
7051 * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
7052 variables unless necessary, either.
7053
05cc23e8
RH
70542001-02-25 Richard Henderson <rth@redhat.com>
7055
7056 * ifcvt.c (struct noce_if_info): Add test_bb.
7057 (noce_get_alt_condition): New.
7058 (noce_try_minmax, noce_try_abs): New.
7059 (noce_operand_ok): New.
7060 (noce_process_if_block): Use them.
7061 * rtlanal.c (may_trap_p): NEG and ABS can never trap.
7062
052d4b6c
CF
7063Sun Feb 25 14:26:17 2001 Christopher Faylor <cgf@cygnus.com>
7064
7065 * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
7066 include.
7067
e1b71de9
ZW
70682001-02-25 Zack Weinberg <zackw@stanford.edu>
7069
7070 * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
7071 * config/mips/mips.c (mips_make_temp_file): Set temp_filename
7072 properly.
7073 (mips_asm_file_end): Free temp_filename here.
7074
4ddb47b3
RK
7075Sun Feb 25 08:34:23 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7076
397be6cf
RK
7077 * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
7078 * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
7079
4ddb47b3
RK
7080 * config/i386/i386.md (movstrsi): Handle FAIL case.
7081
618cdda7
NB
70822001-02-25 Neil Booth <neil@daikokuya.demon.co.uk>
7083
05cc23e8
RH
7084 * cppinit.c (builtin_array): Update.
7085 (init_builtins): Flag builtins to warn if redefined or
7086 undefined. Define __GXX_WEAK as a normal macro.
7087 * cpplib.c (do_undef): Warn if flagged NODE_WARN.
7088 * cpplib.h (NODE_WARN): New flag.
7089 * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
7090 Handle __STDC__ as a builtin only on Solaris.
7091 (warn_of_redefinition): Renamed from check_macro_definition.
7092 Reverse sense of test. Always warn if NODE_WARN.
7093 (_cpp_create_definition): Use warn_of_redefinition. Flag
7094 any macro beginning with "__STDC_" to require a mandatory
7095 warning if redefined or undefined.
618cdda7 7096
000b5f54
ZW
70972001-02-24 Zack Weinberg <zackw@stanford.edu>
7098
7099 * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
7100 i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
7101 i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
7102 i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
7103 m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
7104 mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
7105 Don't define any of:
7106 USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
7107 P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
7108 NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
7109 index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
7110 STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
7111
7112 * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
7113 fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
7114 definitions.
7115
7116 * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
7117 Delete now-empty file.
7118
7119 * alpha/vms.h: Define NEED_ATEXIT here...
7120 * alpha/xm-vms.h: ...not here.
7121
7122 * i386/cygwin.h: Don't define PARAMS.
7123 * mips/mips.c: Don't prototype mktemp. Don't define
7124 P_tmpdir. Use make_temp_file to create temporary files.
7125 Don't be clever and delete temporary files early.
7126 * config.gcc: Drop references to deleted files. Don't define
7127 FULL_PROTOTYPES.
7128 * gcc.texi: Don't mention USE_PROTOTYPES.
7129
0e4970d7
RK
7130Sat Feb 24 20:25:29 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7131
7132 * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
7133 (ix86_set_move_mem_attrs_1): Likewise.
7134 * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
7135 * config/i386/i386.md (movstrsi): Call it.
7136
a59b81be
ZW
71372001-02-24 Zack Weinberg <zackw@stanford.edu>
7138
7139 * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
7140 x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
7141 ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
7142 rs6000/x-aix41-gld. These are nonexistent, empty, or obsolete.
7143
7144 (i750a-*-*): Error here if hosting on i750a.
7145 (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
7146
7147 * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
7148 Remove (empty modulo comments).
7149
7150 * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
7151 alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
7152 i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
7153 i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
7154 mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
7155 rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
7156
7157 * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
7158 Remove reference to winnt.h in comment.
7159 * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
7160
c7b30677
FS
71612001-02-24 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7162
7163 * loop.c (check_dbra_loop): A biv has uses besides counting if it is
7164 used to set another biv.
7165
f900ecd8
RK
7166Sat Feb 24 06:45:21 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7167
bd015d37
RK
7168 * tree.h (BLOCK_DEAD): New macro.
7169 (struct tree_block): New flag, dead_flag.
7170 * print-tree.c (print_node, case 'b'): Print missing fields.
7171 * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
7172 * function.c (identify_blocks): Enable test for misplaced notes.
7173 (all_blocks): Skip BLOCK_DEAD blocks.
7174 * integrate.c (integrate_decl_tree): Likewise.
7175
f900ecd8
RK
7176 * errors.c (internal_error, trim_filename): New functions.
7177 (fancy_abort): Call internal_error.
7178 * errors.h (internal_error, trim_filename): New declarations.
7179
0651fbc0
AO
71802001-02-24 Alexandre Oliva <aoliva@redhat.com>
7181
7182 * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
7183 2000-08-26's patch.
7184 (EXTRA_CONSTRAINT): Formatting changes.
7185
5ea1bc0e
KG
71862001-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7187
7188 * rtl.c (rtl_check_failed_code2): Fix typo in last change.
7189
1aed31b6
PB
71902001-02-23 Per Bothner <per@bothner.com>
7191
7192 * gcc.c (record_temp_file, pfatal_with_name, error): Make non-static,
7193 so they can be called from java/jvspec.c.
7194 * gcc.h (record_temp_file, pfatal_with_name, error): Declare.
7195
4dd2ac2c
JH
7196Sat Feb 24 03:32:50 CET 2001 Jan Hubicka <jh@suse.cz>
7197
7198 * i386.c (ix86_frame): New structure.
7199 (ix86_compute_frame_size): Kill.
7200 (ix86_compute_frame_layout): New.
7201 (ix86_save_reg): New.
7202 (ix86_can_use_return_insn_p): Use frame layout stuff.
7203 (ix86_expand_prologue): Likewise.
7204 (ix86_expand_epilogue): Likewise.
7205 (ix86_initial_elimination_offset): Likewise.
7206 (ix86_nsaved_regs): Use ix86_save_reg.
7207 (ix86_emit_save_regs): Likewise.
7208
a686dbf8
JH
7209Sat Feb 24 03:30:38 CET 2001 Jan Hubicka <jh@suse.cz>
7210
7211 * flow.c (find_sub_basic_blocks): New function.
7212 (split_block): Be ready for basic block introduced by CODE_LABEL.
7213 (commit_one_edge_insertion): Call find_sub_basic_block.
7214
7215 * flow.c (make_edges): Add edge from entry for blocks starting with
7216 label having ALTERNATE_NAME
7217
016030fe
JH
7218Sat Feb 24 03:19:42 CET 2001 Jan Hubicka <jh@suse.cz>
7219
7220 * function.c (epilogue_done): Be ready for first basic block not
7221 containing PROLOGUE_END note.
7222 (reposition_prologue_and_epilogue_notes): Avoid placing
7223 PROLOGUE_END note between BASIC_BLOCK.
7224
c9212f33
JH
7225Sat Feb 24 03:17:09 CET 2001 Jan Hubicka <jh@suse.cz>
7226
7227 * loop.c (canonicalize_condition): Move to reversed_comparison_code.
7228
4f0a3098
DD
72292001-02-21 DJ Delorie <dj@redhat.com>
7230
7231 * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
7232 check for current_function_has_nonlocal_goto from 1999-11-12.
7233
e82a84c4
RK
7234Fri Feb 23 15:28:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7235
fce687f8
RK
7236 * diagnostic.c (trim_filename): No longer static.
7237 * toplev.h (trim_filename): Declare.
7238 * rtl.c (rtl_check_failed_bounds): Call internal_error.
7239 (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
7240 (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
7241 (rtvec_check_failed_bounds): Likewise.
7242 * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
7243
3cc247a8
RK
7244 * convert.c (convert_to_integer): Don't do unsigned unless result or
7245 both inputs are unsigned.
7246
ac50176d
RK
7247 * fold-const.c (fold_convert): Don't call size_int_type_wide if
7248 input overflows.
7249
9b58f739
RK
7250 * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
7251
e82a84c4
RK
7252 * varasm.c (output_constant): Recompute CODE after lang-specific fn.
7253
d5d063d7
JO
72542001-02-23 Jeffrey Oldham <oldham@codesourcery.com>
7255
7256 * Makefile.in (resource.o): Add params.h dependence.
7257 * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
7258 * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
7259 * resource.c: Add dependence on params.h.
7260 (current_live_regs): Fix explanatory comment.
7261 (find_basic_block): Add new parameter to permit limiting search
7262 for a BARRIER.
7263 (mark_target_live_regs): Add new argument to find_basic_block call.
7264 (incr_ticks_for_insn): Likewise.
7265
3d7c9b7e
GDR
72662001-02-23 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
7267
7268 * diagnostic.c (output_to_stream): Rename to
7269 output_buffer_to_stream. Loses the stream parameter.
7270 (init_output_buffer): Set diagnosic_buffer's stream.
7271 (flush_diagnostic_buffer): Adjust.
7272 (default_print_error_function): Likewise.
7273 (finish_diagnostic): Likewise.
7274 (verbatim): Likewise.
7275
7276 * diagnostic.h (struct output_buffer): Add `stream' field.
7277 (output_buffer_attached_stream): New macro.
7278
fba2c0cd
JJ
72792001-02-23 Jakub Jelinek <jakub@redhat.com>
7280
7281 * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
7282 check if either operand is divisible by C.
7283 (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
7284 If type is signed, consider negative numbers as well.
7285
515edc9b
RH
72862001-02-22 Richard Henderson <rth@redhat.com>
7287
7288 * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
7289 reach .text instead of gp-relative relocs.
7290 * config/ia64/crtend.asm (.init): Likewise.
7291
3844cd2e
AJ
72922001-02-22 Andreas Jaeger <aj@suse.de>
7293
7294 * extend.texi (C++ Attributes): Fix typo.
7295
3f67ac08
DM
72962001-02-21 David Mosberger <davidm@hpl.hp.com>
7297
7298 * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
7299 functions, drop current_function_args_info.words test.
7300 (ia64_compute_frame_size): Mark syscall_linkage functions as
7301 using eight input registers.
7302
89647e8a
LR
73032001-02-21 Loren J. Rittle <ljrittle@acm.org>
7304 Bruce Korb <bkorb@gnu.org>
7305
7306 * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
7307 * fixinc/README: Document how to convert sed substitutions
7308 to format style c_fix-es.
7309 * fixinc/fixincl.x: regen
7310
e889f41a
JO
73112001-02-21 Jeffrey D. Oldham <oldham@codesourcery.com>
7312
7313 * gcc.c: Add comment explaining how to add a command-line option.
7314 Add title to specs language comment.
7315
7521b913
JO
73162001-02-21 Jeffrey Oldham <oldham@codesourcery.com>
7317
7318 * gcc.c (cc1_options): Add "-param".
7319 (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
7320 (option_map): Likewise.
7321 * toplev.c (display_help): Add entry for "--param".
7322 (independent_decode_option): Fix typographical error.
7323
82a127a9
CM
7324Wed Feb 21 18:57:28 CET 2001 Catherine Moore <clm@redhat.com>
7325 Bernd Schmidt <bernds@redhat.com>
7326 Jan Hubicka <jh@suse.cz>
7327
a59b81be 7328 * i386.c (function_arg_advance): Pass SSE arguments in registers.
82a127a9
CM
7329 (function_arg): Likewise.
7330
2b71bf37
JH
7331Wed Feb 21 18:12:41 CET 2001 Jan Hubicka <jh@suse.cz>
7332
7333 * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
7334
eb57ffec
KH
73352001-02-21 Kazu Hirata <kazu@hxi.com>
7336
7337 * config/h8300/h8300.md (iorsi3): Do not output an extra newline
7338 character.
7339 (xorsi3): Likewise.
7340
ccfce8d2
JH
7341Wed Feb 21 17:35:24 CET 2001 Jan Hubicka <jh@suse.cz>
7342
7343 * flow.c (init_propagate_block_info): Canon address and use single_set
7344 for killing dead memory stores.
7345
0443f602
JO
73462001-02-21 Jeffrey Oldham <oldham@codesourcery.com>
7347
7348 * Makefile.in (reorg.o): Add params.h dependence.
7349 * params.def: Fix typographical error in comment.
7350 (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
7351 * params.h: Modify introductory comment.
7352 (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
7353 * reorg.c: Add dependence on params.h.
7354 (redundant_insn): Add parameterized throttle for search.
7355 (fill_simple_delay_slots): Add a comment explaining a variable.
7356 Move conditional out of loop, simplifying code.
7357 (fill_eager_delay_slots): Fix typographical error in comment.
7358
7e6d8ba1
AH
73592001-02-20 Aldy Hernandez <aldyh@redhat.com>
7360
a59b81be 7361 * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
7e6d8ba1 7362
a59b81be
ZW
7363 * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
7364 (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
7e6d8ba1 7365
5daf7c0a
JM
73662001-02-21 Jason Merrill <jason@redhat.com>
7367
7368 * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
7369 (struct tree_decl): Add uninlinable bitfield.
7370 * c-decl.c (duplicate_decls): Set it.
7371 * integrate.c (function_cannot_inline_p): Check it.
7372
3844cd2e 7373 * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
5daf7c0a
JM
7374 DW_AT_MIPS_linkage_name to abstract methods.
7375 (dwarf2out_abstract_function): Emit class context before calling
7376 set_decl_abstract_flags. Don't clear DECL_ABSTRACT.
7377 (gen_subprogram_die): Remove obsolete code.
7378 (gen_member_die): Don't include clones in the member list.
7379 (gen_decl_die): Emit abstract info for clone origin.
7380 * dwarfout.c (output_type): Don't include clones in the member list.
7381 * dbxout.c (dbxout_type_methods): Ignore abstract methods.
7382 * toplev.c (note_deferral_of_defined_inline_function): Don't clear
7383 DECL_ABSTRACT on a function that already has it set.
7384
7385 * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
7386 (get_subprogram_die): Pass it in.
7387
3c88f366
RE
73882001-02-21 Richard Earnshaw <rearnsha@arm.com>
7389
7390 * flow.c (mark_set_1): Make not_dead unsigned long. For
3844cd2e 7391 non-pseudos, use it as a bitmask of the hard regs that
3c88f366
RE
7392 don't die.
7393
373e2177
NB
73942001-02-21 Neil Booth <neil@daikokuya.demon.co.uk>
7395
a59b81be
ZW
7396 * cppfiles.c: Update comments.
7397 (_cpp_read_file): Don't check for NULL filenames any more.
7398 * cppinit.c (cpp_start_read): Don't do canonicalization of
7399 in_fname and out_fname. Use the passed file name exclusively.
7400 (_cpp_handle_options): Don't treat "-" as a command line option,
7401 but as a normal filename.
7402 (_cpp_post_options): Canonicalize in_fname and out_fname.
7403 * cppmain.c (printer_init): Don't check out_fname for NULL.
7404 * c-lex.c (orig_filename): Rename cpp_filename for clarity.
7405 (init_c_lex): Update, and use "" to represent stdin to CPP.
7406 (yyparse): Update.
373e2177 7407
75beacf8 74082001-02-20 Will Cohen <wcohen@redhat.com>
3844cd2e 7409
75beacf8
WC
7410 * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
7411 * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
7412 (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
7413 fixunstfsi_libfunc.
7414
33011c35
SS
74152001-02-20 Stan Shebs <shebs@apple.com>
7416
7417 * config/rs6000/rs6000.c (output_cbranch): Output branches
7418 on separate lines instead of using ';' to separate.
7419
c740cee2
NB
74202001-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
7421
a59b81be 7422 * cppinit.c (set_lang): Move builtin handling to...
c740cee2
NB
7423 (init_builtins): ...here.
7424 (_cpp_create_reader): Move call to set_lang.
7425
c9407e4c
MM
74262001-02-20 Mark Mitchell <mark@codesourcery.com>
7427
7428 * stmt.c (expand_return): If an attempt is made to return the
7429 error_mar_node, treat the return like a return without a value.
7430
cd5a58e5
ZW
74312001-02-19 Zack Weinberg <zackw@stanford.edu>
7432
7433 * sibcall.c (skip_copy_to_return_value): Call
7434 identify_call_return_value here, and return orig_insn if it
7435 returns zero. Hardret and softret arguments now unnecessary.
7436 (call_ends_block_p): Don't call identify_call_return_value here.
7437
7438 * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
7439 's' slots in RTXen.
7440 * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
7441 * ggc.h (ggc_mark_if_gcable): Delete prototype.
7442
f8eb41cc
JL
7443Mon Feb 19 20:30:16 2001 Jeffrey A Law (law@cygnus.com)
7444
7445 * pa.c (move_operand): Accept code to load the address of a
7446 symbol out of the DLT as a valid move operand.
7447 (print_operand, case 'A'): New to handle generating a DLT
7448 reference for a LO_SUM expression.
7449 * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
7450 * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
7451
75393169
JM
74522001-02-19 Joseph S. Myers <jsm28@cam.ac.uk>
7453
7454 * README, cpp.texi, gcc.texi, version.c: Update version number to
7455 3.1.
7456 * cpp.1, gcov.1, gcc.1: Regenerate.
7457
51d0f328
NB
74582001-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
7459
a59b81be
ZW
7460 * cppfiles.c (stack_include_file): Generate dependencies
7461 here, and manage include_count here too.
7462 (PRINT_THIS_DEP): Delete.
7463 (_cpp_execute_include): Do not generate dependencies here,
7464 apart from the case of a missing header. Do not manage
7465 include_count.
7466 (_cpp_read_file): Leave dependency generation to
7467 stack_include_file.
51d0f328 7468
c81460e4
JL
7469Mon Feb 19 10:17:47 2001 Jeffrey A Law (law@cygnus.com)
7470
7471 * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
7472 target_cpu_default. Remove dead assignment to
7473 target_cpu_default.
7474
6df26b8f
JH
7475Mon Feb 19 16:47:39 CET 2001 Jan Hubicka <jh@suse.cz>
7476
7477 * regclass.c (contains_reg_of_mode): Make global.
7478 (init_reg_sets): Remove contains_reg_of_mode; take into account
7479 CLASS_MAX_NREGS when looking for the proper mode.
7480 (dump_regclass): Dump only classes considered for the pseudo.
7481 (regclass): Use contains_reg_of_mode.
7482
4a88a060
JH
7483Mon Feb 19 16:45:42 CET 2001 Jan Hubicka <jh@suse.cz>
7484
7485 * gcc.c (do_spec_1): 'n' for printing notices.
7486 * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
7487
0eac0e81
JH
7488Mon Feb 19 15:51:30 CET 2001 Jan Hubicka <jh@suse.cz>
7489
7490 * reg-stack.c (next_flags_user): Use current_block->end
7491 (swap_rtx_condition): Look for next user if flags don't die;
7492 give up on CALL_INSNs; use current_block->end.
7493
e5c617ff
RK
7494Mon Feb 19 08:27:21 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7495
7496 * sibcall.c (call_ends_block_p): New function.
7497 (optimize_sibling_and_tail_recursive_call): Use it.
7498
55de49e3
KH
74992001-02-18 Kazu Hirata <kazu@hxi.com>
7500
63a262f1
KH
7501 * config/h8300/h8300.md: Update copyright.
7502 (andsi3): Do not output an extra newline character.
55de49e3 7503
48aba75b
RK
7504Sun Feb 18 15:45:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7505
7506 * toplev.c (note_deferral_of_defined_inlined_function): Argument
7507 FNDECL may be unused.
7508
7509 * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
7510 follow jumps after first run.
7511 If -fexpensive-optimizations rerun CSE after GCSE and iterate until
7512 it doesn't change any jumps.
7513
3335f1d9
JL
7514Sun Feb 18 17:05:50 2001 Jeffrey A Law (law@cygnus.com)
7515
7516 * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
7517 ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
7518 (mostlyclean): Corresponding changes.
7519 * rtlanal.c (hard-reg-set.h): Include.
7520 (rtx_unstable_p): Do not treat the argument pointer specially
7521 if it is not a fixed register.
7522 (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
7523
651a788e
RK
7524Sun Feb 18 15:45:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7525
021921d0
RK
7526 * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
7527 against last real insn in basic block.
7528 Rework to avoid gotos.
7529
fb0c0a12
RK
7530 * Makefile.in (gcse.o): Now includes ggc.h.
7531 * gcse.c: Include ggc.h.
7532 (want_to_gcse_p): Verify expression can be in SET as valid insn.
7533 (try_replace_reg): Remove warning of uninitialize variable.
7534 (process_insert_insn): Call invalid_insn_p to validate insn.
7535 * recog.c (insn_invalid_p): Now global.
7536 See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
7537 * recog.h (insn_invalid_p): New declaration.
7538
d659de97
RK
7539 * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
7540
3ec6f1a9 7541 * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
20636516 7542 assignments from FP constants since 'Y' output code can't handle it.
3ec6f1a9
RK
7543 (eligible_for_sibcall_delay): Likewise.
7544
63c499dc
RK
7545 * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
7546 Call fancy_abort directly, passing args.
7547 (print_rtl_and_abort): Now a macro, like fancy_abort.
7548
651a788e
RK
7549 * final.c (output_operand_lossage): Use internal_error, not error.
7550
71641c15
RH
75512001-02-18 Shane Nay <shane@agendacomputing.com>
7552
3844cd2e 7553 * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
71641c15
RH
7554 structure shift insns.
7555
75562001-02-18 Mark Mitchell <mark@codesourcery.com>
8fa33dfa
MM
7557
7558 * invoke.texi (-fsquangle): Remove documentation.
7559 (-fname-mangling-version): Likewise.
7560
e1078cfc
LB
75612001-02-18 Lars Brinkhoff <lars@nocrew.org>
7562
7563 * optabs.c (expand_abs): Remove reference to
7564 HAVE_contitional_arithmetic.
7565 * combine.c (simplify_set): Likewise.
7566
3bd24117
RH
75672001-02-18 Richard Henderson <rth@redhat.com>
7568
7569 * ifcvt.c (dead_or_predicable): Don't move code if eh regions
7570 would be disrupted.
7571
5cada064
RH
75722001-02-18 Richard Henderson <rth@redhat.com>
7573
31189758
RH
7574 * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
7575
e491fe9a
RH
7576 * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
7577
5cada064
RH
7578 * reload1.c (reload_cse_simplify_set): Fix typo.
7579
751aa7cc
RK
7580Sun Feb 18 09:30:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7581
e28a09a4
RK
7582 * diagnostic.c (_fatal_insn): Decrement errorcount.
7583
d0a5eb32
RK
7584 * invoke.texi (-I): Add note avoiding use for system header files.
7585
751aa7cc
RK
7586 * rtl.h (add_clobbers): Remove duplicate declaration.
7587 * recog.h (added_clobbers_hard_reg_p): New declaration.
7588 * genemit.c (struct clobber_pat): New field has_hard_reg.
7589 (gen_insn): Record if added clobbers clobber hard reg.
7590 (gen_split): Avoid unused warning if number of operands is 0.
7591 (output_added_clobbers_hard_reg_p): New function.
7592 (main): Call it.
7593
4096479e
AM
75942001-02-18 Alan Modra <alan@linuxcare.com.au>
7595
3844cd2e
AJ
7596 * pa.c (hppa_expand_prologue): Simplify code storing return
7597 pointer. For large (>=8k) frames with a post_store, adjust stack
7598 pointer by 8k-64 first rather than by 64. When testing with
7599 VAL_14_BITS_P, always use the actual value rather than the value
7600 negated. Add blockage to prevent scheduling of spills before
7601 stack frame has been created.
7602 (hppa_expand_epilogue): Simplify code loading return pointer.
7603 Allow a slightly larger range for merge_sp_adjust_with_load case.
7604 When testing with VAL_14_BITS_P, always use the actual value.
31d68947 7605
4096479e
AM
7606 * pa.c (pa_adjust_insn_length): Check that block move
7607 pattern is a set before looking at operands.
7608
9c2c54dc
MM
76092001-02-17 Mark Mitchell <mark@codesourcery.com>
7610
68626d4f
MM
7611 * fold-const.c (fold_binary_op_with_conditional_arg): New
7612 function, split out from ...
7613 (fold): ... here.
7614 * tree.def (COND_EXPR): Document the use of VOID_TYPE for
7615 conditional arms that throw exceptions.
7616
9c2c54dc
MM
7617 * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
7618 looking at a BLOCK.
7619
7afe8c41
KG
76202001-02-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7621
7622 * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
7623 define HAVE_DECL_* to 1 to mask potential backup declarations.
7624 * configure: Regenerated.
7625
3747f3dc
MM
76262001-02-17 Mark Mitchell <mark@codesourcery.com>
7627
7628 * invoke.texi (-Woverloaded-virtual): Clarify documentation.
7629
78adc5a0
RH
76302001-02-17 Richard Henderson <rth@redhat.com>
7631
7632 * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
7633 when replacing a memory load with a register.
7634
e2373f95
RK
7635Sat Feb 17 14:48:30 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7636 Jan Hubicka <jh@suse.cz>
7637
7638 * recog.c (validate_replace_src_1): New.
7639 (validate_replace_src_data): Likewise.
7640 (validate_replace_src): Use note_uses.
7641 * rtl.h (note_uses): Declare.
7642 * rtlanal.c (note_uses): New.
7643
b00b2cc2
JH
7644Sat Feb 17 10:52:34 CET 2001 Jan Hubicka <jh@suse.cz>
7645
7646 * reg-stack.c (stack_def): Make field reg unsigned.
7647 (remove_regno_note): Unsignetize parameter.
7648
f5bbdc0c
JS
76492001-02-16 Jes Sorensen <jes@linuxcare.com>
7650
7651 * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
7652 shladd_operand() call.
7653
6ee71e49 76542001-02-16 Bruce Korb <bkorb@gnu.org>
a59b81be 7655 Rodney Brown <RodneyBrown@mynd.com>
6ee71e49
BK
7656
7657 * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
7658 * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
7659 machine restrictions
7660 * fixinc/fixincl.x: regen
7661
f85cc4cb
RK
7662Fri Feb 16 12:41:30 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7663
172890a2
RK
7664 * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
7665 Don't CSE a nop.
7666 (hash_scan_insn): Clean up calls to hash_scan_set.
7667 (compute_kill_rd): REGNO now unsigned.
7668 (try_replace_reg): Rework to use simplify_replace_rtx.
7669 (cprop_jump, cprop_cc0_jump): Likewise.
7670 (cprop_insn): Call find_reg_equal_equiv_note.
7671 Reflect changes to cprop_jump and cprop_cc0_jump.
7672
d6447708 7673 * recog.c (validate_replace_src): Replace in operands of
b71e8e84
RK
7674 ZERO_EXTRACT in SET_DEST.
7675
f85cc4cb
RK
7676 * cse.c (new_label_ref): New variable.
7677 (insert): Set it instead of recorded_label_ref.
7678 (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
7679 CODE_LABEL for this function, and not already in REG_LABEL note.
7680
f5df2e8c
JO
76812001-02-16 Jeffrey Oldham <oldham@codesourcery.com>
7682
7683 * resource.c (mark_referenced_resources): Fix typo in introductory
7684 comment.
7685 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
7686 string constant.
7687
a901fa64
JM
76882001-02-16 Jason Merrill <jason@redhat.com>
7689
1edf43d6
JM
7690 * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
7691 NULL.
3844cd2e 7692 (gen_subprogram_die): Don't abort on seeing a second definition if
1edf43d6
JM
7693 the previous one was abstract. Don't replace an abstract instance
7694 in the lookup table.
7695
7696 * dwarf2out.c (dwarf2out_abstract_function): Rename from
7697 gen_abstract_function.
7698 * dwarf2out.h: Declare it.
7699 * toplev.c (note_outlining_of_inline_function): New fn.
7700 * toplev.h: Declare it.
7701 * integrate.c (output_inline_function): Call it.
7702 * c-decl.c (duplicate_decls): Call it when redefining an extern
7703 inline. Don't inline the new defn.
7704
a901fa64
JM
7705 * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
7706
cc06d68c
GP
77072001-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7708
7709 * .gdbinit: Rename to gdbinit.in.
3844cd2e 7710 * gdbinit.in: New file,
cc06d68c
GP
7711 * configure.in: Generate .gdbinit from gdbinit.in.
7712 * configure: Regenerated.
7713 * Makefile.in (distclean): Always remove .gdbinit.
7714
4f6bcad0
JJ
77152001-02-16 Jakub Jelinek <jakub@redhat.com>
7716
7717 * objc/objc-act.c (start_class): Register implemented_classes with
7718 GC.
7719
e4a345f8
NB
77202001-02-16 Neil Booth <neil@daikokuya.demon.co.uk>
7721
a59b81be
ZW
7722 * cppfiles.c (_cpp_make_system_header): Generate a file
7723 change callback.
e4a345f8 7724
fd48c9b5 77252001-02-15 Jim Meyering <meyering@lucent.com>
e658449e 7726
fd48c9b5
DD
7727 * Makefile.in (install-common): Don't depend on installdirs here.
7728 Instead, make each of the lang.install-common targets (e.g.,
7729 c++.install-common in cp/Make-lang.in) depend on it.
e658449e
JM
7730 (install-driver): Depend on installdirs.
7731
d64236b4
RK
7732Thu Feb 15 21:30:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7733
a8b94b40
RK
7734 * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
7735
d64236b4
RK
7736 * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
7737 do in memory.
7738
3af64fd6
MM
77392001-02-15 Mark Mitchell <mark@codesourcery.com>
7740
7741 * invoke.texi (--param): Document.
7742
ba21a8a8
AO
7743Thu Feb 15 15:16:38 2001 Alexandre Oliva <aoliva@redhat.com>
7744
7745 * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
7746
ff78d082
JH
7747Thu Feb 15 10:52:31 CET 2001 Jan Hubicka <jh@suse.cz>
7748
7749 * i386.md (extendsfdf2_2): Fix constraints.
7750
2b66da3c
JH
7751Thu Feb 15 09:46:21 CET 2001 Jan Hubicka <jh@suse.cz>
7752
7753 * i386.md (fop_df_3 splitter): Fix operand number.
7754
266da7a2
JH
7755Wed Feb 14 12:37:37 CET 2001 Jan Hubicka <jh@suse.cz>
7756
7757 * invoke.texi (-mreg-alloc): Nuke.
7758 * i386.c (ix86_reg_alloc_order, regs_allocated,
7759 order_regs_for_local_alloc): Nuke.
7760 (override_options): Kill reg_alloc code.
7761 * i386.h (TARGET_OPTIONS): Kill reg-alloc.
7762 (REG_ALLOC_ORDER): SSE goes before I387.
7763 (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
7764 (ix86_reg_alloc_order): Likewise.
7765 * i386-protos.h (ix86_reg_alloc_order): Kill.
7766
121bc96b
RH
77672001-02-14 Richard Henderson <rth@redhat.com>
7768
7769 * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
7770
04b1a223
JH
7771Wed Feb 14 11:59:58 CET 2001 Jan Hubicka <jh@suse.cz>
7772
7773 * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
7774
fa79946e
JH
7775Wed Feb 14 11:12:38 CET 2001 Jan Hubicka <jh@suse.cz>
7776
7777 * i386-protos.h (ix86_memory_move_cost): Move offline.
7778 * i386.c (ix86_register_move_cost): Compute properly cost of
7779 SSE, MMX and i387 instructions.
7780 (*_cost): Add costs of SSE/MMX moves.
7781 (ix86_memory_move_cost): Move offline from ....; Likewise.
7782 * i386.h (MEMORY_MOVE_COST): .... here;
7783 (struct processor costs): Add new fields to represent costs
7784 of SSE/MMX moves.
7785
6836e024
JH
7786Wed Feb 14 10:08:26 CET 2001 Jan Hubicka <jh@suse.cz>
7787
7788 * regclass.c (init_reg_sets_1): Reinstall the optimization of
7789 move_cost together with Matt Kraai's fix.
7790
d3fb92b8
JO
77912001-02-14 Jeffrey Oldham <oldham@codesourcery.com>
7792
7793 * Makefile.in (OBJS): Add params.o.
7794
8e0b124e
RH
77952001-02-14 Richard Henderson <rth@redhat.com>
7796 DJ Delorie <dj@redhat.com>
7797
7798 * jump.c (jump_optimize_1): When we delete a conditional jump
7799 preceeding a non-conditional jump to effectively the same place,
7800 make sure that the combined jump skips any clobber insns between
7801 the two labels.
7802
55bd9f24
JO
78032001-02-14 Jeffrey Oldham <oldham@codesourcery.com>
7804
7805 * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
7806
c6d9a88c
MM
78072001-02-14 Mark Mitchell <mark@codesourcery.com>
7808
7809 * Makefile.in (toplev.o): Depend on params.h.
7810 (intergate.o): Likewise.
7811 (params.o): New target.
7812 * flags.h (inline_max_insns): Remove.
7813 * integrate.c: Include params.h.
7814 Use MAX_INLINE_INSNS instead of inline_max_insns.
7815 * params.c: New file.
7816 * params.h: Likewise.
7817 * params.def: Likewise.
7818 * toplev.c: Include params.h.
7819 (lang_independent_params): New variable.
3844cd2e 7820 (decode_f_option): Use the param machinery instead of setting
c6d9a88c
MM
7821 max_inline_insns.
7822 (independent_decode_option): Handle "--param name=value".
7823 (main): Register language-independent parameters.
7824
c6e95f34
JH
7825Wed Feb 14 11:13:45 CET 2001 Jan Hubicka <jh@suse.cz>
7826
7827 * i386.md (pushsf, pushdf_nointeger): Fix constraint.
7828
c7c0ae3d
RH
78292001-02-14 Richard Henderson <rth@redhat.com>
7830
7831 * regclass.c (init_reg_sets_1): Revert last two changes.
7832
fe375cf1
JJ
78332001-02-14 Jakub Jelinek <jakub@redhat.com>
7834
7835 * stor-layout.c (is_pending_size, put_pending_size): New functions.
7836 (variable_size): Call put_pending_size.
7837 * tree.h (is_pending_size, put_pending_size): Add prototypes.
7838 * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
7839 sizes list, put newly created SAVE_EXPR there as well.
7840
78412001-02-14 Jakub Jelinek <jakub@redhat.com>
7842
7843 * config/ia64/ia64.c (last_group): Only 2 entries are needed.
7844 (errata_find_address_regs): load_group has only 2 entries.
7845 (errata_emit_nops): Likewise. shladd is not problematic.
7846 Clear last_group if nop was emitted.
7847 (fixup_errata): load_group has only 2 entries.
7848 Optimize.
7849
7065e130
NB
78502001-02-14 Neil Booth <neil@daikokuya.demon.co.uk>
7851
fe375cf1
JJ
7852 * c-lex.c (lex_number): Only warn traditionally for U suffix
7853 outside system macros.
7854 * cppexp.c (parse_number): Similarly.
7855 * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
7856 * cppmacro.c (struct cpp_macro): New member node.
7857 (parse_args): Only warn about missing rest args if not
7858 a system macro.
7859 (funlike_invocation_p): Similarly for uninvoked funlike macros.
7860 (cpp_sys_objmacro_p): New.
7861 (_cpp_create_definition): Store the node with the macro defn.
7862 Remember if the macro is defined in a system header.
7065e130 7863
cbc59f01
DD
78642001-02-13 DJ Delorie <dj@redhat.com>
7865
7866 * configure.in (check_languages): determine languages to check
7867 * Makefile.in (check-c++): alias for check-g++
7868 (check-f77): alias for check-g77
7869 (CHECK_TARGETS): depend on configured languages
7870
ca9a9b12
JH
7871Wed Feb 14 01:13:59 CET 2001 Jan Hubicka <jh@suse.cz>
7872
7873 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
7874 (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
7875 (sqrtsf2 patterns): Use 'x' instead of 'Y'.
7876 (sqrtextendsfdf2): Disable for SSE2.
7877
7878Wed Feb 14 00:19:28 CET 2001 Jan Hubicka <jh@suse.cz>
7879
7880 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
7881 (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
7882 (sqrtsf2 patterns): Use 'x' instead of 'Y'.
7883 (sqrtextendsfdf2): Disable for SSE2.
7884
7093c9ea
JH
7885Wed Feb 14 00:11:20 CET 2001 Jan Hubicka <jh@suse.cz>
7886
7887 * i386.md (movsfcc_1): Support integer cmove instruction.
7888 (movdfcc_1): Likewise; new splitter.
7889
0644b628
JH
7890Tue Feb 13 23:19:27 CET 2001 Jan Hubicka <jh@suse.cz>
7891
7892 * i386.c (output_fp_compare): Support SSE.
7893 (prepare_fp_compare_args): SSE comparisons always support memory.
7894 * i386.h (TARGET_CMOVE): SSE imply cmove.
7895 * i386.md (cmp?f2): Enable for SSE too.
7896 (cmpfp_i*): Support SSE.
7897 (cmpfp_i_sse): New.
7898 (cmpfp_i_sse_only): New.
7899 (s*, b* fp expanters): Enable for SSE too.
7900 (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
7901 New patterns.
7902
1464632b
JH
7903Tue Feb 13 23:05:42 CET 2001 Jan Hubicka <jh@suse.cz>
7904
a901fa64 7905 * regclass.c (init_reg_sets_1): Silence warning.
1464632b 7906
a8083431
JH
7907Tue Feb 13 22:03:07 CET 2001 Jan Hubicka <jh@suse.cz>
7908
7909 * i386.md (sqrt?f2): Change to expander.
7910 (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
7911
d9c695ff
RK
7912Tue Feb 13 15:42:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7913
7914 * rtlanal.c (find_reg_equal_equiv_note): New function.
7915 * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
7916 (simplify_gen_relational, simplify_replace_rtx): Likewise.
7917 * rtl.h: Add declarations for above functions.
7918
848e0190
JH
7919Tue Feb 13 21:09:11 CET 2001 Jan Hubicka <jh@suse.cz>
7920
7921 * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
7922 conditionals.
7923 * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
7924 * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
7925 * flow.c (mark_regs_live_at_end): Likewise.
7926 (calculate_global_regs_live): Likewise.
7927 * gcse.c (compute_hash_table): Likewise.
7928 (compute_kill_rd): Likewise.
7929 * resource.c (mark_target_live_regs): Likewise.
7930 * rtl.h (INVALID_REGNUM): New macro.
7931
b1675dbd
JH
7932Tue Feb 13 20:59:22 CET 2001 Jan Hubicka <jh@suse.cz>
7933
7934 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
7935
1698bba1
JH
7936Tue Feb 13 16:32:20 CET 2001 Jan Hubicka <jh@suse.cz>
7937
7938 * i386.md (fixsfsi2, fixdfdi2): Force operand to register
7939 for SSE.
7940
1deaa899
JH
7941Tue Feb 13 14:53:16 CET 2001 Jan Hubicka <jh@suse.cz>
7942
7943 * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
7944 too.
7945 (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
7946 (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
7947 (fop_sf_1_sse, fop_df_1_sse): New patterns
7948 (fop_*): Disable float_extend and float patterns for SSE compilation.
7949 * i386.c (output_387_binary_op): Support SSE.
7950
42a0aa6f
JH
7951Tue Feb 13 14:16:34 CET 2001 Jan Hubicka <jh@suse.cz>
7952
7953 * i386.md (dummy_extendsfdf2): Support SSE2
7954 (extendsfdf2): Enable if 80387 or SSE2.
7955 (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
7956 and no MIX_I387_SSE2
7957 (extendsfdf2_1_sse_only): New pattern.
7958 (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
7959 of SSE.
7960 (truncdfsf2_1): Support SSE.
7961 (truncdfsf2_2): Support SSE.
7962 (truncdfsf2_2_1_sse): New pattern.
7963 (fixtruncsfsi2): Always use SSE if available.
7964 (fix_truncsfsi_sse): New pattern.
7965 (fix_truncdfsi_sse): New pattern.
7966 (floatsis?f2): Support SSE.
7967 (floatsidf2_i387): New pattern.
7968 (floatsidf2_sse): Likewise.
7969
8a7199ad
RK
7970Tue Feb 13 07:52:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7971
1ffc5c6e
RK
7972 * configure.in: Use "have_gnat" variable, not "gnat".
7973 * configure: Regenerated.
7974
8a7199ad
RK
7975 * config/sparc/sparc.c (function_value): Treat all non-record
7976 aggregate types like used to treat UNION_TYPE.
7977
446988df
JH
7978Tue Feb 13 13:31:33 CET 2001 Jan Hubicka <jh@suse.cz>
7979
7980 * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
7981 * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
7982 (MASK_SSE2): New.
7983 (MASK_MIX_SSE_I387): New.
7984 (TARGET_SSE): SSE2 imply SSE.
7985 (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
7986 (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
7987 (enum reg_class): Add new classes.
7988 (REG_CLASS_NAMES): Likewise.
7989 (REG_CLASS_CONTENTS): Likewise.
7990 (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
7991 (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
7992 supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
7993 (CLASS_MAX_NREGS): Use new macros.
7994 (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
7995 * i386.md (pushsf, movsf): Support SSE.
7996 (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
7997 splitters to use ANY_FP_REGNO_P.
7998 (movdf_nointeger, movdf_integer): Likewise.
7999
42a6ff51
AO
80002001-02-13 Alexandre Oliva <aoliva@redhat.com>
8001
8002 * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
8003 (try_combine): Use it.
8004
f84aa48a
JH
8005Tue Feb 13 11:37:06 CET 2001 Jan Hubicka <jh@suse.cz>
8006
8007 * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
8008 MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
8009 (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
8010 (REGISTER_MOVE_COST): Likewise.
8011 * i386-protos.h (ix86_secondary_memory_needed,
8012 ix86_preferred_reload_class, ix86_register_move_cost): Declare.
8013 * i386.c (ix86_secondary_memory_needed,
8014 ix86_preferred_reload_class, ix86_register_move_cost): New function.
8015
a946dd00
JH
8016Die Feb 13 11:04:25 CET 2001 Jan Hubicka <jh@suse.cz>
8017
8018 * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
8019 (HARD_REGNO_MODE_OK): Move offline to ....
8020 * i386.c (ix86_hard_regno_mode_ok) ... here;
8021 refuse all incorrect modes.
8022 * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
8023
1b9ea8eb
RH
80242001-02-13 Richard Henderson <rth@redhat.com>
8025
8026 * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
8027 entire operator; replicate that and match_dup the operands.
8028 (cmp_ccx_arith_op_set): Likewise.
8029 (cmp_cc_arith_op_not_set): Likewise.
8030 (cmp_ccx_arith_op_not_set): Likewise.
8031
5b0d91c3
AO
80322001-02-13 Alexandre Oliva <aoliva@redhat.com>
8033
8034 * explow.c (trunc_int_for_mode): Sign-extend value to mode.
8035
9a155f91
GK
80362001-02-12 Geoffrey Keating <geoffk@redhat.com>
8037
8038 * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
8039 (TARGET_NO_BITFIELD_WORD): New macro.
8040 (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
8041 (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
8042
fa49fd0f
RK
8043Mon Feb 12 18:13:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8044
8045 * cselib.c: New file, from simplify-rtx.c.
8046 * simplify-rtx.c: Remove cselib parts.
8047 * Makefile.in: Add cselib.o.
8048
c36ae96c
GK
80492001-02-12 Geoffrey Keating <geoffk@redhat.com>
8050
ca5adc63
GK
8051 * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
8052 (setup_incoming_varargs): Remove warning.
8053
8054 * config/rs6000/rs6000.c (validate_condition_mode): When
8055 flag_fast_math, allow floating-point conditionals to be reversed.
8056 (rs6000_generate_compare): When flag_fast_math, don't generate
8057 cror operations for FP conditionals.
8058
c36ae96c
GK
8059 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
8060 -mcall-i960.
8061 (ASM_SPEC): Likewise.
8062 (CC1_ENDIAN_LITTLE_SPEC): Likewise.
8063 (CC1_SPEC): Likewise.
8064 (LINK_TARGET_SPEC): Likewise.
8065 (CPP_ENDIAN_SPEC): Likewise.
8066 * Makefile.in (check-consistency): New target.
8067
f43b2795
JM
80682001-02-12 Joseph S. Myers <jsm28@cam.ac.uk>
8069
8070 * c-decl.c (grokdeclarator): In C99 mode, give the more specific
8071 "return type defaults" warning for functions with return type
8072 defaulting to int.
8073 * c-lang.c (c_init): In C99 mode, enable warnings for implicit
8074 function declarations by default rather than only when pedantic.
8075
7004b11b
JH
8076Mon Feb 12 17:28:48 CET 2001 Jan Hubicka <jh@suse.cz>
8077
8078 * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
8079 arrays.
8080
82c18d5c
NS
80812001-02-12 Nathan Sidwell <nathan@codesourcery.com>
8082
8083 * extend.texi (Deprecated): Deprecate new initializer lists.
8084
48ce6bbb
NS
80852001-02-12 Nathan Sidwell <nathan@codesourcery.com>
8086
8087 * mkdeps.c (deps_add_default_target): Robustify. Add
8088 basename component only.
8089 * cpp.texi (-M): Describe how default target is generated.
8090 * invoke.texi (-M): Likewise.
8091
823a9919
KH
80922001-02-12 Kazu Hirata <kazu@hxi.com>
8093
8094 * toplev.c (push_float_handler): Remove.
8095 (pop_float_handler): Remove.
8096 * toplev.h: Remove prototypes for the above functions.
8097
d02b54f6
JJ
80982001-02-12 Jakub Jelinek <jakub@redhat.com>
8099
8100 * c-common.c (constant_fits_type_p): New function.
8101 (convert_and_check): Use it.
8102
b1012f1b
MM
81032001-02-11 Mark Mitchell <mark@codesourcery.com>
8104
8105 * Makefile.in (GXX_ABI_FLAG): Don't define.
8106 * configure.in (--enable-new-gxx-abi): Remove option.
8107 * config.in: Regenerated.
8108 * configure: Likewise.
8109
e8eacc3f
AO
81102001-02-12 Alexandre Oliva <aoliva@redhat.com>
8111
8112 * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
8113 basic block.
8114 (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
8115 regular basic block, and arrange for all edges into it to switch
8116 to normal mode.
8117
e065341b
GP
81182001-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8119
8120 * Makefile.in (distclean): Do not remove .gdbinit.
8121
8c310e3f
MM
81222001-02-11 Mark Mitchell <mark@codesourcery.com>
8123
8124 * Makefile.in (gcc.o): Fix typos.
8125 (protize.o): Likewise.
8126 (unprotoize.o): Likewise.
8127
258835c7
RH
81282001-02-11 Richard Henderson <rth@redhat.com>
8129
8130 * tree.c (build1): Check for null operand in last change.
8131
1796dff4
RH
81322001-02-11 Richard Henderson <rth@redhat.com>
8133
8134 * fold-const.c (split_tree): Don't assume a constant isn't splittable.
8135 (fold): Don't assume a constant isn't foldable.
8136 * tree.c (build): Set TREE_CONSTANT for an expression with no
8137 side-effects and constant operands.
8138 (build1): Likewise.
8139
7f437481
RH
81402001-02-10 Richard Henderson <rth@redhat.com>
8141
8142 * jump.c (squeeze_notes): Revert 2000-05-12 change.
8143
3220116f
AG
81442001-02-10 Anthony Green <green@redhat.com>
8145
8146 * cpp.texi (Standard Predefined): Add documentation for
8147 __OPTIMIZE_SIZE__.
8148
8149 * c-common.c (combine_strings): Improve warning message.
8150
36b8ffbe
GK
81512001-02-10 Geoffrey Keating <geoffk@redhat.com>
8152
8153 * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
8154 --oformat.
8155 * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
8156
ce675456
CF
8157Fri Feb 9 15:05:27 2001 Christopher Faylor <cgf@cygnus.com>
8158
8159 * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
8160 CYGWIN_CROSS_DIR.
8161
cc0744d1
AO
81622001-02-09 Alexandre Oliva <aoliva@redhat.com>
8163
8164 * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
8165 fp_mode attribute.
8166
ab51eb25
NC
81672001-02-09 Nick Clifton <nickc@redhat.com>
8168
8169 * config/arm/arm.md: Change output contraint on post inc
8170 load/store multiple patterns to be a read/write contraint.
8171
58e31b83
NB
81722001-02-09 Neil Booth <neil@daikokuya.demon.co.uk>
8173
1b9ea8eb
RH
8174 * gcc.c (cpp_options): Delete .d files on error. Don't delete
8175 .o files when using the -M options.
58e31b83 8176
db9473af 81772001-02-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
02a4ec28
FS
8178 David Edelsohn <edelsohn@gnu.org>
8179
8180 * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
8181 handle DImode constants. Use one TOC entry for SImode and smaller
8182 constants, aligned properly.
8183
34ce3d7b
JM
81842001-02-08 Jason Merrill <jason@redhat.com>
8185
8186 * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
8187 about the SP adjustment for saving the static chain pointer.
8188 * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
8189 offset when setting a temporary CFA register.
8190
8da6d80e
CC
81912001-02-08 Chandrakala Chavva <cchavva@redhat.com>
8192
8193 * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
8194 powerpc-*-chorusos* .
8195 * config/rs6000/chorus.h : New file.
8196 * config/i386/chorus.h : New file.
8197 * config/sparc/chorus.h : New file.
8198 * config/sparc/t-chorus-elf : New file.
8199
7841642f
DE
82002001-02-08 David Edelsohn <edelsohn@gnu.org>
8201
8202 * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
8203 * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
8204 * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
8205 (__WCHAR_TYPE__): Correct macro name.
3844cd2e 8206
6fca22eb
RH
82072001-02-08 Richard Henderson <rth@redhat.com>
8208
8209 * config/i386/i386.c (ix86_frame_pointer_required): New.
8210 (ix86_setup_frame_addresses): New.
8211 (struct machine_funciton): Add accesses_prev_frame.
8212 * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
8213 ix86_frame_pointer_required.
8214 (SUBTARGET_FRAME_POINTER_REQUIRED): New.
8215 (SETUP_FRAME_ADDRESSES): New.
8216 * config/i386/i386-protos.h: Update.
8217 * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
8218 from FRAME_POINTER_REQUIRED.
8219 * config/i386/svr3gas.h: Likewise.
8220 * config/i386/sysv3.h: Likewise.
8221 * config/i386/v3gas.h: Likewise.
8222
0020b823
RH
82232001-02-08 Richard Henderson <rth@redhat.com>
8224
8225 * config/sparc/sparc.c (function_arg_record_value_3): Fix
8226 calculation of the number of integer registers required.
8227 (function_arg_record_value): Likewise.
8228
00a42e21
JM
82292001-02-08 Jason Merrill <jason@redhat.com>
8230
33c4f174
JM
8231 * diagnostic.c (internal_error): Say "confused" after 1 error, not
8232 two. Print file and line with "confused" message.
8233
00a42e21
JM
8234 * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
8235
dd248abd
RK
8236Thu Feb 8 11:21:28 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8237
8238 * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
8239
04337620
BS
82402001-02-08 Bernd Schmidt <bernds@redhat.com>
8241
8242 * final.c (cleanup_subreg_operands): The address of a MEM can
8243 contain SUBREGs.
8244
0c1cf241
BS
8245 * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
8246 for asms, too.
8247
14baf6b5
JM
82482001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
8249
8250 * gcc.texi (Incompatibilities): Update documentation of
8251 preprocessing numbers.
8252
1ada4cd0
JJ
82532001-02-07 Jakub Jelinek <jakub@redhat.com>
8254
8255 * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
8256
a9374841
MM
82572001-02-07 Mark Mitchell <mark@codesourcery.com>
8258
830a95f8
MM
8259 * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
8260
a9374841
MM
8261 * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
8262 * gcc.c (struct compiler): Add cpp_spec field.
8263 (input_file_compiler): New variable.
3844cd2e 8264 (do_spec_1): Allow a particular compiler to handle `%C'
a9374841
MM
8265 specially.
8266 (main): Store the current compiler in input_file_compiler.
8267 * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
3844cd2e 8268
7d4918a2
ZW
82692001-02-07 Zack Weinberg <zack@wolery.stanford.edu>
8270
8271 * cpphash.h (struct spec_nodes): Add n_true and n_false.
8272 * cppinit.c (cpp_create_reader): Initialize them.
8273 (append_include_chain): cxx_aware arg might be unused.
8274 * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
8275 keywords and give them their phase 7 meaning. Pedwarn about
8276 this unless '__bool_true_false_are_defined' is defined.
8277
09d84e04
AO
82782001-02-07 Alexandre Oliva <aoliva@redhat.com>
8279
8280 * lcm.c (optimize_mode_switching): Emit mode_set before the
8281 JUMP_INSN of an abnormal edge.
8282
bcd7edfe
BS
82832001-02-07 Bernd Schmidt <bernds@redhat.com>
8284
8285 * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
8286 a scheduling barrier at the end.
8287
4a1d48f6
BS
8288 * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
8289
3dbd1134
AO
82902001-02-07 Alexandre Oliva <aoliva@redhat.com>
8291
c2d10707
AO
8292 * config/sh/sh.md (reload_outsf): Removed.
8293 (movsf_ie): Introduce constraints for FPUL loads and stores.
8294 (reload_insf): Broaden the output constraint.
8295
3dbd1134
AO
8296 * config/elfos.h (INT_ASM_OP): Don't define it if it's already
8297 defined.
8298 * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
8299 ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
8300
8480e480
CC
83012001-02-06 Chandrakala Chavva <cchavva@redhat.com>
8302
8da6d80e 8303 * final.c: Revert my previous changes.
8480e480
CC
8304 * output.h: Make profile_label_no extern.
8305 * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
8306 for generating label.
8307
df447210
LB
83082001-02-06 Laurynas Biveinis <lauras@softhome.net>
8309
8310 * config/i386/djgpp.h: Add comments about standard paths.
8311 (MD_EXEC_PREFIX): Undefine before defining.
8312 (MD_STARTFILE_PREFIX): New.
8313
ca21b4a5
BK
83142001-01-30 Bruce Korb <bkorb@gnu.org>
8315
6fca22eb
RH
8316 fixinc/fixincl.c(process): Emit error message only if appropriate :)
8317 (load_file): do not rely on load_file_data() to close file pointer
8318 fixinc/fixlib.c(load_file_data): do not close passed in file pointer
ca21b4a5
BK
8319 fixinc/inclhack.def(irix_limits_const): add test_text
8320
3c8465d0
NB
83212001-02-06 Neil Booth <neil@daikokuya.demon.co.uk>
8322
6fca22eb
RH
8323 * cppexp.c (parse_defined): Improve diagnostics for invalid
8324 syntax.
3c8465d0 8325
b7a0a5fa
NB
83262001-02-06 Neil Booth <neil@daikokuya.demon.co.uk>
8327
6fca22eb 8328 * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
b7a0a5fa 8329
28e510bd
MM
83302001-02-06 Mark Mitchell <mark@codesourcery.com>
8331
8332 * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
8333 * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
8334 * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
8335 (rs6000_output_symbol_ref): New function.
8336 (output_toc): Use VTABLE_NAME_P.
3844cd2e 8337
05bd3d41
RK
8338Tue Feb 6 07:54:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8339
df10e9ec
RK
8340 * print-tree.c (print_node, case PARM_DECL):
8341 Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
8342
b5d6a2ff
RK
8343 * stor-layout.c (reference_types_internal): New variable.
8344 (internal_reference_types): New function.
8345 (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
8346 * tree.h (internal_reference_types): New declaration.
8347
05bd3d41
RK
8348 * cse.c (find_best_addr): Fix typo in computing cost.
8349
d1405722
RK
8350Mon Feb 5 21:56:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8351
8352 * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
8353 and this is the sum of a pointer and a constant, we know the result
8354 did not overflow.
8355 (num_sign_bit_copies, case PLUS): Likewise.
8356 * explow.c (convert_memory_address): Remove opposite SUBREG.
8357 * function.c (instantiate_new_reg): New function (from common code).
8358 (instantiate_virtual_regs_1): Call it.
8359 For PLUS, handle if (plus (subreg (virt-reg) (const_int))
8360 if pointers sign- or zero-extend.
8361 * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
8362 If pointers extend unsigned, use inside of SUBREG.
8363 (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
8364
3e897b66
BK
83652001-02-05 Benjamin Kosnik <bkoz@redhat.com>
8366
8367 * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
8368 subdir of gcc_gxx_include_dir.
8369 (gcc_gxx_target_include_dir): Remove.
8370
a401107d
JO
83712001-02-05 Jeffrey Oldham <oldham@codesourcery.com>
8372
8373 * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
8374 (dwarf2out_frame_debug_expr): Revise introductory comments to add
8375 a high-level description.
8376
411707f4
CC
83772001-02-05 Chandrakala Chavva <cchavva@redhat.com>
8378
d6706c51 8379 * final.c: Move the declaration of profile_label_no to ...
6fca22eb
RH
8380 * output.h: ... here.
8381 * function.c (expand_function_start): Call PROFILE_HOOK.
8382 * config/rs6000/aix.h: Define PROFILE_HOOK.
8383 * config/rs6000/rs6000-protos.h: output_profile_hook new.
8384 * config/rs6000/rs6000.c (output_profile_hook): Define.
8385 (output_prolog): Do nothing for ABI_AIX as it is taken care by
8386 output_profile_hook.
411707f4
CC
8387 tm.texi : Explain new macro PROFILE_HOOK.
8388
8720914b
HPN
83892001-02-06 Hans-Peter Nilsson <hp@axis.com>
8390
8391 * extend.texi (Extended Asm): Do not say that semicolon is always
8392 a valid line-breaking character for GNU assemblers. Use
8393 newline-tab as the most commonly supported syntax. Use
8394 newline-tab rather than semicolon in multi-insn examples.
8395
56cf87e7
FS
83962001-02-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8397
8398 * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
8399
9638617e 84002001-02-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6fca22eb 8401 David Edelsohn <edelsohn@gnu.org>
9638617e 8402
3844cd2e 8403 * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
9638617e
FS
8404 code for AIX, even without flag_pic.
8405
2f4e8f2b
JJ
84062001-02-05 Jakub Jelinek <jakub@redhat.com>
8407
8408 * c-typeck.c (common_type): push and pop binding level around
8409 calling common_type on function parameters.
8410
45677496
CF
8411Mon Feb 5 14:30:37 2001 Christopher Faylor <cgf@cygnus.com>
8412
8413 * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
8414
789c026d
RK
8415Mon Feb 5 11:23:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8416
8417 * config/mips/mips.c (override_options): Fix typo in last change.
e2bbb660
RK
8418 (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
8419 (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
789c026d 8420
9965d119
NS
84212001-02-05 Nathan Sidwell <nathan@codesourcery.com>
8422
8423 * invoke.texi (-fdump-class-layout): Document.
8424 (-fdump-translation-unit): Use `=' as filename separator.
8425
39d6f2e8
MM
84262001-02-05 Mark Mitchell <mark@codesourcery.com>
8427
8428 * Makefile.in (s-mlib): Don't build multilibs if
8429 --disable-multilib.
8430 (DRIVER_DEFINES): Adjust accordingly.
8431 (gcc.o): Likewise.
8432 (protoize.o): Likewise.
8433 (unprotoize.o): Likewise.
8434 * configure.in: Recognize --enable-multilib.
3844cd2e 8435
22fdd65e
MM
84362001-02-04 Mark Mitchell <mark@codesourcery.com>
8437
9f8bf073
MM
8438 * Makefile.in (DRIVER_DEFINES): Fix quoting.
8439
22fdd65e
MM
8440 * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
8441 * configure.in: Remove --enable-libstdcxx_v3 support.
8442 * configure: Regenerated.
8443
400500c4
RK
8444Sun Feb 4 15:52:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8445
c4636dd1
RK
8446 * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
8447 Call abort instead of fatal.
8448 (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
8449 * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
8450 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
8451 (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
8452 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
8453 * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
8454
400500c4
RK
8455 * diagnostic.h (set_internal_error_function): Renamed.
8456 * toplev.h (internal_error): Renamed from fatal.
8457 (pfatal_with_name): Deleted.
8458 (fatal_io_error): Now has printf-style arguments.
8459 * diagnostic.c (pfatal_with_name): Deleted.
8460 (fatal_io_error): Rework to have args in printf-style.
8461 (set_internal_error_function): Renamed from set_fatal_function.
8462 (internal_error): Renamed from fatal.
8463 (error_recursion, fancy_abort): Call internal_error instead of fatal.
8464 * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
8465 * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
8466 * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
8467 * flow.c (verify_flow_info): Likewise.
8468 * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
8469 * config/mips/mips.c (save_restore_insns): Likewise.
8470
8471 * except.c (duplicate_eh_handlers): Call abort instead of fatal.
3844cd2e 8472 * flow.c (verify_flow_info): Likewise.
400500c4
RK
8473 * config/arm/arm.c (thumb_load_double_from_address): Likewise.
8474 * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
8475 (avr_normalize_condition): Likewise.
8476 * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
8477 * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
8478 (limit_reload_class, double_reg_to_memory): Likewise.
8479 (print_operand_address, emit_1600_code_shift): Likewise.
8480 (gen_tst_reg, gen_compare_reg): Likewise.
8481 * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
8482 * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
8483 Deleted.
8484 * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
8485
8486 * c-parse.in (methoddef): Call fatal_error instead of fatal.
8487 * objc/objc-act.c (build_ivar_chain): Likewise.
8488 * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
8489 pfatal_with_name.
8490 * graph.c (clean_graph_dump_file): Likewise.
8491 * profile.c (init_branch_prob): Likewise.
8492 * objc/objc-act.c (objc_init): Likewise.
3844cd2e 8493
400500c4 8494 * config/arm/arm.c (arm_override_options): Make errors non-fatal.
3844cd2e 8495 * config/avr/avr.c (avr_override_options): Likewise.
400500c4
RK
8496 * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
8497 * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
8498 * config/h8300/h8300.c (h8300_init_once): Likewise.
8499 * config/mips/mips.c (override_options): Likewise.
8500 * config/i386/i386.c (override_options): Likewise, rework.
8501 * config/m68k/m68k.c (override_options): Likewise.
8502
8503 * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
8504 instead of fatal.
8505 * config/mips/mips.c (print_operand): Likewise.
8506 * hash.c (hash_allocate): Don't check for failure returns from
8507 obstack functions that can't fail.
8508 (hash_table_init_n, hash_table_init): Likewise; also now return void.
8509 * hash.h (hash_table_init_n, hash_table_init): Now return void.
8510 * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
8511 (get_object_reference): Likewise.
8512
eab4abeb
NC
85132001-02-04 Nick Clifton <nickc@redhat.com>
8514
8515 * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
8516 StrongARM1110, 10TDMI, and 1020T.
8517
7ce2fcb9
KG
85182001-02-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8519
8520 * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
8521
b6c02328
AO
85222001-02-04 Alexandre Oliva <aoliva@redhat.com>
8523
8524 * config/sh/sh.md (movdf load split): Pass register number to
8525 FP_OR_XD_REGISTER_P.
8526
1ca894a0
MM
85272001-02-04 Mark Mitchell <mark@codesourcery.com>
8528
8529 * cppinit.c (BC): New macro.
8530 (builtin_array): Add __GXX_WEAK__.
8531 * cpplib.h (builtin_type): Add BT_WEAK.
8532 * cppmacro.c (builtin_macro): Handle BT_WEAK.
8533 * defaults.h (SUPPORTS_ONE_ONLY): Define.
8534 * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
8535
52b357ea
JJ
85362001-02-03 Jakub Jelinek <jakub@redhat.com>
8537
8538 * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
8539
269592a8
NB
85402001-02-03 Neil Booth <neil@daikokuya.demon.co.uk>
8541
6fca22eb 8542 * cpphash.h: Rename _ALIGN POOL_ALIGN.
3844cd2e 8543 * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
269592a8 8544
2da6090f
NB
85452001-02-03 Neil Booth <neil@daikokuya.demon.co.uk>
8546
6fca22eb 8547 * cpphash.h: Rename ALIGN _ALIGN.
3844cd2e 8548 * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
2da6090f 8549
4e190cf3
CF
8550Fri Feb 2 23:15:29 2001 Christopher Faylor <cgf@cygnus.com>
8551
8552 * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
8553 compilation environment.
8554 * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
8555 control over location of cygwin includes and libs.
8556
c98f0cdb
MH
85572001-02-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz)
8558
8559 * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
8560
39ed8974
LB
85612001-02-02 lars brinkhoff <lars@nocrew.org>
8562
8563 * md.texi (Standard Names): remove reference to spur.md.
8564
0b53f039
MH
85652001-02-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz)
8566
8567 * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
8568 (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
8569 (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
8570 * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
8571 (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
8572
d001969e
HB
85732001-02-03 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8574
8575 * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
8576 c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
8577 number before reload.
8578 (c4x_adjust_cost): Return zero before reload.
8579 * c4x.md (load_immed_address+1, load_immed_address+2): Do not
8580 split before reload.
8581
40eef757
HB
85822001-02-03 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8583
8584 * c4x.c (c4x_hard_regno_rename_ok): New.
8585 * c4x-protos.h (c4x_hard_regno_rename_ok): New.
8586 * c4x.h (HARD_REGNO_RENAME_OK): Define.
8587
0d6882a0
RK
8588Fri Feb 2 20:03:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8589
8590 * diagnostic.h: Add missing "extern" in all declarations.
8591
362f2295
AS
85922001-02-02 Alex Samuel <samuel@codesourcery.com>
8593
8594 * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
8595 as for gcc_gxx_include_dir.
8596
da312b55
NB
85972001-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
8598
8599 * cpp.texi, invoke.texi: Update -Wtraditional documentation.
8600
38df95a4
AO
86012001-02-02 Alexandre Oliva <aoliva@redhat.com>
8602
e6dfd05f
AO
8603 * config/sh/sh.c (output_far_jump): Don't use braf on SH1. Emit
8604 label before alignment to be used as the braf base address.
8605 * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
8606 branches.
8607 (casesi_jump_2): Require at least TARGET_SH2.
8608
38df95a4
AO
8609 * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
8610 truncation to 32-bit doubles on -m3e and -m4-single-only.
8611
049f6ec9
MM
86122001-02-02 Mark Mitchell <mark@codesourcery.com>
8613
3844cd2e 8614 * gcc.c (init_gcc_specs): New function. Make -shared-libgcc
049f6ec9
MM
8615 the default when building a shared object.
8616 (init_spec): Use it.
8617 * testsuite/lib/g++.exp: Include the directory where libgcc
8618 is located to the LD_LIBRARY_PATH list.
1ca894a0 8619 * invoke.texi (-shared-libgcc): Document the cases in which
049f6ec9 8620 GCC defaults to using the shared libgcc.
3844cd2e 8621
483b9fd0
AO
86222001-02-02 Alexandre Oliva <aoliva@redhat.com>
8623
8624 * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
8625 unsigned is wide enough.
8626 (BITS_PER_SI): New.
8627 * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
8628 (si_to_float): Likewise.
8629 (float_to_si, float_to_usi): Use BITS_PER_SI.
8630
770ca8c6
JO
86312001-02-01 Jeffrey Oldham <oldham@codesourcery.com>
8632
8633 * dwarf2out.c: Added explanation of abbreviations.
8634 (def_cfa_1): Added comments listing DWARF2 instructions.
8635 (cfa_temp_reg): Removed in favor of cfa_temp.
8636 (cfa_temp_value): Removed in favor of cfa_temp.
8637 (cfa_temp): New global variable.
8638 (dwarf2out_frame_debug_expr): Added extensive introductory
8639 comments explaining the function's transformations. Revised to
8640 use cfa_temp. Added some rtx checking. Generalize IOR case.
8641 (dwarf2out_frame_debug): Revised to use cfa_temp.
8642 (output_aranges): Cast as "unsigned" to avoid warning.
8643 * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
8644 explain which instructions must be marked.
8645
cad33336
RH
86462001-02-01 Richard Henderson <rth@redhat.com>
8647
8648 * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
8649 new instruction.
8650
8a5d897f
AO
86512001-02-01 Alexandre Oliva <aoliva@redhat.com>
8652
8653 * config/sh/crt1.asm (main_k): Modified so that start calls
8654 ___setup_argv_and_call_main.
8655
bd969772
NB
86562001-02-01 Neil Booth <neil@daikokuya.demon.co.uk>
8657
6fca22eb
RH
8658 * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
8659 * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
8660 and AVOID_LPASTE is cleared on meeting an unescaped newline.
8661 * cppmacro.c (builtin_macro): Set builtin flags here.
8662 (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
8663 (replace_args): Clarify intent.
8664 (cpp_get_token): Macro expansion tokens get the saved flags.
8665 Update.
8666 * cppmain.c (scan_buffer): Remove now-redundant print.printed
8667 check.
bd969772 8668
8c0abc88
JO
86692001-02-01 Jeffrey Oldham <oldham@codesourcery.com>
8670
8671 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
8672 2001-Jan-29.
8673
fcbfaa65
RK
8674Thu Feb 1 07:22:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8675
d5457140
RK
8676 * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
8677 returns Pmode pseudo, but we need ptr_mode.
8678 * explow.c (allocate_dynamic_stack_space): Use plus_constant.
8679 Remove bogus conversions; use HOST_WIDE_INT for size.
8680 Don't use TARGET if wrong mode.
8681
fcbfaa65
RK
8682 * config/i386/i386.c (ix86_compute_frame_size): Allow
8683 stack_alignment_needed to be non-default even if size is zero.
8684
10d17cb7
AM
86852001-01-31 Alan Modra <alan@linuxcare.com.au>
8686
824e7605
AM
8687 * pa.c (hppa_init_pic_save): New function.
8688 * pa.h (hppa_init_pic_save): Declare.
8689 * pa.md (call, call_value, sibcall, sibcall_value): Use
8690 the above instead of duplicated code.
8691
10d17cb7
AM
8692 * pa.c (hppa_encode_label): Correct size of alloca buffer
8693 so we don't overrun it. Correct leading `*' case.
8694 * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
8695 need to handle `*@'.
8696 (FUNCTION_NAME_P): Likewise.
8697
b9e6ebe9
RH
86982001-01-31 Richard Henderson <rth@redhat.com>
8699
c3e5f9fa
RH
8700 * config.gcc (alpha-osf5): Use float-i128.h.
8701
b9e6ebe9
RH
8702 * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
8703 * config/float-i32.h: Likewise.
8704 * config/float-i64.h: Likewise.
8705 * config/float-sh.h: Likewise.
8706 * config/float-sparc.h: Likewise.
8707
dbac5d0d 87082001-01-31 DJ Delorie <dj@redhat.com>
aac280fb
DD
8709
8710 * expmed.c (extract_bit_field): allow non-integral modes if we
8711 want to extract a whole register from itself.
8712
ce662d4c
JJ
87132001-01-31 Jakub Jelinek <jakub@redhat.com>
8714
8715 * c-typeck.c (set_init_index): If first is equal to last, assume as
8716 if it was not a range at all.
8717
8b1065f1
AO
87182001-01-31 Alexandre Oliva <aoliva@redhat.com>
8719
3cb95a7d 8720 * config/fp-bit.c: Include tm.h.
8b1065f1
AO
8721 (float_to_si): Don't assume SImode is 32-bits wide.
8722 (float_to_usi): Likewise.
8723
0aca1a4f
JM
87242001-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
8725
8726 * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
8727 incomplete type.
8728 (typename): Call pending_xref_error after parsing typed_typespecs.
8729 * c-decl.c (lookup_tag): Give error immediately rather than
8730 leaving it pending if the tag of the wrong type is in the same
8731 binding level.
8732 (xref_tag): Don't pedwarn for forward declarations of enum types
8733 here.
8734 * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
8735 and enum tags.
8736
92fa350a
AO
87372001-01-31 Alexandre Oliva <aoliva@redhat.com>
8738
8739 * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
8740
f000294d
NB
87412001-01-31 Neil Booth <neil@daikokuya.demon.co.uk>
8742
6fca22eb
RH
8743 * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
8744 (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
f000294d 8745
ec1a23e6
NB
87462001-01-31 Neil Booth <neil@daikokuya.demon.co.uk>
8747
6fca22eb
RH
8748 * cpphash.h (struct cpp_reader): New saved_flags.
8749 * cppmacro.c (cpp_get_token): Use saved_flags to remember
8750 to avoid a paste after a pasted token.
3844cd2e 8751
5d0e6486
AO
87522001-01-31 Alexandre Oliva <aoliva@redhat.com>
8753
8754 * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
8755 * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
8756 Wtype_MIN instead of LONG_MIN.
8757
b2321b26
JO
87582001-01-30 Jeffrey Oldham <oldham@codesourcery.com>
8759
8760 * fixinc/fixincl.tpl: Add 2001 to copyright. Change name of
8761 README file.
8762 * fixinc/fixincl.x: Regenerated.
8763 * fixinc/inclhack.def (irix_limits_const): New definition to
8764 convert "const" to "__const" in limits.h.
8765
4989b020
JO
87662001-01-30 Jeffrey Oldham <oldham@codesourcery.com>
8767
8768 * fixinc/genfixes (AG): Fix "autogen4" thinko.
8769
2f33c635
HB
87702001-01-30 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8771
8772 * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
8773 when register dies in the insn.
8774
bdda3325
NB
87752001-01-30 Neil Booth <neil@daikokuya.demon.co.uk>
8776
8777 * diagnostic.c (fatal): Fix word wrap.
8778
48b4d901
AO
87792001-01-30 Alexandre Oliva <aoliva@redhat.com>
8780
8781 * combine.c (try_combine): Fix SUBREG setting for
8782 HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
8783
1e738f74
FS
87842001-01-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8785
8786 * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
8787 comparison codes.
8788
e9770d51
NB
87892001-01-30 Neil Booth <neil@daikokuya.demon.co.uk>
8790
6fca22eb
RH
8791 * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
8792 is not NULL.
8793 * toplev.c (decode_W_option): Update warn_larger_than
8794 unconditionally for each processed switch.
e9770d51 8795
d966ae60
JDA
87962001-01-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
8797
8798 * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
8799 to NULL_RTX.
8800 (hppa_expand_prologue): Delete code to save pic offset table register
8801 in the function prologue.
8802 * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
8803 * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
8804 table register at the beginning of the function after the prologue.
8805
f25561bb
LB
88062001-01-29 lars brinkhoff <lars@nocrew.org>
8807
6fca22eb 8808 * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
f25561bb 8809
7ea9fcc6
JDA
88102001-01-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
8811 Jeff Law <law@redhat.com>
8812
8813 * pa.md (return): Revise comment for trivial return.
8814 (return_internal): Non-trivial return pattern for non-PIC code.
8815 (return_internal_pic): Non-trivial return pattern for PIC code.
8816 It uses the PIC register to ensure it is restored after
8817 function calls.
8818 (epilogue): Generate appropriate return for PIC and non-PIC code.
8819
05d9f8b0
CF
8820Mon Jan 29 23:53:14 2001 Christopher Faylor <cgf@cygnus.com>
8821
8822 * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
8823
80c8b1aa
DD
88242001-01-29 DJ Delorie <dj@redhat.com>
8825
8826 * combine.c (if_then_else_cond): Pass the correct mode to
8827 operand_subword() for constants.
8828
f6fc3552
CF
8829Mon Jan 29 20:38:19 2001 Christopher Faylor <cgf@cygnus.com>
8830
8831 * config/i386/cygwin.h: Add w32api to include search. Search different
8832 directories in a cross-build environment.
8833
2b5f2501
RH
88342001-11-29 Tim Josling <tej@melbpc.org.au>
8835
8836 * tree.h (TYPE_STUB_DECL): Add documentation.
8837
88382001-11-29 Laurynas Biveinis <lauras@softhome.net>
1270a9b3
LB
8839
8840 * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
8841 (sdbout_field_types): Likwise. Fix use of host_integerp.
8842
9c7c6e6c
TP
88432001-01-29 Thomas Pfaff <tpfaff@gmx.net>
8844
8845 * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
8846 cygwin.h.
8847
f1e9980a
JO
88482001-01-29 Jeffrey Oldham <oldham@codesourcery.com>
8849
8850 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
8851 to use flag_gnu_linker.
8852
766ee681
NB
88532001-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
8854
6fca22eb
RH
8855 * cpplib.c (T_BAD_DIRECTIVE): Remove.
8856 (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
766ee681 8857
718b8ea5
JM
88582001-01-29 Joseph S. Myers <jsm28@cam.ac.uk>
8859
8860 * tree.c, tree.h (build_parse_node): Remove; was identical to
8861 build_nt.
8862 * c-lang.c (start_cdtor), objc/objc-act.c
8863 (build_module_descriptor): Use build_nt instead of
8864 build_parse_node.
8865
adc88131
JJ
88662001-01-29 Jakub Jelinek <jakub@redhat.com>
8867
8868 * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
8869 (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
8870 not have any upper bits set.
8871
42c0c80a
PE
88722001-01-29 Phil Edwards <pme@sources.redhat.com>
8873
8874 * COPYING.LIB: Update to LGPL 2.1 from the FSF.
8875
f2d1f0ba
KG
88762001-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8877
8878 * stmt.c (estimate_case_costs): Use integer_minus_one_node.
8879
8880 * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
8881
8882 * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
8883 (integer_minus_one_node): Define.
8884
4f92461a
AO
88852001-01-28 Alexandre Oliva <aoliva@redhat.com>
8886
8887 * Makefile.in (bootstrap2-lean): Fix typo.
8888
26ec42ee
NB
88892001-01-28 Neil Booth <neil@daikokuya.demon.co.uk>
8890
6fca22eb
RH
8891 * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
8892 : Don't set fe_value.
3844cd2e 8893 * cpplib.h (AVOID_LPASTE): New flag.
6fca22eb
RH
8894 (struct cpp_hashnode): Remove fe_value.
8895 * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
8896 * cppmacro.c (builtin_macro): Don't set flags here.
8897 (replace_args): Set AVOID_LPASTE flag on first token of an
8898 argument, and the token following it.
8899 (cpp_get_token): Set AVOID_LPASTE flag on first token of a
8900 macro expansion, and on the token following it. Do it for
8901 builtins too.
8902 * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
26ec42ee 8903
0be25992
RH
89042001-01-27 Richard Henderson <rth@redhat.com>
8905
8906 * config/alpha/t-ieee: Remove multilibbing.
8907 (TARGET_LIBGCC2_CFLAGS): Add -mieee.
8908
c913b6f1
KG
89092001-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8910
8911 * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
8912
8913 * Makefile.in: Remove all dependencies on defaults.h.
8914 * builtins.c: Don't include defaults.h.
8915 * c-common.c: Likewise.
8916 * c-decl.c: Likewise.
8917 * c-pragma.c: Likewise.
8918 * c-typeck.c: Likewise.
8919 * combine.c: Likewise.
8920 * i386.c: Likewise.
8921 * frame-ia64.c: Likewise.
8922 * cppexp.c: Likewise.
8923 * crtstuff.c: Likewise.
8924 * dbxout.c: Likewise.
8925 * dwarf2out.c: Likewise.
8926 * dwarfout.c: Likewise.
8927 * emit-rtl.c: Likewise.
8928 * except.c: Likewise.
8929 * expr.c: Likewise.
8930 * final.c: Likewise.
8931 * frame-dwarf2.c: Likewise.
8932 * libgcc2.c: Likewise.
8933 * optabs.c: Likewise.
8934 * profile.c: Likewise.
8935 * sdbout.c: Likewise.
8936 * toplev.c: Likewise.
8937 * tradcif.y: Likewise.
8938 * tree.c: Likewise.
8939 * varasm.c: Likewise.
8940
013dea40
KG
89412001-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8942
8943 * builtins.c (expand_builtin_fputs): Use size_one_node when
8944 transforming into fwrite.
8945
2c5e91d2
JM
89462001-01-27 Joseph S. Myers <jsm28@cam.ac.uk>
8947
8948 * extend.texi (Attribute Syntax): New section.
8949
825ac704
MS
89502001-01-27 Michael Sokolov <msokolov@ivan.Harhan.ORG>
8951
8952 * fixproto: Correctly install synthesised unistd.h and stdlib.h when
8953 they didn't need fixing.
8954
70305f2b
RH
89552001-01-27 Janis Johnson <janis@us.ibm.com>
8956
8957 * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
8958 if appropriate.
8959 * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
8960 to remove macro definitions that are duplicated from elfos.h.
8961
89622001-01-27 Richard Henderson <rth@redhat.com>
8963
8964 * config/i386/sco5gas.h: Move ...
8965 * config/usegas.h: ... here.
8966 * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
8967
940ff66d
JJ
89682001-01-27 Jakub Jelinek <jakub@redhat.com>
8969
8970 * c-typeck.c (struct constructor_stack): Add range_stack member.
8971 (really_start_incremental_init): Clear it.
8972 (push_init_level): Save constructor_range_stack and clear it if
8973 pushing explicit braces.
8974 (pop_init_level): abort if constructor_range_stack is non-zero at
8975 explicit closing brace. Restore saved constructor_range_stack if
8976 not implicit.
8977
de1b33dd
AO
89782001-01-27 Alexandre Oliva <aoliva@redhat.com>
8979
8980 * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
8981 into register was forced into memory.
8982
3d84f80f
AO
89832001-01-27 Alexandre Oliva <aoliva@redhat.com>
8984
8985 * Makefile.in: Remove uses of + before $(MAKE).
8986
2a2137c4
RH
89872001-01-26 Richard Henderson <rth@redhat.com>
8988
8989 * stmt.c (cost_table): Remove.
8990 (COST_TABLE, cost_table_initialized): New.
8991 (estimate_case_costs): Use the later instead of the former.
8992 (balance_case_nodes): Likewise.
8993
66cce54d
RH
89942001-01-26 Richard Henderson <rth@redhat.com>
8995
8996 * alias.c (objects_must_conflict_p): Read-only slots may not
8997 conflict despite having the same type.
8998
616fde53
MH
89992001-01-27 Michael Hayes <mhayes@redhat.com>
9000
9001 * loop.c (loop_giv_reduce_benefit): Copy mode size into
9002 int variable.
9003 (check_ext_dependant_givs): Initialise u_start_val and
9004 u_end_val.
9005 (load_mems): Make last_max_reg unsigned.
9006 (try_swap_copy_prop): Use INSN_P and initialise set.
9007
b63471e9
DC
9008Fri Jan 26 23:22:58 2001 Denis Chertykov <denisc@overta.ru>
9009
9010 * README.AVR : Removed.
9011
d1ebd58d
JL
9012Fri Jan 26 11:37:26 2001 Jeffrey A Law (law@cygnus.com)
9013
9014 * pa-64.h (text_section): Remove declaration.
9015
9016 * pa.md (return_internal): Remove mode on PIC register use.
9017
a8d1550a
LB
90182001-01-25 lars brinkhoff <lars@nocrew.org>
9019
9020 * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
9021 ASM_CLOSE_PAREN): fix typos.
9022
78e0ba39
MM
90232001-01-25 Mark Mitchell <mark@codesourcery.com>
9024
9025 * acconfig.h: Define `const' to the empty string if neither
9026 __STDC__ nor __cplusplus is defined.
9027 * config.in: Regenerated.
9028
05dba9ee
DE
90292001-01-25 David Edelsohn <edelsohn@gnu.org>
9030
9031 * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
9032 * collect2.c (main): Delete importf. Add ".obj" file extension.
9033 (GCC_CHECK_HDR): Handle AIX V5 new magic number.
9034 (aix_std_libs): Add additional AIX libraries to skip.
9035 * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
9036 * config/rs6000/aix51.h: New file.
9037
86e21212
MH
90382001-01-25 Michael Hayes <mhayes@redhat.com>
9039
9040 * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
9041 (loop_insn_emit_before): No longer static.
9042 (move_movables): Replace emit_insn_after with loop_insn_emit_after.
9043 (loop_givs_rescan, load_mems): Likewise.
9044 (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
9045 (maybe_eliminate_biv_1):
9046 (move_movables): Replace emit_call_insn_before with
9047 loop_call_insn_hoist.
9048 * loop.h (loop_insn_emit_before): Add.
3844cd2e 9049 * unroll.c (copy_loop_body): Replace emit_insn_before with
86e21212
MH
9050 loop_insn_emit_before.
9051
7fa531a6
NB
90522001-01-25 Neil Booth <neil@daikokuya.demon.co.uk>
9053
70305f2b 9054 * diagnostic.c (fatal): Request preprocessed source.
7fa531a6 9055
91239b93
R
9056Thu Jan 25 02:01:16 2001 J"orn Rennecke <amylaar@redhat.com>
9057
9058 * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
9059 olddecl has argument types and newdecl has none, use the argument
9060 types from olddecl.
9061
e57cabac
UD
90622001-01-24 Ulrich Drepper <drepper@redhat.com>
9063
9064 * dwarf2out.c (prefix_of): New function. Determine longest common
9065 prefix of the two arguments. The units are whole path components.
9066 (output_file_names): When adding a new directory find the one entry
9067 with the longest common prefix already in the list. Artificially
9068 generate entry if there is none for this prefix.
9069 Fix test to check whether the zeroth directory entry is used.
9070
304a22dd
R
9071Wed Jan 24 23:51:55 2001 J"orn Rennecke <amylaar@redhat.com>
9072
9073 * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
9074 Changed all callers. Take it into account when deciding if a
9075 previously loaded value matches.
9076
0a28aef9
RH
90772001-01-24 Richard Henderson <rth@redhat.com>
9078
9079 * reload.c (find_reloads_subreg_address): Fail the substitution
9080 if the resulting address is insufficiently aligned.
9081
1cac8785
DD
90822001-01-24 DJ Delorie <dj@redhat.com>
9083
9084 * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
9085 check the original operand's mode also.
9086 * simplify-rtx.c (simplify_ternary_operation): Ditto.
9087
cedd825f
JM
90882001-01-24 Joseph S. Myers <jsm28@cam.ac.uk>
9089
9090 * c-parse.in (cast_expr): Move compound literals from here ...
9091 (primary): ... to here. Use standard terminology "compound
9092 literal" instead of "constructor expression".
9093
445c435a
JM
90942001-01-24 Joseph S. Myers <jsm28@cam.ac.uk>
9095
9096 * gcc.1, cpp.1: Regenerate.
9097
4cfc6042
AO
90982001-01-24 Alexandre Oliva <aoliva@redhat.com>
9099
9100 * calls.c (emit_library_call_value_1): Memory slot for
9101 pass-by-reference argument should have the mode of the argument,
9102 not of the pointer to it.
9103
597dba19
TT
91042001-01-24 Tom Tromey <tromey@redhat.com>
9105
9106 * gcc.texi (G++ and GCC): Mention gcj manual.
9107 (Standards): Link to section of manual mentioning gcj/Java
9108 compatibility.
9109
7855db7c
JJ
91102001-01-24 Jakub Jelinek <jakub@redhat.com>
9111
9112 * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
9113 * cppinit.c (cpp_start_read): Remove deps_add_dep call.
9114 * tradcpp.c (main): Add -imacros or -include'd dependencies
9115 for -M*.
9116 * cpp.texi (-M, -MM): Document -M -include behaviour.
9117
6a40fc2b 91182001-01-24 Roger Collins <roger@ProProject.com>
e57cabac 9119
70305f2b 9120 * config/i386/xm-i386.h: Make __i386__ a boolean macro.
6a40fc2b 9121
2f3fdc52
WC
91222001-01-24 Will Cohen <wcohen@redhat.com>
9123
9124 * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
9125 whether registers are 32 bits or 64 bits in size.
9126
a941b588
BE
91272001-01-24 Ben Elliston <bje@redhat.com>
9128
9129 * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
9130
64b4ab5a
RH
91312001-01-24 Richard Henderson <rth@redhat.com>
9132
9133 * config/alpha/alpha.md (builtin_longjmp_internal): New.
9134 (builtin_longjmp): Use it instead of emit_indirect_jump.
9135
b0cc7919
JDA
91362001-01-23 John David Anglin <dave@hiauly1.hia.nrc.ca>
9137
9138 * bb-reorder.c (make_reorder_chain_1): Handle case where
9139 jump edge goes to the same block as the fallthru edge.
e57cabac 9140
0024a804
JW
91412001-01-23 Jim Wilson <wilson@redhat.com>
9142
9143 * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
9144 * frame.h (__ia64_personality_v1): Add prototype.
9145 * libgcc2.c (ia64_throw_helper): Change personality declaration to
9146 prototype form. Add void * cast to first argument to personality
9147 call.
9148 * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
9149 (asctoe113): Likewise.
9150 * config/ia64/frame-ia64.c: Include eh-common.h.
9151 * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
9152 prototypes.
9153 * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
9154 to dump parameter.
9155 (itanium_split_issue): Add prototype.
9156 (gen_nop_type): Ifdef out.
9157 (find_best_packet): Initialize best_packet.
9158 (ia64_encode_section_info): New local string. Use for ggc_alloc_string
9159 result.
9160 * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
9161 * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
9162 (flushrs): Add explicit stop bit at end.
9163 * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
9164 trailing \ to >.
e57cabac 9165
8a1894ac
CD
91662001-01-23 Chris Demetriou <cgd@broadcom.com>
9167
9168 * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
9169 of EH symbols.
9170 * libgcc2.c (__terminate_func): Make variable static.
9171 (__terminate_set_func): New function to set __terminate_func.
9172 * libgcc2.h (__terminate_func_ptr): New typedef.
9173 (__terminate_set_func): New function.
9174
240f9c2b
RH
91752001-01-23 Richard Henderson <rth@redhat.com>
9176
9177 * flow.c (init_propagate_block_info): Don't consider unchanging
9178 memories for dead frame store elimination.
9179
fc9f395a
RH
91802001-01-23 Richard Henderson <rth@redhat.com>
9181
9182 * varasm.c (UNIQUE_SECTION): Move default implementation ...
9183 * defaults.h: ... here.
9184
860b3499
MH
91852001-01-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9186
9187 * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
9188
955dc84a
NB
91892001-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
9190
70305f2b 9191 * c-lex.c (lex_charconst): Fix typo: s/p/str.
955dc84a 9192
608ab802
FS
91932001-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9194
9195 * rs6000.h (rs6000_return_addr): Move prototype from here...
9196 * rs6000-protos.h (rs6000_return_addr): ...to here.
9197 (rs6000_init_expanders): Delete prototype.
9198
371e300b
NC
91992001-01-23 Nick Clifton <nickc@redhat.com>
9200
9201 * invoke.texi: Replace , with \, inside @gccoptlist macros.
9202 (Spec Files): Document %B and %j and %. and %v3 and %M and
9203 %{S*&T} spec switches.
9204
4a1f52a8
HB
92052001-01-24 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9206
9207 * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
9208
c933c209
CD
92092001-01-23 Chris Demetriou <cgd@sibyte.com>
9210 Neil Booth <neil@daikokuya.demon.co.uk>
9211
70305f2b
RH
9212 * cpperror.c: Merge handlers of PEDWARN and WARNING.
9213 Have -Werror make pedantic warnings errors, like the
9214 rest of GCC.
c933c209 9215
3fb74b82
PE
92162001-01-23 Phil Edwards <pme@sources.redhat.com>
9217
9218 * c-tree.texi (IDENTIFIER_LENGTH): Fix typo.
9219
96e60f0c
JJ
92202001-01-23 Jakub Jelinek <jakub@redhat.com>
9221
9222 * integrate.h (struct inline_remap): Add compare_src, compare_mode.
9223 * integrate.c (expand_inline_function): Initialize them.
9224 (subst_constants): If changing COMPARE so that both its arguments
9225 will be VOIDmode and the comparison mode will be lost, note
9226 compare_mode. Use the recorded compare_mode to optimize
9227 IF_THEN_ELSE.
9228
3f4907a6
JM
92292001-01-23 Jason Merrill <jason@redhat.com>
9230
9231 * dwarf2out.c (new_die): Use xcalloc.
9232 (output_die): Abort rather than emit a local reference to offset 0.
9233
44f715c8
AH
92342001-01-17 Andrew Haley <aph@redhat.com>
9235
9236 * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
9237 of a saved register; return NULL instead.
9238 (copy_reg): Take a pointer to a source register rather than a
9239 frame_state.
9240 (next_stack_level): Remember the address in the stack frame of all
9241 saved registers.
9242 Use the saved register pointer array as the source of the CFA.
9243 (throw_helper): Rewrite. Unwind once rather than twice and keep
9244 track of saved registers as we go.
e57cabac 9245
eb253d90
HB
92462001-01-23 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9247
9248 * c4x-protos.h (c4x_legitimize_reload_address): Remove.
9249 * c4x.c (c4x_legitimize_reload_address): Remove.
9250 * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
9251 reload address for ldp(k) insn.
9252
2caa0ddf
JL
9253Mon Jan 22 20:53:47 2001 Jeffrey A Law (law@cygnus.com)
9254
9255 * pa.md (return_internal): Add a USE of the PIC register to ensure
9256 it is restored after each call.
9257 (return expander): Corresponding changes.
9258
71f123ca
FS
92592001-01-22 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9260
9261 * rs6000.h (INIT_EXPANDERS): Delete.
9262 (RETURN_ADDR_RTX): Call rs6000_return_addr().
9263 * rs6000.c (rs6000_override_options): Call *_machine_status from
9264 here...
9265 (rs6000_init_expanders): ...instead of here. Delete.
9266 (rs6000_mark_machine_status): New function.
9267 (rs6000_init_machine_status): Use xcalloc.
9268 (rs6000_return_addr): Generate RTX for the return address.
9269 (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
9270 (rs6000_stack_info): Use it.
9271
5dab7f92
TP
92722001-01-22 Thomas Pfaff <tpfaff@gmx.net>
9273
9274 * gthr-win32.h: Include errno.h to get a declaration for
9275 EINVAL and _mingw.h if the target is mingw32.
9276
586964a7
AFV
92772001-01-22 Andres Felipe Vargas <avargas@teletulua.com.co>
9278
9279 * cpp.texi: Correct typos.
9280
f5f5363f
RK
9281Mon Jan 22 13:59:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9282
9283 * explow.c (probe_stack_range): Ensure value passed to
9284 stack_check_libfunc is ptr_mode, not Pmode.
9285
44e4159d
R
9286Mon Jan 22 16:53:06 2001 J"orn Rennecke <amylaar@redhat.com>
9287
9288 * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
9289 case, don't use operand_subword to calculate a SUBREG that is
9290 wider than a word.
9291
9292 * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
9293
0bbcfbaf
HB
92942001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9295
9296 * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
9297 (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
9298 valid. If not replace it by equivalent insns.
9299
5078f5eb
HB
93002001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9301
9302 * c4x.c (c4x_check_legit_addr): Only check CONST. Not if CONST
9303 contains SYMBOL_REF, LABEL_REF and CONST_INT.
9304 (c4x_U_constraint, symbolic_address_operand): Likewise.
9305 (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
9306 memory.
9307 (c4x_r11_set_p, c4x_check_laj_p): New functions.
9308 * c4x-protos.h (c4x_check_laj_p): Add prototype.
e57cabac 9309 * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
5078f5eb
HB
9310 anulling slot because of silicon bug.
9311 (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
9312
6dc0d164
AM
93132001-01-22 Alan Modra <alan@linuxcare.com.au>
9314
70305f2b
RH
9315 * cppexp.c (parse_charconst): Change `mask' type to agree
9316 with parse_escape.
6dc0d164 9317
c7f0da1d
RH
93182001-01-21 Richard Henderson <rth@redhat.com>
9319
9320 * config/i386/i386.c (ix86_asm_file_end): Disable putting
9321 pic_label_name in a linkonce section.
9322
380a627a
PT
93232001-01-17 Philipp Thomas <pthomas@suse.de>
9324
9325 * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
9326 found in libintl.
9327 * configure: Regenerate.
9328
02a65aef
R
9329Sun Jan 21 02:38:56 2001 J"orn Rennecke <amylaar@redhat.com>
9330
9331 * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
9332 uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
9333
56b871c1
DC
9334Sun Jan 21 09:44:17 2001 Denis Chertykov <denisc@overta.ru>
9335
9336 * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
9337 If REVERSE nonzero then condition code in X must be reversed.
9338 (encode_section_info): Optimise if/else.
9339 (avr_function_value): Fix formatting.
9340
9341 * config/avr/avr.md (branch): Call to ret_cond_branch changed.
9342 (difficult_branch): Likewise.
9343 (rvbranch): Likewise.
9344 (difficult_rvbranch): Likewise.
9345
9346 * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
9347
9348 * config/avr/libgcc.S: Fix comment.
9349
04e91ffb
MS
93502001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG>
9351
9352 * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
9353
3943e756
MS
93542001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG>
9355
9356 * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
9357
b3e1e64f
MS
93582001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG>
9359
9360 * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
9361 * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
9362 * configure, config.in: Regenerate.
9363 * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
9364 (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
9365 (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
9366 (doprint.o): New rule.
9367
47f8b473
JM
93682001-01-20 Joseph S. Myers <jsm28@cam.ac.uk>
9369
9370 * c-typeck.c (digest_init): Handle boolean types as scalars.
9371
2954d7db
RK
9372Sat Jan 20 12:46:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9373
9374 * stmt.c (expand_return): Don't return anything if size is zero.
9375 Delete redundant assignment to BYTES.
9376 * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
9377
1d26ac96
MM
93782001-01-20 Marek Michalkiewicz <marekm@linux.org.pl>
9379
9380 * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
9381 the same as the default library function names.
9382 * config/avr/avr.md: Document special characters after '%'.
9383 (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
9384 knowing which of the call-used registers are really clobbered.
9385 (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
9386 New. Both quotient and remainder from one libgcc.S call.
9387 * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
9388 clobber as few registers as possible.
9389 * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
9390
673b13e2
NB
93912001-01-20 Neil Booth <neil@daikokuya.demon.co.uk>
9392
70305f2b
RH
9393 * cppmacro.c (funlike_invocation_p): Don't move back up to the
9394 context of the top of the stack.
673b13e2 9395
a42a5f59
ZW
93962001-01-20 Jakub Jelinek <jakub@redhat.com>
9397
9398 * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
9399 (fixup_var_refs_insns): ...here.
9400
a42a5f59
ZW
94012001-01-20 Zack Weinberg <zack@wolery.stanford.edu>
9402
9403 * function.c (fixup_var_refs_insns): Break up into
9404 fixup_var_refs_insn [body of loop], fixup_var_refs_insns
9405 [loop over entire insn list], and fixup_var_refs_insns_with_hash
9406 [loop over hash table entries].
9407 (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
9408 fixup_var_refs_insns_with_hash, to match above changes.
9409
03bbd83f
JDA
94102001-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
9411
9412 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
9413 (libgcc.a): Likewise.
9414 (stmp-multilib): Likewise.
9415 (STAGE2_FLAGS_TO_PASS): Likewise.
9416
68c37dc9
AO
94172001-01-19 Alexandre Oliva <aoliva@redhat.com>
9418
9419 * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
9420 temporary if no_new_pseudos.
9421
111e0469
NB
94222001-01-19 Neil Booth <neil@daikokuya.demon.co.uk>
9423
a42a5f59 9424 * cppinternals.texi: Update.
111e0469 9425
55cf7bb9
RE
94262001-01-19 Richard Earnshaw <rearnsha@arm.com>
9427
9428 * arm.c (arm_init_builtins): Re-enable builtins.
9429
831ecbd4
RK
9430Fri Jan 19 13:02:56 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9431
7193d1dc
RK
9432 * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
9433 * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
9434 element to be null, and always expect an EXPR_LIST.
9435 * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
9436 * sched-deps.c (sched_analyze_1): Likewise.
9437 * sched-rgn.c (check_live_1, update_live_1): Likewise.
9438
79b9ec0d
RK
9439 * regclass.c (max_set_parallel): New variable.
9440 (reg_scan): Take it into account in computation of max_parallel.
9441 (reg_scan_mark_refs, case SET): Compute it.
9442
831ecbd4
RK
9443 * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
9444 args are REG.
9445 * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
9446 * function.c (assign_parms): Use INTVAL for a CONST_INT.
9447
cb9e9d8d
JM
94482001-01-19 Jason Merrill <jason@redhat.com>
9449
9450 * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
9451 for the abstract instance of an inline function.
9452
831ecbd4
RK
9453Fri Jan 19 14:31:35 2001 Alexandre Oliva <aoliva@redhat.com>
9454 J"orn Rennecke <amylaar@redhat.com>
61f5625b 9455
20342a6b
AO
9456 * reload1.c (move2add_note_store): Treat all registers directly or
9457 indirectly derived from a base register as members of the same set
9458 of values.
9459 (reload_cse_move2add): Adjust accordingly. Take mode and offset
9460 of base register into account.
61f5625b 9461
61f0131c
R
9462Fri Jan 19 09:18:42 2001 J"orn Rennecke <amylaar@redhat.com>
9463
9464 * alias.c (find_base_value): Recognize TRUNCATE.
9465 (record_set): In PLUS case, invalidate if other summand is also a
9466 base value.
9467
8eeb855e
RK
9468Thu Jan 18 06:43:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9469
831ecbd4 9470 * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
90d036a0
RK
9471 entry to be EXPR_LIST.
9472 * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
9473 be an EXPR_LIST (but not null, which other code doesn't allow).
9474 (note_stores): Properly handle PARALLEL in SET.
9475 Recursively call for top-level PARALLEL.
9476 * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
9477 * sched-rgn.c (check_live_1, update_live_1): Likewise.
9478
8eeb855e
RK
9479 * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
9480
6fe349a9
NB
94812001-01-18 Neil Booth <neil@daikokuya.demon.co.uk>
9482
a42a5f59
ZW
9483 * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
9484 not pfile->skipping (== 0).
6fe349a9 9485
988144ce
NC
94862001-01-17 Nick Clifton <nickc@redhat.com>
9487
9488 * config/rs6000/rs6000.c: Add prototypes for {init|free}_
9489 machine_status.
9490
15d3a111
JW
94912001-01-17 Jim Wilson <wilson@redhat.com>
9492
9493 * invoke.texi (IA-64 options): Improve.
9494
2bab2366
TT
94952001-01-17 Tom Tromey <tromey@redhat.com>
9496
9497 * invoke.texi (Optimize Options): Use `{}' to around @samp
9498 argument.
9499
454d0cc7
AH
95002001-01-17 Aldy Hernandez <aldyh@redhat.com>
9501
a42a5f59 9502 * invoke.texi (-fno-guess-branch-probability): New option.
454d0cc7 9503
c7be4f66
RK
9504Wed Jan 17 13:26:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9505
9506 * combine.c (try_combine): Don't set i3_subst_into_i2 for
9507 case of making new double-word constant.
9508 Revert last change: instead just test i3_subst_into_i2.
9509
5efdd890
JJ
95102001-01-17 Jakub Jelinek <jakub@redhat.com>
9511
9512 * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
d70401eb 9513 Use q constraints instead of r.
5efdd890 9514
5dfcd8e1
AM
9515Tue Jan 16 22:23:04 2001 Alan Modra (alan@linuxcare.com.au)
9516
9517 * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
9518 (machine_function): Define.
9519 (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
9520 * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
9521 pa_free_machine_status): New functions.
9522 (override_options): Set {init,mark,free}_machine_status to above.
9523 (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
9524 PIC_OFFSET_TABLE_REGNUM_SAVED.
9525 * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
9526 PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
9527 * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
9528 references to PIC_OFFSET_TABLE_REGNUM_SAVED.
9529 * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
9530
ce3b8848
DD
95312001-01-15 DJ Delorie <dj@redhat.com>
9532
9533 * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
9534 (cpp.1): Ditto.
9535 (gcc.1): Ditto.
9536
6953fdb4
RK
9537Tue Jan 16 17:20:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9538
50e9b3f1
RK
9539 * flow.c (propagate_on_insn): Make trying to delete a prologue
9540 or epilogue insn an ICE, not a warning. Allow doing this if
9541 the current function returns with stack pointer depressed.
9542
6953fdb4
RK
9543 * combine.c (try_combine): If i3_subst_into_i2, properly check for
9544 I3 having more than one SET.
9545
aebf2462
JW
95462001-01-16 Jim Wilson <wilson@redhat.com>
9547
df6194d4
JW
9548 * invoke.texi: Document IA-64 options.
9549
aebf2462
JW
9550 * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
9551 (fixup_errata): Delete TARGET_A_STEP use.
9552 * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
9553 (TARGET_SWITCHES): Delete -ma-step option.
9554 * config/ia64/ia64.md (all FP patterns): Delete %B0.
9555 (movqicc_astep, movqi_internal_astep, movhicc_astep,
9556 movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
9557 movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
9558 movdfcc_astep, movdf_internal_astep, movtfcc_astep,
9559 movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
9560 Delete.
9561 (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
9562 movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
9563 cmovsi_internal): Delete ! TARGET_A_STEP check.
a42a5f59 9564
aebb127a
GP
95652001-01-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9566
9567 * gcc.texi (Bug Lists): Do not mention newsgroups nor the
9568 possibility to report bugs via postal mail. Change a URL and
9569 merge in a nearly duplicate statement...
9570 (Bug Reporting): ...from here.
9571 (Service): Refer to the Bug Reporting section instead of
9572 duplicating an URL.
9573 (Contributing): Remove trivial explanations concerning snapshots.
9574
95f4ac8b
AM
95752001-01-16 Alan Modra <alan@linuxcare.com.au>
9576
a42a5f59 9577 * cppmain.c (general_init): Don't use ANSI prototype.
95f4ac8b 9578
c32ee81e
TT
95792001-01-16 Tom Tromey <tromey@redhat.com>
9580
9581 * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
9582
2c873473
RH
95832001-01-16 Richard Henderson <rth@redhat.com>
9584
9585 * config/i386/i386.h: Fix comment typo.
9586 * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
9587 (ashr+compare patterns): Match CCGOCmode not CCNOmode.
9588
76e5b312
PE
95892001-01-16 Phil Edwards <pme@sources.redhat.com>
9590
9591 * gcc.c: Revert previous -fsyntax-only-related change; move
20f9202d 9592 to cp/g++spec.c.
76e5b312 9593
b62d22a2
JJ
95942001-01-16 Jakub Jelinek <jakub@redhat.com>
9595
9596 * config/i386/i386.c (fcmov_comparison_operator): Only initialize
9597 inmode after checking GET_CODE (op).
9598
0875baa0
RH
95992001-01-16 Richard Henderson <rth@redhat.com>
9600
9601 * flow.c (struct propagate_block_info): Add mem_set_list_len.
9602 (MAX_MEM_SET_LIST_LEN): New.
9603 (propagate_one_insn): Update mem_set_list_len.
9604 (invalidate_mems_from_autoinc): Likewise.
9605 (invalidate_mems_from_set): Likewise.
9606 (mark_used_regs): Likewise.
9607 (init_propagate_block_info): Likewise. Stop collecting memories
9608 when we reach MAX_MEM_SET_LIST_LEN.
9609 (mark_set_1): Likewise.
9610
c55fa4d6
RH
96112001-01-16 Richard Henderson <rth@redhat.com>
9612
9613 * unroll.c (precondition_loop_p): Fail if no iteration
9614 variable found.
9615
6488ac06
PE
96162001-01-16 Phil Edwards <pme@sources.redhat.com>
9617
9618 * gcc.c: When -fsyntax-only is given, do not complain about
20f9202d 9619 unused libraries.
6488ac06 9620
4cf12e7e
RH
96212001-01-15 Richard Henderson <rth@redhat.com>
9622
9623 * config/i386/i386.c (asm_output_function_prefix): Remove.
9624 (ix86_asm_file_end): New.
9625 (load_pic_register): Generate pic_label_name into a
9626 staticly allocated buffer.
9627 * config/i386/i386-protos.h: Update.
9628 * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
9629 (ASM_FILE_END): New.
9630 * config/i386/i386afe.h: New file.
9631 * config.gcc (i?86-*-elf) [tm_file]: Use it.
9632 (i?86-*-{freebsd,linux*,moss*}): Likewise.
9633 * config/elfos.h (ASM_FILE_END): Undef before redefinition.
9634 * config/i386/cygwin.h (ASM_FILE_END): Likewise.
9635 * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
9636 * config/i386/sco5.h (ASM_FILE_END): Likewise.
9637 * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
9638
3f896fc2
JM
96392001-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
9640
ad3b5aff
JM
9641 * Makefile.in (install-man): Remove explicit dependency on
9642 $(srcdir)/gcc.1.
9643
3f896fc2
JM
9644 * configure.in, configure: Revert previous patch requiring perl
9645 5.6.0.
9646
3ff51205
AH
96472001-01-12 Aldy Hernandez <aldyh@redhat.com>
9648
9649 * toplev.c (flag_guess_branch_prob): New.
9650 (f_options): Add guess-branch-probability option.
9651 (rest_of_decl_compilation): Only estimate branch probability if
9652 flag set.
9653 (main): set flag_guess_branch_prob.
9654
9655 * flags.h (flag_guess_branch_prob): New.
9656
b8dea7e0
DD
96572001-01-15 DJ Delorie <dj@redhat.com>
9658
9659 * gcc.texi (Makefile): Add documentation for Makefile targets.
9660
c1163e75
PB
96612001-01-15 Philip Blundell <philb@gnu.org>
9662
9663 * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
9664 (is_pic): Delete.
9665 * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
9666 (is_pic): Delete declaration.
3cf96b52 9667 * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
c1163e75 9668 (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
3cf96b52 9669 * config/arm/arm.md (builtin_setjmp_receiver): New.
c1163e75 9670
9b598fa0
RE
96712001-01-15 Richard Earnshaw <rearnsha@arm.com>
9672
9673 * arm.c (use_return_insn): Don't try to determine the function type
9674 until after reload has completed.
9675 (arm_output_epilogue): Don't adjust the sp value recovered from the
9676 stack.
9677 (emit_multi_reg_push): Don't record dwarf information for the pc.
9678 * arm.md (eh_epilogue): The function type may have changed, so it
9679 needs to be recalculated.
a42a5f59 9680 * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete. Can now use dwarf2
9b598fa0
RE
9681 unwind tables on arm/netbsd.
9682
6c98269c
RE
96832001-01-15 Richard Earnshaw <rearnsha@arm.com>
9684
9685 * arm.md (cbranchsi4): Correct calculation of branch ranges.
9686 (negated_cbranchsi4): Likewise.
9687
fa13446b
RE
96882001-01-15 Richard Earnshaw <rearnsha@arm.com>
9689
9690 * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
9691 (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
b3c5b2be
RE
9692 (ASM_SPEC): Call subtarget_extra_asm_spec. Don't
9693 pass -mapcs-* options to assembler.
fa13446b
RE
9694 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
9695 (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
9696 (ASM_SPEC): Call subtarget_extra_asm_spec.
9697
77ebd435
AJ
96982001-01-15 Andreas Jaeger <aj@suse.de>
9699
a42a5f59 9700 * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
fa13446b 9701 warnings.
77ebd435
AJ
9702 (ix86_expand_builtin): Likewise.
9703
9704 * gencodes.c (output_predicate_decls): Make i size_t to avoid
9705 warning about comparison between signed and unsigned.
9706
998a298e
GK
97072001-01-14 Geoffrey Keating <geoffk@redhat.com>
9708
9709 * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
9710
1b26cad7
RB
97112001-01-14 Ralf Baechle <ralf@gnu.org>
9712
a42a5f59
ZW
9713 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
9714 SUBTARGET_CPP_SPEC apropriatly.
1b26cad7 9715
e3406b2a
MM
97162001-01-12 Mark Mitchell <mark@codesourcery.com>
9717
9718 * varasm.c (make_decl_rtl): Fix typo in last change.
9719
ea4f1fce
JO
97202001-01-14 Jeffrey Oldham <oldham@codesourcery.com>
9721
9722 * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
9723 linker supports the init_priority C++ attribute.
9724 * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
9725 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
9726 linker does not support init_priority C++ attribute.
9727
3e854cf7
R
9728Sun Jan 14 22:31:30 2001 J"orn Rennecke <amylaar@redhat.com>
9729
9730 * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
9731
400023a3
NB
97322001-01-14 Neil Booth <neil@daikokuya.demon.co.uk>
9733
a42a5f59
ZW
9734 * c-parse.in (finish_parse): Add comment about cpp_destroy.
9735 * cp/lex.c (finish_parse): Similarly.
9736 * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
9737 Return the number of errors encountered.
9738 * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
9739 * cppmain.c (main): Don't call cpp_destroy.
400023a3 9740
150d3c00
JM
97412001-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
9742
9743 * configure.in: Require at least perl 5.6.0 to regenerate
9744 manpages.
9745 * configure: Regenerate.
9746
521b9224
RH
97472001-01-14 Richard Henderson <rth@redhat.com>
9748
9749 * genrecog.c (DT_veclen_ge): New.
9750 (add_to_sequence) [MATCH_PARALLEL]: Generate one.
9751 (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
9752 (nodes_identical_1): Handle DT_veclen_ge.
9753 (write_cond, debug_decision_2): Likewise.
9754
d6c5a763
RE
97552001-01-14 Richard Earnshaw <rearnsha@arm.com>
9756
9757 * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete. Replace
9758 with ...
9759 (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
9760
6de8f7fc
NB
97612001-01-14 Neil Booth <neil@daikokuya.demon.co.uk>
9762
a42a5f59
ZW
9763 * cppmain.c (do_preprocessing): New function; most of the old
9764 main.
9765 (main): Call it to do most of the work.
9766 (cb): Move from global scope to set_callbacks ().
9767 (setup_callbacks): Get the callback pointer.
9768 (general_init, printer_init): Clean up code and comments.
6de8f7fc 9769
17879734
RE
97702001-01-14 Richard Earnshaw <rearnsha@arm.com>
9771
1b26cad7 9772 * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
17879734
RE
9773 compiling PIC.
9774
c009a745
KH
97752001-01-14 Kazu Hirata <kazu@hxi.com>
9776
9777 * config/h8300/h8300.c (get_shift_alg): Update comments.
9778
bd0f0717
RK
9779Sun Jan 14 06:20:49 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9780
9781 * ggc-page.c (alloc_annon): Call perror and correctly call exit.
9782 (alloc_page, ggc_alloc): Add casts to remove warnings.
9783
aa6683f7
GK
97842001-01-14 Geoffrey Keating <geoffk@redhat.com>
9785
9786 * combine.c (simplify_comparison): Don't change `code' when
9787 can't reverse comparison.
9788
fce7e199
RH
97892001-01-14 Richard Henderson <rth@redhat.com>
9790
9791 * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
9792 update all call sites. Return true for all non-label constants.
9793
a1b8572c
JH
9794Sun Jan 14 10:09:48 MET 2001 Jan hubicka <jh@suse.cz>
9795
9796 * i386.c (ix86_expand_compare): Add bypass_test and second_test
9797 parameters.
9798 (ix86_expand_branch): Update.
9799 (ix86_expand_setcc): Update to handle multiple test conditions.
9800 (expand_int_movcc): Likewise.
9801 (expand_fp_movcc): Likewise.
9802 * i386-protos.h (ix86_expand_compare): New.
9803 * i386.md (andqi_?_slp, orqi_?_slp): New.
9804 (conditional trap expander): Update call to ix86_expand_compare.
9805
17ad4377
RH
98062001-01-14 Richard Henderson <rth@redhat.com>
9807
9808 * config/vax/vax.md: Use nonimmediate_operand instead of
9809 general_operand in destinations.
9810
5b9b177a
RH
9811 * config/vax/vax.md (indirect_jump): Use register_operand.
9812
264ddbaa
RH
9813 * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
9814 * config/vax/vax.md (call_pop): Turn into an expander.
9815 (call_value_pop): Likewise.
9816 (call, call_value): New.
9817
8752c357
AJ
98182001-01-14 Andreas Jaeger <aj@suse.de>
9819
9820 * config/i386/i386.c (ix86_split_fp_branch): Remove unused
9821 variables.
9822 (ix86_fp_compare_mode): Add unused attribute.
9823 (ix86_expand_fp_movcc): Remove unused variable.
9824 (ix86_expand_builtin): Make fcode unsigned.
9825
9826 * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
9827 (expand_expr): Add cast to avoid signed warning.
9828 (store_field): Likewise.
9829 (store_constructor_field): Likewise.
9830 (store_constructor): Likewise.
9831 (store_expr): Likewise.
9832 (clear_storage): Likewise.
9833 (emit_group_store): Likewise.
9834 (emit_group_load): Likewise.
9835
1312c143
JM
98362001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
9837
9838 * c-common.c: Move format checking code to ...
9839 * c-format.c: ... here. New file. Reorder some functions and
9840 declarations.
9841 (decl_handle_format_attribute, decl_handle_format_arg_attribute):
9842 New functions.
9843 * c-common.h (decl_handle_format_attribute,
9844 decl_handle_format_arg_attribute): Declare.
9845 * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
9846 (c-common.o): Adjust dependencies.
9847 (c-format.o): New list of dependencies.
9848
9e2adb2a
JJ
98492001-01-13 Jakub Jelinek <jakub@redhat.com>
9850
9851 * unroll.c (loop_iterations): If we cannot prove iteration variable
9852 is set once in each iteration, punt.
9853
63eaee71
DC
9854Sun Jan 14 00:23:15 2001 Denis Chertykov <denisc@overta.ru>
9855
9856 * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
9857 (*strlenhi): Remove clobber (which was buggy) of output address.
9858
4bc1997b
JM
98592001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
9860
9861 * Makefile.in (generated-manpages): Add gcc.1
9862 ($(srcdir)/gcc.1): New target.
9863 (maintainer-clean): Delete $(srcdir)/gcc.1.
9864 * gcc.texi: Add macros @gccoptlist and @gol.
9865 * invoke.texi: Include option summary in manpage. Mark up option
9866 summary with @gccoptlist and @gol. Use @r in one place where
9867 appropriate.
9868 * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
9869 * gcc.1: Generate from invoke.texi.
9870
130fadbb
RH
98712001-01-13 Richard Henderson <rth@redhat.com>
9872
9873 * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
9874 (struct page_entry): Add group member.
9875 (struct page_group): New.
9876 (struct globals): Add page_groups member.
9877 (alloc_anon): Only define for using mmap; remove valloc call.
9878 (page_group_index): New.
9879 (set_page_group_in_use): New.
9880 (clear_page_group_in_use): New.
9881 (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
9882 (free_page, release_pages): Likewise.
9883 * configure.in (with-gc): Default to ggc-page always.
9884
086fef9e
AO
98852001-01-13 Alexandre Oliva <aoliva@redhat.com>
9886
9887 * reload1.c (replace_pseudos_in_call_usage): Use
9888 reg_equiv_constant and reg_equiv_address, and don't try
9889 regno_reg_rtx first.
9890
ca79429a
RH
98912001-01-13 Richard Henderson <rth@redhat.com>
9892
9893 * ggc-page.c (alloc_page): Round up allocation size to one page.
9894 Set e->order on extra pages.
9895
2cec75a1
RH
98962001-01-13 Richard Henderson <rth@redhat.com>
9897
9898 * genrecog.c (nodes_identical): Expand commentary.
9899 (write_switch): Watch out for identical nodes.
9900
d6d52dd6
NB
99012001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
9902
a42a5f59
ZW
9903 * cppfiles.c (_cpp_fake_include): New function.
9904 * cpphash.h (_cpp_fake_include): New.
9905 * cpplib.c (do_line): Call _cpp_fake_include when entering
9906 header files in preprocessed input.
9907 * cppmain.c (cb_pragma_implementation): Remove handling.
d6d52dd6
NB
9908 (setup_callbacks): Don't register pragmas.
9909
ccd96f0a
NB
99102001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
9911
9912 * extend.texi: Udate for CPP.
9913
174fa2c4
AJ
99142001-01-13 Andreas Jaeger <aj@suse.de>
9915
9916 * reload1.c: Add prototype for replace_pseudos_in_call_usage.
9917
9918 * regmove.c: Add prototype for replace_in_call_usage.
9919
8121d2c3
NB
99202001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
9921
a42a5f59
ZW
9922 * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
9923 struct cpp_chunk, struct htab, struct toklist,
9924 struct cpp_context, CPP_STACK_MAX, struct lexer_state,
9925 struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
9926 CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
9927 ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
9928 (struct macro_args): Delete.
9929 * cpphash.h: See above.
8121d2c3 9930
620ef26c
NB
99312001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
9932
a42a5f59
ZW
9933 * cppmain.c (struct printer): Remove no_line_dirs.
9934 (options, cb): New.
9935 (main, setup_callbacks, scan_buffer, printer_init, cb_define)
9936 : Use options rather than CPP_OPTION.
9937 (setup_callbacks): Use cb rather than pfile->cb.
9938 (main): No need to check for a buffer. Use cpp_errors.
9939 (printer_init): Don't set no_line_dirs.
9940 (maybe_print_line): Use options not no_line_dirs.
9941 (cb_file_change): Don't call print_line if -P.
620ef26c 9942
b61c5ed0
NB
99432001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
9944
a42a5f59
ZW
9945 * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
9946 callbacks.
9947 * c-parse.in (finish_parse): Use cpp_errors.
9948 (__yylex): Use return value of cpp_pop_buffer.
9949 * cp/lex.c (finish_parse): Use cpp_errors.
9950 * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
b61c5ed0 9951
f14269a0
DC
9952Sat Jan 13 16:57:40 2001 Denis Chertykov <denisc@overta.ru>
9953
9954 * README.AVR: URLs corrected.
9955
757e6639
RK
9956Sat Jan 13 07:30:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9957
9958 * c-decl.c (start_function): Don't warn if old prototype is builtin
9959 that's not in C's namespace.
9960 * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
9961 (_bb): Add prototype for ctime.
9962 * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
9963
9e7adcb3
JH
9964Sat Jan 13 09:53:32 MET 2001 Jan Hubicka <jh@suse.cz>
9965
9966 * i386.c (ix86_fp_comparison_arithmetics_cost,
9967 ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
9968 ix86_fp_comparison_cost): New functions.
9969 (ix86_expand_fp_compare): Use the costs to choose best bethod; add
9970 two new parameters SECOND_TEST and BYPASS_TEST; allow generating
9971 two-branch sequences; make static.
9972 (ix86_use_fcomi_compare): Do decision according to the costs.
9973 (split_fp_branch): New.
9974 * i386.md (compare-and-branch patterns): Use split_fp_branch.
9975 * i386-protos.h (ix86_expand_fp_compare): Remove
9976 (ix86_split_fp_branch): Declare.
9977
9978 * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
9979 and ix86_comparison_operator.
9980
9981 * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
9982 to make it cheaper.
9983
9984 * i386.c (put_condition_code): Output properly the unordered/ordered
9985 compares in fp case.
9986 (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
9987
9988 * tm.texi (REVERSE_CONDITION): Document.
9989 * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
9990 in -ffast-math mode.
9991 * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
9992
35ef2880
AO
99932001-01-13 Alexandre Oliva <aoliva@redhat.com>
9994
89d4bc35
AO
9995 * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
9996
b90dbca6
AO
9997 * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
9998 optimized away.
9999
35ef2880
AO
10000 * config/sh/sh.c (mova_p): Fix test for mova_const.
10001
f85c14ee
NB
100022001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
10003
a42a5f59
ZW
10004 * fix-header.c (read_scan_file): Use cpp_get_callbacks and
10005 cpp_get_options rather than dereferencing pfile and using
10006 CPP_OPTION.
10007 * scan-decls.c (scan_decls): Use return value of
10008 cpp_pop_buffer rather than CPP_BUFFER.
174fa2c4 10009
7e96d768
NB
100102001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
10011
a42a5f59
ZW
10012 * cppinit.c (cpp_handle_option): help_only is now part of the
10013 cpp_options structure.
10014 * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
10015 cpp_set_callbacks): New functions.
10016 * cpplib.h (cpp_callbacks): Break out as a named structure.
10017 (cpp_options): Move help_only here from cpp_reader.
10018 (CPP_FATAL_ERRORS): Update to use cpp_errors.
10019 (cpp_errors, cpp_get_options, cpp_get_callbacks,
10020 cpp_set_callbacks): New prototypes.
10021 * cppmain.c (main): Update for help_only.
7e96d768 10022
23de1fbf
JM
100232001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
10024
10025 * Makefile.in (info, maintainer-clean, install-info, uninstall):
10026 Also build and remove and install and uninstall c-tree.info and
10027 cppinternals.info.
10028 ($(srcdir)/gcc.info): Add dependency on contrib.texi.
10029 ($(srcdir)/cppinternals.info): New target.
10030 * c-tree.texi: Change file name used when makeinfo used without -o
10031 from ir.info to c-tree.info. Add info directory entry.
10032 * cppinternals.texi: Add info directory entry.
10033 * .cvsignore: Update.
10034
8b6a5902
JJ
100352001-01-12 Jakub Jelinek <jakub@redhat.com>
10036
10037 * c-typeck.c (store_init_value): Don't require constant initializer
10038 elements with -pedantic -std=c99.
10039 (digest_init): Change error about non-constant initializer elements
10040 into pedwarn.
10041 (constructor_range_end): Remove.
10042 (constructor_incremental, designator_depth,
10043 designator_errorneous): New variables.
10044 (struct constructor_stack): Remove range_end, add incremental.
10045 (struct constructor_range_stack, constructor_range_stack): New.
10046 (struct initializer_stack): Add constructor_range_stack.
10047 (finish_init): Set it.
10048 (start_init): Likewise. require_constant_elements for non-static
10049 trees only if not flag_isoc99.
10050 (really_start_incremental_init): Remove constructor_range_end, add
10051 constructor_incremental.
10052 (pop_init_level): Likewise.
10053 (push_init_level): Likewise. If implicit and the subobject had some
10054 value set already, preinitialize the level with it.
10055 Warn about missing braces only if not pushing due to designators.
10056 (set_designator, push_range_stack): New functions.
10057 (set_init_label): Use them.
10058 (set_init_index): Likewise. Remove constructor_range_end.
10059 Error if designator index is outside of array bounds.
10060 (add_pending_init): Compare values of purpose index trees, not the
10061 trees themselves. Allow overwriting of already initialized element.
10062 Issue a warning if it had side-effects.
10063 (set_nonincremental_init, set_nonincremental_init_from_string): New
10064 functions.
10065 (pending_init_member): Rename to...
10066 (find_init_member): ...this function. Call set_nonincremental_init
10067 if necessary. Compare values of purpose index trees, not the trees
10068 themselves. Return the actual value, not just non-zero if something
10069 is found.
10070 (output_init_element): Remove checks for duplicates.
10071 If field has zero size, only check the initializer for correctness.
10072 Call set_nonincremental_init if necessary. Push RECORD/ARRAY into AVL
10073 if constructor_incremental is zero. Change error about initializers
10074 not computable at load time into pedwarn.
10075 (output_pending_init_elements): Compare bit positions, not
10076 FIELD_DECLs to take into account zero-sized fields.
10077 (process_init_element): Use constructor_range_stack to fill all
10078 ranges in the designator lists from current level up.
10079 * extend.texi: Update documentation for labeled elements.
10080
7dd232a8
AO
100812001-01-12 Alexandre Oliva <aoliva@redhat.com>
10082
f474c6f8
AO
10083 * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
10084 to function usage for arguments passed by reference. Optimize
10085 callee-copied arguments.
ec7c0481 10086 * regmove.c (replace_in_call_usage): New function.
f474c6f8
AO
10087 (fixup_match_1): Call it.
10088 * cse.c (cse_insn): Canonicalize registers in function usage.
10089 * reload1.c (replace_pseudos_in_call_usage): New function.
10090 (reload): Call it.
10091
7dd232a8
AO
10092 * Makefile.in: Reverted yesterday's wrong patch. Installed the
10093 right version.
10094
d0285326
JJ
100952001-01-12 Jakub Jelinek <jakub@redhat.com>
10096
10097 * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
10098 not XEXP (tmp, 0).
10099
770861f3
DD
101002001-01-12 DJ Delorie <dj@redhat.com>
10101
10102 * Makefile.in (bootstrap): rename stages to be mnemonic. Add
10103 restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
10104 targets.
10105
5490d604
JM
101062001-01-12 Joseph S. Myers <jsm28@cam.ac.uk>
10107
10108 * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
10109 tm.texi: Consistently refer to ISO C instead of ANSI C. Refer to
10110 -std options alongside references to -ansi. Update some
10111 documentation for C99.
10112 * cpp.1: Regenerate.
10113
d24b8f53
AJ
101142001-01-12 Andreas Jaeger <aj@suse.de>
10115
14052b68
AJ
10116 * haifa-sched.c (restore_line_notes): Remove argument block B
10117 since it's unused.
10118 * sched-ebb.c (schedule_ebb): Change caller.
10119 * sched-rgn.c (schedule_region): Likewise.
10120 * sched-int.h (restore_line_notes): Adjust prototype.
10121
d24b8f53
AJ
10122 * loop.h: Remove wrong declaration of doloop_condition_get.
10123
e6f3b89d
PE
101242001-01-12 Phil Edwards <pme@sources.redhat.com>
10125
10126 * extend.texi: Move C++-extension-related node from the C section
20f9202d 10127 into the C++ section.
e6f3b89d 10128
89aed483
JM
101292001-01-12 Joseph S. Myers <jsm28@cam.ac.uk>
10130
10131 * extend.texi: Refer to an array of pointers to functions instead
10132 of one of functions.
10133
c3ffea50
AJ
10134Fri Jan 12 12:08:12 MET 2001 Andreas Jaeger <aj@suse.de>
10135 Jan Hubicka <jh@suse.cz>
10136
d24b8f53 10137 * combine.c (reversed_comparison): Fix typo in last patch.
c3ffea50 10138 Check X for NULL.
d24b8f53
AJ
10139 (combine_reversed_comparison_code): Make static to follow
10140 prototype declaration.
c3ffea50 10141
159227d5
PE
101422001-01-12 Phil Edwards <pme@sources.redhat.com>
10143
10144 * install.texi: Remove misplaced duplicate entry.
10145
ac70ce21
UD
101462001-01-11 Ulrich Drepper <drepper@redhat.com>
10147
10148 * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
10149
b660f82f
JW
10150Thu Jan 11 17:06:30 EST 2001 John Wehle (john@feith.com)
10151
10152 * final.c: (leaf_function_p): Fix typo.
10153
825b6926
ZW
101542001-01-11 Zack Weinberg <zack@wolery.stanford.edu>
10155
10156 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
10157 Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
10158 which you have.
10159 (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
10160 * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
10161 mmap_anon, and valloc is available.
10162 * ggc-page.c: Restructure ifdef logic to match new autoconf
10163 spec. Don't throw away the test page in init_ggc.
10164
10165 * configure, config.in: Regenerate.
10166
099f0f3f
MH
101672001-01-12 Michael Hayes <mhayes@redhat.com>
10168
10169 * loop.h (total_biv_increment): Constify iv_class pointer.
10170 (struct induction): Replace `mem_mode' with `mem' rtx.
10171 * unroll.c (total_biv_increment): Constify iv_class pointer.
10172 * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
10173 (find_mem_givs, combine_givs_p): Likewise.
10174 (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
10175
69e905c8
TP
101762001-01-10 Thomas Pfaff <tpfaff@gmx.net>
10177
10178 * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
10179 LastError.
10180 (__gthread_getspecific): Ditto.
10181
9a915772
JH
10182Fri Jan 12 00:04:00 MET 2001 Jan Hubicka <jh@suse.cz>
10183
10184 * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
10185 put_condition_code): Convert fp comparison codes to integer
10186 before handling.
10187 (ix86_expand_fp_compare): Postnote the fp comparison code converison
10188 to final.
10189
10190 * i386.c (unsigned_comparison, no_comparison_operator): Kill.
10191 * i386-protos.h (no_comparison_operator): Kill.
10192
10193 * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
10194
10195 * combine.c (REVERSIBLE_CC_MODE): Remove.
10196 (reversible_comparison_p): Remove.
10197 (combine_reversed_comparison_code): New.
10198 (reversed_comparison): New.
10199 (combine_simplify_rtx): Use
10200 combine_reversed_comparison_code/reversed_comparison instead
10201 of reversible_comparison_p.
10202 (simplify_if_then_else): Likewise.
10203 (simplify_set): Likewise.
10204 (simplify_logical): Likewise.
10205 (if_then_else_cond): Likewise.
10206 (known_cond): Likewise.
10207 (simplify_comparison): Likewise.
10208
bbc7fda9
AL
102092001-01-11 Alan Lehotsky <lehotsky@tiac.net>
10210
10211 * builtins.c (std_expand_builtin_va_start): Handle varargs when
10212 sizeof (int) is larger than sizeof(__word__).
825b6926 10213
a4299d07
NB
102142001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
10215
825b6926 10216 * cppinit.c (do_includes): Fix typo.
a4299d07 10217
76028b1f
SC
102182001-01-11 Stephane Carrez <Stephane.Carrez@worldnet.fr>
10219
10220 * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
10221 in S_REGS does not occur because not all sources are possible
10222 when a S_REGS is a destination (sometimes needs a clobber).
10223 (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
10224 (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
10225 (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
10226 (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
10227 (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
10228 (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
10229 (lshrdi_const1, lshrsi3_const16): Likewise.
10230 (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
10231 (*movhi_68hc12, *movqi_68hc12): Likewise.
825b6926 10232 (movstrictqi): Make sure reloading in D_REGS as a destination
76028b1f
SC
10233 does not happen.
10234
d3956766
NB
102352001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
10236
825b6926 10237 * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
d3956766 10238
05e81724
NB
102392001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
10240
825b6926
ZW
10241 * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
10242 -D, -U and -A, and don't initialize the builtins.
a4299d07 10243 (do_includes): Error if -include or -imacros with -fpreprocessed.
825b6926
ZW
10244 * cppmain.c (cb_define, cb_undef): Unconditionally process
10245 the callback.
10246 * tradcpp.c (main): Fix typo.
05e81724
NB
10247
102482000-01-11 Mark Elbrecht <snowball3@bigfoot.com>
825b6926 10249
20f9202d
DB
10250 * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
10251 (read_name_map): Use IS_ABSOLUTE_PATH.
10252 * tradcpp.c (get_filename): Likewise.
05e81724 10253
76d06edc
SC
102542001-01-11 Stephane Carrez <Stephane.Carrez@worldnet.fr>
10255
10256 * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
10257 (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
10258 (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
10259 (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
10260 (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
10261 (cmphi_z_used): Don't use '@' for the output.
10262 (tstqi_z_used): Likewise.
10263 (cmpqi_z_used): Likewise.
10264 (one_cmplsi2): Likewise.
10265
1594c6bc
AO
102662001-01-11 Alexandre Oliva <aoliva@redhat.com>
10267
10268 * config/sh/sh.c (barrier_align): Recognize branch around far
10269 branch and redundant insn.
10270
7da723ef
NB
102712001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
10272
825b6926 10273 * invoke.texi: Restore documentation of the drivers' switches -MD
7da723ef
NB
10274 and -MMD.
10275
a738a85c
AO
102762001-01-11 Alexandre Oliva <aoliva@redhat.com>
10277
f6f1dc95
AO
10278 * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
10279
a738a85c
AO
10280 * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
10281 check-objc//%): Support parallel testing of multilibs.
10282 (TESTSUITEDIR): Set to testsuite by default, but override for
10283 parallel testing.
10284 (check-gcc, check-g++, check-g77, check-objc): Enter
10285 $(TESTSUITEDIR).
10286
fb6754f0
BS
102872001-01-11 Bernd Schmidt <bernds@redhat.com>
10288
10289 * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
10290 * sched-deps.c (deps_may_trap_p): Likewise.
10291 * basic-block.h: Remove a comment.
10292 * flow.c (PROP_POSTRELOAD): Remove.
10293 (update_life_info): Don't add it to prop_flags.
10294 (mark_set_1): Lose the code that was enabled by it.
10295
0ab409ed
MH
102962001-01-11 Michael Hayes <mhayes@redhat.com>
10297
10298 * flow.c (flow_call_edges_add): New.
10299 * basic_block.h (flow_call_edges_add): New.
10300
ada6635f
R
103012001-01-11 J"orn Rennecke <amylaar@redhat.com>
10302
10303 * reload1.c (move2add_note_store): Update reg_set_luid even if
10304 base reg remains the same.
10305
73d771f0
NC
103062001-01-10 Nick Clifton <nickc@redhat.com>
10307
10308 * config/d30v/d30v.c (d30v_init_machine_status): Initialise
10309 machine_function structure to zero.
10310 Add prototypes for machine_status functions.
10311
cbd5937a
MM
103122001-01-10 Mark Mitchell <mark@codesourcery.com>
10313
10314 * c-common.h (CTI_VOID_LIST): Remove.
10315 (void_list_node): Likewise.
10316 * tree.h (TI_VOID_LIST_NODE): New enumeral.
10317 (void_list_node): New macro.
10318 * config/arm/arm.c (arm_init_builtins): Use void_list_node.
10319 * config/i386/i386.c (ix86_init_builtins): Likewise.
10320 * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
10321
2f638f96
NB
103222001-01-10 Neil Booth <neil@daikokuya.demon.co.uk>
10323
825b6926
ZW
10324 * Makefile.in (tradcpp0): Depend on mkdeps.h. Link mkdeps.o
10325 * cppinit.c (cpp_start_read): Update comment, remove unneeded
10326 if statement.
10327 * tradcpp.c: Include mkdeps.h.
10328 (deps, print_deps_phony_targets, deps_append, output_deps,
10329 init_dependency_output, output_deps): New.
10330 (deps_buffer, deps_allocated_size, deps_size, deps_column,
10331 deps_output): Delete.
10332 (print_deps_missing_files): Rename deps_missing_files.
10333 (inhibit_output): Make global.
10334 (main): Delete inhibit_output, deps_stream, deps_target.
10335 Use mkdeps functionality in the same way as cpplib. Remove
10336 -g3 handling. Handle -MF, -MP, -MQ, -MT. Update handling of
10337 -M and -MM. Remove old handling of deps via deps_out, and
10338 old reading of environment variables.
10339 (get_filename): Update to use deps_add_dep.
2f638f96 10340
6c418184
MM
103412001-01-10 Mark Mitchell <mark@codesourcery.com>
10342
10343 * output.h (make_function_rtl): Remove prototype.
10344 (make_decl_rtl): Likewise.
10345 * varasm.c (make_function_rtl): Remove.
10346 (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
10347 than from a third parameter.
10348 * tree.h (make_decl_rtl): Remove last parameter.
10349 * c-decl.c (builtin_function): Remove last argument in call to
10350 make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
10351 (start_function): Likewise.
10352 * except.c (call_get_eh_context): Likewise.
10353 * expr.c (emit_block_move): Likewise.
10354 (clear_storage): Likewise.
10355 * profile.c (output_func_start_profiler): Likewise.
10356 * toplev.c (rest_of_decl_compilation): Likewise.
10357 * objc/objc-act.c (create_builtin_decl): Likewise.
10358 (synth_module_prologue): Likewise.
10359 (generate_static_reference): Likewise.
10360 (build_selector_reference_decl): Likewise.
10361 (build_class_reference_decl): Likewise.
10362 (build_objc_string_decl): Likewise.
10363 (build_protocol_reference): Likewise.
10364
4621c640
RH
103652001-01-10 Richard Henderson <rth@redhat.com>
10366
10367 * hwint.h: Revert yesterday's change.
10368
414c4dc4
NC
103692001-01-10 Nick Clifton <nickc@redhat.com>
10370
10371 * function.h (save_machine_status): Delete.
10372 (restore_machine_status): Delete.
10373 Amend comment describing {init|mark|free}_machine_status.
10374
10375 * function.c (save_machine_status): Delete.
10376 (restore_machine_status): Delete.
10377 Amend comment describing {init|mark|free}_machine_status.
10378 (push_function_context_to): Remove invocation of
10379 save_machine_status.
10380 (pop_function_context_from): Remove invocation of
10381 restore_machine_status.
10382
10383 * emit-rtl.c (init_emit_once): Amend comment describing
825b6926 10384 {init|mark|free}_machine_status.
414c4dc4
NC
10385
10386 * tm.texi (Per-Function Data): New node. Describe the
10387 INIT_EXPANDERS macro and the {init|mark|free}_machine_status
10388 function pointers.
10389
5c5d1ea0
NB
103902001-01-10 Neil Booth <neil@daikokuya.demon.co.uk>
10391
825b6926
ZW
10392 * cppinit.c (OPT_g): Remove.
10393 (cpp_handle_option): Update for removed -g3.
10394 (print_help): Update.
10395 * cpplib.h (struct cpp_options): Remove debug_output.
10396 * cppmain.c (setup_callbacks, cb_define): Update.
10397 * gcc.c (cpp_options): Translate -g3 to -dD.
5c5d1ea0 10398
d9271ccc
AH
103992001-01-10 Aldy Hernandez <aldyh@redhat.com>
10400
10401 * config/i960/i960.md: Change modifier to + on the zero_extract
825b6926 10402 pattern after the (rotate -2 reg) canonicalization pattern.
d9271ccc 10403
37b15744
RH
104042001-01-10 Richard Henderson <rth@redhat.com>
10405
10406 * config/alpha/alpha.c (alpha_free_machine_status): New.
10407 (override_options): Install it.
10408 (alpha_mark_machine_status): Verify machine non-null.
10409 * config/i386/i386.c (ix86_free_machine_status): New.
10410 (override_options): Install it.
10411 (ix86_init_machine_status): Use xcalloc.
10412 (ix86_mark_machine_status): Verify machine non-null.
10413 * config/ia64/ia64.c (ia64_free_machine_status): New.
10414 (ia64_override_options): Install it.
10415 (ia64_mark_machine_status): Verify machine non-null.
10416
87c61e2d
JL
10417Wed Jan 10 11:34:39 2001 Jeffrey A Law (law@cygnus.com)
10418
10419 * function.c (instantiate_virtual_regs): Instantiate virtual
10420 registers found in CALL_INSN_FUNCTION_USAGE.
10421
930bbdd2
JM
104222001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
10423
10424 * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
10425 equivalent to -ansi in disabling -Di386.
10426
c0c102a9
JH
10427Wed Jan 10 16:38:31 MET 2001 Jan Hubicka <jh@suse.cz>
10428
10429 * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
10430 new functions.
10431 (ix86_expand_fp_compare): Make trivial use of new infrastructure.
10432
78053907
RE
104332001-01-10 Richard Earnshaw <rearnsha@arm.com>
10434
10435 * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
10436
a7537031
JM
104372001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
10438
10439 * invoke.texi: Document that -fcond-mismatch isn't supported for
10440 C++.
10441
2642624b
JM
104422001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
10443
10444 * gcc.texi: Define macro gcctabopt.
10445 * invoke.texi: Add manpage sections BUGS and AUTHOR. Use
10446 @command, @env and @option in some places where appropriate. Use
10447 @gcctabopt where appropriate. Put URLs and email addresses inside
10448 @w.
10449
11972f66 104502001-01-10 Nathan Sidwell <nathan@codesourcery.com>
825b6926
ZW
10451
10452 * gcc.c (cpp_options): Set MD file name from output
10453 filename, if specified.
10454 (suffix_subst): New static variable.
10455 (do_spec): Clear it.
10456 (do_spec_1, case '.'): Handle new `%.suffix' spec.
10457 Clear it.
10458 (give_switch): Handle suffix_subst.
11972f66 10459
0a75e5c3
PE
104602001-01-10 Phil Edwards <pme@sources.redhat.com>
10461
10462 * invoke.texi: Fix another typo.
10463
9169269f
PE
104642001-01-10 Phil Edwards <pme@sources.redhat.com>
10465
10466 * invoke.texi: Fix typo.
10467
ee811cfd
NB
104682001-01-10 Neil Booth <neil@daikokuya.demon.co.uk>
10469
825b6926
ZW
10470 * c-lang.c (lang_hooks): Update.
10471 (lang_decode_option): Remove.
10472 (lang_init_options): Rename c_init_options.
10473 * toplev.c (main): Use lang_hooks for lang_init_options
10474 and lang_decode_option.
10475 * toplev.h (lang_hooks): Add 2 new hooks.
10476 * tree.h: Remove lang_init_options and lang_decode_option.
10477 * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
10478 * cp/decl2.c: Similarly.
10479 * cp/lex.c (lang_init_options): Rename cxx_init_options.
10480 (lang_hooks): Update.
10481 * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
10482 for consistency.
10483 (lang_init_options): Rename ffe_init_options.
10484 (lang_hooks): Update.
10485 (lang_decode_option): Remove.
10486 * java/lang.c (lang_init_options): Rename java_init_options.
10487 (lang_decode_option): Rename java_decode_option.
10488 (lang_hooks): Update.
10489 * objc/objc-act.c (lang_init_options): Rename objc_init_options.
10490 (lang_decode_option): Rename objc_decode_option.
10491 (lang_hooks): Update.
ee811cfd 10492
8541c24b
NC
104932001-01-09 Nick Clifton <nickc@redhat.com>
10494
10495 * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
10496 (d30v_return_addr_rtx): Delete.
10497 (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
10498 cfun->machine structure.
10499 (struct machine_function): Move to d30v.h
10500 (d30v_save_machine_status): Delete.
10501 (d30v_restore_machine_status): Delete.
10502 (d30v_init_machine_status): New Function.
10503 (d30v_mark_machine_status): New Function.
10504 (d30v_free_machine_status): New Function.
10505 (d30v_init_expanders): Use new functions.
10506 (d30v_return_addr): Use ra_rtx field in cfun->machine.
10507 (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
10508 d30v_return_addr_rtx.
10509
10510 * config/d30v/d30v.h (struct_machine): Move here.
10511 Add eh_epilogue_sp_ofs field.
10512
10513 *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
10514 field in cfun->machine structure.
10515
4d5a6f78
JDA
10516Tue Jan 9 21:34:57 2001 John David Anglin <dave@hiauly1.hia.nrc.ca>
10517
10518 * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
10519 PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
10520 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
10521
ecb7e784
JL
10522Tue Jan 9 21:25:19 2001 Jeffrey A Law (law@cygnus.com)
10523
10524 * objc/lang-options.h: Remove bogus reference to
10525 Java trademark.
10526
35fb3d1f
KH
105272001-01-09 Kazu Hirata <kazu@hxi.com>
10528
10529 * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
10530 return the result.
10531
4971426b
AL
105322001-01-09 Alan Lehotsky <lehotsky@tiac.net>
10533
10534 * reload.c (find_reloads_address): Check for eliminable registers
20f9202d 10535 when substituting a constant expression for a pseudo.
825b6926 10536
10a4c7ac
JM
105372001-01-09 Joseph S. Myers <jsm28@cam.ac.uk>
10538
10539 * c-common.c (enum format_type): Add format_type_error.
10540 (decode_format_type): New function.
10541 (decl_attributes): Use it.
10542 (format_kind_info): Adjust comment.
10543
f6e0c56c
DB
105442001-01-09 David O'Brien <obrien@BSDi.com>
10545
10546 * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
10547 i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
10548 files in tm_file.
10549 * config/i386/gnu.h: Don't include required platform specific .h files,
10550 tm.h will do it instead.
10551 * config/i386/i386elf.h: Likewise.
10552 * config/i386/linux.h: Likewise.
10553 * config/i386/moss.h: Likewise.
10554 * config/mips/gnu.h: Likewise.
10555
e556ad19
FS
105562001-01-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10557
10558 * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
10559 (rs6000-ibm-aix3.[01]*): Likewise.
10560 (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
10561 (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
10562 (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
10563 (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
10564 (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
10565 (powerpc-*-eabiaix*): Likewise.
10566 (powerpc-*-eabisim*): Likewise.
10567 (powerpc-*-elf*): Likewise.
10568 (powerpc-*-eabi*): Likewise.
10569 (powerpc-*-rtems*): Likewise.
10570 (powerpc-*-linux*libc1): Likewise.
10571 (powerpc-*-linux*): Likewise.
10572 (powerpc-wrs-vxworks*): Likewise.
10573 (powerpcle-wrs-vxworks*): Likewise.
10574 (powerpcle-*-sysv*): Likewise.
10575 (powerpcle-*-elf*): Likewise.
10576 (powerpcle-*-eabisim*): Likewise.
10577 (powerpcle-*-eabi*): Likewise.
10578 (powerpcle-*-solaris2*): Likewise.
10579 * config/rs6000/aix31.h: Delete includes.
10580 * config/rs6000/aix3newas.h: Likewise.
10581 * config/rs6000/aix41.h: Likewise.
10582 * config/rs6000/aix43.h: Likewise.
10583 * config/rs6000/beos.h: Likewise.
10584 * config/rs6000/rtems.h: Likewise.
10585 * config/rs6000/sysv4.h: Likewise.
10586
9789584b
KH
105872001-01-09 Kazu Hirata <kazu@hxi.com>
10588
10589 * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
10590 Change an argument mode of machine_mode to shift_mode of
10591 shift_mode. Remove an extra error check.
10592 (emit_a_shift): Adopt to the new calling prototype of
10593 get_shift_alg.
46d00fef
KH
10594 (function_prologue): Fix code for a monitor
10595 function. Support H8/S.
10596 (function_epilogue): Do not output pop for a monitor function.
9789584b 10597
a2e11fd9
NC
105982001-01-09 Nick Clifton <nickc@redhat.com>
10599
10600 * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
10601 (setup_incoming_varargs): Use sysv_varargs_p field of the
10602 cfun->machine structure.
10603 (struct machine_function): Move to rs6000.h
10604 (rs6000_save_machine_status): Delete.
10605 (rs6000_restore_machine_status): Delete.
10606 (rs6000_init_machine_status): New Function.
10607 (rs6000_free_machine_status): New Function.
10608 (rs6000_init_expanders): Use new functions.
10609
10610 * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
10611 export.
10612 (struct machine_function): Move here.
10613
10614 * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
10615 sysv_varargs_p field of the cfun->machine structure.
10616
10617 * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
10618 Remove prototype.
10619 (rs6000_restore_machine_status): Remove prototype.
10620
4ba478b8
RH
106212001-01-09 Richard Henderson <rth@redhat.com>
10622
10623 * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
10624 reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
10625 * sched-deps.c (sched_analyze_1): Update uses of struct deps.
10626 (sched_analyze_2, sched_analyze_insn): Likewise.
10627 (sched_analyze, init_deps): Likewise.
10628 (free_deps): Likewise. Iterate with EXECUTE_IF_SET_IN_REG_SET.
10629 * sched-rgn.c (propagate_deps): Likewise. Remove max_reg argument.
10630 (compute_block_backward_dependences): Update propagate_deps call.
10631
9c1fcbfb
ME
106322001-01-09 Mark Elbrecht <snowball3@bigfoot.com>
10633
10634 * gcc.c (process_command): Set switches[n_switches].ordering to 0.
10635
e582248c
NB
106362001-01-09 Neil Booth <neil@daikokuya.demon.co.uk>
10637
825b6926
ZW
10638 * cppinit.c (OPT_MD, OPT_MMD): Restore.
10639 (cpp_handle_option): Handle them.
10640 (cpp_post_options): Ensure one of -M or -MM is specified with
10641 any other -M? option.
10642 (init_dependency_output): Suppress output with -MG.
e582248c
NB
10643
106442001-01-09 Neil Booth <neil@daikokuya.demon.co.uk>
10645
825b6926
ZW
10646 * cpp.texi: Update.
10647 * invoke.texi: Update.
e582248c 10648
7894cb27
BS
106492001-01-09 Bernd Schmidt <bernds@redhat.com>
10650
10651 * sh.md (reload_outsf): Generate recognizable patterns for
10652 TARGET_SH3E.
10653
9f56ed15
NB
106542001-01-09 Neil Booth <neil@daikokuya.demon.co.uk>
10655
10656 * c-lang.c (lang_hooks): Update.
825b6926
ZW
10657 (lang_init): Rename c_init.
10658 (lang_finish): Remove.
10659 * toplev.c (compile_file): Use lang_hooks for lang_init ()
10660 and lang_finish ().
10661 * toplev.h (lang_hooks): Add init () and finish ().
10662 * tree.h (lang_init, lang_finish): Remove.
10663 * cp/tree.h (lang_init, lang_finish): Remove.
10664 * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
10665 * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
10666 lang_hooks): New.
10667 (lang_init, lang_finish): Remove.
10668 * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
10669 (lang_hooks): Update.
10670 * java/lang.c (lang_init): Rename java_init.
10671 (lang_finish): Remove.
10672 (lang_hooks): Update.
10673 * objc/objc-act.c (lang_init): Rename objc_init.
10674 (lang_finish): Remove.
10675 (lang_hoooks): Update.
9f56ed15 10676
fb83deef
GS
1067720001-01-09 Graham Stott <grahams@redhat.com>
10678
10679 * cppfiles.c (_cpp_execute_include): Move `len` initialisation
10680 after `ptr` is initialised.
10681
ec4ad0f9
AO
106822001-01-09 Alexandre Oliva <aoliva@redhat.com>
10683
10684 * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
10685 (INITIALIZE_TRAMPOLINE): Adjust accordingly.
10686 * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
10687 stack adjusts, instead of r3.
10688
eab02feb
MH
106892001-01-09 Michael Hayes <mhayes@redhat.com>
10690
10691 * flow.c (flow_loop_scan): Break out of ...
10692 (flow_loops_find) ... here.
10693 * basic-block.h (flow_loop_scan): New.
10694 (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
10695 (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
10696
bad48d7e
AO
106972001-01-09 Alexandre Oliva <aoliva@redhat.com>
10698
4b49c365
AO
10699 * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
10700 macro_buffer_len.
10701 * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
10702 realloc()ing macro_buffer.
10703
bad48d7e
AO
10704 * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
10705 if it's wider than long and the target's long is wider than the
10706 host's.
10707
34fa3e7d
MM
107082001-01-09 Mark Mitchell <mark@codesourcery.com>
10709
10710 Remove support for using UWIN as a host machine.
10711 * configure.in: Issue an error message.
10712 * configure: Regenerated.
10713 * config.gcc: Remove xm_* UWIN configury.
10714 * config/i386/xm-uwin.h: Remove.
10715
61db4608
NC
107162001-01-08 Nick Clifton <nickc@redhat.com>
10717
10718 * config/v850/v850.c (ra_rtx): Delete.
825b6926 10719 (v850_save_machine_status): Delete.
61db4608
NC
10720 (v850_restore_machine_status): Delete.
10721 (v850_init_machine_status): New function.
10722 (v850_mark_machine_status): New function.
10723 (v850_free_machine_status): New function.
10724 (v850_return_addr): Use ra_rtx field in machine structure.
10725 (v850_init_expanders): Use new functions.
10726
10727 * config/v850/v850-protos.h: Fix prototypes for v850_output_*
10728 * config/v850/v850.c: Change arguments to v850_output+* functions
10729 to take a const char *, to avoid compile time warning.
10730 * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
10731 (USER_LABEL_PREFIX): Redefine.
825b6926 10732
9c8fad33
JW
107332000-01-08 Jim Wilson <wilson@redhat.com>
10734
10735 * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
10736 1 to unsigned HOST_WIDE_INT before left shift.
10737
f7a80099
NC
107382001-01-08 Nick Clifton <nickc@redhat.com>
10739
10740 * config/arm/arm.c (arm_mark_machine_status): Check to see if
10741 the machine structure has been allocated.
10742 (arm_free_machine_status): New function: Free the machine
10743 specific function structure.
10744
3c74f8f9
RH
107452001-01-08 Richard Henderson <rth@redhat.com>
10746
10747 * jump.c (simplejump_p): Revert last change.
10748
674c3b40
NB
107492001-01-08 Neil Booth <neil@daikokuya.demon.co.uk>
10750
825b6926
ZW
10751 * cppinit.c (init): Rename init_library.
10752 (cpp_create_reader): Update.
10753 * gcc.c (cpp_options): If -o given, use it as the target of
10754 any -M options.
674c3b40 10755
b15bca31
RE
107562001-01-08 Richard Earnshaw <rearnsha@arm.com>
10757
10758 * arm.c (arm_arch5e): New variable.
10759 (all_cores): XScale is a 5TE device.
10760 (arm_override_options): Set arm_arch5e.
10761 (arm_init_builtins): __builtin_prefetch is in arch5e.
10762 * arm.h (arm_arch5e): Declare it.
10763
10764 * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
10765
10766 * arm.md (define_constants): Add defines for UNSPEC and
10767 UNSPEC_VOLATILE insns. Update all users.
10768 (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
10769 * arm.c (multi_register_push, note_invalid_constants)
10770 (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
10771 * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
10772 (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
825b6926 10773
261efdef
JH
10774Mon Jan 8 16:14:56 MET 2001 Jan Hubicka <jh@suse.cz>
10775
10776 * jump.c (jump_optimize_1): Use reversed_comparison_code
10777 instead of can_reverse_comparison_p.
10778 (jump_back_p): Likewise.
10779 (invert_exp_1): Likewise.
10780 (thread_jumps): Likewise.
10781 * simplify-rtx.c (simplify_unary_operation): Likewise.
10782 (simplify_ternary_operation): Likewise.
10783 * cse.c (find_comparison_args): Convert to use
10784 can_reverse_comparison_p.
10785 (record_jump_equiv): Likewise.
10786
c7861455
RE
107872001-01-08 Richard Earnshaw <rearnsha@arm.com>
10788
10789 * arm.h (HARD_REGNO_RENAME_OK): Delete.
10790 (EPILOGUE_USES): Define.
825b6926 10791 (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
c7861455
RE
10792 automatically stack the LR if it isn't live.
10793
734dba19
JH
10794Mon Jan 8 13:46:02 MET 2001 Jan Hubicka <jh@suse.cz>
10795
10796 * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
10797 properly.
10798
b1095f9c
MM
10799Sun Jan 7 18:37:43 2001 Mark P Mitchell <mark@codesourcery.com>
10800
10801 * ggc-page.c (max_alignment): New structure.
10802 (MAX_ALIGNMENT): New macro.
10803 (init_ggc): Use it to round up the sizes in the
10804 extra_order_size_table.
10805
a701949a
FS
108062001-01-07 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10807
10808 * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
10809 after reload.
10810
18f988a0
KG
108112001-01-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10812
10813 * builtins.def (BUILT_IN_FPRINTF): New entry.
10814
10815 * c-common.c (c_expand_builtin_fprintf): New function.
10816 (init_function_format_info): Handle __builtin_fprintf.
10817 (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
10818 (c_expand_builtin): Handle BUILT_IN_FPRINTF.
10819
10820 * c-decl.c (duplicate_decls): Adjust comment.
10821
10822 * extend.texi (fprintf): Document new builtin.
10823
8cd0792f
RH
108242001-01-07 Richard Henderson <rth@redhat.com>
10825
10826 * jump.c (simplejump_p): Recognize any single_set jump
10827 of the proper form.
10828
5b15f277
RH
108292001-01-07 Richard Henderson <rth@redhat.com>
10830
10831 * configure.in (slibdir): Accept an --with-slibdir option.
10832 Use "test" not "[" in configure. Default to $(libdir).
10833
9c2e06d9
RH
10834 * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
10835 fix typo in rm -f.
10836 * config/t-aix43 (SHLIB_INSTALL): Likewise.
10837 * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
10838 (SHLIB_LINK): Create links for the soname.
10839 * config/mips/t-iris6: Likewise.
10840 * config/sparc/t-slibgcc: Likewise.
10841 * config/sparc/t-slibgcc-sld: Likewise.
10842
eaf19aba
JJ
108432001-01-07 Jakub Jelinek <jakub@redhat.com>
10844
10845 * config/i386/i386.c (constant_call_address_operand): Accept
10846 (const (plus (symbol_ref) (const_int))).
10847 * config/i386/i386.h (PREDICATE_CODES): Add CONST for
10848 constant_call_address_operand.
10849
a8b462be
MH
108502001-01-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10851
10852 * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
10853 and LONG_LONG_TYPE_SIZE > 32.
10854
3799607a
GP
108552001-01-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10856
10857 * jump.c (reversed_comparison_code_parts): Fix typo introduced by
10858 the previous change.
10859
ab94bc48
JH
10860Sun Jan 7 19:37:48 MET 2001 Jan Hubicka <jh@suse.cz>
10861
10862 * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
10863 New.
10864 (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
10865 (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
10866 * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
10867 Declare.
10868
f6a13bff
NB
108692001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
10870
825b6926 10871 * fix-header.c (read_scan_file): s/pfile/scan_in/.
f6a13bff 10872
96302433
NB
108732001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
10874
825b6926 10875 * c-lang.c (c_post_options): Call cpp_post_options.
96302433
NB
10876 * objc/objc-act.c (objc_post_options): Similarly.
10877 * cppmain.c (main): Similarly.
825b6926
ZW
10878 * fix-header.c (read_scan_file): Similarly.
10879 * cppinit.c (cpp_start_read): Move option consistency checks
10880 to cpp_post_options. Don't call init_dependency_output.
10881 If needed, add default target and main file dependency.
10882 (OPT_MD, OPT_MMD): Remove.
10883 (OPT_MF): New.
10884 (cpp_handle_option): Update for OPT_* changes.
10885 (cpp_post_options): New.
10886 (init_dependency_output): Command line -MF overrides environment
10887 variables. Don't set default target etc. Suppress output
10888 if dependencies are going to stdout.
10889 (print_help): Update.
10890 * cpplib.h (cpp_post_options): New.
10891 * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
10892
b34878a3
JH
10893Sun Jan 7 14:44:19 MET 2001 Jan Hubicka <jh@suse.cz>
10894
10895 * jump.c (comparison_dominates_p): Support unordered compares.
10896
1f36a2dd
JH
10897Sun Jan 7 14:39:07 MET 2001 Jan Hubicka <jh@suse.cz>
10898
10899 * simplify-rtx.c (simplify_relational_operation): Always simplify
10900 ORDERED and UNORDERED when FLAG_FAST_MATH. Handle properly UNLE
10901 and UNGE.
10902
69bc0a1f
JH
10903Sun Jan 7 14:35:13 MET 2001 Jan Hubicka <jh@suse.cz>
10904
10905 * combine.c (combine_simplify_rtx): Recognize the unordered compares.
10906 (nonzero_bits): Likewise.
10907 (simplify_comparison): Likewise.
10908 (num_sign_bit_copies): Likewise; return more sane value depending
10909 on STORE_FLAG_VALUE.
10910 (known_cond): Do not assume EQ to be always true for equivalent
10911 operands.
10912
fd13313f
JH
10913Sun Jan 7 14:31:57 MET 2001 Jan Hubicka <jh@suse.cz>
10914
10915 * cse.c (fold_rtx): Handle unordered comparisons.
10916
91b2d119
JH
10917Sun Jan 7 13:49:19 MET 2001 Jan Hubicka <jh@suse.cz>
10918
10919 * rtlanal.c (set_of_1): New static function.
10920 (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
10921 reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
10922 reg_set_last_last_regno): Remove.
10923 (set_of): New global function.
10924 (set_of_data): New structure.
10925 (reg_set_p, reg_set_last): Revamp for set_of.
10926 * rtl.h (set_of): New.
10927
796cdb65
JM
109282001-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
10929
10930 * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
10931 * extend.texi: Document _Exit builtin.
10932
7ca3d2b1
NB
109332001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
10934
825b6926
ZW
10935 * (initialize, initialize_builtins,
10936 initialize_dependency_output, initialize_standard_includes):
10937 Rename s/initialize/init. Update.
10938 (init_dependency_output): Move to after
10939 cpp_handle_options, the correct location temporally at least.
10940 (opt_comp): Move next to init (), its caller. Fix prototype.
10941 (init): Make "initialized" local scope.
10942 (cpp_create_reader): Always call init ().
10943 (cpp_start_read): Update.
10944 (output_deps): New function, broken out of cpp_finish.
10945 (cpp_finish): Break out output_deps.
7ca3d2b1 10946
34445094
RH
109472001-01-07 Richard Henderson <rth@redhat.com>
10948
10949 * collect2.c (COFF specific stuff): Revert 12-06 patch
10950 to prototype system functions.
10951
96a45535
MH
109522001-01-07 Michael Hayes <mhayes@redhat.com>
10953
10954 * hard-reg-set.h: Add multiple include guard.
10955 * basic-block.h (struct loop): Add `sink' field.
10956 * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
10957 (emit_iv_add_mult): Delete.
10958 (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
10959 (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
10960 (unroll_loop): Remove end_insert_before argument.
10961 * loop.c (loop_givs_rescan): Remove end_insert_before argument.
10962 (maybe_eliminate_biv_1): Likewise.
10963 (emit_iv_add_mult): Delete.
10964 (gen_add_mult, loop_regs_update): New.
10965 (loop_insn_emit_after, loop_insn_emit_before): New.
10966 (loop_insn_sink, loop_insn_sink_or_swim): New.
10967 (emit_iv_add_mult): Delete.
10968 (scan_loop): Set loop->sink.
10969 (loop_givs_reduce): Use loop_insn_sink and its ilk.
10970 (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
10971 (maybe_eliminate_biv_1): Likewise.
10972 (maybe_eliminate_biv_1): Add basic block argument.
10973 * unroll.c (unroll_loop): Remove end_insert_before argument.
10974 (find_splittable_regs): Likewise.
10975 (find_splittable_regs): Use loop_insn_sink and its ilk.
10976 (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
10977
804a718a
MH
109782001-01-07 Michael Hayes <mhayes@redhat.com>
10979
10980 * loop.h (loop_insn_hoist): New prototype.
10981 * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
10982 (move_movables, loop_givs_rescan): Use loop_insn_hoist.
10983 (check_dbra_loop, load_mems): Likewise.
10984 * unroll.c (unroll_loop, find_splittable_regs): Likewise.
10985 (find_splittable_givs): Likewise.
10986
30a1181a
MH
109872001-01-07 Michael Hayes <mhayes@redhat.com>
10988
10989 * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
10990
cabf3891
RH
109912001-01-07 Richard Henderson <rth@redhat.com>
10992
10993 * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
10994
9db0819e
RH
109952001-01-07 Richard Henderson <rth@redhat.com>
10996
10997 * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
10998 NO_SHARED_LIBGCC_MULTILIB as required for the target.
10999 * gcc.c (init_spec): Massage the existing libgcc_spec into a
11000 variant that handles a shared libgcc.
11001 (process_command): Always validate -{static,shared}-libgcc.
11002 (do_spec_1): New 'M' case.
11003 * invoke.text (Link Options): Document -{static,shared}-libgcc.
11004
2bbea3a6
RH
110052001-01-07 Richard Henderson <rth@redhat.com>
11006
11007 * Makefile.in (slibdir): New variable.
11008 (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
11009 (installdirs): Create slibdir.
11010 (install-libgcc, install-multilib): Defer to libgcc.mk.
11011 * configure.in (slibdir): Substitute.
11012 * mklibgcc.in (install): New target.
11013
11014 * config/t-linux (SHLIB_LINK): Create links for the soname.
11015 (SHLIB_INSTALL): New.
11016 * config/alpha/t-osf4 (SHLIB_INSTALL): New.
11017 * config/mips/t-iris6 (SHLIB_INSTALL): New.
11018 * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
11019 * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
11020 * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
11021
fc51424c
RH
110222001-01-07 Richard Henderson <rth@redhat.com>
11023
11024 * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
11025 * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
11026 * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
11027
1d7ae250
MH
110282001-01-07 Michael Hayes <mhayes@redhat.com>
11029
11030 * loop.c (count_loop_regs_set): Delete.
11031 (load_mems_and_recount_loop_regs_set): Delete.
11032 (loop_regs_scan): Merge common code from count_loop_regs_set,
11033 scan_loop, and load_mems_and_recount_loop_regs_set.
11034 (scan_loop): Call load_mems directly and loop_regs_scan
11035 again if new registers created.
11036
cd2a3ba2
NB
110372001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
11038
825b6926
ZW
11039 * toplev.c (main): Call the front-end specific post_options
11040 hook if one is given.
11041 * toplev.h (struct_lang_hooks, lang_hooks): New.
11042 * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
11043 for the C front end.
11044 * cp/decl2.c (cxx_post_options, lang_hooks): Implement
11045 lang_hooks for the C++ front end.
11046 * objc/objc-act.c (objc_post_options, lang_hooks): Implement
11047 lang_hooks for the ObjC front end.
11048 * f/com.c (lang_hooks): Hooks for the Fortran front end.
11049 * java/lang.c (lang_hooks): Hooks for the Java front end.
cd2a3ba2 11050
65289a3a
NB
110512001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
11052
825b6926
ZW
11053 * c-lex.c (init_c_lex): Request #define / #undef callbacks
11054 for verbose DWARF[2] debugging.
11055 (cb_define, cb_undef): The new callbacks.
11056 * toplev.h (debug_define, debug_undef): Make const correct.
11057 * toplev.c (debug_define, debug_undef): Similarly. Do not
11058 perform the verbosity tests here anymore.
65289a3a 11059
f759eb8b
AO
110602001-01-07 Alexandre Oliva <aoliva@redhat.com>
11061
11062 * reload.c (subst_reloads): Take INSN argument. When
11063 replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
11064 * reload.h (subst_reloads): Adjust prototype.
11065 * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
11066 * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
11067 present in JUMP_INSNs and copy them to JUMP_LABEL.
11068 * flow.c (find_label_refs, find_basic_blocks_1): Skip
11069 JUMP_INSNs and insns with REG_LABELs that are followed by
11070 JUMP_INSNs with the same REG_LABEL.
11071 * sched-rgn.c (is_cfg_nonregular): Likewise.
11072 * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
11073 note is available.
11074 * unroll.c (unroll_loop): Look for REG_LABEL notes in
11075 JUMP_INSNs too.
11076 * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
11077
587f56c2
RH
110782001-01-06 Richard Henderson <rth@redhat.com>
11079
11080 * loop.c (scan_loop): Use xcalloc for the regs array.
11081 (load_mems_and_recount_loop_regs_set): Zero the new memory
11082 received from xrealloc.
11083
fa6f74f6
NB
110842001-01-06 Neil Booth <neil@daikokuya.demon.co.uk>
11085
11086 * mkdeps.c (deps_add_dep): Fix vector re-allocation.
11087
ea55fa7a
R
11088Sat Jan 6 00:09:34 2001 J"orn Rennecke <amylaar@redhat.com>
11089
11090 * integrate.c (copy_rtx_and_substitute): When copying
11091 an ignored return value, strip REG_FUNCTION_VALUE_P.
11092
c804f3f8
MH
110932001-01-06 Michael Hayes <mhayes@redhat.com>
11094
11095 * loop.c (debug_biv, debug_giv): New.
11096 (loop_biv_dump): Break out from ...
11097 (record_biv): ... here.
11098 (loop_giv_dump): Break out from ...
11099 (record_giv): ... here.
11100 (loop_bivs_check): Use print_simple_rtl.
11101 * unroll.c (loop_iterations): Use print_simple_rtl.
11102
d492b096
JDA
111032000-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
11104
11105 * pa.md (return, return_internal): Modify patterns to prevent regrename
11106 mucking with the return pointer.
11107
f7d2b0ed
RH
111082001-01-05 Richard Henderson <rth@redhat.com>
11109
11110 * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
11111
0426e049
NC
11112Fri Jan 5 16:34:18 2001 Nick Clifton <nickc@redhat.com>
11113
11114 * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
11115 version supplied by Matteo Frigo.
11116
f7114e17
NB
111172001-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
11118
825b6926
ZW
11119 * cpp.texi: Update for -MQ.
11120 * cppinit.c (cpp_create_reader): Always create pfile->deps.
11121 (cpp_cleanup): Always free pfile->deps.
11122 (initialize_dependency_output): Don't create pfile->deps.
11123 (cpp_handle_option): Similarly.
11124 (OPT_MQ): New.
11125 * gcc.c (cpp_options): Handle -MQ.
11126 (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
11127 * mkdeps.c (base_name): Remove.
11128 (deps_init): Don't allocate vector space until it's needed.
11129 (deps_free): Only free vectors if allocated.
11130 (deps_add_target, deps_add_dep): Update for initial allocation.
11131 (deps_add_default_target): Don't strip to the base_name.
f7114e17 11132
a64761a3
DD
111332001-01-05 DJ Delorie <dj@redhat.com>
11134
11135 * config/v850/v850.h (RETURN_ADDR_RTX): Define.
11136 (INIT_EXPANDERS): Define.
11137
11138 * config/v850/v850.c (struct machine_function): Define.
11139 (v850_save_machine_status): New function.
11140 (v850_restore_machine_status): New function.
11141 (v850_return_addr): New function.
11142 (v850_init_expanders): New function.
11143
11144 * config/v850/v850-protos.h: Add prototypes for v850_return_addr
11145 and v850_init_expanders.
825b6926 11146
f4cdc368
ZW
111472001-01-05 Zack Weinberg <zack@wolery.stanford.edu>
11148
11149 * cpplib.h (struct cpp_reader): Add help_only field.
11150 * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
11151 (cpp_handle_option): Set pfile->help_only if we see -h,
11152 --help, -target-help, or --version. Print version string but
11153 do not set help_only if we see -v or -version. Make text
11154 printed by -v match that printed by (-)-version.
11155
11156 * cppmain.c (main): Exit after option parsing if
11157 pfile->help_only is true.
11158
11159 * toplev.c (independent_decode_option): Call print_version,
11160 then exit, if we see --version (but not -version).
11161 (print_version): Split lengthy message into two lines.
11162
3326b760
NC
111632001-01-05 Nick Clifton <nickc@redhat.com>
11164
11165 * config/v850/v850.c (v850_encode_data_area): Use alloca to create
11166 temporary string for initialisation before calling ggc_alloc_string.
11167
75b7557d
MH
111682001-01-06 Michael Hayes <mhayes@redhat.com>
11169
11170 * rtl.h (print_simple_rtl): New.
11171 * print-rtl.c (print_simple_rtl): New.
11172 (flag_simple): New.
11173 (print_rtx): Disable printing of flags and modes, etc.,
825b6926 11174 if `flag_simple` nonzero.
75b7557d 11175
b05467dc
ZW
111762001-01-05 Zack Weinberg <zack@wolery.stanford.edu>
11177
11178 * function.c (fixup_var_refs): Use push_to_full_sequence where
11179 possible.
11180
b883f801
MM
111812001-01-05 Michael Meissner <meissner@redhat.com>
11182
11183 * flags.h (flag_reorder_blocks): Add declaration.
11184 (flag_rename_block): Ditto.
11185
cc1fe44f
DD
111862001-01-05 DJ Delorie <dj@redhat.com>
11187
11188 * function.c (reorder_blocks): Make sure the flags are all reset
11189 before using them to mark blocks, else a second invocation will
11190 corrupt the block chain.
11191 (reorder_blocks_0): New, resets the flags.
11192
8b03b984
R
11193Fri Jan 5 20:34:06 2001 J"orn Rennecke <amylaar@redhat.com>
11194
11195 * cse.c (find_comparison_args): Stop if the argument is known to
11196 be constant.
11197
18a7c2a7
AO
111982001-01-05 Alexandre Oliva <aoliva@redhat.com>
11199
11200 * config/sh/sh.md (movdf): When splitting load into pair of
11201 registers, don't clobber the register used in the address too
11202 early.
11203
fcbd8ef2
JO
112042001-01-05 Jeffrey Oldham <oldham@codesourcery.com>
11205
11206 * varasm.c (mark_constant_pool): Improve initial comments.
11207 (mark_constants): Move marking of constants to mark_constant.
11208 (mark_constant): New function to recursively mark all constants
11209 referred to by a constant.
11210
ebb0cdf3
CM
112112001-01-05 Catherine Moore <clm@redhat.com>
11212
11213 * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
11214
3b4e6a16
PE
112152001-01-05 Phil Edwards <pme@sources.redhat.com>
11216
11217 * cp/lang-options.h: Bring comment in line with reality.
11218 * f/lang-options.h: Likewise.
11219 * java/lang-options.h: Likewise.
11220 * objc/lang-options.h: Likewise.
11221 * ch/lang-options.h: Likewise.
11222 * f/g77.texi: And update the manual.
11223
dcfb1a36
MM
112242001-01-05 Marek Michalkiewicz <marekm@linux.org.pl>
11225 Denis Chertykov <denisc@overta.ru>
11226
11227 * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
11228 * config/avr/avr.c (avr_peep2_scratch_safe): New function.
11229 * config/avr/avr.md (all peepholes that request a scratch register):
11230 Call it, FAIL the peephole if not safe (in interrupt functions).
11231
cef3d50c
MM
112322001-01-05 Mark Mitchell <mark@codesourcery.com>
11233
11234 * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
11235
341e3d11
JM
112362001-01-05 Joseph S. Myers <jsm28@cam.ac.uk>
11237
11238 * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
11239 Define.
11240 * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
11241 BUILT_IN_CREAL and BUILT_IN_CIMAG.
11242 * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
11243 conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
11244 (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
11245 BUILT_IN_CIMAG.
11246 * extend.texi: Document these builtins.
11247
604bb87d
DB
112482001-01-05 Daniel Berlin <dberlin@redhat.com>
11249
11250 * c-common.c (lang_get_alias_set): Say we know nothing of
825b6926 11251 VECTOR_TYPE aliasing.
604bb87d
DB
11252
11253 * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
11254
15fe1a7e
BK
112552001-01-05 Bruce Korb <bkorb@gnu.org>
11256
11257 * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
11258 their x* equivalent versions for atexit-less systems
11259 * fixinc/fixincl.c(main): do not return from main() on atexit-less
11260 systems (or any other system any more).
11261
b0888988
RE
112622001-01-05 Richard Earnshaw <rearnsha@arm.com>
11263
11264 * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
11265 output operands. Use arm_hard_register_operand for operand 4.
11266 (stmsi_postinc): Similarly.
11267 (ldmsi): Use arm_hard_register_operand for opernand 2.
11268 (stmsi): Similarly.
11269 * arm.c (arm_hard_register_operand): New function.
11270 * arm-protos.h (arm_hard_register_operand): Prototype it.
11271
11272 * arm.h (HARD_REGNO_RENAME_OK): Define.
11273
90a74703
JH
11274Fri Jan 5 16:29:49 MET 2001 Jan Hubicka <jh@suse.cz>
11275
11276 * simplify-rtx.c (cfc_args): add "unordered" field.
11277 (check_fold_consts): Set unordered field.
11278 (simplify_relational_operation): Simplify the unordered
11279 comparisons.
11280
11281 * reg-stack.c (swap_rtx_condition): Ensure that the transformation
11282 is valid.
11283
11284 * emit-rtl.c (try_split): Fix code to mark labels.
11285 * jump.c (mark_jump_label): Make global.
11286 * rtl.h (mark_jump_label): Declare.
11287
11288 * predict.c (estimate_probability): Handle unordred comparisons.
11289
a5a4ce3c
NB
112902001-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
11291
825b6926
ZW
11292 * cpp.texi: Update for -MP. Clarify behaviour of -MT.
11293 * cppinit.c (initialize_dependency_output): Update.
11294 (cpp_finish): Output dummy targets for -MP.
11295 (OPT_MP): New.
11296 (cpp_handle_option): Handle -MP. Don't quote -MT options.
11297 * cpplib.h (struct cpp_options): Add deps_phony_targets.
11298 * gcc.c (cpp_options): Update to handle -MP.
11299 * mkdeps.c (deps_add_target, deps_add_default_target): Update
11300 to quote only the default target.
11301 (deps_phony_targets): Insert a preceding newline. Rename from
11302 deps_dummy_targets for consistency.
11303 * mkdeps.h: Update
a5a4ce3c 11304
97fc4caf
AO
113052001-01-05 Alexandre Oliva <aoliva@redhat.com>
11306
11307 * calls.c (emit_library_call_value_1): Support
11308 INIT_CUMULATIVE_LIBCALL_ARGS.
11309 * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
11310
ffc5c6a9
RH
113112001-01-04 Richard Henderson <rth@redhat.com>
11312
11313 * c-decl.c (finish_struct): Detect flexible array members
11314 used in an inappropriate context.
11315 * c-typeck.c (really_start_incremental_init): Special case
11316 constructor_max_index for zero length arrays.
11317 (pop_init_level): Allow initialization of flexible array
11318 members. Deprecate initialization of zero length arrays.
11319 Don't issue missing initializer warning for flexible array
11320 members or zero length arrays.
11321 (process_init_element): Don't dereference null DECL_SIZE.
11322 * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
11323 Don't abort for empty constructors. Use size_binop
825b6926 11324 (output_constructor): Add commentary regarding zero length
ffc5c6a9
RH
11325 array futures. Abort if we try to initialize an array of
11326 unspecified length with a non-empty constructor in the middle
11327 of a structure.
11328
11329 * extend.texi (Zero Length): Update and clarify documentation
11330 on static initialization.
11331
69f6e760
MH
113322001-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
11333
11334 * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
11335 with more than 32767 words of local storage.
11336
06dd70c6
MH
113372001-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
11338
11339 * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
11340 for 'abs', 'labs', and 'fabs'.
11341 (c4x_expand_builtin): Likewise.
11342 * config/c4x/c4x.h (enum c4x_builtins): Likewise.
11343
99e87c10
AO
113442001-01-05 Alexandre Oliva <aoliva@redhat.com>
11345
11346 * config/sh/sh.md (prget, prset): New insn types.
11347 (return delay slot): Dont' allow prset.
11348 (call, sfunc delay slot): Don't allow prget.
11349 (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
11350 for prset and prget.
11351
576d0b54 113522001-01-05 Michael Hayes <mhayes@redhat.com>
825b6926 11353
f1d4ac80
MH
11354 * loop.h (struct loop_reg): New.
11355 (struct loop_regs): Change to use array of `struct loop_reg'.
11356 * loop.c: Replace assortment of varrays with single regs array.
11357 (count_one_set): Delete may_not_move array argument
11358 and use regs array instead. All caller's changed.
11359 (count_loop_regs_set): Delete may_not_move and single_usage
11360 arguments and use regs array instead. All caller's changed.
11361 (find_single_use_in_loop): Replace usage array argument with pointer
11362 to regs structure. All caller's changed.
11363 (loop_optimize): Delete `moved_once' array.
11364
113652001-01-05 Michael Hayes <mhayes@redhat.com>
825b6926 11366
576d0b54
MH
11367 * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
11368 Use it instead of loop_info->has_call for scanning loop mems.
11369 (check_dbra_loop): Replace loop_info->has_call test with
11370 loop_info->has_nonconst_call.
11371
616af7ee
MH
113722000-01-04 Matthew Hiller <hiller@redhat.com>
11373
11374 * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
11375 for TARGET_SH3E.
11376
32812a40
JM
113772001-01-04 Joseph S. Myers <jsm28@cam.ac.uk>
11378
11379 * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
11380 use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
11381
eaa7c03f
JM
113822001-01-04 Joseph S. Myers <jsm28@cam.ac.uk>
11383
11384 * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
11385 (flag_short_double, flag_short_wchar): Define.
11386 (c_common_nodes_and_builtins): Create many tree nodes shared
11387 between C and C++ here instead of in cp/decl.c and ...
11388 * c-decl.c (init_decl_processing): ... here.
11389 (SIZE_TYPE, WCHAR_TYPE): Don't define.
11390 (flag_short_double, flag_short_wchar): Don't define.
11391 (record_builtin_type): New function.
11392 (build_void_list_node): New function.
11393 * c-common.h (flag_short_double, flag_short_wchar,
11394 record_builtin_type, build_void_list_node): Declare.
11395
e2a5f96b
R
11396Thu Jan 4 21:09:47 2001 J"orn Rennecke <amylaar@redhat.com>
11397
11398 * integrate.c (expand_inline_function): Don't put a virtual
11399 register into the reg map.
11400
11401 * function.c (fixup_var_refs_1): If force_operand didn't put
11402 the address into the target, move it there.
11403
2be510b8
MM
114042001-01-04 Mark Mitchell <mark@codesourcery.com>
11405
11406 Special-case tree_decl/tree_list allocations.
11407 * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
11408 (OBJECT_SIZE): New macro.
11409 (NUM_EXTRA_ORDER): Likewise.
11410 (extra_order_size_table): New variable.
11411 (NUM_ORDERS): New macro.
11412 (objects_per_page_table): New variable.
11413 (object_size_table): New variable.
11414 (G.pages): Use NUM_ORDERS to bound the array.
11415 (G.page_tails): Likewise.
11416 (DIV_ROUND_UP): Remove.
11417 (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
11418 (alloc_page): Use OBJECT_SIZE.
11419 (size_lookup): Don't make it const.
11420 (ggc_alloc): Use OBJECT_SIZE.
11421 (ggc_set_mark): Likewise.
11422 (ggc_get_size): Likewise.
11423 (init_ggc): Set up the object_size_table, objects_per_page_table,
11424 and adjust size_lookup.
11425 (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
11426 (ggc_pop_context): Use NUM_ORDERS.
11427 (clear_marks): Likewise.
11428 (sweep_pages): Likewise.
11429 (poison_pages): Likewise.
11430 (ggc_print_statistics): Use OBJECT_SIZE.
11431
bf1aaf0a
RK
11432Thu Jan 4 15:54:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11433
11434 * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
11435 Only call array_size_for_constructor if last field and array type
11436 with no upper bound.
11437
ceebdb09
PB
114382001-01-04 Philip Blundell <philb@gnu.org>
11439
11440 * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
11441 from bit 31 downwards, if this requires no more insns.
11442 (count_insns_for_constant): New helper function for above.
11443
1fd4f141
AO
114442001-01-04 Alexandre Oliva <aoliva@redhat.com>
11445
11446 * gencodes.c (output_predicate_decls): Remove empty initializer.
11447
3af4c257
MM
114482001-01-04 Mark Mitchell <mark@codesourcery.com>
11449
11450 * tree.c (copy_node): Remove documentation about obstacks.
11451 (buidl1): Check that nobody tries to build 2-argument nodes this
11452 way.
11453
30472f46
KG
114542001-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11455
a41d0855
KG
11456 * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
11457 fp_high_losum_p.
11458
30472f46
KG
11459 * gencodes.c (output_predicate_decls): Fill empty initializer
11460 braces.
11461
c3843cea
JJ
114622001-01-04 Jakub Jelinek <jakub@redhat.com>
11463
11464 * tradcpp.c (deps_file, print_deps_missing_files): New variables.
11465 (main): Handle -MG, -MD, -MMD. Bail out if -MG is given without -M
11466 or -MM.
11467 (do_include): Handle missing headers like cpp0.
11468 * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
11469 paths with first include pathname. Don't strcat to uninitialized
11470 string.
11471
f4d578da
BS
114722001-01-04 Bernd Schmidt <bernds@redhat.com>
11473
11474 * regrename.c (regrename_optimize): Don't rename from frame pointer
11475 if frame_pointer_needed.
11476 (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
11477 * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
11478 (ia64_reorg): Use it instead of scheduling if ! optimize.
11479 (errata_emit_nops): Properly call asm_noperands.
11480 (ia64_sched_reorder): Finish cycle if we see an asm.
11481 (ia64_variable_issue): Clear scheduling state after asms.
11482
03b9ab42
NB
114832001-01-04 Neil Booth <neil@daikokuya.demon.co.uk>
11484
825b6926
ZW
11485 * cpp.texi: Update for -MT.
11486 * cppinit.c (initialize_dependency_output): Add a default
11487 target if none has been given already.
11488 (no_tgt, OPT_MT): New.
11489 (cpp_handle_option): Handle -MT. Update -M etc.
11490 * cpplib.h (struct cpp_options): Remove deps_target.
11491 * gcc.c (cpp_options): Handle -MT.
11492 * mkdeps.c (struct deps): Move from mkdeps.h.
11493 (deps_calc_target): Rename deps_add_default_target. Add a
11494 default target if none has been specified already.
11495 * mkdeps.h (struct deps): Move to mkdeps.c.
11496 (deps_calc_target): Rename deps_add_default_target.
03b9ab42 11497
584ef5fe
RH
114982000-01-03 Richard Henderson <rth@redhat.com>
11499
11500 * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
11501 Remove dead code.
11502 * c-typeck.c (push_init_level): Move checks for flexible array
11503 members and zero length arrays ...
11504 (pop_init_level): ... here. Silently discard empty initializations.
11505 Remove dead code.
11506 * varasm.c (output_constructor): Update for sizeof change to
11507 zero-length arrays.
11508
11509 * extend.texi (Zero Length): Clarify semantics.
11510
04d430b8
AO
115112001-01-03 Alexandre Oliva <aoliva@redhat.com>
11512
11513 * configure.in (tm.h): Include isns-codes.h last.
11514 * configure: Rebuilt.
11515
e55a9a6e
RH
115162001-01-03 Richard Henderson <rth@redhat.com>
11517
11518 * config/alpha/alpha.md (addvsi3, addvdi3): New.
11519 (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
825b6926 11520
fa5db828
FS
115212001-01-03 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11522
11523 * tradcpp.c (main): Make sure finclude() is called with a valid
11524 indepth value while handling -include.
11525
975d393a
AO
115262001-01-03 Alexandre Oliva <aoliva@redhat.com>
11527
11528 * gencodes.c (output_predicate_decls): New function.
11529 (main): Call it.
11530 * machmode.h (GET_MODE_MASK): Arrange for it to be defined
11531 even if it is not the first time machmode.h is #included.
11532 * config/sh/sh.c (fpul_operand): Declare MODE argument.
11533 * tm.texi (PREDICATE_CODES): Document predicate declarations.
11534 * gcc.texi (Copyright): Added 2001.
11535
03dc0325
JM
115362001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
11537
11538 * c-common.c (c_common_lang_init): New function. Warn if format
11539 warning options which only have effects when used with -Wformat
11540 are used without -Wformat.
11541 * c-common.h (c_common_lang_init): Declare.
11542 * c-lang.c (lang_init): Call c_common_lang_init.
11543 * objc/objc-act.c (lang_init): Call c_common_lang_init.
11544
955be633
JM
115452001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
11546
11547 * configure.in: Check for the mktemp command.
11548 * configure: Regenerate.
11549 * gccbug.in: Use a separate temporary file $TEMP0 for one use of
11550 $TEMP. Create temporary files with mktemp, if available at
11551 configure time; otherwise use set -C. Remove temporary files
11552 before exit.
11553
fd939e46
JM
115542001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
11555
11556 * configure.in: Require at least texinfo 4.0. Check for whether
11557 Pod::Man is sufficiently recent to regenerate GCC manpages.
11558 * configure: Regenerate.
11559 * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
11560 on #!.
11561 (GENERATED_MANPAGES): Define.
11562 (generated-manpages): New target. Depend on cpp.1 as well as
11563 gcov.1.
11564 (install-man): Depend on $(GENERATED_MANPAGES) (defined by
11565 configure to generated-manpages or empty) rather than on the
11566 manpages directly. Remove execute permission from installed
11567 gcov.1 as well as cpp.1.
11568 * cpp.1, gcov.1: Regenerate.
11569
819c1488
KG
115702001-01-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11571
11572 * builtins.c (expand_builtin_strncmp): Use host_integerp and
11573 tree_low_cst. Allow using cmpstrsi in more cases.
11574
f07d22aa
RK
11575Wed Jan 3 10:48:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11576
11577 * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
11578 sized types.
11579
7ccb4206
AO
11580Wed Jan 3 12:22:32 2001 Alexandre Oliva <aoliva@redhat.com>
11581
11582 * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
11583 * Makefile.in (HOST_CFLAGS): Mention build-make.
11584
a338321e
RK
11585Wed Jan 3 08:53:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11586
11587 * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
11588 as JUMP_INSN.
11589
432fd734
BS
115902001-01-01 Bernd Schmidt <bernds@redhat.com>
11591
11592 * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
11593 a REG rtx.
11594
2be28ee2
BS
11595 * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg. All
11596 callers changed.
11597
713f41f9
BS
11598 * alias.c (throughout): Use ORIGINAL_REGNO when accessing
11599 reg_base_value and reg_known_value arrays.
11600 (init_alias_analysis): Add more cases to detect known values.
11601 * sched-deps.c (deps_may_trap_p): New function.
11602 (sched_analyze_2): Use it.
11603
8f8d8d6e
AO
116042001-01-03 Alexandre Oliva <aoliva@redhat.com>
11605
11606 * combine.c (simplify_shift_const): Even if we're sign-extracting,
11607 don't discard an ASHIFTRT if we're shifting in a wider mode.
11608
232a132f
JDA
116092000-01-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
11610
11611 * toplev.c (rest_of_compilation): Don't print basic block information
11612 when CFG isn't up to date.
11613
19723541
ME
116142001-01-02 Mark Elbrecht <snowball3@bigfoot.com>
11615
11616 * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
11617 (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
11618 (UNALIGNED_SHORT_ASM_OP): Define.
11619 (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
11620
55560b9d
MM
116212001-01-02 Mark Mitchell <mark@codesourcery.com>
11622
11623 * fold-const.c (fold_convert): Fix typo.
11624
4f78b9a8
RH
116252001-01-02 Richard Henderson <rth@redhat.com>
11626
11627 * c-common.h (ASM_INPUT_P): New.
11628 * c-parse.in (asm): Set it when needed.
825b6926 11629 * c-semantics.c (genrtl_asm_stmt): Test it instead of the
4f78b9a8
RH
11630 existance of an operand.
11631
e2134eea
JH
11632Tue Jan 2 20:27:07 MET 2001 Jan Hubicka <jh@suse.cz>
11633
11634 * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
11635 (dwarf2out_frame_debug_expr): Likewise.
11636 (mem_loc_descriptor): Handle PRE and POST_MODIFY.
11637
2b589241
JH
11638Tue Jan 2 20:21:31 MET 2001 Jan Hubicka <jh@suse.cz>
11639
11640 * i386.c (ix86_split_to_parts): Return number of part required;
11641 handle TFmodes.
11642 (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
11643 TFmodes.
11644 (ix86_split_long_move): Use number of part returned
11645 by ix86_split_to_parts
11646 * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
11647 New macros.
11648 (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
11649 (LONG_DOUBLE_TYPE_SIZE): Change from constant.
11650 (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
11651 (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
11652 (ALIGN_MODE_128): Add TFmode.
11653 (IS_STACK_MODE): Likewise.
11654 (HARD_REGNO_NREGS): TFmode needs 3 registers.
11655 (HARD_REGNO_OK): Support TFmodes.
11656 (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
11657 * i386.md (scheduler definitions): Use memory operand to determine
11658 fst/fld instructions; use mode attribute to determine real mode of
11659 the instruction.
11660 (*tf): New patterns, expanders and splitters; based on XFmode patterns.
11661 * invoke.texi (128bit-long-double, 96bit-long-double): Document.
11662
330aa9a3
MM
116632001-01-02 Mark Mitchell <mark@codesourcery.com>
11664
11665 * tree.def (TRUTH_NOT_EXPR): Improve documentation.
11666
e0339ef7
RK
11667Tue Jan 2 10:47:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
11668
11669 * expr.c (store_constructor_field): Update ALIGN before calling
11670 store_constructor.
11671
d07bec95
JO
116722001-01-02 Jeffrey Oldham <oldham@codesourcery.com>
11673
11674 * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
11675 host_integerp.
11676
3719d27b
JO
116772001-01-02 Jeffrey Oldham <oldham@codesourcery.com>
11678
11679 * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
11680 incomplete type.
11681
6d1c15cc
RK
11682Tue Jan 2 10:47:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
11683
11684 * c-decl.c (start_function): Don't warn on third parameter to main.
11685
16b97540
KG
116862001-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11687
11688 * tsystem.h: Define HAVE_DECL_GETOPT.
11689
8515dc81
PB
116902001-01-02 Philip Blundell <pb@futuretv.com>
11691
825b6926 11692 * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
8515dc81
PB
11693 of input operand.
11694
6f85e02b
RH
116952001-01-02 Richard Henderson <rth@redhat.com>
11696
11697 * alpha.md (*ze_and_ne): Duplicate insn condition to split.
11698
21c7361e
AJ
116992001-01-02 Andreas Jaeger <aj@suse.de>
11700
11701 * c-decl.c (c_decode_option): Remove support of
11702 -Wmissing-noreturn.
11703
11704 * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
11705 (W_options): Add -Wmissing-noreturn here.
11706
11707 * flow.c: Define lang_missing_noreturn_ok_p.
11708 (check_function_return_warnings): Use it.
11709
11710 * c-common.h: Declare lang_missing_noreturn_ok_p.
11711
11712 * c-lang.c (c_missing_noreturn_ok_p): New function.
11713 (lang_init): Set lang_missing_noreturn_ok_p.
11714
11715 * invoke.texi (Warning Options): Document this.
11716
5c25e11d
PE
117172000-12-27 Phil Edwards <pme@sources.redhat.com>
11718
11719 * extend.texi (C++ Extensions): New node for C++ attributes;
20f9202d 11720 describe init_priority and com_interface.
5c25e11d
PE
11721 * invoke.texi: Remove -finit-priority as it now has zero effect.
11722 * install.texi: Fix xref syntax.
11723 * md.texi: Likewise.
11724
d1608933
RK
11725Mon Jan 1 21:28:29 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11726
e428b937
RK
11727 * config.gcc (sparc64-wrs-vxworks*): New case.
11728 * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
11729
3276910d
RK
11730 * config/sparc/sparc.c (sparc_override_options): Do support different
11731 pointer and architecture size.
11732 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
11733 (POINTERS_EXTEND_UNSIGNED): Define.
11734 (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
11735 (FUNCTION_MODE): Define to be Pmode.
11736 * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
11737
d1608933
RK
11738 * function.c (expand_function_end): Properly handle DECL_RESULT
11739 and copy when ptr_mode != Pmode.
11740 * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
11741
c2e42aab
KG
117422001-01-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11743
11744 * c-common.c (c_common_nodes_and_builtins): Set prototype
11745 parameters for __builtin_fputs, __builtin_fputc and
11746 __builtin_fwrite. Don't declare plain fputc as a builtin.
11747
5b1ef594
JDA
117482001-01-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
11749
825b6926
ZW
11750 * loop.c (add_label_notes): Increment the label usage count when
11751 a note is added to an insn which refers to a CODE_LABEL.
11752 * gcse.c (add_label_notes): Likewise.
5b1ef594 11753
021d7b26
AJ
117542001-01-01 Andreas Jaeger <aj@suse.de>
11755
11756 * loop.c (scan_loop): Use xmalloc to allocate movables.
11757
cf011243
AO
117582001-01-01 Alexandre Oliva <aoliva@redhat.com>
11759
11760 * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
11761 * reload.c (REGISTER_MOVE_COST): Likewise. Adjust all callers.
11762 * reload1.c (REGISTER_MOVE_COST): Likewise.
11763 * regclass.c (REGISTER_MOVE_COST): Likewise.
11764 (move_cost, may_move_in_cost, may_move_out_cost): Add mode
11765 dimension. Adjust all users.
11766 (init_reg_sets_1): Iterate on all modes.
11767 * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
11768 * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
11769 * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
11770 * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
11771 * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
11772 * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
11773 * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
11774 * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
11775 * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
11776 * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
11777 * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
11778 * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
11779 * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
11780 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
11781 * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
11782 * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
11783 * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
11784 * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
11785 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
11786 * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
11787 * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
11788 * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
11789 * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
11790 * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
11791 * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
11792 * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
11793 * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
11794
e38fe8e0
BS
117952001-01-01 Bernd Schmidt <bernds@redhat.com>
11796
11797 * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
11798 arg VARIES_P. Call it with extra arg.
11799 (true_dependence): Likewise.
11800 * rtl.h (rtx_addr_can_trap_p): Declare.
11801 (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
11802 prototypes.
11803 * rtlanal.c (rtx_addr_can_trap_p): No longer static.
11804 (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
11805 pic offset table register if it's zero. All callers changed.
11806 (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
11807
7a2bf7af
RK
11808Mon Jan 1 07:38:33 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11809
7d797311
RK
11810 * explow.c (convert_memory_address, case SYMBOL_REF): Copy
11811 STRING_POOL_ADDRESS_P.
11812
4746e0fe
RK
11813 * config/sparc/sparc.c (input_operand): Properly test for short op.
11814
fbd68e5d
RK
11815 * config.gcc (sparc-*-elf): Include sparc/sol2.h.
11816 (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
11817 (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
11818 * config/sparc/elf.h: No longer include sol2.h.
11819 * config/sparc/lifeelf.h: No longer include sparc/elf.h.
11820 * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
11821
7a2bf7af
RK
11822 * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
11823
14be28e5
MH
118242001-01-01 Michael Hayes <mhayes@redhat.com>
11825
86fee241
MH
11826 * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
11827 (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
11828 (record_initial): Likewise.
11829 * unroll.c (copy_loop_body, loop_iterations): Likewise.
11830 (remap_split_bivs): Likewise.
11831
21c7361e 118322001-01-01 Michael Hayes <mhayes@redhat.com>
86fee241 11833
b2735d9a
MH
11834 * loop.c (loop_ivs_free): New function.
11835 (strength_reduce): Break out from...
11836
118372001-01-01 Michael Hayes <mhayes@redhat.com>
21c7361e 11838
14be28e5
MH
11839 * loop.h (struct iv): New.
11840 (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
11841 (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
11842 'reg_biv_class' fields with 'regs' and 'n_regs'.
11843 (struct ivs): Rename 'loop_iv_list' field to 'list'.
11844 * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
11845 * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
11846
1d2215fe
AO
118472000-12-31 Alexandre Oliva <aoliva@redhat.com>
11848
11849 * resource.c (mark_referenced_resources): Abort() before
11850 attempting to mark a pseudo register.
11851 (mark_set_resources): Likewise.
11852
8b634749
MH
118532001-01-01 Michael Hayes <mhayes@redhat.com>
11854
11855 * loop.h (REG_IV_CLASS): New accessor macro.
11856 * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
11857 * unroll.c (REG_IV_CLASS): Likewise.
21c7361e 11858
38fd12ea 11859See ChangeLog.4 for earlier changes.