summaryrefslogtreecommitdiff
path: root/gcc/collect2.c
Commit message (Collapse)AuthorAgeFilesLines
* *** empty log message ***oldham2001-04-271-0/+28
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41645 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (main): Use concat in lieu of xmalloc/sprintf.ghazi2001-04-231-23/+6
| | | | | | | | | | | | | | | | | | | | | | (write_c_file_stat): Likewise. * dbxout.c (dbxout_init): Likewise. * profile.c (output_func_start_profiler): Likewise. cp: * xref.c (GNU_xref_file): Use concat in lieu of xmalloc/sprintf. f: * com.c (ffecom_subscript_check_): Use concat in lieu of xmalloc/sprintf. java: * jvspec.c (lang_specific_driver): Fix memory allocation deficit, by using concat in lieu of xmalloc/sprintf. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41495 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIXdj2001-04-191-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX. * config/i386/cygwin.h: Likewise. * config/i386/mingw32.h: Likewise. * config/vax/vms.h: Likewise. * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX. * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX. * config/i386/xm-cygwin.h: Likewise. * config/i386/xm-djgpp.h: Likewise. * config/i386/xm-mingw32.h: Likewise. * config/vax/xm-vms.h: Likewise. * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX instead of OBJECT_SUFFIX. * collect2.c (find_a_file): Look for files matching the extension HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX. * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on TARGET_EXECUTABLE_SUFFIX. (find_a_file): Use HOST_EXECUTABLE_SUFFIX. (make_relative_prefix): Likewise. (convert_filename): Use TARGET_ suffixes throughout. Remove NO_AUTO_EXE_SUFFIX. (process_command): Likewise. (do_spec_1): Likewise. * java/lang.c (init_parse): Likewise. * gcc.texi : Document four new options matching the pattern (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX. Remove documentation for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX. Remove documentation for NO_AUTO_EXE_SUFFIX. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41428 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,jason2001-03-221-12/+0
| | | | | | | | | | | not '.' or '$'. * tree.c (FILE_FUNCTION_FORMAT): Likewise. * varasm.c (CHKR_PREFIX): Likewise. * error.c (GLOBAL_THING): Always use '__'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40723 138bc75d-0d04-0410-961f-82ee72b054a4
* more rigorous SIGCHLD guardingkorbb2001-03-161-0/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40522 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.dje2001-01-251-3/+21
| | | | | | | | | | | * collect2.c (main): Delete importf. Add ".obj" file extension. (GCC_CHECK_HDR): Handle AIX V5 new magic number. (aix_std_libs): Add additional AIX libraries to skip. * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number. * config/rs6000/aix51.h: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39271 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (COFF specific stuff): Revert 12-06 patchrth2001-01-071-3/+1
| | | | | | | to prototype system functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38768 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (main): Use auto_demangling.jason2000-12-221-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38451 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-12-14 Philipp Thomas <pthomas@suse.de>pthomas2000-12-171-0/+7
| | | | | | | | | | | | * protoize.c (main): Correctly set locale categories. * gcc.c (main): Likewise. * cppmain.c (general_init): Likewise. * toplev.c (main): Likewise. * gcov.c (main): Likewise. * collect2.c (main): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38331 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-lex.c (cb_indent): Decorate `str' argument, unused on HP-UX.law2000-12-071-2/+4
| | | | | | | | | * collect2.c (scan_libraries): Remove unused `ch'. (COFF specific stuff): Prototype ldgetname. Declare and prototype ldbtread and ldclose. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38092 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-lex.c (cb_leave_file): Harmonize conditions and order ofhp2000-11-131-0/+9
| | | | | | | | | | | | statements to those of process_directive for (action == act_pop). * collect2.c (main): Pass on -B options from COLLECT_GCC_OPTIONS. * local-alloc.c (equiv_init_movable_p): References to CC0 are not movable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37438 138bc75d-0d04-0410-961f-82ee72b054a4
* * calls.c (expand_call, emit_library_call_value_1), collect2.cjsm282000-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | (scan_prog_file), config/a29k/a29k.c (print_operand), config/sparc/sparc.c (order_regs_for_local_alloc): Use memcpy () instead of bcopy (). * real.h: Use memcmp () instead of bcmp (). * config/m88k/m88k.c (m88k_layout_frame), config/sh/sh.c (split_branches), config/sparc/sparc.c (ultra_flush_pipeline, ultrasparc_sched_init, ultrasparc_sched_reorder), config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Use memset () instead of bzero (). * config/vax/xm-xms.h (FILE_NAME_NONDIRECTORY): Use strrchr () instead of rindex (). * configure.in: Don't check for bzero, bcmp, index or rindex. * configure, config.in: Regenerate. * system.h: Don't include declarations for bzero, bcmp, index or rindex. * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Don't define bzero, bcmp, index or rindex. java: * parse.y (create_new_parser_context): Use memset () instead of bzero (). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37334 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (main, write_c_file_stat), gcc.c (translate_options,jsm282000-11-021-4/+4
| | | | | | | | | | | | | | | | | | | | process_command, main), gcov.c (open_files, output_data), tlink.c (frob_extension, scan_linker_output), toplev.c (file_name_nondirectory): Use strchr () and strrchr () instead of index () and rindex (). cp: * dump.c (dequeue_and_dump), lex.c (interface_strcmp), method.c (build_overload_value), repo.c (open_repo_file), xref.c (open_xref_file): Use strchr () and strrchr () instead of index () and rindex (). f: * com.c (open_include_file, ffecom_open_include_): Use strchr () and strrchr () instead of index () and rindex (). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37206 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c: Remove use of AIX import file.dje2000-08-141-129/+1
| | | | | | | | * longlong.h: Test ARCH_PWR not ARCH_POWER. * rs6000.c (print_operand, case 'E'): Add else. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35686 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-07-22 Jeffrey Oldham <oldham@codesourcery.com>oldham2000-07-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | * collect2.c (main): Typo fixed. * diagnostic.c: Typo fixed. * dwarf2out.c (dwarf2out_frame_debug_expr): Typo fixed. * eh-common.h: Typo fixed. * emit-rtl.c (start_sequence): Typo fixed. * flow.c (find_label_refs): Typo fixed. (calculate_global_regs_live): Typo fixed. (mark_regno_cond_dead): Typo fixed. (create_edge_list): Typos fixed. (verify_edge_list): Typo fixed. * ggc-common.c (ggc_mark_rtx_children): Typo fixed. * loop.c (strength_reduce): Typo in function name fixed. * rtl.h: Added comments. Typo in function name fixed. * rtlanal.c: Typo in function name fixed. (insn_dependant_p): Rename to ... (insn_dependent_p): ... this. (computed_jumo_p): Typo fixed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35194 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (main): Recognize .lo as object files.law2000-07-121-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34978 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (resolve_lib_name): Move '/' check to more rational place.jason2000-06-241-6/+6
| | | | | | | * ginclude/stddef.h (NULL): define for non-gnu C++ parsers as 0. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34687 138bc75d-0d04-0410-961f-82ee72b054a4
* Copyright fixeslaw2000-02-261-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32172 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (TREE_H, collect2.o, gcc.h, mips-tfile.o, cccp.o,ghazi2000-02-151-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cpphash.o, cppinit.o, protoize.o, unprotoize.o): Depend on version.h. * cccp.c: Include version.h and/or don't declare `version_string'. * collect2.c: Likewise. * alpha.c: Likewise. * arm/aof.h: Likewise. * arm/coff.h: Likewise. * arm/elf.h: Likewise. * arm/pe.h: Likewise. * arm/tcoff.h: Likewise. * arm/telf.h: Likewise. * arm/tpe.h: Likewise. * arm/vxarm.h: Likewise. * convex/convex.c: Likewise. * i386/dgux.c: Likewise. * i386/sun386.h: Likewise. * m88k/m88k.c: Likewise. * mcore/mcore-pe.h: Likewise. * mips/mips.h: Likewise. * romp/romp.h: Likewise. * sh/sh.c: Likewise. * cpphash.c: Likewise. * cppinit.c: Likewise. * dwarf2out.c: Likewise. * dwarfout.c: Likewise. * gcc.c: Likewise. * gcc.h: Likewise. * mips-tfile.c: Likewise. * protoize.c: Likewise. * toplev.c: Likewise. * tree.h: Likewise. * version.c (version_string): Constify a char*. * version.h: New file. ch: * grant.c: Don't declare `version_string'. f: * g77spec.c: Don't declare `version_string'. java: * Makefile.in (jv-scan, jcf-dump, gcjh): Depend on and link with version.o. (jcf-dump.o, gjavah.o, jv-scan.o): Depend on version.h. * gjavah.c: Include version.h. * jcf-dump.c: Likewise. * jv-scan.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31984 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (main) [COLLECT_EXPORT_LIST]: If we have frames,geoffk2000-02-141-2/+26
| | | | | | | | | then we will need to import the frame handling functions. (scan_prog_file) [COLLECT_EXPORT_LIST]: We will also need to import the frames themselves. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31969 138bc75d-0d04-0410-961f-82ee72b054a4
* * cccp.c: PROTO -> PARAMS.ghazi2000-01-141-50/+50
| | | | | | | | | | | | | | | | | | | | * cexp.y: Likewise. * collect2.c: Likewise. * combine.c: Likewise. * convert.h: Likewise. * cse.c: Likewise. * dbxout.c: Likewise. * dbxout.h: Likewise. * diagnostic.c: Likewise. * doprint.c: Likewise. * dwarf2out.c: Likewise. * dwarf2out.h: Likewise. * dwarfout.c: Likewise. * dwarfout.h: Likewise. * dyn-string.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31399 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.in (i?86-*-beos{pe,elf,}*): Recognize.jason2000-01-131-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * i386/t-beos, i386/x-beos, i386/xm-beos.h: New files. * i386/beos-elf.h, i386/beos-pe.h: New files. * Makefile.in (CROSS_SYSTEM_HEADER_DIR): New. * cross-make (SYSTEM_HEADER_DIR): Define using CROSS_SYSTEM_HEADER_DIR. * gcc.c (LIBRARY_PATH_ENV): Provide default. (process_command): Use it. (main): Likewise. Kill trailing = from env vars. (build_search_list): Put it back. * collect2.c (main): Use LIBRARY_PATH_ENV. * configure.in (GCC_NEED_DECLARATIONS): Add environ. * toplev.c: Use NEED_DECLARATION_ENVIRON. * tm.texi (Frame Layout): Document SMALL_STACK. * c-common.c (c_common_nodes_and_builtins): Check it. * system.h: Undef alloca after including glibc's <stdlib.h>, if USE_C_ALLOCA is defined. * gcc.c (set_input): New fn. (main): After all input files are compiled, reset the input file info to the first. * aclocal.m4 (rindex, index): If already defined, don't attempt to redefine. * ginclude/varargs.h: (__va_list__): Define ifndef. * ginclude/stdarg.h: Likewise. * ginclude/stddef.h (__WCHAR_TYPE__) [BEOS]: Use int instead of unsigned char. * hash.h (true, false, boolean): Undef before enum. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31366 138bc75d-0d04-0410-961f-82ee72b054a4
* - Update copyright, oops.dje2000-01-071-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31279 138bc75d-0d04-0410-961f-82ee72b054a4
* * rs6000.c (processor_target_table): Add power3 as alias for 630.dje2000-01-071-7/+23
| | | | | | | | | | | | | | | | | | | * aix43.h: Revert Aug 2 change. (HAS_INIT_SECTION): Define, not visible yet. (LD_INIT_SWITCH): Define, not visible yet. * t-aix43 (MULTILIB_OPTIONS): Revert Aug 2 change. * glimits.h (__LONG_MAX__): Recognize 64-bit AIX too. * collect2.c (main): Expand ld2 size further. (export_object_lst): Cast assignment to avoid warning. (main, LD_INIT_SWITCH): Add AIX 4.2+ -binitfini support. (scan_prog_file, COFF): Do not collect initialization or finalization functions generated for entire shared object if init/fini support present. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31275 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-01-06 Mumit Khan <khan@xraylith.wisc.edu>khan2000-01-071-17/+0
| | | | | | | | | | | | | | | | | * cccp.c: Delete PATH_SEPARATOR, DIR_SEPARATOR and IS_DIR_SEPARATOR macros. * collect2.c: Likewise. * cppinit.c: Likewise. * dwarf2out.c: Likewise. * gcc.c: Likewise. * gcov.c: Likewise. * prefix.c: Likewise. * rtl.c: Likewise. * toplev.c: Likewise. * system.h: And move to here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31264 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c (check_format_info): Don't call a variadic functionghazi1999-11-251-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with a non-literal format string. * c-decl.c (grokdeclarator, start_struct, finish_struct): Likewise. * c-typeck.c (build_component_ref, build_unary_op, lvalue_or_else, pedantic_lvalue_warning, error_init, pedwarn_init, warning_init): Likewise. * cccp.c (check_macro_name, do_xifdef, vwarning_with_line): Likewise. * collect2.c (collect_wait): Likewise. * dbxout.c (dbxout_type): Likewise. * gcc.c (do_spec_1): Likewise. * genemit.c (gen_insn, gen_expand): Likewise. * genrecog.c (write_switch, write_subroutine): Likewise. * mips-tfile.c (catch_signal, botch): Likewise. * print-rtl.c (print_rtx): Likewise. * toplev.c (default_print_error_function, report_error_function, _fatal_insn): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30666 138bc75d-0d04-0410-961f-82ee72b054a4
* Fri Oct 29 15:25:07 1999 Arnaud Charlet <charlet@ACT-Europe.FR>kenner1999-11-011-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gcov.c (DIR_SEPARATOR): Provide default. (output_data): Add test for MS-DOS format absolute filename. (fancy_abort): Correct program name. (open_files): Open all files in binary mode. * libgcc2.c (__bb_exit_func): Likewise. * profile.c (init_branch_prob): Specify binary when opening files. * flags.h (flag_unwind_tables): New decl. * toplev.c (flag_unwind_table): New definition. (f_options): Add -funwind-tables. (decode_g_option): Clarify warning when unknown -g option is given. (rest_of_compilation): If inside an inlined external function, pretend we are just being declared. * dwarf2out.c (dwarf2out_do_frame): Check -funwind_tables. (dwarf2out_frame_finish): Likewise. Fri Oct 29 06:32:44 1999 Geoffrey Keating <geoffk@cygnus.com> * flow.c (propagate_block): When the last reference to a label before an ADDR_VEC is deleted because the reference is a dead store, delete the ADDR_VEC. Fri Oct 29 07:44:26 1999 Vasco Pedro <vp@di.fct.unl.pt> * fold-const.c (merge_ranges): In not in0, but in1, handle upper bounds equal like subset case. Thu Oct 28 19:22:24 1999 Douglas Rupp <rupp@gnat.com> * dbxout.c (dbxout_parms): Generate a second stabs line for parameters passed in a register but moved to the stack. Thu Oct 28 19:12:57 1999 Sam Tardieu <tardieu@act-europe.fr> * gcc.c (pass_exit_codes, greatest_status): New variables. (struct option_map): Add entry for "--pass-exit-codes". (execute): Update greatest_status if error. (display_help): Add documentation for -pass-exit-codes. (process_command): Handle -pass-exit-codes. (main): Look at pass_exit_codes and greatest_status on call to exit. Thu Oct 28 18:06:50 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * reload.c (find_reloads): Refine test for no input reload case to not includes reloads emitted after insn. * function.c (find_temp_slots_from_address): Handle sum involving a register that points to a temp slot. (update_temp_slot_address): Make recursive call if both old and new are PLUS with a common operand. * calls.c (expand_call): Mark temp slot for result as having address taken. * rtlanal.c (reg_referenced_p, case IF_THEN_ELSE): New case. * gcc.c (process_command): Add standard_exec_prefix with "GCC" component as well as "BINUTILS". * integrate.h (copy_rtx_and_substitute): New arg, FOR_LHS. * integrate.c (copy_rtx_and_substitute): Likewise. (expand_inline_function, integrate_parm_decls, integrate_decl_tree): All callers changed. * unroll.c (inital_reg_note_copy, copy_loop_body): Likewise. * dbxout.c (dbxout_type, case INTEGER_TYPE_NODE): If can use gdb extensions, write size of type; also be more consistent in using references when this is a subtype. * pa.md (extv, extzv, insv): Use define_expand to reject constant that is out of range. * loop.c (unknown_constant_address_altered): New variable. (prescan_loop): Initialize it. (note_addr_stored): Set it for RTX_UNCHANGING_P MEM. (invariant_p, case MEM): Remove handling for volatile and readony; check new variable if readonly. (check_dbra_loop): Chdeck unknown_constant_address_altered. * cse.c (canon_hash, case MEM): Do not record if BLKmode. (addr_affects_sp_p): Removed from note_mem_written and only define #ifdef AUTO_INC_DEC. * alpha.c (input_operand, case ADDRESSOF): Treat as REG. * regclass.c (record_reg_classes): Properly handle register move directions. * varasm.c (initializer_constant_valid_p, case MINUS_EXPR): Don't think valid if both operands are invalid. (struct constant_descriptor): New field RTL. (mark_const_hash_entry): Mark it. (record_constant{,_rtx}): Initialize it. (output_constant_def): Allocate RTL in permanent obstack and save in table. ({record,compare}_constant_1): Modes must match for CONSTRUCTOR of ARRAY_TYPE. * c-common.h (initializer_constant_valid_p): Delete decl from here. * output.h (initializer_constant_valid_p): Move decl to here. * c-common.c (initializer_constant_valid_p): Delete function from here. * varasm.c (initializer_constant_valid_p): Move function to here. * tree.h (STRIP_SIGN_NOPS): New macro. * fold-const.c (optimize_minmax_comparison): New function. (invert_truthvalue, case WITH_RECORD_EXPR): New case. (fold): Use STRIP_SIGN_NOPS instead of STRIP_TYPE_NOPS. (fold, case EQ_EXPR): Call optimize_minmax_comparison and add cases with ABS_EXPR, NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR, and widening conversions. (fold, case LE_EXPR): Rework changing unsigned to signed comparisons to look at size of mode, not precision of type; also add missing cases. (optimize_bit_field_compare, decode_field_reference): Don't try to optimize COMPONENT_REF of a PLACEHOLDER_EXPR. * dwarf2out.c (ctype.h): Include. (dwarf2out_set_demangle_name_func): New function. (size_of_line_info): Deleted. (output_line_info): Compute size of line info table from difference of labels. (base_type_die, add_name_attribute): Call demangle function, if any. (field_byte_offset): Use bits per word for variable length fields. (gen_array_type_die): Add array name. (gen_subprogram_die): Ignore DECL_INLINE if -fno-inline. (dwarf2out_add_library_unit_info): New function. * explow.c (set_stack_check_libfunc): New function. (stack_check_libfunc): New static variable. (probe_stack_range): Allow front-end to set up a libfunc to call. * combine.c (simplify_comparison): When making comparison in wider mode, check for having commuted an AND and a SUBREG. (contains_muldiv): New function. (try_combine): Call it when dividing a PARALLEL. (simplify_rtx, case TRUNCATE): Don't remove for umulsi3_highpart. (simplify_comparison, case ASHIFTRT): Recognize sign-extension of a PLUS. (record_value_for_reg): If TEM is a binary operation with two CLOBBERs, use one of the CLOBBERs instead. (if_then_else_cond): If comparing against zero, just return thing being compared. * optabs.c (expand_abs): If machine has MAX, ABS (x) is MAX (x, -x). Don't generate shifts and subtract if have conditional arithmetic. * rtl.h (delete_barrier): New declaration. * jump.c (jump_optimize): Set up to handle conditional call. In conditional arithmetic case, handle CALL_INSN followed by a BARRIER. (delete_barrier): New function. * rtl.c (read_rtx): Call fatal if bad RTL code; check for bad mode. * recog.c (nonmemory_operand): Accept ADDRESSOF. * tree.c (build_type_attribute_variant): Push to obstack of ttype around type_hash_canon call. * expr.c (placeholder_list): Move decl to file scope. (expand_expr): Don't force access to volatile just because its address is taken. If ignoring reference operations, just expand the operands. (expand_expr, case COMPONENT_REF): Propagate EXPAND_CONST_ADDRESS to recursive call when expanding inner. Refine test for using bitfield operations vs pointer punning. (expand_expr, case CONVERT_EXPR): If converting to BLKmode UNION_TYPE from BLKmode, just return inner object. Use proper mode in store_field call. Properly set sizes of object to store and total size in store_field call for convert to union. (expand_expr, case ARRAY_REF): If OP0 is in a register, put it in memory (like for ADDR_EXPR). Also, don't put constant in register if we'll want it in memory. (readonly_fields_p): New function. (expand_expr, case INDIRECT_REF): Call it if LHS. (expand_assignment): Handle a RESULT_DECL where DECL_RTL is a PARALLEL. (do_jump, case WITH_RECORD_EXPR): New case. (get_inner_reference): Always go inside a CONVERT_EXPR and NOP_EXPR if both modes are the same. (store_field): Use bitfield operations if size of bitsize is not same as size of RHS's type. Check for bitpos not a multiple of alignment in BLKmode case. Do block move in largest possible alignment. (store_constructor): Set BITSIZE to -1 for variable size and properly in case of array of BLKmode. (expand_expr_unaligned): New function. (do_compare_and_jump): Call it. * mips/iris5.h (SWITCHES_NEED_SPACES): New macro. * collect2.c (main): Only allow -ofoo if SWITCHES_NEED_SPACES does not include 'o'. * function.c (instantiate_virtual_regs_1, case SET): Handle case where both SET_DEST and SET_SRC reference a virtual register. (gen_mem_addressof): Copy RTX_UNCHANGING_P from new REG to old REG. * integrate.c (expand_inline_function): Handle case of setting virtual stack vars register (from built in setjmp); when parameter lives in memory, expand virtual_{stack_vars,incoming_args}_rtx early. (subst_constant): Add new parm, MEMONLY. (expand_inline_function, integrate_parm_decls): Pass new parm. (integrate_decl_tree): Likewise. (copy_rtx_and_substitute, case MEM): Do copy RTX_UNCHANGING_P. (try_constants): Call subst_constants twice, with MEMONLY 0 and 1. (copy_rtx_and_substitute, case SET): Add explicit calls to copy_rtx_and_substitute for both sides. * stmt.c (expand_asm_operands): Don't use TREE_STRING_LENGTH for constraints. (pushcase{,_range}): Convert to NOMINAL_TYPE after checking for within INDEX_TYPE, instead of before. (fixup_gotos): Use f->target_rtl, not the next insn, since latter may be from a later fixup. (expand_value_return): Correctly convert VAL when promoting function return; support RETURN_REG being a PARALLEL. (expand_return): When checking for result in regs and having cleanup, consider PARALLEL in DECL_RTL as being in regs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30299 138bc75d-0d04-0410-961f-82ee72b054a4
* Also make sure to define DIR_SEPARATOR if it wasn't previously defined.law1999-10-261-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30186 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (IS_DIR_SEPARATOR): Define.law1999-10-261-2/+13
| | | | | | | (prefix_from_string): Use IS_DIR_SEPARATOR and DIR_SEPARATOR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30182 138bc75d-0d04-0410-961f-82ee72b054a4
* * toplev.c (main): Only warn about options for other languages.jason1999-10-151-1/+4
| | | | | | | * collect2.c (main): Pass -w to sub-gcc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29991 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (main): Do prelimnary link on AIX if rflag.dje1999-10-121-1/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29927 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (scan_prog_file, scan_libraries): Prototype functionghazi1999-10-061-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pointers and casts for `int_handler' and `quit_handler'. * flow.c (verify_flow_info, split_hard_reg_notes, find_insn_with_note, sets_reg_or_subreg_1, prepend_reg_notes, remove_edge, remove_fake_successors): Add static prototypes. (verify_flow_info): Wrap with macro ENABLE_CHECKING. (mark_set_1): Initialize variable `regno'. (unlink_insn_chain): Likewise for variable `curr'. (remove_fake_edges): Remove unused variables `e', `tmp' and `last'. * loop.c (strength_reduce): Initialize variable `unrolled_insn_copies'. (cmp_combine_givs_stats, cmp_recombine_givs_stats): Add static prototypes. Change these functions to take const PTR parameters to avoid prototype conflict when used as the comparson argument for qsort. (check_dbra_loop): Initialize variable `comparison_val'. * reload.c (debug_reload_to_stream, debug_reload): Add prototypes. (get_secondary_mem): Mark parameter `x' with ATTRIBUTE_UNUSED. (find_valid_class): Initialize variable `best_class'. (find_reloads): Call memcpy, not bcopy. * reload1.c (gen_mode_int, dump_needs): Add prototypes. (hard_reg_use_compare): Don't needlessly cast away const. (reload_reg_class_lower): Likewise. (choose_reload_regs): Initialize variable `regno'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29840 138bc75d-0d04-0410-961f-82ee72b054a4
* include:ghazi1999-09-251-2/+0
| | | | | | | | | | | | | | | | | | | | * libiberty.h (make_temp_file): Add a prototype. libiberty: * choose-temp.c: Remove obsolete comment about gcc. (make_temp_file): Constify a char*. gcc: * collect2.c (make_temp_file): Don't prototype. * gcc.c (make_temp_file): Likewise. * mips.c (mips_make_temp_file): Renamed from `make_temp_file'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29662 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-aux-info.c (concat): Don't define.ghazi1999-09-071-29/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cccp.c (my_strerror): Likewise. All callers changed to use xstrerror instead. (do_include): Call xstrdup, not xmalloc/strcpy. (grow_outbuf): Don't check if xrealloc returns NULL, it can't. (xmalloc, xrealloc, xcalloc, xstrdup): Don't define. * collect2.c (my_strsignal): Likewise. All callers changed to use strsignal instead. (locatelib): Call xstrdup, not xmalloc/strcpy. * 1750a.h (ASM_OUTPUT_INTERNAL_LABEL): Call xmalloc, not malloc. * dsp16xx.c (override_options): Call xstrdup, not xmalloc/strcpy. * i370.h (ASM_DECLARE_FUNCTION_NAME): Call xmalloc, not malloc. * mips.c (build_mips16_call_stub): Call xstrdup, not xmalloc/strcpy. * cppinit.c (cpp_options_init): Call xcalloc, not xmalloc/bzero. * dwarfout.c (dwarfout_init): Call concat, not xmalloc/strcpy/... * except.c (new_eh_region_entry): Call xmalloc/xrealloc, not malloc/realloc. (find_all_handler_type_matches): Likewise. Don't check return value. (get_new_handler, init_insn_eh_region, process_nestinfo): Call xmalloc, not malloc. (init_eh_nesting_info): Likewise. Call xcalloc, not xmalloc/bzero. * gcc.c (xstrerror, xmalloc, xrealloc): Don't define. (init_spec): Call xcalloc, not xmalloc/bzero. (set_spec): Call xstrdup, not save_string. (record_temp_file): Call xstrdup, not xmalloc/strcpy. (find_a_file): Call xstrdup, not xmalloc/strcpy. (process_command): Call xstrdup, not save_string. (main): Call xcalloc, not xmalloc/bzero. * gcov.c (xmalloc): Don't define. (create_program_flow_graph): Call xcalloc, not xmalloc/bzero. (scan_for_source_files): Call xstrdup, not xmalloc/strcpy. (output_data): Call xcalloc, not xmalloc/bzero. * haifa-sched.c (schedule_insns): Call xcalloc, not xmalloc/bzero. * mips-tdump.c (xmalloc): Don't define. (print_symbol): Call xmalloc, not malloc. (read_tfile): Call xcalloc, not calloc. * mips-tfile.c (xfree, my_strsignal, xmalloc, xcalloc, xrealloc): Don't define. All callers of xfree/my_strsignal changed to use free/strsignal instead. (allocate_cluster): Call xcalloc, not calloc. * objc/objc-act.c (lang_init): Call concat, not xmalloc/strcpy/... Fix memory leak, free allocated memory. * prefix.c (translate_name): Call xstrdup, not save_string. (update_path): Likewise. * profile.c (branch_prob): Call xstrdup, not xmalloc/strcpy. * protoize.c (xstrerror, xmalloc, xrealloc, xfree, savestring2): Don't define. Callers of xfree/savestring2 changed to use free/concat instead. * reload1.c (reload): Call xcalloc, not xmalloc/bzero. (init_elim_table): Likewise. * resource.c (init_resource_info): Likewise. * stupid.c (stupid_life_analysis): Likewise. * toplev.c (xmalloc, xcalloc, xrealloc, xstrdup): Don't define. (open_dump_file): Call concat, not xmalloc/strcpy/... (clean_dump_file): Likewise. (compile_file): Call xstrdup, not xmalloc/strcpy. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29148 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (scan_libraries): Fix double-thinko :-).oliva1999-09-061-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29141 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (scan_libraries): Fix thinko.law1999-09-061-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29140 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (tlink.o): Don't depend on toplev.h.ghazi1999-09-031-304/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * collect2.c (c_file, o_file, export_file, import_file, ldout, output_file, nm_file_name, ldd_file_name, strip_file_name, c_file_name, prefix_list, libexts, is_ctor_dtor, find_a_file, add_prefix, prefix_from_env, prefix_from_string, do_wait, fork_execute, maybe_unlink, add_to_list, extract_init_priority, write_list, dump_list, dump_prefix_list, write_list_with_asm, write_c_file, write_c_file_stat, write_c_file_glob, scan_prog_file, scan_libraries, is_in_list, resolve_lib_name, use_import_list, ignore_library, extract_string, notice, dump_file, target_machine, collect_wait, collect_execute, libname, locatelib, aix_std_libs, read_file, print_load_command): Constify a char*. (fdopen, error, fatal, fatal_perror): Don't prototype. (my_strerror): Remove. All callers use xstrerror instead. (xcalloc, xmalloc, xrealloc, xstrdup, putenv): Remove definitions. (main): Add prototype. Constify lots of char* ptrs. Change calls to xcalloc/strcpy/strcat/... to one call to concat. (main, scan_prog_file, scan_libraries): Use an intermediate `const char **' to build an argv array. (mapfile, libselect, libcompare, locatelib): Add prototypes. * collect2.h (collect_execute, collect_wait, dump_file, file_exists): Constify a char*. (ldout, c_file_name, temporary_obstack, permanent_obstack, temporary_firstobj, vflag, debug): Add extern declarations. (fancy_abort, error, notice, fatal, fatal_perror): Add prototypes. * tlink.c: Don't include toplev.h. (vflag, debug, ldout, c_file_name, temporary_obstack, permanent_obstack, temporary_firstobj): Don't declare. (tlink_execute, frob_extension, symbol_hash_lookup, file_hash_lookup, demangled_hash_lookup, tlink_init, freadsym, recompile_files, read_repo_files, demangle_new_symbols, scan_linker_output): Constify a char*. (symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc, do_tlink): Mark parameters with ATTRIBUTE_UNUSED. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29087 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.c (access_check): New static function.law1999-08-041-2/+8
| | | | | | | | | (find_a_file): Use it when searching a directory list. * collect2.c (find_a_file): Don't accept directories found when searching a directory list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28486 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (main): Log frame table count.rth1999-06-211-1/+8
| | | | | | | | | | | | (GCC_OK_SYMBOL) [ECOFF]: Accept stGlobal. (scan_prog_file) [COFF]: Handle frame tables. * alpha/alpha.h (UNALIGNED_SHORT_ASM_OP): Define. (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Define. * alpha/elf.h: Undef them again. * alpha/vms.h: Remove their definitions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27680 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (main): Only generate import or export file and adddje1999-05-221-47/+65
| | | | | | | | | | | to link arguments if non-empty. Use xmalloc not alloca. (write_{export,import}_file): Delete. (write_aix_file): New function. (locatelib): Use xmalloc not malloc. (GCC_OK_SYMBOL): Do not check type if aix64. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27106 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (main): Fix typo in COLLECT2_HOST_INITIALIZATION.law1999-05-171-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@26979 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM in placelaw1999-04-101-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of the DIR_SEPARATOR test. Consider any file starting with a drivename to be absolute. If the absolute filename test fails and EXECUTABLE_SUFFIX is defined, append EXECUTABLE_SUFFIX to the file and try again. * cppinit.c (base_name): Use HAVE_DOS_BASED_FILE_SYSTEM in place of __MSDOS__ and _WIN32. * cppfiles.c (simplify_pathname): Likewise. * gcc.c (IS_DIR_SEPARATOR): Define new macro. Returns true if a character is a directory separator. (find_a_file): Use it. (convert_filename): Likewise. (process_command): Likewise. (do_spec_1): Likewise. (is_directory): Likewise. (main): Likewise. * prefix.c (IS_DIR_SEPARATOR): Define. Tests whether a character is a directory separator. (translate_name): Use it. (update_path): Change DIR_SEPARATOR_2 to DIR_SEPARATOR. Fix warning in block where '/' is changed to DIR_SEPARATOR. * i386/xm-djgpp.h (DIR_SEPARATOR): Set to '/'. (DIR_SEPARATOR_2): New macro. Set to '\'. (HAVE_DOS_BASED_FILESYS): Define. * i386/xm-mingw32.h: Updated copyright. Set DIR_SEPARATOR_2 to '/'. Define HAVE_DOS_BASED_FILE_SYSTEM. * i386/xm-os2.h: Likewise. * winnt/xm-winnt.h: Likewise. * i386/xm-dos.h: Likewise. Add copyright. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@26328 138bc75d-0d04-0410-961f-82ee72b054a4
* * system.h (STDIN_FILENO): Provide default definition if one is notlaw1999-03-241-17/+46
| | | | | | | | | | | | | provided by the system header files. (STDOUT_FILENO, STDERR_FILENO): Likewise. * i386/xm-djgpp.h (COLLECT2_HOST_INITIALIZATION): New macro. * collect2.c (main): Use it. (pexecute_pid): New variable. Holds return value from call to pexecute. (collect2_execute): Rework to use pexecute instead of fork. (collect2_wait): Use pwait() instead of wait(). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25960 138bc75d-0d04-0410-961f-82ee72b054a4
* Warning fixes:ghazi1999-03-181-2/+2
| | | | | | | | | | | | | | | * cccp.c (default_include): Initialize structure memebers. (pass_thru_directive): Change the type of 'keyword_length' to int. (main): Cast `bindtextdomain' and `textdomain' to (void). * collect2.c (main): Likewise. * cppmain.c (main): Likewise. * gcc.c (main): Likewise. * gcov.c (main): Likewise. * protoize.c (main): Likewise. * toplev.c (main): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25839 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (collect_execute): Remove cygwin-specific code.law1999-02-101-9/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25123 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (xrealloc): fix typo in last change.rth1999-02-081-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25079 138bc75d-0d04-0410-961f-82ee72b054a4
* * cccp.c (main): Only call setlocale (LC_MESSAGES, ...) if LC_MESSAGESlaw1999-01-301-0/+2
| | | | | | | | | | | | | is defined. * collect2.c (main): Likewise. * cppmain.c (main): Likewise. * gcc.c (main): Likewise. * gcov.c (main): Likewise. * protoize.c (main): Likewise. * toplev.c (main): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24923 138bc75d-0d04-0410-961f-82ee72b054a4
* * toplev.c (notice, fnotice): Check ANSI_PROTOTYPES, not __STDC__,ghazi1999-01-291-2/+2
| | | | | | | | | when declaring arguments and calling va_arg() to initialize them. * collect2.c (notice): Likewise. * loop.c (find_life_end): Use PROTO() macro in the prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24905 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (error): Fix typo in declaration.ghazi1999-01-291-1/+1
| | | | | | | | | | | * cpperror.c (cpp_message): Likewise. * cpplib.c (cpp_warning): Likewise. * cpplib.h (cpp_notice): Use PVPROTO not VPROTO, also add ATTRIBUTE_PRINTF_1. * toplev.c (error): Fix typo in declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24904 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge in gcc2 snapshot 19980929. See gcc/ChangeLog and gcc/FSFChangeLog forlaw1999-01-271-89/+111
| | | | | | | details. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24879 138bc75d-0d04-0410-961f-82ee72b054a4