OSDN Git Service

* config/i386/i386.h (ix86_return_in_memory): Add prototype.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-09-25  Loren James Rittle  <ljrittle@acm.org>
2
3         * config/i386/i386.h (ix86_return_in_memory): Add prototype.
4
5 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
6
7         * config/s390/s390.c (s390_emit_prologue): Simplify accesses to
8         FPR slots in the save area.
9         (s390_emit_epilogue): Likewise.
10
11 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
12
13         * cgraph.h (cgraph_remove_edge): Declare.
14         * cgraph.c (cgraph_remove_edge): Make extern.
15         * cgraphunit.c (cgraph_finalize_function): Call cgraph_remove_edge
16         instead of cgraph_remove_call.
17
18 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
19
20         * objc/objc-act.c (gen_declaration_1): Fix printf format.
21
22 2003-09-25  Richard Earnshaw  <rearnsha@arm.com>
23
24         * arm.c (all_cores): arm710t, arm720t and arm740t are all based on the
25         arm7tdmi core.
26
27 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
28
29         * config/darwin-protos.h (objc_image_info_section):
30         New prototype.
31
32 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
33
34         * Makefile.in (stub-objc.o): Depend on $(GGC_H).
35
36 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
37
38         * config.gcc: Get rid of more gratuitious 'x'es.  Actually allow
39         tsc701 as a --with-cpu, --with-tune setting for sparc.
40
41 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
42
43         * c-parse.in (objc_try_stmt): Do not specify a %type.
44
45 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
46
47         * config.gcc: New 'widely ported system' clause for rtems.
48         Set thread file there, not in individual clauses.
49
50 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
51
52         * config/mips/mips.c (mips_va_arg): Handle arguments that must be
53         passed on the stack.
54
55 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
56
57         * config.gcc (widely ported systems section): Mostly alphabetize
58         by system.  Comment the case where we can't.
59         * config.gcc (widely ported systems section): Reindent and clean up.
60
61         * config.gcc: Remove some unnecessary uses of 'x' in case statements.
62         Actually allow ep9312 as an arm --with-arch setting.
63
64         * config.gcc (*-hpux11): Disable fixproto.
65
66 2003-09-24  Phil Edwards  <phil@codesourcery.com>
67
68         PR pch/12112
69         * gcc/cppfiles.c (pch_open_file): Return based on combined
70         result of all files.
71         (validate_pch): Return validate flag for current file.
72         
73 2003-09-24  Roger Sayle  <roger@eyesopen.com>
74
75         PR bootstrap/12358
76         * fold-const.c (tree_swap_operands_p): Only reorder operands when
77         one of the operands is constant.
78
79 2003-09-24  Ziemowit Laski  <zlaski@apple.com>
80
81         MERGE OF objc-improvements-branch into MAINLINE:
82         * Makefile.in (C_OBJS): Add in stub-objc.o.
83         (c-parse.y): Change sed demarcations to begin with '@@'.
84         (stub-objc.o): New rule.
85         * c-common.c (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
86         flag_replace_objc_classes): New flags.
87         * c-common.h (RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, RID_AT_FINALLY,
88         RID_AT_SYNCHRONIZED): New keywords.
89         (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
90         flag_replace_objc_classes): New flags.
91         (lookup_interface, is_class_name, objc_is_object_ptr, objc_check_decl,
92         objc_comptypes, objc_message_selector, lookup_objc_ivar,
93         get_current_scope, objc_mark_locals_volatile): New prototypes,
94         some moved from c-tree.h.
95         * c-decl.c (get_current_scope, objc_mark_locals_volatile): New functions.
96         (finish_decl): Adjust where objc_check_decl() gets called.
97         * c-lang.c (lookup_interface, is_class_name, objc_is_id,  objc_check_decl,
98         objc_comptypes, objc_message_selector, lookup_objc_ivar): Remove stubs.
99         * c-opts.c (c_common_handle_option): Add handling for  flag_nil_receivers,
100         flag_objc_exceptions, flag_replace_objc_classes and flag_zero_link.
101         * c-parse.in: Replace 'ifc' and 'end ifc' sed markers with '@@ifc' and
102         '@@end_ifc', respectively.
103         (AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY, AT_SYNCHRONIZED): New %tokens.
104         (objc_try_stmt, superclass, class_ivars, objc_try_catch-stmt,
105         objc_finally_block): New rules.
106         (component_decl_list2): Clean up semantic action for @defs construct.
107         (component_decl, c99_block_start): Remove call to add_objc_decls().
108         (poplevel): Add call to objc_clear_super_receiver().
109         (stmt): Add rules for @throw, @try..@catch..@finally and @synchronized
110         constructs.
111         (classdef, methodprotolist): Clean up/simplify.
112         (methodprotolist2): Eliminate.
113         (methodproto): Call add_method() instead of add_class_method() and
114         add_instance_method().
115         (receiver): Add TYPENAME production.
116         (reswords): Add "throw", "try", "catch", "finally" and "synchronized".
117         (rid_to_yy): Add AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY and
118         AT_SYNCHRONIZED.
119         * c-tree.h (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
120         objc_comptypes, objc_message_selector)
121         * c-typeck.c (comptypes): In ObjC mode, call objc_comptypes() for
122         struct and pointer types.
123         (build_c_cast): Do not discard ObjC protocol qualifiers.
124         (convert_for_assignment): Cache result of comp_target_types() instead
125         of calling it more than once.
126         * c.opt (fnext-runtime): Update description string.
127         (fnil-receivers, fobjc-exceptions, freplace-objc-classes, fzero-link):
128         New ObjC/ObjC++-specific flags.
129         * function.h (GCC_FUNCTION_H): Header guard.
130         * gengtype-lex.l: Teach lexer about new @@... sed demarcations.
131         * stub-objc.c: New file, to be used to satisfy references to ObjC
132         functions by the C and C++ front-ends.
133         * config/darwin.c (_OBJC_IMAGE_INFO): New global metadata.
134         * config/darwin.h (FUNCTION): Add in_objc_image_info.
135         (SECTION_FUNCTION): Add objc_image_info_section.
136         * doc/invoke.texi: Link to GCC web site for Objective-C information.
137         (-fconstant-string-class): Update documentation.
138         (-fno-nil-receivers, -fobjc-exceptions, -freplace-objc-classes,
139         -fzero-link): New documentation.
140         * objc/Make-lang.in (objc-parse.y): Change sed demarcations to begin
141         with '@@'.
142         * objc/lang-specs.h (@objective-c-header): Fix -E spec.
143         * objc/objc/objc-act.c: Replace TYPE_NAME with OBJC_TYPE_NAME
144         throughout; provide casts for return values from memory allocation
145         functions (xmalloc, alloca, ggc_alloc, etc.).
146         (OBJC_VOID_AT_END): New macro.
147         (rtl.h): Do not #include any more.
148         (STRING_OBJECT_GLOBAL_NAME): Replaced with STRING_OBJECT_GLOBAL_FORMAT.
149         (TAG_MSGSEND_STRET, TAG_MSGSENDSUPER_STRET, TAG_MSGSEND_NONNIL,
150         TAG_MSGSEND_NONNIL_STRET, TAG_EXCEPTIONEXTRACT, TAG_EXCEPTIONTRYENTER,
151         TAG_EXCEPTIONTRYEXIT, TAG_EXCEPTIONMATCH, TAG_EXCEPTIONTHROW,
152         TAG_SYNCENTER, TAG_SYNCEXIT): New NeXT runtime entry points.
153         (struct val_stack, catch_count_stack, exc_binding_stack,  val_stack_push,
154         val_stack_pop): New.
155         (objc_check_decl): Fix precondition for error message, along with
156         the message itself.
157         (lookup_and_install_protocols): Remove nonexistent protocols from
158         protocol list instead of returning error_mark_node.
159         (create_builtin_decl): Use DECL_ARTIFICIAL only for VAR_DECLs.
160         (setup_string_decl): Generalize to use STRING_OBJECT_GLOBAL_FORMAT.
161         (synth_module_prologue): General clean-up; construct NeXT-specific
162         runtime API prototypes if needed.
163         (build_string_class_template): Remove.
164         (check_string_class_template, string_layout_checked): New.
165         (build_objc_string_object): Generalize to work with
166         -fconstant-string-class.
167         (build_objc_symtab_template): Fix layout for the NeXT runtime.
168         (build_metadata_decl): New.
169         (forward_declare_categories): Call build_metadata_decl() instead of
170         create_builtin_decl() et al.
171         (build_module_descriptor): Use OBJC_VOID_AT_END instead of
172         void_list_node_1.
173         (build_selector_reference_decl, build_class_reference_decl,
174         build_objc_string_decl): Do not set TREE_READONLY.
175         (get_proto_encoding): Do not call hack_method_prototype().
176         (get_class_reference): Add failure mode for invalid class names;
177         support -fzero-link; defer if in an ObjC++ template declaration.
178         (objc_declare_alias, objc_declare_class): Fix up duplicate name
179         lookup; check for global scope if in ObjC++.
180         (is_class_name): Generalize to work with various tree nodes (TYPE_DECL,
181         RECORD_TYPE, IDENTIFIER_NODE, etc.)
182         (objc_is_id): Removed.
183         (objc_is_object_ptr): New function.
184         (get_class_ivars_from_name): New function, used for @defs construct.
185         (get_class_ivars): Add option to return raw ivars; create a
186         ClASS_OWN_IVARS list for each class as needed.
187         (objc_enter_block, objc_exit_block, objc_declare_variable,
188         objc_build_throw_stmt, val_stack_push, val_stack_pop,
189         objc_build_try_enter_fragment, objc_build_extract_expr,
190         objc_build_try_exit_fragment, objc_build_extract_fragment,
191         objc_build_try_prologue, objc_build_try_epilogue,
192         objc_build_catch_stmt, objc_build_catch_epilogue,
193         objc_build_finally_prologue, objc_build_finally_epilogue,
194         objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
195         objc_build_synchronized_epilogue, build_objc_exception_stuff):
196         New functions.
197         (_JBLEN): _setjmp jmpbuf size (needs to be made a target hook in
198         the future).
199         (build_private_template): Fix up calls to get_class_ivars().
200         (offset_is_register, forwarding_offset): Remove.
201         (objc_method_parm_type, objc_encoded_type_size): New functions.
202         (encode_method_prototype): Simplify to no longer depend on
203         back-end information.
204         (build_tmp_function_decl_xxx, build_tmp_function_decl,
205         hack_method_prototype): Removed.
206         (generate_protocol_references): Remove calls to
207         build_tmp_function_decl().
208         (generate_protocols): Adjust calls to encode_method_prototype().
209         (build_class_template): Generate sel_id' and 'gc_object_type' fields
210         for the NeXT runtime.
211         (synth_forward_declarations): Call build_metadata_decl().
212         (check_ivars): Check that the number of ivars matches also.
213         (build_super_template): Modify super_type directly; disable debugging
214         output while generating decl.
215         (build_ivar_list_initializer): Skip list elements that are not
216         FIELD_DECLs.
217         (ivar_list_length): New function.
218         (generate_ivar_lists): Call ivar_list_length() instead of list_length()
219         and encode_method_prototype() instead of encode_method_def().
220         (build_shared_structure_initializer): Generate 'sel_id' field for
221         the NeXT runtime.
222         (generate_category): Do not set TREE_USED.
223         (build_keyword_selector): Ditto; transform into a function argument
224         chain.
225         (get_arg_type_list): If there are no user-specified arguments, use
226         '...'; use OBJC_VOID_AT_END.
227         (check_duplicates): Add a parameter indicating whether methods or
228         selectors are being checked.
229         (receiver_is_class_object): Add parameters indicating whether
230         receiver is 'self' or 'super'; robustify.
231         (build_message_expr): Defer call to finish_message_expr() if
232         inside an ObjC++ template.
233         (lookup_method_in_hash_lists): New function.
234         (finish_message_expr): Complete rewrite/fix.
235         (build_objc_method_call): Ditto; factor out commonalities between
236         the GNU and NeXT runtimes; acccommodate ..._stret and ...NonNil
237         messenger variants on the NeXT.
238         (lookup_instance_method_static, lookup_class_method_static):
239         Fold into a single lookup_method_static() function with an
240         additional parameter.
241         (add_class_method, add_instance_method): Fold into a single
242         add_method() function with an additional parameter.
243         (add_category): Make duplicate categories a hard error in ObjC++.
244         (add_instance_variable): Properly handle unnamed ivars, arrays of
245         zero or no size and bitfields.  In ObjC++, check for nontrivial
246         C++ class instances.
247         (is_public): Allow C functions to access non-@public ivars, with
248         a warning.
249         (start_class): Move common initializations to
250         synth_module_prologue(); check for global scope if in ObjC++.
251         (continue_class): Fix calls to finish_struct().
252         (objc_declare_protocols, start_protocol): Check for global scope
253         if in ObjC++.
254         (encode_pointer): Encode 'BOOL *' specially on the NeXT.
255         (encode_aggregate_within): Rewrite to properly distinguish
256         struct tags from typedefs in both ObjC and ObjC++.
257         (encode_bitfield, encode_complete_bitfield): Remove.
258         (encode_next_bitfield, encode_gnu_bitfield): New functions.
259         (encode_field_decl): Call encode_next_bitfield() or
260         encode_gnu_bitfield() as needed.
261         (synth_self_and_ucmd_args): New function.
262         (start_method_def): Use it.
263         (objc_types_are_equivalent): New function.
264         (comp_proto_with_proto): Use it instead of comptypes(), since
265         we need symmetry.
266         (really_start_method): Use lookup_method_static() instead of
267         lookup_class_method_static() and lookup_instance_method_static();
268         Emit 'extern "C"' if in ObjC++ mode.
269         (add_objc_decls): Removed.
270         (UOBJC_SUPER_scope): New variable.
271         (get_super_receiver): Move construction of 'super' from
272         add_objc_decls(); remove dependency on struct objc_class.
273         (encode_method_def): Removed; encode_method_prototype() is
274         used instead.
275         (objc_clear_super_receiver): New function.
276         (objc_expand_function_end): Do not do anything for ordinary
277         C functions.
278         (finish_method_def): Mark ObjC methods as un-inlinable.
279         (gen_declaration_1): Emit widths of bitfields.
280         (finish_objc): Call generate_objc_image_info() if needed;
281         use check_duplicates() when checking for selector duplicates.
282         (generate_objc_image_info): New function.
283         * objc/objc-act.h (add_instance_method, add_class_method,
284         get_class_ivars): Remove prototypes.
285         (objc_build_throw_stmt, objc_build_try_catch_finally_stmt,
286         objc_build_synchronized_prologue, objc_build_synchronized_epilogue,
287         objc_build_catch_stmt, objc_build_catch_epilogue,
288         objc_build_finally_prologue, objc_build_finally_epilogue,
289         add_method, get_class_ivars_from_name): New prototypes.
290         (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): New.
291         (TYPE_PROTOCOL_LIST): Robustify to distinguish from
292         TRANSLATION_UNIT_DECLs.
293         (OBJC_TYPE_NAME): New.
294         (objc_tree_code): Ensure that either <c-tree.h> or <cp/cp-tree.h>
295         got included.
296         (IS_SUPER): Robustify.
297         (umsg_stret_decl, umsg_super_stret_decl, umsg_nonnil_decl,
298         umsg_nonnil_stret_decl, objc_storage_class, objc_exception_extract_decl,
299         objc_exception_try_enter_decl, objc_exception_try_exit_decl,
300         objc_exception_match_decl, objc_exception_throw_decl,
301         objc_sync_enter_decl, objc_sync_exit_decl, objc_exception_data_template,
302         objc_setjmp_decl, objc_stack_exception_data, objc_caught_exception,
303         objc_rethrow_exception, objc_eval_once, objc_exception_block_stack,
304         objc_catch_type): New ObjC/ObjC++ roots.
305         * objc/objc-tree.def (MESSAGE_SEND_EXPR, CLASS_REFERENCE_EXPR): New
306         ObjC/ObjC++ tree node codes.
307  
308 2003-09-24  Alexandre Oliva  <aoliva@redhat.com>
309
310         * cpplib.c (do_pragma): Reintroduce cb_line_change call in the
311         code path that calls a handler.
312
313 2003-09-24  Nathanael Nerode  <neroden@gcc.gnu.org>
314
315         * config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):
316         Disable fixproto.
317
318         * config.gcc: Clean up and reindent $with_cpu=yes|no clause and
319         the section giving $with_cpu defaults by target.
320
321         * config.gcc (arm-*-coff*, armel-*-coff*, arm*-*-ecos-elf,
322         arm*-*-elf, ep9312-*-elf, arm*-wince-pe*, arm*-*-pe*, arm*-*-pe*,
323         rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*,
324         rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*,
325         rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*,
326         i[34567]86-pc-msdosdjgpp*): Disable fixproto.
327
328 2003-09-24  David Edelsohn  <edelsohn@gnu.org>
329
330         * config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2
331         together.  Protect load string instruction with TARGET_STRING.
332         (movti_string): Collapse case 1 and 2 together.
333
334 2003-09-24  Nathan Sidwell  <nathan@codesourcery.com>
335
336         * c-common.c (c_common_type_for_mode): Check for VOIDmode.
337
338 2003-09-24  Richard Earnshaw  <rearnsha@arm.com>
339
340         * arm.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Wrap in
341         do...while(0)
342
343 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
344
345         * config.gcc: Move use_fixproto=no from generic vxworks clause to
346         specific one.
347
348         * config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto
349         (accidentally missed in last pass).
350
351 2003-09-23  Andrew Pinski  <apinski@apple.com>
352
353         PR bootstrap/12383
354         * configure: Regenerate.
355
356 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
357
358         * config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally
359         missed in last pass).
360
361 2003-09-23  Alexandre Oliva  <aoliva@redhat.com>
362
363         * config/mn10300/mn10300.md (andsi3): Fix cut&pasto in 0xfffffffe
364         constant.
365
366 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
367
368         * config.gcc: Move vax-*-vms* unsupported notice up with the rest.
369
370         * config.gcc (alpha64*-dec-*vms*, alpha*-dec-*vms*,
371         powerpc-*-eabisim*, powerpc-*-eabi*, powerpcle-*-eabisim*,
372         powerpcle-*-eabi*): Disable fixproto.
373
374         * config.gcc: Move use_fixproto=no from generic FreeBSD clause to
375         specific FreeBSD clauses.
376         * config.gcc: Move use_fixproto=no from generic NetBSD clause to
377         specific NetBSD clauses.
378         * config.gcc: Move use_fixproto=no from generic OpenBSD clause
379         to specific OpenBSD clauses.
380
381 2003-09-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
382
383         * pa.c (hppa_expand_prologue): Do pic register save in frame marker
384         without adding a frame note.
385         * pa.md (allocate_stack): Save pic register in new frame marker when
386         generating pic code.
387
388 2003-09-23  Kelley Cook  <kelleycook@wideopenwest.com>
389
390         * cgraphunit.c (cgraph_expand_all_functions): Renamed from 
391         cgraph_expand_functions.
392
393 2003-09-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
394
395         * Makefile.in (gnucompare*): Merge into ...
396         (slowcompare*): ... here.
397         (fastcompare*): New targets.
398         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): Add checks for
399         other "fast" cmp programs.
400         * configure: Regenerate.
401
402 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
403
404         * targhooks.c: Include output.h.
405         * Makefile.in (targhooks.o): Add output.h to dependency list.
406         
407 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
408
409         * config.host: Removed superfluous newline.
410
411 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
412
413         * config.gcc: Use ${target}, not $machine.
414         * configure.in: Don't set $machine.
415         * configure: Regenerate.
416
417 2003-09-23  Geoffrey Keating  <geoffk@apple.com>
418
419         * config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies.
420
421         * config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't
422         pass zero-size arrays by reference.
423         (rs6000_va_arg): Likewise.
424
425 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
426
427         * config.gcc: Set use_fixproto=no in each specific *-gnu*
428         configuration, rather than the generic one.
429
430 2003-09-23  Richard Henderson  <rth@redhat.com>
431
432         * tree-inline.c (remap_save_expr): Map new save_expr to identity
433         rather than to error_mark_node.
434
435 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
436
437         * configure.in (HAVE_GAS_SHF_MERGE): Always define to test result.
438         Update description.
439         * configure: Regenerate.
440         * config.in: Likewise.
441         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test for
442         HAVE_GAS_SHF_MERGE value. 
443         * varasm.c (mergeable_string_section): Likewise.
444         (mergeable_constant_section): Likewise.
445
446 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
447
448         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Test for DWARF2_UNWIND_INFO
449         value.
450
451 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
452
453         * target.h (struct gcc_target): New member external_libcall.
454         * target-def.h (TARGET_ASM_EXTERNAL_LIBCALL): Provide default.
455         (TARGET_ASM_OUT): Use it.
456         * doc/tm.texi (TARGET_ASM_EXTERNAL_LIBCALL): Document.
457         * targhooks.c: Convert to ISO C 90.
458         (default_external_libcall): New function.
459         * targhooks.h (default_external_libcall): Declare.
460         * varasm.c (assemble_external_libcall): Use
461         targetm.asm_out.external_libcall instead of
462         ASM_OUTPUT_EXTERNAL_LIBCALL.
463         * config/mips/mips-protos.h [TARGET_IRIX5 || TARGET_IRIX 6]
464         (mips_output_external_libcall): Declare.
465         * config/mips/mips.c (mips_output_external_libcall): Change
466         definition guard.
467         Change to match TARGET_ASM_EXTERNAL_LIBCALL.
468         Only operate for O32 ABI.
469         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Define
470         instead of ASM_OUTPUT_EXTERNAL_LIBCALL.
471         * config/mips/iris6.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Don't undef,
472         superceded by TARGET_ASM_EXTERNAL_LIBCALL.
473
474 2003-09-22  Nathnael Nerode  <neroden@gcc.gnu.org>
475
476         * config.gcc: Do per-target disabling of fixproto here in clauses,
477         not in t- fragments.
478         * configure.in: Adjust to set STMP_FIXPROTO correctly.
479         * configure: Regenerate.
480         * config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
481         config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
482         t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
483         xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
484         * config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
485         t-interix, t-linux-aout:  Delete files consisting only of
486         setting of STMP_FIXPROTO.       
487
488         * config.host: Allow unknown hosts (not targets).  Allow
489         ns32k-*-netbsdelf* as a host (not a target).  Remove redundant
490         empty clauses.  Remove useless obsolete-configuration clause.
491         Prune unsupported configuration list.  Collapse identical 
492         clauses for closely related systems.  Rewrite comment for
493         unsupported hosts list.  Reorganize a little.
494
495 2003-09-22  Richard Henderson  <rth@redhat.com>
496
497         * c-common.c (c_common_signed_or_unsigned_type): Examine mode, 
498         not precision.
499
500 2003-09-22  David Edelsohn  <edelsohn@gnu.org>
501             Hartmut Penner  <hpenner@de.ibm.com>
502             Segher Boessenkool  <boessen@de.ibm.com>
503
504         * config/rs6000/rs6000.c (altivec_in_gprs_p): Rename to ...
505         (gpr_or_gpr_p): Test INT_REGNO_P and convert to boolean.  
506         (rs6000_split_altivec_in_gprs): Rename to ...
507         (rs6000_split_multireg_move): Add support for update addressing.
508         * config/rs6000/rs6000-protos.h: Same.
509         * config/rs6000/altivec.md: Same.
510         * config/rs6000/rs6000.md (movdi_internal32): Use new splitter for
511         multiple GPRs.
512         (movti): Remove TARGET_STRING || TARGET_POWERPC64 final condition.
513         (movti_power): Use new splitter for multiple GPRs.
514         (movti_string): Same.
515         (movti_ppc64): Same.
516
517 2003-09-22  Bob Wilson  <bob.wilson@acm.org>
518
519         * config/xtensa/xtensa-protos.h: Convert to ISO C90.
520         * config/xtensa/xtensa.c: Convert to ISO C90.  Minor formatting fixes.
521
522 2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
523
524         * config/mn10300/mn10300.md: Revert 2003-09-17's patch.
525         (andsi3): Set attr cc to set_zn when using shifts or adds.
526
527 2003-09-22  Bernardo Innocenti <bernie@develer.com>
528
529         * doc/contrib.texi: Add Peter Barada, Paul Dale and myself.
530
531 2003-09-22  Bernardo Innocenti  <bernie@develer.com>
532
533         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
534         Resurrect -mrtd option.
535
536 2003-09-21  Andrew Pinski  <pinskia@physics.uc.edu>
537
538         PR target/12281
539         * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Call
540         mark_referenced instead of setting TREE_SYMBOL_REFERENCED.
541
542 2003-09-22  Olivier Hainque  <hainque@act-europe.fr>
543
544         PR target/9786
545         * reg-stack.c (convert_regs_1): Purge possible dead eh edges
546         after potential deletion of trapping insn. Avoids later ICE
547         from call to fixup_abnormal_edges.
548         (convert_regs_2): Stack the current block successors before
549         processing this block, that is, before the potential deletion of
550         dead edges by convert_regs_1, because these edges have been used
551         to initialize the predecessors count.
552
553 2003-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
554
555         * real.c: Fix several nits in the head comment.
556
557 2003-09-21  Richard Henderson  <rth@redhat.com>
558
559         * tree.h c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c, 
560         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
561         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
562         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
563         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Revert.
564
565 2003-09-21  Richard Henderson  <rth@redhat.com>
566
567         * tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
568         (TREE_FILENAME, TREE_LINENO): Likewise.
569         (set_tree_locus, copy_tree_locus, set_tree_file_line): New.
570         (TREE_LOCUS_SET_P): New.
571         * c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c, 
572         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
573         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
574         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
575         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
576
577 2003-09-21  Nathanael Nerode  <neroden@gcc.gnu.org>
578
579         * config/vax/vax-protos.h: Convert to ISO C90.
580         * config/vax/vax.c: Convert to ISO C90.
581
582 2003-09-21  Graham Stott  <grahams@btinternet.com>
583
584        PR target/12353
585        * config/i386/i386.md(ffs_no_cmove): Fix operand 2 constraint.
586
587 2003-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
588
589         PR target/12301
590         * reorg.c (stop_search_p): Return 1 for insns that can
591         throw internally.
592
593 2003-09-20  Richard Henderson  <rth@redhat.com>
594
595         * c-format.c (gcc_diag_char_table): Add %J.
596         (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
597         (check_format_types): Fix wanted_type name lookup.
598         (init_dynamic_diag_info): Setup %J.
599         * diagnostic.c (text_specifies_location): Implement %J.
600         * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
601         dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
602         tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
603         config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
604         config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
605
606         * tree-inline.c: Include intl.h
607         (inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
608         * Makefile.in (tree-inline.o): Update.
609
610 2003-09-20  Roger Sayle  <roger@eyesopen.com>
611
612         * config/i386/i386.c (ix86_expand_carry_flag_compare): Fix
613         transformation of a>=0 into (unsigned)a<0x80000000.
614
615 2003-09-20  Andrew Pinski <apinski@apple.com>
616
617         * config/darwin.c (machopic_select_rtx_section): Fix check for PIC code.
618
619 2003-09-20  Nathanael Nerode  <neroden@gcc.gnu.org>
620
621         * Makefile.in: Don't set (unused) DLLTOOL.
622
623         * config/arm/t-linux, config/arm/t-netbsd, config/arm-t-semi:
624         Remove obsolete references to ENQUIRE.
625
626 2003-09-19  Nathanael Nerode  <neroden@gcc.gnu.org>
627
628         * configure.in: Remove --with-elf, which doesn't work.
629         * configure: Regenerate.
630         * config.gcc: Remove references to $elf, which does nothing.
631
632         * config/i386/xm-vsta.h: Remove xm-file believed useless.
633         * config.build (i386-vsta): Remove reference to it.
634         * config.host (i386-vsta): Remove reference to it.
635
636 2003-09-19  Phil Edwards  <phil@codesourcery.com>
637
638         * doc/install.texi:  Document the multiple testsuite options.
639
640 2003-09-19  Gerald Pfeifer  <gerald@pfeifer.com>
641
642         * doc/install.texi (Specific): Add the specific versions of GCC
643         where support for FreeBSD 1, HP-UX version 9 and older, and AIX
644         version 3 and older was discontinued.
645         
646 2003-09-19      Joel Sherrill <joel@oarcorp.com>
647
648         * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
649         68881.
650
651 2003-09-19  Bernardo Innocenti  <bernie@develer.com>
652
653         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Add predefines
654         for -m68030, -m68020-60 and -m68020-40.
655         * config/m68k/m68k.h (TARGET_68030): New target flag.
656         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, MASK_REGPARM,
657         TARGET_REGPARM): Remove.
658         * config/m68k/m68k.h: Regroup and renumber target flags.
659         * config/m68k/m68k.h (TARGET_SWITCHES): Fix some tabulations.
660         * config/m68k/m68k.h (RETURN_POPS_ARGS): Always evaluate to 0.
661         * config/m68k/m68k.h (FUNCTION_ARG): Likewise.
662         * config/m68k/m68k.h (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
663         * config/m68k/m68k-none.h: Use MASK_xxx values in M68K_CPU_xxx macros.
664
665 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
666
667         * config/m68k/t-rtems (m68k-*-rtems*): New.
668         * config.gcc: Use config/m68k/t-rtems.
669
670 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
671
672         * config/mips/t-rtems: New.
673         * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
674
675 2003-09-19  Kelley Cook  <kelleycook@wideopenwest.com>
676
677         * cgraph.c: Fix typo in debugging output.
678
679 2003-09-19  T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
680             Eric Botcazou <ebotcazou@libertysurf.fr>
681
682         PR target/12166
683         * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
684
685 2003-09-18  Mike Stump  <mrs@apple.com>
686
687         * c-ppoutput.c (print):  Use fileline typedef for field 'line'.
688         (print_line, maybe_print_line, cb_define, cb_undef, cb_include,
689         cb_ident, cb_def_pragma):  Use fileline typedef.
690         * cpphash.h (struct cpp_reader):  Likewise for field out.first_line.
691
692 2003-09-18  Danny Smith  <dannysmith@users.sourceforge.net>
693
694         * config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
695         total parm size if a parm has incomplete type.
696         (gen_fastcall_suffix): Likewise.
697
698 2003-09-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
699
700         * except.c (output_function_exception_table): Adjust last change
701         to handle TYPE of INTEGER_CST.
702
703 2003-09-18  Mark Mitchell  <mark@codesourcery.com>
704
705         PR target/11184
706         * builtins.c (expand_builtin_apply): Use convert_memory_address
707         before returning the value.
708         
709         * alias.c (find_base_value): Simplify use of
710         convert_memory_address.
711         (find_base_term): Likewise.
712         * builtins.c (expand_builtin_stejmp_setup): Likewise.
713         (expand_builtin_longjmp): Likewise.
714         (expand_builtin_prefetch): Likewise.
715         (get_memory_rtx): Likewise.
716         (expand_builtin_return): Likewise.
717         (expand_builtin_memcpy): Likewise.
718         (expand_builtin_strncpy): Likewise.
719         (expand_builtin_memset): Likewise.
720         (expand_builtin_va_arg): Likewise.
721         (expand_builtin_va_copy): Likewise.
722         (expand_builtin_alloca): Likewise.
723         * calls.c (expand_call): Likewise.
724         * except.c (expand_builtin_extract_return_addr): Likewise.
725         (expand_builtin_eh_return): Likewise.
726         * explow.c (convert_memory_address): Define even when
727         POINTER_EXTEND_UNSIGNED is not defined.  Do nothing if the address
728         is already in the right mode.
729         * explow.c (memory_address): Simplify use of convert_memory_address.
730         (probe_stack_range): Likewise.
731         * expmed.c (make_tree): Likewise.
732         * expr.c (emit_block_move_in_libcall): Likewise.
733         (expand_assignment): Likewise.
734         (expand_expr): Likewise.
735         * function.c (assign_parms): Likewise.
736         (expand_function_end): Likewise.
737         * integrate.c (copy_rtx_and_substitute): Likewise.
738         * stmt.c (expand_computed_goto): Likewise.
739
740 2003-09-18  Roger Sayle  <roger@eyesopen.com>
741
742         * simplify-rtx.c (simplify_unary_operation): Only transform
743         (not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
744         is -1.  RTL "not" is a bit-wise not, "~", not a logical not "!".
745
746 2003-09-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
747
748         PR target/11674
749         * config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
750
751 2003-09-18  Roger Sayle  <roger@eyesopen.com>
752
753         * tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
754         PARITY_EXPR): Delete unused tree codes.
755         * c-common.c (c_common_truthvalue_conversion): Delete references
756         to FFS_EXPR and POPCOUNT_EXPR.
757         * c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
758         (pp_c_expression): Likewise.
759         * expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
760         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
761         * fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
762         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.  Add support for calls to
763         BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
764         and long long variants.
765
766 2003-09-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>
767
768         * c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
769         * c-pretty-print.c: Fix formatting.
770         (pp_c_integer_constant): Append type annotation to literals.  Tidy.
771         (pp_c_type_specifier): Tidy.
772         (pp_c_compound_literal): New function.
773         (pp_c_initializer): Simplify..
774         (pp_c_initializer_list): Likewise.
775         (pp_c_brace_enclosed_initializer_list): New function.
776         (pp_c_postfix_expression): Simplify.
777
778 2003-09-17  Alexandre Oliva  <aoliva@redhat.com>
779
780         * config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
781         one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
782
783 2003-09-17  Richard Henderson  <rth@redhat.com>
784
785         * tree-optimize.c (tree_rest_of_compilation): Save and restore
786         input_location.
787
788 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
789
790         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
791
792 2003-09-17  Richard Henderson  <rth@redhat.com>
793
794         * cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
795
796 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
797
798         * configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
799         * configure: Regenerate.
800
801 2003-09-17  Mark Mitchell  <mark@codesourcery.com>
802
803         PR debug/12066
804         * dbxout.c (dbxout_init): Use a langhook to find builtin types.
805         * langhooks-def.h (lhd_return_null_tree_v): New function.
806         (LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
807         (LANG_HOOKS_DECLS): Add it to the intializer.
808         * langhooks.c (lhd_return_null_tree_v): New function.
809         * langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
810
811 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
812
813         * configure.in: Quote gcc_config_arguments for configargs.h.
814         * configure: Regenerated.
815         * gccbug.in: Don't shell-expand gcc_config_arguments.
816
817 2003-09-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
818
819         PR c++/11357
820         * c-pretty-print.c (pp_c_floating_constant): Append
821         type-annotation to floating constants.
822
823 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
824
825         * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
826         Define _ABIO32.
827         Use it for _MIPS_SIM.
828         * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
829
830         * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
831         Moved ...
832         * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
833         updating comment.
834         Fixes PR target/10190.
835
836 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
837
838         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
839         to shared libraries.
840
841 2003-09-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
842
843         PR optimization/11646
844         * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
845         EDGE_ABNORMAL flag for EH edges.
846         * toplev.c (rest_of_handle_cse): Delete unreachable blocks
847         if dead edges were purged.
848
849 2003-09-16  Bernardo Innocenti  <bernie@develer.com>
850
851         * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
852         * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
853         * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
854         * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
855
856 2003-09-16  Ian Lance Taylor  <ian@wasabisystems.com>
857
858         * cfgcleanup.c (label_is_jump_target_p): Correct use of table
859         returned by tablejump_p.
860
861 2003-09-16  Joel Brobecker  <brobecker@gnat.com>
862
863         * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
864
865 2003-09-16  Roger Sayle  <roger@eyesopen.com>
866
867         PR bootstrap/12269
868         * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
869         argument to be VOIDmode, taking the mode of the comparison from
870         the operands.  Only call simplify_relational_operation if we
871         know the mode of the comparison.  Honor FLOAT_STORE_FLAG_VALUE
872         if comparison has a floating point result.  Ensure that the
873         result is always of the specified mode.
874         (simplify_replace_rtx): Simplify call to simplify_gen_relational.
875         (simplify_unary_operation): Ensure the correct mode and cmp_mode
876         are always passed to simplify_gen_relational.  Simplify NOT of
877         comparison operator in any mode, not just BImode.
878         (simplify_ternary_operation): Correct tests on the return value
879         of simplify_relational_operation to use const_true_rtx, not
880         const1_rtx.  Abort if it ever returns a non-constant result.
881
882         * cfgloopanal.c (count_strange_loop_iterations): Use the function
883         simplify_relational_operation, not simplify_gen_relational, if
884         we're only interested in constant comparisons and will ignore
885         non-constant results.
886
887 2003-09-16  Roger Sayle  <roger@eyesopen.com>
888
889         * fold-const.c (tree_swap_operands_p): New function to determine
890         the prefered ordering of operands.
891         (fold): Numerous clean-ups.  Use tree_swap_operands_p when swapping
892         operands to commutative, comparison or ternary operators.  Replace
893         uses of TREE_SET_CODE with recursive call to fold.  Remove duplicate
894         transformation of A ? B : C into !A ? C : B.
895
896 2003-09-16  Jakub Jelinek  <jakub@redhat.com>
897
898         * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
899         * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
900         * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
901         * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
902         * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
903         * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
904         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
905         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
906
907 2003-09-16  Jason Merrill  <jason@redhat.com>
908             Jakub Jelinek  <jakub@redhat.com>
909
910         * c-common.c (handle_warn_unused_result_attribute): New function.
911         (c_common_attribute_table): Add warn_unused_result.
912         (c_expand_expr): Issue warning when result of inlined function
913         with warn_unused_result attribute is ignored.
914         * calls.c (expand_call): Issue warning when result of function
915         with warn_unused_result attribute is ignored.
916         * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
917         * expr.c (expr_wfl_stack): Define.
918         (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
919         pass const0_rtx as target.  Chain locations into expr_wfl_stack.
920         * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
921         bit if inlined function has warn_unused_result attribute.
922         * input.h (expr_wfl_stack): Declare.
923         * doc/extend.texi: Document warn_unused_result attribute.
924
925 2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
926
927         * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
928
929 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
930
931         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
932         ATTRIBUTE_UNUSED.
933         (call_insn_operand): For PIC, don't allow a direct call to a
934         function in a different section than the current one.
935
936 2003-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
937         
938         * doc/invoke.texi (Warning Options): Add missing hyphen before
939         "Wimport".  Change "-Wno-endif-labels" to "-Wendif-labels".
940         Move "-Wold-style-definition" to the C-only section.
941         Fix the ordering of the warning options.
942
943 2003-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
944             Jeff Law  <law@redhat.com>
945
946         * gcse.c (remove_reachable_equiv_notes): New.
947         replace_store_insn): Call it.  Update antic list.
948         (store_killed_in_insn): Take REG_EQUAL notes into account.
949         (build_store_vectors, delete_store): Add parameter to
950         replace_store_insn call.
951
952 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
953
954         * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
955         SYMBOL_REF_LOCAL_P.
956
957 2003-09-15  Kazu Hirata  <kazu@cs.umass.edu>
958
959         * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
960         (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
961         * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
962         Likewise.
963         * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
964         Likewise.
965         * config/rs6000/rs6000.c (function_arg_padding): Likewise.
966         * config/sparc/sparc.c (function_arg_padding): Likewise.
967
968 2003-09-15  Vladimir Makarov  <vmakarov@redhat.com>
969
970         * haifa-sched.c (schedule_block): Use ready_remove_first instead
971         of choose_ready for non-dfa insn scheduling.
972
973 2003-09-15  Andreas Jaeger  <aj@suse.de>
974             Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
975
976         * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
977         * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
978         * c-parse.in: Warn about old-style parameter definition.
979         * c-common.c: Define warn_old_style_defintion.
980         * c-common.h: Declare it.
981         * c.opt: Add Wold-style-defintion.
982
983 2003-09-15  Andreas Jaeger  <aj@suse.de>
984
985         * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
986         * config/rs6000/rs6000.c: Likewise.
987
988 2003-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
989
990         PR optimization/10914
991         * expr.h (get_condition, canonicalize_condition): Declaration changed.
992         * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
993         and canonicalize_condition calls.
994         * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
995         delete_null_pointer_checks): Ditto.
996         * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
997         * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
998         * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
999         (canonicalize_condition, get_condition): Allow to return comparisons
1000         of cc mode registers.
1001         * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
1002         cc mode registers comparison in condition.
1003
1004 2003-09-12  Mark Mitchell  <mark@codesourcery.com>
1005
1006         * coverage.c (create_coverage): Do not call pushlevel/poplevel.
1007         * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
1008         function.
1009         * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
1010         
1011 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
1012
1013         * combine.c (simplify_comparison): Convert
1014         (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
1015         (eq (and (lshiftrt X Y) 1) 0).
1016
1017 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
1018
1019         * alias.c: Follow spelling conventions.
1020         * cpphash.h: Likewise.
1021         * fold-const.c: Likewise.
1022
1023 2003-09-14  Alexandre Oliva  <aoliva@redhat.com>
1024
1025         * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
1026         * c-lex.c (cb_line_change): Skip line changing whenever
1027         c-ppoutput.c would.
1028
1029 2003-09-14  Steven Bosscher  <steven@gcc.gnu.org>
1030
1031         * ra.c: Convert to ISO C90 prototypes.
1032         * ra-build.c: Likewise.
1033         * ra-colorize.c: Likewise.
1034         * ra-debug.c: Likewise.
1035         * ra-rewrite.c: Likewise.
1036
1037 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
1038
1039         * Makefile.in (%.dvi): Remove excess $(docdir).
1040
1041 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
1042
1043         * function.c (STACK_BYTES): Move definition to head of file.
1044         (assign_parms): Don't pass current_function_pretend_args_size
1045         directly to SETUP_INCOMING_VARARGS.  For partial register arguments,
1046         round current_function_pretend_args_size up to STACK_BYTES.  Skip any
1047         excess before laying out the argument.
1048
1049 2003-09-14  Andreas Jaeger  <aj@suse.de>
1050
1051         * objc/objc-act.c: Convert to ISO C90 prototypes.
1052         * objc/objc-act.h: Likewise.
1053
1054 2003-09-14  Olaf Hering  <olh@suse.de>
1055
1056         * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
1057
1058 2003-09-13  Andrew Pinski <pinskia@physics.uc.edu>
1059
1060         PR target/12021
1061         * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
1062         as they already are done in config/m68k/m68k.h.
1063         * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
1064
1065         * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
1066         (machopic_output_stub): Only generate pic base symbols when using pic
1067         and generate them in the form L00000000$spb.
1068
1069 2003-09-13  Richard Henderson  <rth@redhat.com>
1070
1071         * cgraphunit.c (cgraph_assemble_pending_functions): Export.
1072         (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
1073         * cgraph.h: Update.
1074
1075 2003-09-12  Dale Johannesen  <dalej@apple.com>
1076
1077         * config/rs6000/rs6000.c: Fix typos in previous.
1078
1079 2003-09-12  Ziemowit Laski  <zlaski@apple.com>
1080
1081         * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
1082         when allocating pp->buffer.
1083
1084 2003-09-12  Geoffrey Keating  <geoffk@apple.com>
1085
1086         * config/darwin.c (machopic_select_rtx_section): Use
1087         const_data_section for things that might require relocation.
1088
1089 2003-09-12  H.J. Lu  <hongjiu.lu@intel.com>
1090
1091         PR bootstrap/12264
1092         * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
1093
1094 2003-09-12  Bob Wilson  <bob.wilson@acm.org>
1095         
1096         * config/xtensa/elf.h (ASM_SPEC): Remove no-density option.  Reformat.
1097         * config/xtensa/linux.h (ASM_SPEC): Likewise.
1098         * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
1099         -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
1100         -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
1101         -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
1102         -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
1103         -m[no-]hard-float-rsqrt options.  Delete corresponding MASK_* macros
1104         and redefine corresponding TARGET_* macros with constants from the
1105         xtensa-config.h header.
1106         * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
1107         for the options listed above.
1108         
1109 2003-09-12  Dale Johannesen  <dalej@apple.com>
1110
1111         * config/rs6000/rs6000-protos.h:  Use C90 prototypes.
1112         * config/rs6000/rs6000-c.c:  Ditto. 
1113         * config/rs6000/rs6000.c:  Ditto.
1114         * config/rs6000/ sysv4.h:  Ditto.
1115
1116 2003-09-12  Chris Lattner <sabre@nondot.org>
1117
1118         * loop.c: Move comments describing BIV's and GIV's to top of file
1119
1120 2003-09-12  Roger Sayle  <roger@eyesopen.com>
1121
1122         PR optimization/8967
1123         * alias.c (write_dependence_p): Modify to take an additional constp
1124         argument that controls whether the UNCHANGING_RTX_P flags are used.
1125         (anti_dependence, output_dependence): Adjust write_dependence_p
1126         callers to pass this additional argument, to return the same result.
1127         (unchanging_anti_dependence): New variant of anti_dependence that
1128         ignores the UNCHANGING_RTX_P property on memory references.
1129         * rtl.h (unchaning_anti_dependence): Prototype here.
1130         * flow.c (init_propagate_block): Place fake constant mem writes on
1131         the mem_set_list so that dead writes to const variables are deleted.
1132         (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
1133         (mark_used_regs): Likewise.
1134
1135 2003-09-12  Richard Sandiford  <rsandifo@redhat.com>
1136
1137         * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
1138         (mcore_secondary_reload_class): Declare.
1139         (mcore_output_inline_const_forced): Remove.
1140         * config/mcore/mcore.md (movsi): Remove the code that forced
1141         non-inlineable constants into a register if the target was r15
1142         or the stack pointer.  Remove constant restrictions from the main
1143         define_insn.  Remove r <- I, r <- M and r <- N alternatives in favor
1144         of an r <- P alternative.  Remove fallback define_insn for reload.
1145         (movhi, movqi): Use gen_lowpart rather than gen_SUBREG.  Remove reload
1146         define_insn.  Use mcore_output_move in the remaining define_insn.
1147         Adjust condition and constraints in the way as for movsi.
1148         (movdi): Always split unacceptable constants into two.  Use
1149         simplify_gen_subreg instead of operand_subword{,_force}.
1150         * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
1151         (mcore_output_move): Support HImode and QImode moves as well.
1152         (mcore_m15_operand_p): New function.
1153         (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
1154         (mcore_secondary_reload_class): New function.
1155         * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
1156         terms of mcore_secondary_reload_class.
1157
1158 2003-09-11  Mike Stump  <mrs@apple.com>
1159
1160         * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
1161
1162 2003-09-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1163
1164         * builtins.c (fold_builtin_logarithm): if N can't be truncated to
1165         MODE exactly, then only convert logN(N) -> 1.0 if
1166         flag_unsafe_math_optimizations is set.
1167
1168         * builtins.c (builtin_dconsts_init, dconstpi, dconste,
1169         init_builtin_dconsts): Delete.
1170         * emit-rtl.c (dconstpi, dconste): Define.
1171         (init_emit_once): Initialize dconstpi & dconste.
1172         * real.h (dconstpi, dconste): Declare.
1173
1174 2003-09-11  Alexandre Oliva  <aoliva@redhat.com>
1175
1176         PR fortran/11522
1177         * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
1178         for ultimate origin even if block is abstract.
1179
1180 2003-09-11  Roger Sayle  <roger@eyesopen.com>
1181
1182         * combine.c (combine_simplify_rtx): Move several NOT and NEG
1183         optimizations from here...
1184         * simplify-rtx.c (simplify_unary_operation): to here.  Recursively
1185         simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
1186
1187 2003-09-11  Richard Henderson  <rth@redhat.com>
1188
1189         * cgraphunit.c (cgraph_finalize_function): Add nested arg.
1190         Tweek tests for function already generated.
1191         (cgraph_expand_function): Don't double announce in !unit-at-a-time.
1192         * cgraph.h (cgraph_finalize_function): Update for extra arg.
1193         * c-decl.c (finish_function): Likewise.
1194
1195 2003-09-10  Joe Buck  <jbuck@welsh-buck.org>
1196
1197         * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
1198
1199 2003-09-10  Jerry Quinn  <jlquinn@optonline.net>
1200
1201         * real.c: Update URL to VAX floating point docs.
1202         (decode_vax_d): Extract 8 exponent bits instead of 7.
1203
1204 2003-09-10  Ian Lance Taylor  <ian@wasabisystems.com>
1205
1206         * combine.c (force_to_mode): Set fuller_mask based only on mask,
1207         not op_mode.
1208
1209 2003-09-11  Jan Hubicka  <jh@suse.cz>
1210
1211         * c-objc-common.c (c_cannot_inline_tree_fn): Warn
1212         on why function is not inlinable; do not check
1213         the body.
1214         (inline_forbidden_p): Move to...
1215         * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
1216         deal with alloca, longjmp.
1217         (inline_forbidden_p): New static function.
1218         (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
1219         find_builtin_longjmp_call): Kill.
1220
1221 2003-09-10  Richard Henderson  <rth@redhat.com>
1222
1223         * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
1224         * cgraphunit.c: Update to match.
1225         (record_call_1): Rearrange.  Call lang hook for language nodes.
1226         (cgraph_analyze_function): Don't call lower_function.
1227         * langhooks.h (struct lang_hooks_for_callgraph): Replace 
1228         lower_function with analyze_expr.
1229         * langhooks-def.h: Update to match.
1230         * langhooks.c (lhd_callgraph_analyze_expr): New.
1231
1232 2003-09-10  Martin Husemann  <martin@duskware.de>
1233
1234         PR target/11965
1235         * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
1236         constants greater than 63.
1237         * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
1238         against constants greater than 31.
1239         (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
1240         constants greater than 63.
1241
1242 2003-09-09  Richard Henderson  <rth@redhat.com>
1243
1244         * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
1245         * cgraph.h (cgraph_finalize_function): Update.
1246         * c-decl.c (finish_function): Update.
1247
1248 2003-09-09  Devang Patel  <dpatel@apple.com>
1249
1250         * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
1251         * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
1252         
1253 2003-09-09  Eric Christopher  <echristo@redhat.com>
1254
1255         * configure.in: Change usage of 'head' to 'sed 1q'.
1256         * configure: Regenerate.
1257
1258 2003-09-09  Richard Henderson  <rth@redhat.com>
1259
1260         * except.c: Include cgraph.h.
1261         (output_function_exception_table): Invoke
1262         cgraph_varpool_mark_needed_node.
1263         * Makefile.in (except.o): Update.
1264
1265 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
1266
1267         * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
1268         and use it throughout.
1269
1270 2003-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1271
1272         * builtins.c (real_dconstp, fold_builtin_logarithm,
1273         fold_builtin_exponent): New, split out from fold_builtin.  Also
1274         generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
1275         * emit-rtl.c (dconst3, dconst10, dconstthird): New.
1276         (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
1277         of hardcoded array size.
1278         * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
1279         (tree_expr_nonnegative_p): Likewise.
1280         * real.h (dconst3, dconst10, dconstthird): New.
1281
1282 2003-09-09  Jan Hubicka  <jh@suse.cz>
1283
1284         * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
1285         inline functions.
1286         (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
1287         DECL_SAVED_TREE.
1288
1289 2003-09-09  Roger Sayle  <roger@eyesopen.com>
1290
1291         * builtins.c (fold_builtin_cabs): Protect the complex argument
1292         against multiple evaluation when optimizing cabs* into sqrt*.
1293
1294 2003-09-09  Jan Hubicka  <jh@suse.cz>
1295
1296         * varasm.c (notice_global_symbol):  Properly deal with weak symbols.
1297
1298 2003-09-08  Kelley Cook <kelleycook@wideopenwest.com>
1299
1300         * Makefile.in: Revert yesterday's change.
1301
1302 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
1303             Peter Barada <peter@baradas.org>
1304
1305         * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
1306         * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
1307         * config/m68k/linux.h (REGISTER_NAMES): Likewise.
1308         * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
1309         * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
1310         * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
1311         * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
1312         (m68k_compute_frame_layout): New function.
1313         (m68k_initial_elimination_offset): New function.
1314         (m68k_output_function_prologue): ColdFire-specific movem handling.
1315         (m68k_output_function_epilogue): Likewise.
1316         * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
1317         (ARG_POINTER_REGNUM): Add new definition.
1318         (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
1319         (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
1320         (CAN_ELIMINATE): Likewise.
1321         (INITIAL_ELIMINATION_OFFSET): Likewise.
1322
1323 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
1324
1325         * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
1326         by removing redundant variable cfa_store_offset.
1327
1328 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
1329
1330         * langhooks-def.h (lhd_register_builtin_type): New function.
1331         (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
1332         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
1333         * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
1334         * langhooks.c (lhd_register_builtin_type): New function.
1335         * c-common.h (c_register_builtin_type): Declare.
1336         * c-common.c (c_register_builtin_type): New function.
1337         * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
1338         c_register_builtin_type.
1339         * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
1340         __float80, and __float128 macros.
1341         * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
1342         __float80, and __float128 types.
1343
1344 2003-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1345
1346         * builtin-types.def
1347         (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
1348         BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
1349         BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
1350         * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
1351         BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
1352         BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
1353         BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
1354         BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
1355         BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
1356         BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
1357         BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
1358         BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
1359         BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
1360         BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
1361         BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
1362         BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
1363         BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
1364         New.
1365         * doc/extend.texi: Document new builtins.
1366
1367 2003-09-09  Jan Hubicka  <jh@suse.cz>
1368
1369         * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
1370         finalization.
1371         * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
1372         functions, check for COMDAT.
1373         (cgraph_assemble_pending_functions): Break out from...
1374         (cgraph_finalize_function): ... here; allow redefinig of extern inline
1375         functions.
1376         (record_call_1): Record function references only in non-unit-at-a-time
1377         mode.
1378         (cgraph_analyze_function): Reset current_function_decl.
1379         (cgraph_finalize_compilation_unit):  Assemble pending functions.
1380
1381 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
1382
1383         * mklibgcc.in (libcc.a): Depend on stmp-dirs.
1384         (libgov.a): Likewise.
1385         (libgcc_eh.a): Likewise.
1386
1387 2003-09-08  Roger Sayle  <roger@eyesopen.com>
1388
1389         * fold-const.c (operand_equal_p): Clarify documentation.
1390
1391 2003-09-08  Richard Henderson  <rth@redhat.com>
1392
1393         * c-decl.c (c_expand_body_1): Push and pop function context here.
1394         * tree-optimize.c (tree_rest_of_compilation): ... not here.  Take
1395         nested argument instead of computing nesting ourselves.
1396
1397 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
1398
1399         * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
1400         regstack if optimizing but not scheduling after reload.
1401
1402 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
1403
1404         * config/sparc/sparc.c (struct machine_function): New type.
1405         (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
1406         (sparc_override_options): Initialize init_machine_status.
1407         (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
1408         tie_symbolic_operand, tle_symbolic_operand): New functions.
1409         (symbolic_operand): Disallow tls_symbolic_operand.
1410         (symbolic_memory_operand): Likewise.
1411         (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
1412         constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
1413         New functions.
1414         (sparc_tls_symbol): New variable.
1415         (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
1416         legitimize_address): New functions.
1417         (print_operand): Handle %&.
1418         (sparc_init_machine_status, get_some_local_dynamic_name,
1419         get_some_local_dynamic_name_1): New functions.
1420         (sparc_output_dwarf_dtprel): New function.
1421         * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
1422         constant_address_p.
1423         (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
1424         (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
1425         (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
1426         (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
1427         (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
1428         (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
1429         (ASM_OUTPUT_DWARF_DTPREL): Define.
1430         (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
1431         tie_symbolic_operand, tle_symbolic_operand.
1432         * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
1433         UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
1434         (tls_call_delay): New attribute.
1435         (in_call_delay): Use it.
1436         (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
1437         (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
1438         tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
1439         tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
1440         tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
1441         tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
1442         (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
1443         tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
1444         tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
1445         tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
1446         tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
1447         tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
1448         tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
1449         tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
1450         insns.
1451         * config/sparc/sparc-protos.h (legitimate_constant_p,
1452         constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
1453         legitimize_tls_address, legitimize_address, tls_symbolic_operand,
1454         tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
1455         * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
1456         * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
1457         * configure.in (sparc*-*-*): Add TLS check.
1458         * configure: Rebuilt.
1459
1460 2003-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
1461
1462         PR target/11689
1463         * config/i386/i386.c (memory_address_length): Fix computation when
1464         the base is esp or ebp.
1465
1466 2003-09-07  Mark Mitchell  <mark@codesourcery.com>
1467
1468         PR c++/11852
1469         * varasm.c (initializer_constant_valid_p): Correct logic for
1470         CONSTRUCTORs.
1471
1472 2003-09-07  Roger Sayle  <roger@eyesopen.com>
1473
1474         * expr.c (expand_operands): New function to expand an operand pair.
1475         (expand_expr): Call expand_operands whenever we need to expand both
1476         operands of a binary operator.
1477         (do_store_flag): Likewise for operands of comparison operations.
1478
1479 2003-09-07  Roger Sayle  <roger@eyesopen.com>
1480
1481         * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
1482         (-A)*B if we care about sign-dependent rounding.
1483
1484 2003-09-07  Gabriel Dos Reis  <gcc@integrable-solutions.net>
1485
1486         * c-pretty-print.h (pp_c_left_brace): Declare.
1487         (pp_c_right_brace): Likewise.
1488         * c-pretty-print.c (pp_c_left_brace): Now a function
1489         (pp_c_right_brace): Likewise.
1490
1491 2003-09-07  Jan Hubicka  <jh@suse.cz>
1492
1493         * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
1494
1495 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1496
1497         * diagnostic.c (warn_deprecated_use): Move to toplev.c
1498
1499 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1500
1501         * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
1502         * Makefile.in (langhooks.o): Depend on diagnostic.h
1503
1504 2003-09-06  James E Wilson  <wilson@tuliptree.org>
1505
1506         * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
1507         simplify.
1508
1509 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
1510
1511         * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
1512         and use it throughout.
1513
1514 2003-09-07  Jan Hubicka  <jh@suse.cz>
1515
1516         * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
1517
1518         * toplev.c  (rest_of_decl_compilation):  Do not finalize external
1519         virables.
1520
1521         * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
1522         functions.
1523         (cgraph_varpool_finalize_decl): Notice global symbol when needed.
1524
1525 2003-09-06  Jan Hubicka  <jh@suse.cz>
1526
1527         PR target/12070
1528         * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
1529
1530         PR opt/12082
1531         * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
1532
1533 2003-09-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1534
1535         * diagnostic.c (announce_function): Move to toplev.c.
1536
1537 2003-09-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1538
1539         * gcse.c (expr_equiv_p): Don't consider anything to be equal to
1540         volatile mem.
1541
1542 2003-09-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1543
1544         * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
1545         when gc checking is enabled.
1546
1547 2003-09-06  Steven Bosscher  <steven@gcc.gnu.org>
1548
1549         PR c/9862
1550         * c-decl.c (c_expand_body_1): Move return warning from here...
1551         (finish_function): ...to here.
1552
1553 2003-09-05  Geoffrey Keating  <geoffk@apple.com>
1554
1555         * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
1556         a subset of the input class.
1557
1558 2003-09-05  Kazu Hirata  <kazu@cs.umass.edu>
1559
1560         * config/i860/i860.c: Follow spelling conventions.
1561         * config/i860/i860.h: Likewise.
1562         * config/sh/sh.h: Likewise.
1563
1564 2003-09-05  Nitin Yewale  <NitinY@KPITCummins.com>
1565
1566         * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
1567         * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
1568         * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
1569
1570 2003-09-05  Roger Sayle  <roger@eyesopen.com>
1571             Richard Henderson  <rth@redhat.com>
1572
1573         PR optimization/1823
1574         * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
1575         multiplication to implement division by constant integer.
1576
1577 2003-09-05  Jan Hubicka  <jh@suse.cz>
1578
1579         * opts.c (decode_options): Enable unit-at-a-time at -O2.
1580         * params.def (max-inline-insns-single): Set to 500
1581         (max-inline-insns-auto): Set to 150
1582         * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
1583
1584 2003-09-04  Richard Henderson  <rth@redhat.com>
1585
1586         * cgraph.c (cgraph_mark_reachable_node): Split out from ...
1587         (cgraph_mark_needed_node): Remove needed argument.
1588         * cgraph.h: Update to match.
1589         * cgraphunit.c (decide_is_function_needed): Split out from ...
1590         (cgraph_finalize_function): Reorg.  Avoid deferred_inline_function
1591         if we generated the function.
1592         (record_call_1): Update for cgraph_mark_reachable_node.
1593         * varasm.c (mark_referenced): Likewise.
1594         * objc/objc-act.c (mark_referenced_methods): Likewise.
1595
1596 2003-09-04  DJ Delorie  <dj@redhat.com>
1597
1598         * targhooks.c: Add comment explaining the migration process.
1599
1600 2003-09-04  Eric Christopher  <echristo@redhat.com>
1601
1602         * config/frv/t-frv: Fix path for frv-abi.h.
1603         * config/frv/frv-asm.h: Fix string concatenation.
1604
1605 2003-09-04  DJ Delorie  <dj@redhat.com>
1606
1607         * builtins.c (apply_args_size): Guard against a NULL cfun.
1608         (expand_builtin_apply_args_1): Likewise.
1609         (expand_builtin_apply): Likewise.
1610         Fixes PR bootstrap/12172.
1611
1612 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1613
1614         * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
1615         assembler supports Sun syntax for cmov.
1616         * configure: Regenerate.
1617         * config.in: Likewise.
1618         * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
1619         HAVE_AS_IX86_CMOV_SUN_SYNTAX.
1620         * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
1621         Fixes PR target/12101.
1622
1623 2003-09-04  Matt Austern  <austern@apple.com>
1624
1625         * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
1626         with verbosity 0, instead of DECL_NAME, for human-readable string.
1627
1628 2003-09-04  Eric Christopher  <echristo@redhat.com>
1629
1630         * targhooks.c (default_return_in_memory): Allow
1631         unconverted ports.
1632
1633 2003-09-04  Eric Christopher  <echristo@redhat.com>
1634
1635         * targhooks.c (default_return_in_memory): Fix typo
1636         in last checkin.
1637
1638 2003-09-04  Eric Christopher  <echristo@redhat.com>
1639
1640         * targhooks.c (default_return_in_memory): Fix default
1641         definition.
1642
1643 2003-09-04  Bernardo Innocenti  <bernie@develer.com>
1644
1645         * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
1646         deleted function.
1647         * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
1648         enable coff-only code in m68k.c.
1649
1650 2003-09-04  Nick Clifton  <nickc@redhat.com>
1651
1652         * config.gcc: Add v850e1 target.  Allow --with-cpu to accept
1653         v850e1.
1654         * config/v850/v850.h: Accept v850e1 as a default CPU.
1655         Accept -mv850e1 as a command line option.
1656         * doc/invoke.texi: Document new -mv850e1 command line switch.
1657         * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
1658         -mv850e.
1659
1660 2003-09-04  Nick Clifton  <nickc@redhat.com>
1661
1662         * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
1663         * config/v850/t-v850: Only produce one extra multilib - for
1664         the v850e.
1665         * config/v850/t-v850e: New file: Only produce one extra
1666         multilib - for the v850.
1667
1668 2003-09-04  Jakub Jelinek  <jakub@redhat.com>
1669
1670         * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
1671         * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
1672         * unwind.h (_Unwind_GetBSP): New prototype.
1673         * libgcc-std.ver: Add empty GCC_3.3.2 version.
1674         * mkmap-symver.awk: For symbol versions with no exported symbols,
1675         don't put anything into version script, just change all symbol
1676         versions which inherit from it to inherit from its ancestor.
1677
1678 2003-09-04  Eric Christopher  <echristo@redhat.com>
1679
1680         * config/mips/mips.c (mips_expand_prologue): Convert to
1681         calls.struct_value_rtx hook.
1682         (reg_or_const_float_1_operand): New.
1683         * config/mips/mips.h: Update Comments.
1684         (mips_arg): Add reg_or_const_float_1_operand.
1685         * config/mips/mips.md (divdf3); Convert to expander.
1686         (divsf3): Ditto.
1687         (*divdf3): New pattern.
1688         (*divsf3): Ditto.
1689
1690 2003-09-04  Jan Hubicka  <jh@suse.cz>
1691
1692         * toplev.c (wrapup_global_declarations): Fix final pass in
1693         unit-at-atime mode.
1694
1695 2003-09-04  Mark Mitchell  <mark@codesourcery.com>
1696
1697         * doc/extend.texi: Document removal of cast-as-lvalue extension in
1698         C++.
1699
1700 2003-09-04  Nicolas Roche  <roche@act-europe.fr>
1701
1702         * gcc.c (process_command): Fix typo.
1703
1704 2003-09-03  David O'Brien  <obrien@FreeBSD.org>
1705
1706         optimization/11980
1707         * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
1708         (PTRDIFF_TYPE): Likewise.
1709         (WCHAR_TYPE_SIZE): Likewise.
1710
1711 2003-09-03  DJ Delorie  <dj@redhat.com>
1712
1713         * targhooks.c: New file.
1714         * targhooks.h: New file.
1715         * Makefile.in: Add targhooks.o support.
1716         (function.o): Depend on$(TARGET_H).
1717         (stmt.o): Likewise.
1718         (combine.o): Depend on $(TREE_H) and $(TARGET_H).
1719         * builtins.c (apply_args_size, expand_builtin_apply_args_1,
1720         expand_builtin_apply): Convert to calls.struct_value_rtx hook.
1721         (expand_builtin_saveregs): Convert to
1722         calls.expand_builtin_saveregs hook.
1723         * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
1724         here, instead of ...
1725         (get_parm_info) ... here.
1726         (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
1727         hook.
1728         (finish_function): Handle calls.promote_prototypes hook here too.
1729         * c-typeck.c (convert_arguments): Convert to
1730         calls.promote_prototypes hook.
1731         (c_convert_parm_for_inlining): Likewise.
1732         * calls.c (initialize_argument_information): Convert to
1733         calls.promote_function_args hook.
1734         (expand_call): Convert to calls.struct_value_rtx,
1735         calls.strict_argument_naming,
1736         calls.pretend_outgoing_varargs_named, and
1737         calls.promote_function_return hooks.  Pass fndecl to
1738         aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
1739         hooks, so they can use that.
1740         (emit_library_call_value_1): Likewise.
1741         * combine.c (setup_incoming_promotions): Convert to
1742         calls.promote_function_args hook.
1743         * emit-rtl.c: Convert to calls.struct_value_rtx hook.
1744         * expr.c (expand_assignment): Pass call to aggregate_value_p.
1745         (expand_expr): Likewise.
1746         * expr.h: Remove support for SETUP_INCOMING_VARARGS,
1747         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
1748         RETURN_IN_MEMORY macro defaults.
1749         * final.c (profile_function): Convert to calls.struct_value_rtx
1750         hook.
1751         * function.c (aggregate_value_p): Accept function type tree as
1752         second parameter; try to deduce fntype from it.  Convert to
1753         calls.return_in_memory hook.
1754         (assign_parms): Convert to calls.setup_incoming_varargs,
1755         calls.strict_argument_naming, calls.promote_function_args,
1756         calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
1757         aggregate_value_p.
1758         (expand_function_start): Likewise.  Convert to
1759         calls.struct_value_rtx hook.
1760         (expand_function_end): Convert to calls.promote_function_return hook.
1761         (allocate_struct_function): Pass fndecl to aggregate_value_p.
1762         * hard-reg-set.h: Update comments to new hook names.
1763         * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
1764         * reg-stack.c (stack_result): Likewise.
1765         * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
1766         * stmt.c (expand_value_return): Convert to
1767         calls.promote_function_return hook.
1768         * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
1769         TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
1770         TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
1771         TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
1772         TARGET_STRICT_ARGUMENT_NAMING,
1773         TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
1774         * target.h: Likewise.
1775         * tree.h (aggregate_value_p): Also takes a tree to deduce function
1776         attributes from (for target hooks).
1777         * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
1778         PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
1779         STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
1780         EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
1781         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
1782         to hooks.
1783
1784         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
1785         to aggregate_value_p.
1786         * config/arm/arm.c (arm_init_cumulative_args,
1787         arm_output_mi_thunk): Likewise.
1788         * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
1789         Likewise.
1790         * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
1791         mips_can_use_return_insn): Likewise.
1792         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
1793         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
1794         * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
1795         aggregate_value_p.
1796         * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
1797         function to aggregate_value_p.
1798         * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
1799         aggregate_value_p.
1800
1801         * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
1802         (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
1803         sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
1804         (sh_handle_renesas_attribute, sh_promote_prototypes,
1805         sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
1806         sh_setup_incoming_varargs, sh_strict_argument_naming,
1807         sh_pretend_outgoing_varargs_named): New decls.
1808         (targetm): Add new hooks.
1809         (calc_live_regs): Save MACL and MACH if the function has the
1810         renesas attribute.
1811         (sh_expand_prologue): Support renesas attribute.
1812         (sh_builtin_saveregs): Make static.
1813         (sh_build_va_list): Support renesas attribute.
1814         (sh_va_start): Likewise.
1815         (sh_va_arg): Likewise.
1816         (sh_promote_prototypes): New.
1817         (sh_function_arg): New, moved from sh.h.  Support renesas
1818         attribute.
1819         (sh_function_arg_advance): Likewise.
1820         (sh_return_in_memory): Likewise.
1821         (sh_strict_argument_naming): Likewise.
1822         (sh_pretend_outgoing_varargs_named): Likewise.
1823         (sh_struct_value_rtx): New.
1824         (sh_attribute): Add renesas attribute.
1825         (sh_handle_renesas_attribute): New.
1826         (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
1827         (sh_ms_bitfield_layout_p): Support renesas attribute also.
1828         (sh_output_mi_thunk): Pass function to aggregate_value_p.  *
1829         config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
1830         -mhitachi.
1831         (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
1832         target hooks.
1833         (sh_args): Add renesas_abi flag.
1834         (INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
1835         (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
1836         (PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
1837         stack for the renesas abi.
1838         (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
1839         SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
1840         PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
1841         call cookie to indicate renesas calls.
1842
1843 2003-09-03  Mostafa Hagog  <mustafa@il.ibm.com>
1844
1845         * gcse.c (replace_one_set): New function.
1846         (pre_insert_copy_insn): Change the order of copying
1847         to make copy propagation discover additional PRE opportunities.
1848
1849 2003-09-03  Roger Sayle  <roger@eyesopen.com>
1850
1851         PR optimization/11700.
1852         * simplify-rtx.c (simplify_subreg): Check that the subreg offset
1853         of a hard register is representable before trying to simplify it
1854         using subreg_hard_regno.
1855
1856 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1857
1858         * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
1859         * configure: Regenerate.
1860
1861 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1862
1863         * intl.h (N_): Remove parentheses.
1864
1865 2003-09-03  Bernardo Innocenti  <bernie@develer.com>
1866
1867         * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
1868         * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
1869         definition and code blocks compiled when not defined.
1870         * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
1871         * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
1872         * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
1873         * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
1874
1875 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
1876
1877         * cgraphunit.c (visited_nodes): New static variable.
1878         (record_call_1): Use walk_tree with visited_nodes.
1879         (cgraph_create_edges): Use walk_tree with visited_nodes.
1880         Setup/teardown visited_nodes hashtable.
1881
1882 2003-09-03  Roger Sayle  <roger@eyesopen.com>
1883
1884         * toplev.c (flag_rounding_math): New global variable.
1885         (f_options): Add to the list of language independent options.
1886         * flags.h (flag_rounding_math): Prototype here.
1887         (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
1888         * common.opt (frounding-math): New common command line option.
1889         * opts.c (common_handle_option): Handle OPT_frounding_math.
1890         (set_fast_math_flags): -ffast-math clears flag_rounding_math.
1891
1892         * doc/invoke.texi: Document this new command line option.
1893
1894 2003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1895
1896         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
1897
1898 2003-09-03  Jan Hubicka  <jh@suse.cz>
1899
1900         * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
1901         * c-decl.c (finish_function):  Kill arguments, always use cgraph path.
1902         * c-objc-common.c: Kill include of gt-c-objc-common.h
1903         (expand_deferred_fns, deffer_fn): Kill function.
1904         (deferred_fns): Kill variable.
1905         (finish_cdtor): Update finish_function call.
1906         (c_objc_common_finish_file): Always call cgraph code.
1907         * c-parse.c: Regenerate.
1908         * c-parse.y: Regenerate.
1909         * c-tree.h (finish_function): Update prototype.
1910         * objc-acct.c (build_module_descriptor, finish_method_def):
1911         Update call of finish_function.
1912         * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
1913         forward prototype.
1914         (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
1915         function and assemble it if needed.
1916         (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
1917         mode.
1918         (cgraph_optimize): Likewise.
1919         (cgraph_expand_function): In non-unit-at-a-time mode keep function body
1920         even when it has no inline callees.
1921         * c-parse.in: Update calls to finish_function.
1922
1923 2003-09-03  Nick Clifton  <nickc@redhat.com>
1924
1925         * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
1926         Use #error to generate the message if TARGET_DEFAULT is not
1927         recognised.
1928
1929 2003-09-03  Richard Sandiford  <rsandifo@redhat.com>
1930
1931         * config/mips/mips.h (MASK_UNUSED1): Remove.
1932         (MASK_XGOT, TARGET_XGOT): Define.
1933         (TARGET_SWITCHES): Add an entry for -mxgot.
1934         (ASM_SPEC): Map -mxgot to -xgot.
1935         * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
1936         whether we're using a big-GOT sequences.
1937         (mips_legitimize_const_move, mips_expand_call): Likewise.
1938         (override_options): Revert 2003-01-09 change.
1939         * doc/invoke.texi: Document -mxgot.
1940
1941 2003-09-02  Jason Merrill  <jason@redhat.com>
1942
1943         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
1944         * config/sparc/sol2.h: Not here.
1945
1946 2003-09-02  Roger Sayle  <roger@eyesopen.com>
1947
1948         * expr.c (expand_expr): The code following both_summands performs
1949         the same task as simplify_gen_binary.  Replace all gotos to
1950         both_summands with a call to simplify_gen_binary and delete the
1951         now unused label.
1952
1953 2003-09-02  Jason Merrill  <jason@redhat.com>
1954
1955         PR c++/7327
1956         * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
1957
1958 2003-09-02  Jeff Sturm  <jsturm@one-point.com>
1959
1960         * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
1961         (cgraph_optimize_function): Set current_function_decl to the
1962         fndecl we're integrating from.
1963
1964 2003-09-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1965
1966         * builtins.def: Break out _Complex math functions into their
1967         own category.
1968
1969 2003-09-02  Andreas Jaeger  <aj@suse.de>
1970
1971         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
1972
1973 2003-09-02  Josef Zlomek  <zlomekj@suse.cz>
1974
1975         * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
1976         finding the note again.
1977
1978 2003-09-02  Nathanael Nerode  <neroden@gcc.gnu.org>
1979
1980         * config.gcc: Remove host-specific rewrites of target_alias.
1981
1982 2003-09-01  Mark Mitchell  <mark@codesourcery.com>
1983
1984         * Makefile.in (genprogs): Fix typo.
1985
1986         * Makefile.in (gencheck.o): Remove build commands.
1987         (dummy-conditions.o): Likewise.
1988         (read-rtl.o): Likewise.
1989         (gensupport.o): Likewise.
1990         (genconfig$(build_exeext)): Remove rule.
1991         (genconfig.o): Remove build commands.
1992         (genflags$(build_exeext)): Remove rule.
1993         (genflags.o): Remove build commands.
1994         (gencodes$(build_exeext)): Remove rule.
1995         (gencodes.o): Remove build commands.
1996         (genconstants.o): Remove build commands.
1997         (genemit$(build_exeext)): Remove rule.
1998         (genemit.o): Remove build commands.
1999         (genrecog$(build_exeext)): Remove rule.
2000         (genrecog.o): Remove build commands.
2001         (genextract$(build_exeext)): Remove rule.
2002         (genextract.o): Remove build commands.
2003         (genpeep$(build_exeext)): Remove rule.
2004         (genpeep.o): Remove build commands.
2005         (genattr$(build_exeext)): Remove rule.
2006         (genattr.o): Remove build commands.
2007         (genprognames): New variable.
2008         (genprogs): Likewise.
2009         (genobjs): Likewise.
2010         (genprogs): New rule.
2011         (genobjs): Likewise.
2012         (genattrtab.o): Remove build commands.
2013         (genautomata.o): Likewise.
2014         (genoutput$(build_exeext)): Remove rule.
2015         (genoutput.o): Remove build commands.
2016         (gengenrtl.o): Likewise.
2017         (genpreds.o): Likewise.
2018         (gengtype.o): Likewise.
2019         (genconditions.o): Likewise.
2020         (gen-protos.o): Likewise.
2021         (scan.o): Likewise.
2022         (fix-header.o): Likewise.
2023         (scan-decls.o): Likewise.
2024         (check-g++): Combine with other check targets.
2025         (check-gcc): Likewise.
2026         (check-g77): Likewise.
2027         (check-objc): Likewise.
2028
2029 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
2030
2031         * config.gcc: Remove host-specific stuff which is unused here
2032         since the introduction of config.host.
2033
2034         * doc/fragments.texi: Mention config.host.
2035         * doc/sourcebuild.texi: Mention config.host.  Give brief descriptions
2036         of config.build, config.host, and config.gcc.
2037
2038 2003-09-01  Zack Weinberg  <zack@codesourcery.com>
2039
2040         * c-decl.c (pushdecl): Don't put variables on
2041         C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
2042         incomplete.
2043
2044 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
2045
2046         * config.host: New file.
2047         * config.gcc: Remove some host-specific stuff and some
2048         logic needed only for repeated invocation.
2049         * configure.in: Use config.host.
2050         * configure: Regenerate.
2051
2052 2003-09-01  Josef Zlomek  <zlomekj@suse.cz>
2053
2054         * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
2055         * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
2056         * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
2057         (fold): Kill BIT_ANDTC_EXPR and label bit_and.
2058         * tree.def (BIT_ANDTC_EXPR): Kill.
2059
2060 2003-08-31  Nathanael Nerode  <neroden@gcc.gnu.org>
2061
2062         * configure.in: Remove uses of "for x in .. ${foo}" idiom.
2063         * configure: Regenerate.
2064
2065         * config.gcc:  Remove references to install_headers_dir, now unused
2066         since introduction of config.build.
2067         * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
2068
2069         * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
2070         config.build.
2071
2072         * config.build: New file.
2073         * config.gcc: Remove some build-specific stuff.
2074         * configure.in: Use config.build.
2075         * configure: Regnerate.
2076
2077 2003-08-31  Steven Bosscher  <steven@gcc.gnu.org>
2078             Roger Sayle  <roger@eyesopen.com>
2079
2080         PR middle-end/11823
2081         * stmt.c (expand_end_case_type): Only use jump tables for dense
2082         switch statements when optimizing for size.
2083
2084 2003-08-31  Olivier Hainque  <hainque@act-europe.fr>
2085
2086         * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
2087         the != 0 case, which ensures pending stack adjustments are flushed.
2088
2089 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
2090
2091         * configure.frag: Delete file.
2092         * configure.in: Rename the substitution variables
2093         dep_host_xmake_file and dep_tmake_file to xmake_file and
2094         tmake_file respectively.  Do not expand $srcdir in the
2095         value of these; leave that for Make.  Introduce a new
2096         substitution varaible, all_lang_makefrags, which lists
2097         subdirectory Make-lang.in files; exclude these from
2098         all_lang_makefiles, which is now only for subdirectory
2099         outputs.  Do not invoke configure.frag.  Do not set nor
2100         AC_SUBST_FILE target_overrides, host_overrides, or
2101         language_fragments. Create build subdirectories in
2102         config.status extra commands.
2103         * configure: Regenerate.
2104         * Makefile.in: Update substitutions to match changes to
2105         configure.  Use include directives instead of @-insertions
2106         to read in host, target, and language fragments.
2107         (Makefile rule): Do not invoke configure.frag.  Do not copy
2108         config.status to config.run before executing it.  Set
2109         CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
2110         regenerated.
2111         (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
2112
2113 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
2114
2115         * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
2116         * c-typeck.c (same_translation_unit_p): New function.
2117         (comptypes): Use it instead of flags parameter to identify
2118         structure types from different translation units.
2119         * c-decl.c (duplicate_decls): Always call comptypes with
2120         COMPTYPE_STRICT flags argument.
2121         (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
2122         to file_scope_decl.
2123
2124 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
2125
2126         * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
2127         * c-decl.c (struct c_scope): Remove "incomplete" field.
2128         (pushdecl): Attach variables with incomplete types to
2129         the TYPE_MAIN_VARIANT of the incomplete type in question.
2130         (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
2131         to complete, not at current_scope->incomplete.  All such
2132         variables do need completion.
2133
2134 2003-08-30  Richard Earnshaw  <rearnsha@arm.com>
2135         Nicolas Pitre <nico@cam.org>
2136
2137         * arm/lib1funcs.asm (RETCOND): Delete.
2138         (RETLDM): New assembler macro.  Use it for returning with ldm/ldr.
2139         (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
2140         (__ARM_ARCH__): Move here from ieee754-?f.S.
2141         (RET, RETc): Clean up definitions.
2142         (DIV_FUNC_END): Renamed from FUNC_END.  All uses changed.
2143         (FUNC_END): New macro that marks the end of any function.
2144         (ARM_FUNC_START): New macro that allows an assembler routine to be
2145         implemented in ARM code even if a Thumb-only build.
2146         Unconditionally include ieee754-?f.S.
2147         * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
2148         Mark ends of functions.
2149         Split into separate conditionally-compiled units.
2150         Use RETLDM to return from routines.
2151         * arm/ieee754-sf.S: Similarly.
2152         * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
2153         Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
2154         _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
2155         _fixsfsi and _fixunssfsi.
2156
2157         * arm/ieee754-df.S (__muldf3): Fix bug when result of a
2158         multiplication underflows to zero.
2159         (__adddf3): Fix bug when using VFP ordering on little-endian
2160         processors.
2161         (__fixdfsi): Use rrx to extract the carry into a register instead of
2162         MRS instruction.  Optimize later use of result.
2163         * arm/ieee754-sf.S (__fixsfsi): Likewise.
2164         (__fixunssfsi): Use a better sequence for handling negative-or-zero.
2165
2166 2003-08-29  Richard Henderson  <rth@redhat.com>
2167
2168         * tree-optimize.c: New file.
2169         * Makefile.in (OBJS-archive): Add tree-optimize.o.
2170         (tree-optimize.o): New.
2171         * c-decl.c (store_parm_decls): Use allocate_struct_function.
2172         (finish_function): Don't free_after_parsing or free_after_compilation.
2173         (set_save_expr_context): Move to tree-optimize.c.
2174         (c_expand_body_1): Use tree_rest_of_compilation.
2175         * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
2176         * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
2177         * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
2178         iterate until closure.
2179         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
2180         LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
2181         (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
2182         * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
2183         * toplev.h (tree_rest_of_compilation): Declare it.
2184
2185 2003-08-29  Richard Henderson  <rth@redhat.com>
2186
2187         * function.h (struct function): Add rtl_inline_init, saved_for_inline.
2188         * integrate.c (save_for_inline): Set saved_for_inline.
2189         * c-semantics.c (genrtl_scope_stmt): Check it.
2190         * toplev.c (wrapup_global_declarations): Check it.
2191         (rest_of_handle_inlining): Set and check rtl_inline_init.
2192         (rest_of_compilation): Remove out of date comment.
2193
2194 2003-08-29  Richard Henderson  <rth@redhat.com>
2195
2196         * function.c (allocate_struct_function): New, split out of ...
2197         (prepare_function_start, init_function_start): ... here.
2198         * expr.c (init_expr): Use ggc_alloc_cleared.
2199         * stmt.c (init_stmt_for_function): Likewise.
2200         * tree.h (allocate_struct_function): Declare.
2201
2202 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
2203
2204         * config.gcc: Don't use negated character class in shell case
2205         clause.
2206
2207 2003-08-29  Richard Henderson  <rth@redhat.com>
2208
2209         * function.h (struct function): Move function_frequency and
2210         max_jumptable_ents before start of bit field members.
2211
2212 2003-08-29  Richard Henderson  <rth@redhat.com>
2213
2214         * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
2215         (fold_builtin_constant_p) ... not here.
2216
2217 2003-08-29  Richard Henderson  <rth@redhat.com>
2218
2219         * c-tree.h (C_DECL_FILE_SCOPE): Move ...
2220         * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
2221         * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
2222
2223 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2224
2225         * builtins.def: Fix typos.
2226         (ATTR_MATHFN_FPROUNDING_STORE): New macro.
2227         (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
2228         BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
2229         BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
2230         BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
2231
2232         * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
2233         Use ATTR_MATHFN_FPROUNDING_ERRNO.
2234
2235 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
2236
2237         * config.gcc (i386-*-vsta): Fix obvious bogosity.
2238
2239         * fixinc/inclhack.def:  Remove special cases for unsupported
2240         PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
2241         * fixinc/fixincl.x: Regenerate.
2242
2243 2003-08-29  Mark Mitchell  <mark@codesourcery.com>
2244
2245         * Makefile.in (cpp.info): Just state dependencies.
2246         (gcc.info): Likewise.
2247         (gccint.info): Likewise.
2248         (gccinstall.info): Likewise.
2249         (cppinternals.info): Likewise.
2250         (cpp.dvi): Likewise.
2251         (gcc.dvi): Likewise.
2252         (gccint.dvi): Likewise.
2253         (gccinstall.dvi): Likewise.
2254         (cppinternals.dvi): Likewise.
2255         (gcov.1): Likewise.
2256         (cpp.1): Likewise.
2257         (gcc.1): Likewise.
2258         (gfdl.7): Likewise.
2259         (gpl.7): Likewise.
2260         (fsf-funding.7): Likewise.
2261         ($(objdir)/%.info): New pattern rule.
2262         (%.dvi): Likewise.
2263
2264 2003-08-29  Kelley Cook  <kelleycook@wideopenwest.com>
2265
2266         * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
2267         (restage2): Likewise.
2268         (restage3): Likewise.
2269         (restage4): Likewise.
2270         (restageprofile): Likewise.
2271         (restagefeedback): Likewise.
2272         (bubblestrap): Likewise.
2273
2274 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
2275
2276         * config.gcc: Narrow unsupported target match to avoid clobbering
2277         i?86-sequent-sysv4*.
2278
2279 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2280
2281         * builtins.c (mathfn_built_in): Handle new math builtins.
2282
2283 2003-08-28  Per Bothner  <per@bothner.com>
2284
2285         Fix (hopefully temporary) for breakage caused by my 08-21 patch.
2286         * cpplex.c (_cpp_get_fresh_line):  Check for null buffer.
2287         (_cpp_lex_buffer):  Likewise.
2288         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
2289
2290 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
2291
2292         * config/s390/s390.md ("*mulsi3_sign"): New insn.
2293         ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
2294         ("mulsidi3"): ... this new insn.
2295         ("umulsidi3"): New insn.
2296         ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
2297         mixed-mode matching constraints.
2298         ("udivmodsi4", "udivmoddisi3"): New insns.
2299         ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
2300
2301 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2302
2303         * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
2304         BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
2305         BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
2306         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
2307         BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
2308         BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
2309         BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
2310         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
2311         BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
2312         BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
2313         BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
2314         * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
2315         BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
2316         BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
2317         BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
2318         * tree.c: Assign new type_nodes.
2319         * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
2320         TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
2321         (float_ptr_type_node, double_ptr_type_node,
2322         long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
2323
2324         * doc/extend.texi: Document new builtins.
2325
2326 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2327
2328         * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
2329         BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
2330
2331         * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
2332         BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
2333         BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
2334         BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
2335         BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
2336         BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
2337         BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
2338         BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
2339         BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
2340         BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
2341
2342         * doc/extend.texi: Document new builtins.
2343
2344 2003-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
2345
2346         * fixinc/mkfixinc.sh: Remove special case code for unsupported
2347         variants of i?86, powerpcle, and thumb.
2348         * fixinc/mkfixinc.sh: Remove special case code for unsupported
2349         arm and hppa variants.
2350
2351 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2352
2353         * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
2354         BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
2355         BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
2356         BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
2357         BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
2358         BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
2359         BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
2360         BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
2361         BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
2362         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
2363
2364         * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
2365         BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
2366         BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
2367         BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
2368         BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
2369         BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
2370         BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
2371         BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
2372         BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
2373         BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
2374         BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
2375         BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
2376         BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
2377         BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
2378         BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
2379         BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
2380         BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
2381         BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
2382         BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
2383         BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
2384         BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
2385         BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
2386         BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
2387         BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
2388         BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
2389         BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
2390         BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
2391         BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
2392         BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
2393         BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
2394         BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
2395
2396         * doc/extend.texi: Document new builtins.
2397
2398 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
2399
2400         * config/s390/s390.c (legitmate_constant_p): Use LARL on
2401         zSeries machines even in 31-bit addressing mode.
2402         (legitimate_reload_constant_p): Likewise.
2403         (legitimize_pic_address): Likewise.
2404         (legitimize_tls_address): Likewise.
2405         (s390_split_branches): Likewise.
2406         (s390_dump_pool): Likewise.
2407         (s390_mainpool_finish): Likewise.
2408         (s390_chunkify_start): Likewise.
2409         (s390_select_rtx_section): Likewise.
2410         * config/s390/s390.md ("doloop_si"): Likewise.
2411         ("pool_start_31", "pool_end_31"): Likewise.
2412         ("pool_start_64", "pool_end_64"): Likewise.
2413         ("main_base_31_small", "main_base_31_large"): Likewise.
2414         ("main_base_64"): Likewise.
2415         ("reload_base_31", "reload_base_64"): Likewise.
2416         ("*movsi_larl"): New insn.
2417         ("cjump", "icjump"): Use long branches on zSeries machines.
2418         ("jump"): Likewise.
2419         ("call"): Use BRASL on zSeries machines.
2420         ("call_value", "call_value_tls"): Likewise.
2421         ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
2422         and replace by ...
2423         ("*bras", "*brasl", "*basr") ... these new insns.
2424         ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
2425         "bas_31_r"): Remove and replace by ...
2426         ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
2427         ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
2428         "bas_64_tls", "bas_31_tls"): Remove and replace by ...
2429         ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
2430         ("*return_si", "*return_di"): Remove and replace by ...
2431         ("*return"): ... this new insn.
2432         ("rotlsi3"): Allow on zSeries machines.
2433
2434         * config/s390/s390.c (legitimize_reload_constant_p): Use
2435         LL/LH type instructions in z/Architecture mode.
2436         * config/s390/s390.md ("*movsi_lli"): Likewise.
2437         ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
2438         ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
2439         ("*extendqisi2"): Use LB in z/Architecture mode.
2440         ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
2441         z/Architecture mode.
2442         ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
2443         Likewise.
2444
2445         * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
2446         and 31-bit mode.
2447         ("ptr_extend"): Allow only in 64-bit mode.
2448
2449 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
2450
2451         * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
2452         (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
2453         definitions.
2454         (main): Only use standard_startfile_prefix if native.
2455         * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
2456
2457 2003-08-27  Per Bothner  <pbothner@apple.com>
2458
2459         * cpperror.c (print_location):  Don't check for !pfile->buffer.  That
2460         test fails following my 08-21 change, and it seems unnecessary anyway.
2461         (cpp_error):  Likewise.
2462
2463 2003-08-27  Jason Merrill  <jason@redhat.com>
2464
2465         * real.c (do_multiply): Initialize with memset.
2466
2467 2003-08-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2468
2469         * gcov.c (typedef struct arc_info): New field cs_count.
2470         (accumulate_line_counts): Find cycles correctly.
2471
2472 2003-08-27  Ulrich Weigand  <uweigand@de.ibm.com>
2473
2474         * config/s390/s390.c (struct machine_function): Remove member
2475         literal_pool_label.
2476         (s390_optimize_prolog): Replace TEMP_REG argument with
2477         TEMP_USED and BASE_USED.  Do not check get_pool_size ().
2478         (general_s_operand): Accept all immediates before reload if
2479         ALLOW_IMMEDIATE.  If not ALLOW_IMMEDIATE, reject literal pool
2480         references.
2481         (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
2482         (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
2483         (s390_alloc_pool): New function.
2484         (s390_new_pool): Call it.
2485         (s390_dump_pool): Add REMOTE_LABEL argument.
2486         (s390_chunkify_start): Add BASE_REG argument.  Do not check
2487         get_pool_size ().
2488         (s390_chunkify_finish): Add BASE_REG argument.  Adapt
2489         s390_dump_pool call.
2490         (s390_pool_count, s390_nr_constants): Remove.
2491         (s390_output_constant_pool): Remove.
2492         (s390_mainpool_start): New function.
2493         (s390_mainpool_finish): New function.
2494         (s390_mainpool_cancel): New function.
2495         (s390_reorg): Implement main literal pool handling.
2496         (s390_emit_prologue): Emit main_pool placeholder instead of
2497         literal_pool_31 / literal_pool_64 insns.
2498         * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
2499         (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
2500         * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
2501         ("main_base_31_small", "main_base_31_large"): New insns.
2502         ("main_base_64",  "main_pool"): New insns.
2503         ("literal_pool_31", "literal_pool_64"): Remove.
2504
2505 2003-08-27  Nathanael Nerode  <neroden@gcc.gnu.org>
2506
2507         * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
2508         fixinc.ptx.
2509         * fixinc/inclhack.def (undefine_null):  Don't generate \r characters.
2510         Prettify a little.
2511         * fixinc/fixincl.x: Regenerate.
2512
2513 2003-08-27  Richard Earnshaw  <rearnsha@arm.com>
2514
2515         * lib1funcs.asm (L_ieee754_sp): New.  Include ieee754-sf.S.
2516         (L_ieee754_dp): New.  Include ieee754-df.S.
2517         * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
2518         and compilation in apcs-26 mode.
2519         * arm/ieee754-df.S: Likewise.
2520         * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
2521         (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
2522
2523 2003-08-27  Nicolas Pitre  <nico@cam.org>
2524
2525         * arm/ieee754-sf.S: New.
2526         * arm/ieee754-df.S: New.
2527
2528 2003-08-27  Jakub Jelinek  <jakub@redhat.com>
2529
2530         * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
2531         and restore it if returning NULL.
2532
2533 2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
2534
2535         * calls.c (initialize_argument_information): If an argument has no
2536         stack space associated with it, and BLOCK_REG_PADDING is defined,
2537         use it to decide at which end the argument should be padded.
2538         * function.c (assign_parms): Allocate BLKmode stack slots.
2539         * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
2540         (mips_pad_reg_upward): Declare.
2541         * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
2542         (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
2543         (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
2544         (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
2545         * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
2546         (mips_expand_call): Remove code for generating structure shifts.
2547         (mips_arg_info): Don't set struct_p.  Don't set fpr_p for non-float
2548         types unless using the EABI.
2549         (function_arg_advance): Don't generate shift instructions.
2550         (function_arg): Don't return them.  Don't short-circuit the
2551         check for double structure chunks for DFmode arguments.
2552         (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
2553         (mips_expand_prologue): Remove code to emit structure shifts.
2554         * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
2555         structure passing (inet_ntoa, inet_lnaof, inet_netof).  Update
2556         comments to say that only structure returns are a problem.
2557
2558 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
2559
2560         * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
2561         Fix to match produced versions.
2562         * fixinc/inclhack.def (longlong_t): New disabled test, ported
2563         from fixinc.svr4.
2564         * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
2565         from fixinc.ptx.
2566         * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
2567         ported from fixinc.ptx.
2568
2569 2003-08-26  Per Bothner  <pbothner@apple.com>
2570
2571         * cpplib.h (struct cpp_token):  Change type of field line to fileline.
2572         (cpp_error_with_line):  Use fileline for appropriate parameter.
2573         * cpphash.h (struct cpp_macro):  Change type of field line to fileline.
2574         (struct cpp_reader):  Likewise for fields line and directive_line.
2575         (_cpp_begin_message):  Use fileline for appropriate parameter.
2576         * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
2577         cpp_error):  Use fileline for appropriate parameters and variables.
2578         (print_location):  New local lin, since it is not a fileline.
2579
2580 2003-08-26  Roger Sayle  <roger@eyesopen.com>
2581
2582         PR middle-end/12002
2583         * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
2584         (FLOAT_TYPE_P): Define in terms of these two new macros.
2585         * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
2586         for complex floating point types.
2587
2588 2003-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
2589
2590         * config/s390/s390.c (emit_prologue): Don't check literal pool size.
2591         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
2592         s390_output_pool_entry.
2593
2594 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
2595
2596         * fixinc/inclhack.def (svr4_preproc_lint_on,
2597         svr4_preproc_lint_off, svr4_preproc_machine): New disabled
2598         fixes, ported from fixinc.svr4.
2599
2600 2003-08-26  Mark Mitchell  <mark@codesourcery.com>
2601
2602         * doc/install.texi (Prerequisites): Mention GNU make requirement.
2603
2604         * Makefile.in (AR_FOR_TARGET): Export it.
2605         (AR_CREATE_FOR_TARGET): Likewise.
2606         (AR_FLAGS_FOR_TARGET): Likewise.
2607         (AR_EXTRACT_FOR_TARGET): Likewise.
2608         (AWK): Likewise.
2609         (BUILD_PREFIX): Likewise.
2610         (BUILD_PREFIX_1): Likewise.
2611         (DESTDIR): Likewise.
2612         (GCC_FOR_TARGET): Likewise.
2613         (INCLUDES): Likewise.
2614         (INSTALL_DATA): Likewise.
2615         (LIB1ASMSRC): Likewise.
2616         (LIBGCC2_CFLAGS): Likewise.
2617         (MACHMODE_H): Likewise.
2618         (NM_FOR_TARGET): Likewise.
2619         (RANLIB_FOR_TARGET): Likewise.
2620         (libsubdir): Likewise.
2621         (slibdir): Likewise.
2622         (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
2623         exporting.
2624         (libgcc.a): Don't pass them here.
2625         (stmp-multilib): Or here.
2626         (install-libgcc): Or here.
2627         (install-multilib): Or here.
2628         (POSTSTAGE1_FLAGS_TO_PASS): Or here.
2629         (stage1_build): Or here.
2630
2631 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
2632
2633         * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
2634         "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
2635
2636 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
2637
2638         * config/s390/s390.md ("*fmadddf", "*fmsubdf",
2639         "*fmaddsf", "*fmsubsf"): New insns.
2640
2641 2003-08-26  Roger Sayle  <roger@eyesopen.com>
2642
2643         * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
2644         (C1*C2)/X when unsafe math optimizations are allowed.
2645         (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
2646         math optimizations.  Minor code clean-ups.  Recursively call
2647         fold when constructing sub-expressions.
2648
2649 2003-08-26  Roger Sayle  <roger@eyesopen.com>
2650
2651         * builtins.c (fold_builtin_bitop): New function to perform constant
2652         folding of ffs, clz, ctz, popcount and parity builtin functions
2653         and their long and long long variants (such as ffsl and ffsll).
2654         (fold_builtin): fold_builtin_bitop when appropriate.
2655         * simplify-rtx.c (simplify_unary_operation): Honor both
2656         CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
2657         evaluating clz and ctz at compile-time, for operands wider
2658         than HOST_WIDE_INT.
2659
2660 2003-08-26  Nathan Sidwell  <nathan@codesourcery.com>
2661
2662         * builtins.c (build_function_call_expr): Don't set
2663         TREE_SIDE_EFFECTS here.
2664         * expr.c (emit_block_move_via_libcall): Likewise.
2665         (clear_storage_via_libcall): Likewise.
2666         * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
2667         CALL_EXPRs.
2668
2669         * gcse.c (is_too_expensive): New function.
2670         (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
2671
2672 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
2673
2674         * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
2675         commented-out logic to use DCE threads (if present), add
2676         support for POSIX threads.
2677         * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
2678         #defines for -pthread.  Add -lpthread to LIB_SPEC when
2679         -pthread.  In both cases take -mt as a synonym for -pthread
2680         for acc compatibility.
2681         Define GTHREAD_USE_WEAK to 0.
2682         * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
2683         Remove old logic for DCE threads from LIB_SPEC.
2684         * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
2685
2686 2003-08-25  Roger Sayle  <roger@eyesopen.com>
2687
2688         * builtins.c (expand_builtin_mathfn):  Rearrange so that we only
2689         return 0 for invalid argument types.  Instead drop through to a
2690         call of expand_call at the bottom of function.  If op is SQRT,
2691         try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
2692
2693 2003-08-25  Richard Henderson  <rth@redhat.com>
2694
2695         * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
2696         result when op0 is SImode.
2697
2698 2003-08-25  Nathanael Nerode  <neroden@twcny.rr.com>
2699
2700         * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
2701         from fixinc.svr4.
2702         * fixinc/fixincl.x: Regenerate.
2703         * fixinc/tests/base/sys/signal.h: Regenerate.
2704
2705 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
2706
2707         * combine.c (simplify_comparison): Re-enable widening of comparisons
2708         with non-paradoxical subregs of non-REG expressions.
2709
2710 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
2711
2712         * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
2713
2714 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
2715
2716         * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
2717
2718 2003-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2719
2720         * pretty-print.h (pp_maybe_newline_and_indent): New macro.
2721         * c-pretty-print.h (c_pretty_printer): Now typedef to the
2722         structure.  Be consistent with pretty-print.h abd cxx-pretty-print.h
2723         (struct c_pretty_print_info): Document.  Add new fields.
2724         (pp_type_specifier_seq): Rename from pp_c_type_specifier.
2725         (pp_direct_abstract_declarator): New macro.
2726         (pp_ptr_operator): Likewise.
2727         (pp_simple_type_specifier): Likewise.
2728         (pp_expression): Likewise.
2729         (pp_parameter_list): Rename from pp_parameter_declaration.
2730         * c-pretty-print.c (pp_c_whitespace): Now a function.
2731         (pp_c_left_paren): Likewise.
2732         (pp_c_right_paren): Likewise.
2733         (pp_c_dot): Likewise.
2734         (pp_c_ampersand): Likewise.
2735         (pp_c_arrow): Likewise.
2736         (pp_c_semicolon): Likewise.
2737         (pp_c_type_cast): New function.
2738         (pp_c_space_for_pointer_operator): Likewise.
2739         (pp_c_call_argument_list): Likewise.
2740         (pp_c_cv_qualifier): Adjust prototype.
2741         (pp_c_type_qualifier_list): Likewise.
2742         (pp_c_pointer): Likewise.  Handle REFERENCE_TYPE here.
2743         (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
2744         Adjust to follow standard grammar.
2745         (pp_c_specifier_qualifier_list): Adjusr prototype.  Handle
2746         REFERENCE_TYPE.  Tidy.
2747         (pp_c_parameter_type_list): Adjust prototype.  Tidy.
2748         (pp_c_parameter_declaration): Remove.
2749         (pp_c_abstract_declarator): Adjust prototype.
2750         (pp_c_direct_abstract_declarator): Likewise.
2751         (pp_c_type_id): Likewise.
2752         (pp_c_storage_class_specifier): Likewise.
2753         (pp_c_function_specifier): Likewise.
2754         (pp_c_declaration_specifiers): Likewise.
2755         (pp_c_direct_declarator): Likewise.
2756         (pp_c_declarator): Likewise.
2757         (pp_c_declarator): Likewise.
2758         (pp_c_declaration): Likewise.
2759         (pp_c_attributes): Likewise.  Tidy.
2760         (pp_c_function_definition): Adjust prototype.
2761         (pp_c_char): Likewise.
2762         (pp_c_string_literal): Likewise.
2763         (pp_c_integer_constant): Likewise.
2764         (pp_c_character_constant): Likewise.
2765         (pp_c_bool_constant): Likewise.
2766         (pp_c_enumeration_constant): Likewise.
2767         (pp_c_floating_constant): Likewise.
2768         (pp_c_constant): Likewise.
2769         (pp_c_identifier): Likewise.
2770         (pp_c_primary_expression): Likewise.  Remove TARGET_EXPR case.  Tidy.
2771         (pp_c_initializer): Adjust prototype.
2772         (pp_c_init_declarator): Likewise.
2773         (pp_c_initializer_list): Likewise.
2774         (pp_c_id_expression): Likewise.
2775         (pp_c_postfix_expression): Likewise.
2776         (pp_c_expression_list): Likewise.
2777         (pp_c_unary_expression): Likewise.
2778         (pp_c_cast_expression): Likewise.
2779         (pp_c_multiplicative_expression): Likewise.
2780         (pp_c_additive_expression): Likewise.
2781         (pp_c_shift_expression): Likewise.
2782         (pp_c_relational_expression): Likewise.
2783         (pp_c_equality_expression): Likewise.
2784         (pp_c_and_expression): Likewise.
2785         (pp_c_exclusive_or_expression): Likewise.
2786         (pp_c_inclusive_or_expression): Likewise.
2787         (pp_c_logical_and_expression): Likewise.
2788         (pp_c_logical_or_expression): Likewise.
2789         (pp_c_conditional_expression): Likewise.
2790         (pp_c_assignment_expression): Likewise.
2791         (pp_c_expression): Likewise.  Tidy.
2792         (pp_c_statement): Likewise.  Document.
2793         (pp_c_pretty_printer_init): Adjust prototype. Tidy.
2794
2795         * c-lang.c (c_initialize_diagnostics): Update.
2796         * c-common.h (strip_pointer_operator): Declare.
2797         * c-common.c (strip_pointer_operator): Define.
2798
2799 2003-08-25  Mark Mitchell  <mark@codesourcery.com>
2800
2801         PR c++/8795
2802         * tree.h (build_method_type_directly): Declare.
2803         * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
2804         (vector_size_helper): Likewise.
2805         * tree.c (build_method_type_directly): New function.
2806         (build_method_type): Use it.
2807
2808 2003-08-24  Richard Henderson  <rth@redhat.com>
2809
2810         * config/i386.i386.c (ix86_return_in_memory): Reformat.  Return true
2811         for 16-byte vector modes if sse not enabled; warn for abi change.
2812         (ix86_value_regno): Only return xmm0 for 16-byte vector types.
2813
2814 2003-08-24  Kazu Hirata  <kazu@cs.umass.edu>
2815
2816         * rtlanal.c (may_trap_p): Simplify an integer comparison.
2817
2818 2003-08-24  Nathanael Nerode  <neroden@gcc.gnu.org>
2819
2820         * fixinc/inclhack.def (AAB_svr4_replace_byteorder):  Enhance
2821         comment.  Enable for DYNIX/ptx systems (when they switch to
2822         regular fixincludes).
2823         * fixinc/fixincl.x: Regenerate.
2824
2825 2003-08-23  Jason Eckhardt  <jle@rice.edu>
2826
2827         * config/i860/t-i860: New.
2828         * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
2829
2830 2003-08-23  Jakub Jelinek  <jakub@redhat.com>
2831
2832         * c-decl.c (pushdecl): Only put decls which finish_struct will do
2833         something about onto incomplete chain.
2834         (finish_struct): If not removing type from incomplete
2835         list, update prev.
2836
2837 2003-08-20  Jan Hubicka  <jh@suse.cz>
2838
2839         PR target/11369
2840         * i386.c (ix86_expand_carry_flag_compare): Validate operand.
2841
2842         PR target/11031
2843         * i386.c (const_0_to_3_operand, const_0_to_7_operand,
2844         const_0_to_15_operand, const_0_to_255_operand): New predicates.
2845         * i386.h (PREDICATE_CODES): Add these.
2846         * i386.c (pinsrw and pextrw patterns): Use them.
2847
2848         PR target/10984
2849         * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
2850
2851         PR target/8869
2852         * expr.c (convert_modes): Deal properly with integer to vector
2853         constant conversion.
2854
2855         PR target/8871
2856         * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
2857
2858 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
2859
2860         * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
2861         * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
2862         ("*movhi"): ... this.
2863         ("movqi", "*movqi"): Likewise.
2864         ("movqi_64"): Remove.
2865         ("*zero_extendhisi2_31"): Change predicate to s_operand.
2866
2867 2003-08-23  Dale Johannesen  <dalej@apple.com>
2868         * calls.c (emit_library_call_value_1): Fix obvious errors in
2869         arguments to emit_group_store.
2870
2871 2003-08-23  Jason Eckhardt  <jle@rice.edu>
2872
2873         * calls.c (emit_library_call_value_1): Remove code related
2874         to LIBGCC_NEEDS_DOUBLE.
2875         * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
2876         * doc/tm.texi: Likewise.
2877         * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
2878
2879 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
2880
2881         * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
2882
2883 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
2884
2885         * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
2886         as well.  Put memory references in the varargs alias set.
2887         (mips_expand_prologue): Remove varargs handling from here.
2888
2889 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
2890
2891         * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
2892         s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
2893         s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
2894         for function pointer calls.
2895         * config/s390/s390.md ("*negdi2_31"): Likewise.
2896
2897 2003-08-23  Roger Sayle  <roger@eyesopen.com>
2898
2899         * combine.c (apply_distributive_law): Correct comment.
2900
2901 2003-08-23  Jason Eckhardt  <jle@rice.edu>
2902
2903         * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
2904
2905 2003-08-22  Jason Eckhardt  <jle@rice.edu>
2906
2907         * config/i860/i860.c (i860_build_va_list): Create the va_decl
2908         declaration.  Document the va_list structure.
2909         (i860_va_start): Initialize the va_list structure.
2910         (i860_va_arg): Rewrite completely.
2911         * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
2912         * config/i860/varargs.asm: Do not allocate or initialize
2913         a va_list.  Return the address of the register save area.
2914
2915 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
2916
2917         * config/iq2000/iq2000.c: Fix comment typos.
2918         * config/iq2000/iq2000.md: Likewise.
2919
2920 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
2921
2922         * config/iq2000/iq2000.c: Follow spelling conventions.
2923         * config/iq2000/iq2000.h: Likewise.
2924         * config/mn10300/mn10300.c: Likewise.
2925
2926 2003-08-22  Jason Eckhardt  <jle@rice.edu>
2927
2928         * config/i860/i860.c (output_move_double): Don't set latehalf
2929         to zero for CONST_INT (since it could be, e.g., -1).
2930
2931         * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
2932         (MODSI3_LIBCALL): ...with this one.
2933         (UREMSI3_LIBCALL): Replace this macro...
2934         (UMODSI3_LIBCALL): ...with this one.
2935
2936 2003-08-22  Jason Eckhardt  <jle@rice.edu>
2937
2938         * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
2939         (output_delayed_branch): Remove prototype.
2940         (single_insn_src_p): Remove prototype.
2941         * config/i860/i860.c (single_insn_src_p): Remove function.
2942         (output_delayed_branch): Remove function.
2943         (output_delay_insn): Remove function.
2944         (va_start): Remove unconditional test and dead code, re-format.
2945         Fix coding style and spelling problems in various comments.
2946         * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
2947         (blockage pattern): ...and use it here.
2948         (all define_peephole patterns related to delayed branches): Remove.
2949         Fix coding style and spelling problems in various comments.
2950
2951 2003-08-22  Jason Eckhardt  <jle@rice.edu>
2952
2953         * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
2954         Remove all uses of the PARAMS macro.  Remove superflous prototypes.
2955         Convert all function definitions from traditional to ISO C90 syntax.
2956         * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
2957         with 'GCC'.  Remove all uses of the PARAMS macro.
2958         * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
2959         * config/i860/i860.md: Likewise.
2960         * config/i860/sysv4.h: Likewise.
2961         * config/i860/varargs.asm: Likewise.
2962
2963 2003-08-22  Jason Eckhardt  <jle@rice.edu>
2964
2965         * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
2966         argument.
2967         (tdesc_section): Add prototype.
2968         Update copyright dates.
2969         * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
2970         (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
2971         (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
2972         (targetm): Likewise.
2973         (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
2974         for '%d' where necessary.
2975         (i860_va_start): Remove 'stdarg_p' argument.  Make conditional checks
2976         on 'stdarg_p' unconditional.  Divide current_function_args_info.ints
2977         by UNITS_PER_WORD when referencing (likewise for .floats).
2978         (I860_SVR4_VARARGS): Rename...
2979         (I860_SVR4_VA_LIST): ...to this.
2980         Call build() with 't' rather than 'field'.
2981         (i860_rtx_costs): New function.
2982         (TARGET_RTX_COSTS): Define.
2983         (i860_internal_label): New function.
2984         (TARGET_ASM_INTERNAL_LABEL): Define.
2985         (i860_file_start): New function.
2986         Update copyright dates.
2987         * config/i860/i860.h (CPP_PREDEFINES): Remove.
2988         (TARGET_CPU_CPP_BUILTINS): Define.
2989         (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
2990         (CONST_COSTS): Remove (and move code to i860_rtx_costs).
2991         (ASM_FILE_START): Remove.
2992         (ASM_FILE_START_1): Remove.
2993         (ASM_GLOBALIZE_LABEL): Remove.
2994         (ASM_OUTPUT_INTERNAL_LABEL): Remove.
2995         (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
2996         with targetm.asm_out.internal_label.
2997         Update copyright dates.
2998         * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
2999         (CPP_PREDEFINES): Remove.
3000         (TARGET_OS_CPP_BUILTINS): Define.
3001         (GLOBAL_ASM_OP): Define.
3002         (ASM_FILE_START): Remove.
3003         (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
3004         (TARGET_ASM_FILE_START): Define.
3005         Update copyright dates.
3006
3007 2003-08-22  Jason Eckhardt  <jle@rice.edu>
3008
3009         * gcc/config.gcc (i860-*-sysv4*): Add target.
3010         * config/i860/i860-protos.h: New.
3011         * config/i860/i860.c: New.
3012         * config/i860/i860.h: New.
3013         * config/i860/i860.md: New.
3014         * config/i860/sysv4.h: New.
3015         * config/i860/varargs.asm: New.
3016         * config/i860/x-sysv4: New.
3017
3018 2003-08-22  Jason Eckhardt  <jle@rice.edu>
3019
3020         * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
3021         Remove all uses of PARAMS macro.
3022         Convert all function definitions to ISO C90 syntax.
3023         * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
3024         * config/pa/fptr.c: Likewise.
3025         * config/pa/lib2funcs.asm: Likewise.
3026         * config/pa/long_double.h: Likewise.
3027         * config/pa/milli64.S: Likewise.
3028         * config/pa/pa-64.h: Likewise.
3029         * config/pa/pa-hpux.h: Likewise.
3030         * config/pa/pa-hpux10.h: Likewise.
3031         * config/pa/pa-hpux11.h: Likewise.
3032         * config/pa/pa-linux.h: Likewise.
3033         * config/pa/pa-modes.def: Likewise.
3034         * config/pa/pa-osf.h: Likewise.
3035         * config/pa/pa-pro-end.h: Likewise.
3036         * config/pa/pa.md: Likewise.
3037         * config/pa/pa32-linux.h: Likewise.
3038         * config/pa/pa64-linux.h: Likewise.
3039         * config/pa/pa64-hpux.h: Likewise.
3040         * config/pa/pa64-regs.h: Likewise.
3041         * config/pa/quadlib.c: Likewise.
3042         * config/pa/rtems.h: Likewise.
3043         * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
3044         all uses of the PARAMS macro.
3045         * config/pa/pa.h: Likewise.
3046         * config/pa/som.h: Likewise.
3047
3048         * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
3049         Remove all uses of PARAMS macro.
3050         Convert all function definitions to ISO C90 syntax.
3051         * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
3052         Remove all uses of PARAMS macro.
3053         * config/iq2000.h: Remove all uses of PARAMS macro.
3054         * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
3055
3056 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
3057
3058         * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
3059         * config/s390/s390.c (gen_consttable): Remove.
3060         (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
3061         (s390_output_pool_entry): New function.
3062         * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
3063         UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
3064         UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
3065         (UNSPECV_POOL_ENTRY): ... this new constant.
3066         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
3067         "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
3068         ("*pool_entry"): ... and replace by this new insn.
3069         ("literal_pool_31"): Do not emit anchor label if pool empty.
3070
3071         * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
3072         (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
3073         (s390_fixup_clobbered_return_reg): Remove.
3074         (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
3075         (s390_return_addr_rtx): Always retrieve return address from save area
3076         slot.  Use save_return_addr_p to force slot to be filled.
3077         (s390_emit_prologue): Remove has_hard_reg_initial_val test.
3078
3079 2003-08-22  Chris Demetriou  <cgd@broadcom.com>
3080
3081         * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
3082         (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
3083         * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
3084         around SB-1 errata if TARGET_FIX_SB1 is set.
3085         (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
3086         * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
3087
3088 2003-08-22  Roger Sayle  <roger@eyesopen.com>
3089
3090         * hashtable.c (ht_expand): Avoid calculating rehash for the common
3091         case that the first probe hits an empty hash table slot.
3092
3093 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
3094
3095         * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
3096
3097 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
3098
3099         * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
3100         (ptr_extend_plus_imm): ... this.
3101         * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
3102         optimization in C++.
3103         (ia64_output_mi_thunk): Support ILP32 mode.
3104
3105 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
3106
3107         * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
3108         function.
3109         * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
3110
3111 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
3112
3113         * config/i386/i386.c (const_int_1_operand): Simplify an
3114         integer comparison.
3115
3116 2003-08-22  Alan Modra  <amodra@bigpond.net.au>
3117
3118         * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
3119         * config/rs6000/ppc64-fp.c: Likewise.
3120
3121 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
3122
3123         * cfgcleanup.c: Fix comment typos.
3124         * emit-rtl.c: Likewise.
3125         * optabs.c: Likewise.
3126         * ra-build.c: Likewise.
3127         * rtlanal.c: Likewise.
3128         * tree.h: Likewise.
3129
3130 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
3131
3132         * c-decl.c: Fix comment formatting.
3133         * cfgrtl.c: Likewise.
3134         * combine.c: Likewise.
3135         * convert.c: Likewise.
3136         * dominance.c: Likewise.
3137         * dwarf2out.c: Likewise.
3138         * dwarfout.c: Likewise.
3139         * expmed.c: Likewise.
3140         * fold-const.c: Likewise.
3141         * gcov.c: Likewise.
3142         * genattrtab.c: Likewise.
3143         * ggc-common.c: Likewise.
3144         * mips-tfile.c: Likewise.
3145         * regmove.c: Likewise.
3146
3147 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
3148
3149         * builtin-attrs.def: Fix comment formatting.
3150         * c-pretty-print.c: Likewise.
3151         * diagnostic.h: Likewise.
3152         * langhooks.h: Likewise.
3153         * recog.c: Likewise.
3154         * simplify-rtx.c: Likewise.
3155         * tree.def: Likewise.
3156
3157 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
3158
3159         * config/m68k/m68k-protos.h: Convert to ISO C90.
3160         * config/m68k/m68k.c: Likewise.
3161
3162 2003-08-21  Bernardo Innocenti  <bernie@develer.com>
3163             Paul Dale  <pauli@snapgear.com>
3164             Peter Barada <peter@baradas.org>
3165
3166         * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
3167         ColdFire cores.
3168
3169 2003-08-21  Zack Weinberg  <zack@codesourcery.com>
3170
3171         * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
3172         * config.gcc (*-*-openbsd): Don't set tm_file.
3173         (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
3174         arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
3175         h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
3176         i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
3177         i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
3178         m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
3179         m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
3180         m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
3181         mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
3182         sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
3183         xscale-*-coff): Use explicit and complete lists of target headers
3184         to include.  Move definitions to tm_defines where appropriate.
3185         (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
3186         not-yet-contributed configuration.
3187
3188         * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
3189         * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
3190         * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
3191         * config/i386/nto.h, config/iq2000/iq2000.h,
3192         * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
3193         * config/m68k/linux.h, config/m68k/m68k-aout.h
3194         * config/m68k/m68k-none.h, config/m68k/m68kv4.h
3195         * config/m68k/netbsd.h, config/m68k/openbsd.h
3196         * config/m68k/sgs.h, config/mcore/mcore-pe.h,
3197         * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
3198         * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
3199         Remove includes of other target config headers, and
3200         definitions of macros moved to tm_defines lists.  Add #undefs
3201         where now necessary to prevent redefinition warnings.
3202
3203         * config/h8300/coff.h: New file split out of...
3204         * config/h8300/elf.h: ...here.
3205         * config/m68k/hp320base.h: New file split out of...
3206         * config/m68k/hp320.h: ...here.
3207         * config/rs6000/lynxbase.h: New file split out of...
3208         * config/rs6000/lynx.h: ...here.
3209
3210         * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
3211         * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
3212
3213         * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
3214         * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
3215         * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
3216         Remove unnecessary #ifndef.
3217         * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
3218         [under IN_LIBGCC2] with config/.
3219
3220 2003-08-21  Per Bothner  <pbothner@apple.com>
3221
3222         * cppfiles.c (stack_file):  Correctly pass return_at_eof parameter
3223         to cpp_push_buffer.
3224         * cpplex.c (_cpp_get_fresh_line):  Don't buffer->prev - handled
3225         by return_at_eof check.  Always call _cpp_pop_buffer at end.
3226
3227 2003-08-21  Kazu Hirata  <kazu@cs.umass.edu>
3228
3229         PR target/11805
3230         * config/h8300/h8300.md (two anonymous patterns): Remove.
3231
3232 2003-08-21  Richard Sandiford  <rsandifo@redhat.com>
3233
3234         * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
3235         * config/mips/mips.c (function_arg_pass_by_reference): Never return
3236         true for n32 & n64.
3237
3238 2003-08-21  Josef Zlomek  <zlomekj@suse.cz>
3239
3240         * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
3241         and similarly in (A | C) == D where C & ~D != 0.
3242
3243 2003-08-20  Geoffrey Keating  <geoffk@apple.com>
3244
3245         PR 8180
3246         * configure.in: When testing with_libs and with_headers, treat
3247         'no' as unset.  Based on a patch by Dan Kegel <dank@kegel.com>.
3248         * configure: Regenerate.
3249
3250 2003-08-20  Peter Barada <peter@baradas.org>
3251
3252         * longlong.h (umul_ppmm): Add ColdFire support.
3253
3254 2003-08-20  Peter Barada <peter@baradas.org>
3255             Bernardo Innocenti  <bernie@develer.com>
3256
3257         * config/m68k/m68k-none.h: Introduce new ColdFire archs.
3258         * config/m68k/m68k.h: Likewise.
3259         * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
3260         * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
3261         * config/m68k/linux.h: Likewise.
3262         * config/m68k/m68k.c: Likewise.
3263         * config/m68k/m68k.md: Likewise.
3264         * config/m68k/m68kelf.h: Likewise.
3265         * config/m68k/netbsd-elf.h: Likewise.
3266         * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
3267
3268 2003-08-20  Bernardo Innocenti  <bernie@develer.com>
3269
3270         * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
3271         * config/m68k/m68k.md: Likewise.
3272
3273 2003-08-20  Mark Mitchell  <mark@codesourcery.com>
3274
3275         PR java/11996
3276         Revert this change:
3277         2003-08-19  Mark Mitchell  <mark@codesourcery.com>
3278         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
3279         types with precisions other than those given by native machine
3280         modes.
3281
3282 2003-08-20  Gunther Nikl  <gni@gecko.de>
3283
3284         * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
3285         selected by FSGLMUL_USE_S and FSGLDIV_USE_S
3286         * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
3287         * config/m68k/m68k.md (anonymous define_insn): Likewise
3288         * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
3289         * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
3290         code selected by NO_ASM_FMOVECR
3291
3292 2003-08-20  Gunther Nikl  <gni@gecko.de>
3293
3294         * config/m68k/m68k.c (output_move_const_into_data_reg,
3295         output_move_himode): unify MOTOROLA/MIT handling of moveq
3296         * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
3297         Likewise
3298
3299 2003-08-20  Gunther Nikl  <gni@gecko.de>
3300
3301         * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
3302         label name
3303         * config/m68k/m68k.c (m68k_output_function_epilogue): replace
3304         HOST_WIDE_INT_PRINT_DEC with %wd
3305
3306 2003-08-20  Loren James Rittle  <ljrittle@acm.org>
3307
3308         * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
3309         redefine warning.
3310
3311 2003-08-20  Roger Sayle  <roger@eyesopen.com>
3312
3313         PR middle-end/11984
3314         * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
3315         operands before calling tree_int_cst_lt when performing associative
3316         transformations.
3317
3318 2003-08-20  Jason Merrill  <jason@redhat.com>
3319
3320         * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
3321         (EXPR_CHECK): Don't check for 'r' or 's' if we're
3322         checking IS_EXPR_CODE_CLASS.
3323         * calls.c (calls_function_1): Likewise.
3324         * fold-const.c (fold): Likewise.
3325         * tree.c (iterative_hash_expr): Likewise.
3326         * tree-inline.c (walk_tree, copy_tree_r): Likewise.
3327
3328 2003-08-20  Gunther Nikl  <gni@gecko.de>
3329
3330         * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
3331         depending on MOTOROLA_BSR
3332         * config/m68k/m68k.md (anonymous define_insn): Likewise
3333
3334 2003-08-20  Jason Merrill  <jason@redhat.com>
3335
3336         * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
3337         (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
3338         fold_trunc_transparent_mathfn, fold_builtin): Likewise.
3339         * dojump.c (do_jump): Likewise.
3340         * fold-const.c (operand_equal_p, fold): Likewise.
3341         (tree_expr_nonnegative_p): Likewise.
3342
3343         * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
3344         TYPE_USER_ALIGN for FIELD_DECLs.
3345
3346         * attribs.c (decl_attributes): Rebuild the function pointer type after
3347         changing the target type.
3348         * tree.c (get_qualified_type): Also check that the attributes match.
3349
3350 2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
3351
3352         * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
3353         * objc/config-lang.in (stagestuff): ... to here.
3354
3355 2003-08-19  Mark Mitchell  <mark@codesourcery.com>
3356
3357         PR c++/11946
3358         * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
3359         NOP_EXPR) when necessary.
3360         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
3361         types with precisions other than those given by native machine
3362         modes.
3363
3364 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
3365
3366         * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
3367         because some macro is defined.
3368
3369         * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
3370         options.
3371         * config/i386/darwin.h (ASM_SPEC): New.
3372         (SUBTARGET_EXTRA_SPECS): New.
3373         * config/rs6000/darwin.h (ASM_SPEC): New.
3374         (SUBTARGET_EXTRA_SPECS): New.
3375         * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
3376         a cross-compiler between two different processors on Darwin.
3377         * configure: Regenerate.
3378
3379 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
3380
3381         * builtins.c: Fix comment typos.
3382         * c-common.c: Likewise.
3383         * c-decl.c: Likewise.
3384         * c-pretty-print.c: Likewise.
3385         * cfgbuild.c: Likewise.
3386         * cfglayout.c: Likewise.
3387         * cfgloopanal.c: Likewise.
3388         * cgraphunit.c: Likewise.
3389         * cppfiles.c: Likewise.
3390         * dwarfout.c: Likewise.
3391         * expr.c: Likewise.
3392         * fold-const.c: Likewise.
3393         * gcse.c: Likewise.
3394         * ggc-page.c: Likewise.
3395         * haifa-sched.c: Likewise.
3396         * pretty-print.c: Likewise.
3397         * tree.c: Likewise.
3398         * tree.h: Likewise.
3399         * value-prof.c: Likewise.
3400
3401 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
3402
3403         * c-decl.c: Follow spelling conventions.
3404         * cppfiles.c: Likewise.
3405
3406 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
3407
3408         * c-common.c: Fix comment formatting.
3409         * c-common.h: Likewise.
3410         * c-decl.c: Likewise.
3411         * cppinit.c: Likewise.
3412         * cpplib.h: Likewise.
3413         * emit-rtl.c: Likewise.
3414         * input.h: Likewise.
3415         * line-map.h: Likewise.
3416         * opts.c: Likewise.
3417         * opts.h: Likewise.
3418         * simplify-rtx.c: Likewise.
3419
3420 2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
3421
3422         * unwind-c.c: Add libgcc-style exception.
3423         * unwind-dw2.c: Likewise.