aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcc.c
AgeCommit message (Collapse)AuthorFilesLines
2000-03-06Makefile.in: Pass a new MULTILIB_EXCLUSIONS option as the sixth argument to ↵Ben Collins1-14/+175
genmultilib. * Makefile.in: Pass a new MULTILIB_EXCLUSIONS option as the sixth argument to genmultilib. * genmultilib: accept new MULTILIB_EXCLUSIONS option and output the contents into the multilib.h header. * gcc.c: Declare multilib_exclusions for the specs file. (set_multilib_dir): Use it. (print_multilib_info): Likewise. * t-linux64: Declare arguments for new MULTILIB_EXCLUSIONS option to pass to genmultilib. From-SVN: r32365
2000-02-25Fix copyrights.Jeff Law1-1/+2
From-SVN: r32175
2000-02-18gcc.texi (Bug Reporting): Refer to bugs.html.Martin v. Löwis1-2/+2
* gcc.texi (Bug Reporting): Refer to bugs.html. (Bug Lists): Likewise. * system.h (GCCBUGURL): New preprocessor define. * rtl.c (fancy_abort): Use it. * gcc.c (main): Likewise. * typeck2.c (my_friendly_abort): Use GCCBUGURL. * g77spec.c (lang_specific_driver): Use GCCBUGURL. * gjavah.c (help): Use GCCBUGURL. * jv-scan.c (help): Likewise. * jcf-dump.c (help): Likewise. From-SVN: r32049
2000-02-15Jonathan Larmour <jlarmour@redhat.co.uk>:Jonathan Larmour1-10/+30
Add new __GNUC_PATCHLEVEL__ define. From-SVN: r32004
2000-02-15Makefile.in (TREE_H, [...]): Depend on version.h.Kaveh R. Ghazi1-2/+0
* Makefile.in (TREE_H, collect2.o, gcc.h, mips-tfile.o, cccp.o, 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. From-SVN: r31984
2000-01-20Makefile.in (fixinc.sh): Depend on specs.Zack Weinberg1-5/+16
* Makefile.in (fixinc.sh): Depend on specs. * fixinc/Makefile.in: Add rule to create machname.h. (fixlib.o): Depend on machname.h. * fixinc/fixtests.c (machine_name): New test. * fixinc/fixfixes.c (machine_name): New fix. * fixinc/fixlib.c (mn_get_regexps): New helper function for the machine_name test and fix. * fixinc/fixlib.h: Prototype it. * fixinc/inclhack.def (machine_name): Use the C test and fix. * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuild. * gcc.c (do_spec_1) [case P]: Take care not to create identifiers with three leading or trailing underscores. * fixinc/Makefile.in (FIXINC_DEFS): Add -DIN_GCC. (fixincl): Don't specify libraries twice on link line. (gnu-regex.o): Remove special rule. * fixinc/gnu-regex.c: Define REGEX_MALLOC if C_ALLOCA was defined by config.h. Do not define _REGEX_RE_COMP. (regcomp): Allocate and initialize a fastmap. * fixinc/gnu-regex.h: Do not define _REGEX_RE_COMP. From-SVN: r31542
2000-01-14eh-common.h: PROTO -> PARAMS.Kaveh R. Ghazi1-52/+52
* eh-common.h: PROTO -> PARAMS. * emit-rtl.c: Likewise. * errors.c: Likewise. * errors.h: Likewise. * except.c: Likewise. * except.h: Likewise. * explow.c: Likewise. * expmed.c: Likewise. * expr.c: Likewise. * expr.h: Likewise. * final.c: Likewise. * fix-header.c: Likewise. * flow.c: Likewise. * fold-const.c: Likewise. * function.c: Likewise. * function.h: Likewise. * gcc.c: Likewise. * gcov-io.h: Likewise. * gcov.c: Likewise. * gcse.c: Likewise. From-SVN: r31419
2000-01-12configure.in (i?86-*-beos{pe,elf,}*): Recognize.Jason Merrill1-24/+48
* configure.in (i?86-*-beos{pe,elf,}*): Recognize. * 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. From-SVN: r31366
2000-01-11fix typosJason Merrill1-1/+0
From-SVN: r31336
2000-01-07cccp.c: Delete PATH_SEPARATOR, DIR_SEPARATOR and IS_DIR_SEPARATOR macros.Mumit Khan1-17/+0
2000-01-06 Mumit Khan <khan@xraylith.wisc.edu> * 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. From-SVN: r31264
2000-01-04builtins.c (expand_builtin_strlen): Initialize variable `icode'.Kaveh R. Ghazi1-2/+2
* builtins.c (expand_builtin_strlen): Initialize variable `icode'. * calls.c (expand_call): Likewise for `old_stack_arg_under_construction'. * cpphash.c (macroexpand): Likewise for `args' and `rest_zero'. * function.c (pad_to_arg_alignment): Likewise for `save_var' and `save_constant'. * gcc.c (execute): Likewise for `ut' and `st'. * genattrtab.c (attr_rtx): Likewise for `rt_val'. * genopinit.c (gen_insn): Likewise for `m1', `m2' and `op'. * jump.c (jump_optimize_1): Likewise for `temp2'. * local-alloc.c (block_alloc): Likewise for `r1'. * loop.c (recombine_givs): Likewise for `life_start' and `life_end'. * reg-stack.c (check_asm_stack_operands): Likewise for `clobber_reg'. (subst_asm_stack_regs): Likewise for `clobber_reg' and `clobber_loc'. * regmove.c (fixup_match_1): Likewise for `insn_const', `dst_node' and `set2'. * reload.c (find_reloads): Likewise for `goal_alternative_number' and `goal_earlyclobber'. * scan-decls.c (scan_decls): Likewise for `prev_id_end'. * sdbout.c (sdbout_one_type): Likewise for `member_scl'. * stupid.c (stupid_life_analysis): Likewise for `chain'. * unroll.c (copy_loop_body): Likewise for `copy'. * varasm.c (output_constructor): Likewise for `byte'. ch: * actions.c (update_else_range_for_int_const): Initialize variables `lowval' and `highval'. (update_else_range_for_range): Likewise for `low_range_val' and `high_range_val'. cp: * class.c (warn_hidden): Initialize variable `fndecl'. From-SVN: r31207
1999-12-14cppp.c (main): Set trigraphs and __STRICT_ANSI__ as appropriate for ↵Richard Henderson1-5/+0
-lang-c89 and -std=*. * cppp.c (main): Set trigraphs and __STRICT_ANSI__ as appropriate for -lang-c89 and -std=*. * cppinit.c (cpp_handle_option): Likewise. (new_pending_define): New, split out from cpp_handle_option. * gcc.c (default_compilers): Don't define __STRICT_ANSI__ or enable trigraphs for -ansi/-std=*. * ginclude/stdarg.h (__va_copy): New. (va_copy): Don't define for C89. From-SVN: r30921
1999-11-25c-common.c (check_format_info): Don't call a variadic function with a ↵Kaveh R. Ghazi1-1/+1
non-literal format string. * c-common.c (check_format_info): Don't call a variadic function 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. From-SVN: r30666
1999-11-10* gcc.c (do_spec_1): Support text between `%u' and `%O'.Tom Tromey1-19/+31
From-SVN: r30478
1999-11-10[multiple changes]Tom Tromey1-3/+269
Tue Nov 9 10:30:08 1999 Tom Tromey <tromey@cygnus.com> * config/i386/xm-djgpp.h (HAVE_DOS_BASED_FILE_SYSTEM): Renamed from HAVE_DOS_BASED_FILESYSTEM. * gcc.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM, not HAVE_DOS_BASED_FILESYSTEM. (main): Likewise. (split_directories): Only special-case DOS file names if HAVE_DOS_BASED_FILE_SYSTEM is defined. Use IS_DIR_SEPARATOR instead of explicit tests. Conditionalize on !VMS. (make_relative_prefix): Use IS_DIR_SEPARATOR instead of explicit tests. Conditionalize on !VMS. (process_command): Only use make_relative_prefix if !VMS. (free_split_directories): Conditionalize on !VMS. (DIR_UP): Conditionalize on !VMS. Wed Jun 9 16:57:11 1999 Mumit Khan <khan@xraylith.wisc.edu> * gcc.c (STANDARD_BINDIR_PREFIX): Provide default. Fri Feb 5 14:22:01 1999 Mumit Khan <khan@xraylith.wisc.edu> * gcc.c (make_relative_prefix): Handle the HAVE_EXECUTABLE_SUFFIX case. Mon Nov 8 14:16:57 1999 Michael Meissner <meissner@cygnus.com> * invoke.texi (Environment Variables): Document relative path lookup. * gcc.c (DIR_UP): If not defined, define as "..". (standard_bindir_prefix): New static, holds target location to install binaries. (split_directories): New function to split a filename into component directories. (free_split_directories): New function, release memory allocated by split_directories. (make_relative_prefix): New function, make a relative pathname if the compiler is not in the expected location. (process_command): If GCC_EXEC_PREFIX was not specified, see if we can figure out an appropriate prefix from argv[0]. * Makefile.in (DRIVER_DEFINES): Use unlibsubdir in definition of STANDARD_STARTFILE_PREFIX and TOOLDIR_BASE_PREFIX. Define STANDARD_BINDIR_PREFIX. From-SVN: r30464
1999-10-31[multiple changes]Richard Kenner1-2/+27
Fri Oct 29 15:25:07 1999 Arnaud Charlet <charlet@ACT-Europe.FR> * 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. From-SVN: r30299
1999-10-29flow.c (debug_flow_info): Add prototype.Kaveh R. Ghazi1-0/+2
* flow.c (debug_flow_info): Add prototype. * gcc.c (main): Likewise. * gcse.c (expr_reaches_here_p_work, pre_expr_reaches_here_p_work): Likewise. * reload1.c (failed_reload, set_reload_reg): Likewise. * mips-tfile.c (main): Likewise. (pfatal_with_name, fancy_abort, botch, fatal, catch_signal): Mark with ATTRIBUTE_NORETURN. From-SVN: r30262
1999-09-25libiberty.h (make_temp_file): Add a prototype.Kaveh R. Ghazi1-2/+0
include: * 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'. From-SVN: r29662
1999-09-23toplev.c (documented_lang_options): Add -fshort-wchar.Jason Merrill1-0/+8
* toplev.c (documented_lang_options): Add -fshort-wchar. * c-decl.c (c_decode_option): Likewise. (init_decl_processing): If -fshort-wchar, use 'short unsigned int' for wchar_t. * c-common.c, c-lex.c: Get WCHAR_TYPE_SIZE from wchar_type_node. * gcc.c (default_compilers): If -fshort-wchar, override __WCHAR_TYPE__. * tm.texi (C Dialect Options): Add -fshort-wchar. From-SVN: r29638
1999-09-13* gcc.c (getrusage): Wrap prototype arguments in PROTO().Kaveh R. Ghazi1-1/+1
From-SVN: r29384
1999-09-13gcc.c: Include sys/resource.h.Zack Weinberg1-5/+63
1999-09-13 12:13 -0700 Zack Weinberg <zack@bitmover.com> * gcc.c: Include sys/resource.h. (report_times): New flag. (execute): If report_times is set, calculate and report the CPU time consumed by each subprocess. (rus, prus): New globals. (option_map): Add --time. (display_help): Document -time. (process_command): Set report_times if -time is given. Turn off -pipe if -time is given. * invoke.texi: Document new option -time. * configure.in: Check for getrusage. Check if we have to prototype getrusage. * acconfig.h: Add NEED_DECLARATION_GETRUSAGE. * configure: Regenerate. * config.in: Regenerate. From-SVN: r29381
1999-09-13Makefile.in (gcc.o, [...]): Depend on gcc.h.Kaveh R. Ghazi1-34/+18
* Makefile.in (gcc.o, gccspec.o, cppspec.o): Depend on gcc.h. * gcc.h: New file. (lang_specific_driver): Don't take a function pointer parameter. All callers changed. * gcc.c: Include gcc.h. (do_spec, fancy_abort,lang_specific_driver,lang_specific_pre_link, lang_specific_extra_outfiles, fatal): Don't declare. (multilib_defaults_raw): Constify. (read_specs): Call memset, rather than bzero. (main): Call return, not exit. (lookup_compiler): Call memcpy, not bcopy. (fatal): Make extern. * cppspec.c: Include gcc.h. (lang_specific_driver): Initialize variable `quote'. Constify a char*. All calls to the function pointer parameter now explicitly call `fatal'. * gccspec.c (lang_specific_driver): Include gcc.h. cp: * Make-lang.in (g++spec.o): Depend on system.h and gcc.h. * g++spec.c: Include gcc.h. (lang_specific_driver): Constify a char*. Call xcalloc, not xmalloc/bzero. All calls to the function pointer parameter now explicitly call `fatal'. f: * Make-lang.in (g77spec.o): Depend on system.h and gcc.h. * g77spec.c: Include gcc.h. (g77_xargv): Constify. (g77_fn): Add parameter prototypes. (lookup_option, append_arg): Add static prototypes. (g77_newargv): Constify. (lookup_option, append_arg, lang_specific_driver): Constify a char*. (lang_specific_driver): All calls to the function pointer parameter now explicitly call `fatal'. java: * Make-lang.in (jvspec.o): Depend on system.h and gcc.h. * jvspec.c: Include gcc.h. Don't include gansidecl.h. (do_spec, lang_specific_pre_link, lang_specific_driver, input_filename, input_filename_length): Don't declare. (main_class_name, jvgenmain_spec, lang_specific_driver): Constify a char*. (lang_specific_driver): All calls to the function pointer parameter now explicitly call `fatal'. From-SVN: r29367
1999-09-06Merge in gcc2-ss-010999Jeff Law1-2/+2
From-SVN: r29150
1999-09-07c-aux-info.c (concat): Don't define.Kaveh R. Ghazi1-73/+12
* c-aux-info.c (concat): Don't define. * 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. From-SVN: r29148
1999-08-27* gcc.c (fatal): Make definition static to match prototype.Kaveh R. Ghazi1-1/+1
From-SVN: r28931
1999-08-26system.h: Don't redefine abort or trim_filename.Zack Weinberg1-0/+2
1999-08-25 22:10 -0700 Zack Weinberg <zack@bitmover.com> * system.h: Don't redefine abort or trim_filename. * rtl.h: Define abort to fancy_abort (__FILE__, __LINE__, 0) or fancy_abort (__FILE__, __LINE__, __FUNCTION__) depending on whether or not __FUNCTION__ is available. * tree.h: Duplicate rtl.h's definition of abort, for files that don't include rtl.h. Delete all code to perform type checking with a compiler other than GCC. * varray.h: Delete all code to perform type checking with a compiler other than GCC. Make VARRAY_CHECK() always evaluate its arguments exactly once, using a statement expression. Adjust the VARRAY_<type> accessor macros to match. * toplev.h (fatal_insn, fatal_insn_not_found): Kill. (_fatal_insn, _fatal_insn_not_found): New fns, take info on caller's location. Define fatal_insn and fatal_insn_not_found as macros that use _fatal_insn and _fatal_insn_not_found. (fancy_abort, trim_filename): Kill prototypes. * rtl.c (trim_filename): Move here from toplev.c. (fancy_abort): New function. (DIR_SEPARATOR): Provide default definition. * tree.c (tree_check_failed, tree_class_check_failed): Go through fancy_abort. (tree_check, tree_class_check, cst_or_constructor_check, expr_check): Delete. * varray.c (varray_check_failed): New function. * toplev.c (fatal_insn, fatal_insn_not_found): Replace with _fatal_insn and _fatal_insn_not_found. Go through fancy_abort. (trim_filename, fancy_abort): Delete. * builtins.c (expand_builtin_args_info): Report ICE with abort. * except.c (start_catch_handler): Report ICE with error/abort combo. * final.c (output_operand_lossage): Likewise. * flow.c (verify_flow_info): Likewise. * gcc.c: Prototype fatal. * gengenrtl.c: Undef abort after including rtl.h not system.h. * genattr.c, genattrtab.c, genemit.c, genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c, genrecog.c: Don't define fancy_abort. From-SVN: r28889
1999-08-05gcc.c: Update URLs and mail addresses.Jeffrey A Law1-2/+2
* gcc.c: Update URLs and mail addresses. * gcc.texi: Likewise. From-SVN: r28535
1999-08-04gcc.c (access_check): New static function.Ian Lance Taylor1-6/+27
* gcc.c (access_check): New static function. (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. From-SVN: r28486
1999-07-20gcc.c (default_compilers, cpp-output): Pass -fpreprocessed.Jason Merrill1-1/+1
* gcc.c (default_compilers, cpp-output): Pass -fpreprocessed. * toplev.c (documented_lang_options): Add -fpreprocessed. * cpplib.h (struct cpp_buffer): Add preprocessed. * cppinit.c (cpp_handle_option): Handle -fpreprocessed. (cpp_start_read): Don't expand macros or emit an initial #line directive if -fpreprocessed. * cpplib.h (struct cpp_buffer): Added manual_pop for better C++ tokenization. * cpplib.c (cpp_get_token): Return CPP_EOF if manual_pop. Also, support C++ tokenization for ->*, .*, <?, and >? operators. * c-common.c (cpp_token): Make non-static. From-SVN: r28190
1999-07-17gcc.texi: Update e-mail addresses and URLs to gcc.gnu.org.Alexandre Oliva1-4/+4
* gcc.texi: Update e-mail addresses and URLs to gcc.gnu.org. Removed paragraph about compression of files and size limitation, duplicated in the FAQ. Use gcc-patches for posting patches. * gcc.c (main): Updated URL with bug reporting instructions to gcc.gnu.org. Removed e-mail address. * system.h (abort): Likewise. From-SVN: r28151
1999-06-24gcc.c (main): Read user-specified specs files after computing additional ↵Tom Tromey1-11/+8
startfile_prefixes. h * gcc.c (main): Read user-specified specs files after computing additional startfile_prefixes. From-SVN: r27742
1999-05-17cppspec.c: Insert -no-gcc into command line unless -gcc was given by user.Zack Weinberg1-5/+5
* cppspec.c: Insert -no-gcc into command line unless -gcc was given by user. * gcc.c (default_compilers): Define __GNUC__ and __GNUC_MINOR__ only if -no-gcc was not given. * objc/lang-specs.h: Likewise. * cpp.texi: Document -x and -std options; explain that -lang is no longer supported. Minor related corrections. From-SVN: r26990
1999-05-10cppspec.c: Treat two non-option arguments as input and output file.Dave Brolley1-6/+6
1999-05-10 18:21 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu> * cppspec.c: Treat two non-option arguments as input and output file. Three or more non-option args is an error. Clean up. * gcc.c (default_compilers): Pass -$ to the preprocessor. * cp/lang-specs.h,ch/lang-specs.h,f/lang-specs.h, objc/lang-specs.h: Likewise. From-SVN: r26870
1999-05-05gcc.c (default_compilers): Fix brace nesting bug.Zack Weinberg1-2/+1
1999-05-05 09:58 -0400 Zack Weinberg <zack@rabi.columbia.edu> * gcc.c (default_compilers): Fix brace nesting bug. * objc/lang-specs.h: Use %i, not %g.mi, for the input file when processing an .mi file. From-SVN: r26775
1999-04-16system.h: Always prototype abort.Zack Weinberg1-3/+1
1999-04-16 22:44 -0400 Zack Weinberg <zack@rabi.columbia.edu> * system.h: Always prototype abort. Prototype fatal. Define abort to call fatal, not fprintf/exit. Define a stub macro for trim_filename. * toplev.c: Define DIR_SEPARATOR. (trim_filename): New function. * toplev.h: Prototype trim_filename, and #undef system.h's stub. * gcc.c, genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c, genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c, genrecog.c: Make fatal non-static. * gcov.c, gengenrtl.c, protoize.c: #undef abort after including system.h. * config/i386/dgux.h, config/m68k/xm-amix.h: Remove stale code relating to abort. From-SVN: r26511
1999-04-09collect2.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM in place of the ↵Mark Elbrecht1-32/+36
DIR_SEPARATOR test. * collect2.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM in place 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. From-SVN: r26328
1999-04-06cppinit.c (install_predefs): Delete function.Zack Weinberg1-6/+6
1999-04-06 12:51 -0400 Zack Weinberg <zack@rabi.columbia.edu> * cppinit.c (install_predefs): Delete function. (cpp_start_read): Don't call install_predefs. (cpp_handle_option): Remove case 'u' and all refs to opts->inhibit_predefs. (print_help): Don't mention -undef. (initialize_builtins): Define __HAVE_BUILTIN_SETJMP__, to match cccp. * cpplib.h (struct cpp_options): Remove inhibit_predefs member. * cccp.c (predefs): Delete variable. (main): Remove case 'u' in argument parse loop, 'inhibit_predefs' variable, and the code block that would process CPP_PREDEFINES. (initialize_builtins): Don't define __OBJC__, the driver will do that. * gcc.c (default_compilers): Remove -undef from all specs that invoke a C preprocessor. * ch/lang-specs.h: Likewise. * cp/lang-specs.h: Likewise. * f/lang-specs.h: Likewise. * objc/lang-specs.h: Likewise. From-SVN: r26212
1999-03-25gcc.c: Compile unconditionally all code formerly dependent on #ifdef ↵Zack Weinberg1-12/+4
LANG_SPECIFIC_DRIVER. * gcc.c: Compile unconditionally all code formerly dependent on #ifdef LANG_SPECIFIC_DRIVER. * gccspec.c: New file with stub lang_specific_driver, lang_specific_pre_link. * Makefile.in: Link gccspec.o into xgcc. Add rule to compile gccspec.c. * cp/Make-lang.in: Remove all references to g++.o/g++.c. Link g++ from gcc.o. * f/Make-lang.in: Remove all references to g77.o/g77.c. Link g77 from gcc.o. * java/Make-lang.in: Remove all references to gcj.o/gcj.c. Link gcj from gcc.o. From-SVN: r25989
1999-03-18Warning fixes:Kaveh R. Ghazi1-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. From-SVN: r25839
1999-03-17* gcc.c (process_command): Dump link_command_spec too.Mark Elbrecht1-0/+2
From-SVN: r25830
1999-03-10gcc.c (print_file_name, [...]): Qualify a char* with the `const' keyword.Kaveh R. Ghazi1-190/+206
* gcc.c (print_file_name, print_prog_name, spec_machine, read_specs, set_spec, lookup_compiler, build_search_list, putenv_from_prefixes, find_a_file, record_temp_file, delete_if_ordinary, handle_braces, do_spec, do_spec_1, find_file, is_directory, validate_switches, used_arg, default_arg, pfatal_with_name, perror_with_name, pfatal_pexecute, fatal, error, notice, add_preprocessor_option, add_assembler_option, add_linker_option, process_command, execute, unused_prefix_warnings, clear_args, fatal_error, lang_specific_driver, user_specs, compiler, link_command_spec, option_map, translate_options, make_temp_file, temp_name, programname, path_prefix, machine_suffix, just_machine_suffix, gcc_exec_prefix, standard_exec_prefix, standard_exec_prefix_1, md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1, standard_startfile_prefix, standard_startfile_prefix_1, standard_startfile_prefix_2, tooldir_base_prefix, tooldir_prefix, multilib_dir, temp_filename, temp_file, command, switchstr, infile, outfiles, input_filename, input_basename, input_suffix, check_live_switch, main): Qualify a char* with the `const' keyword. From-SVN: r25676
1999-02-25gcc.c (default_compilers): Define __FAST_MATH__ when appropriate.Richard Henderson1-0/+6
* gcc.c (default_compilers): Define __FAST_MATH__ when appropriate. * cp/lang-specs.h: Likewise. * f/lang-specs.h: Likewise. * objc/lang-specs.h: Likewise. From-SVN: r25445
1999-02-09* gcc.c (convert_filename): Handle null filename argument.Mumit Khan1-1/+6
From-SVN: r25115
1999-02-06README.g77, [...]: Update email addresses.Jeffrey A Law1-2/+2
* README.g77, gcc.c, gcc.texi: Update email addresses. * invoke.texi system.h: Likewise. From-SVN: r25064
1999-01-31flags.h: Declare flag_no_ident.Zack Weinberg1-3/+3
1999-01-31 17:52 -0500 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu> * flags.h: Declare flag_no_ident. * toplev.c: Define flag_no_ident. Process -f(no-)ident here. * c-decl.c: Don't define flag_no_ident. Don't process -f(no-)ident switches here. * ch/decl.c: Likewise. * cp/decl2.c: Likewise. * c-tree.h: Don't declare flag_no_ident. * ch/ch-tree.h: Likewise. * cp/cp-tree.h: Likewise. * config/elfos.h (ASM_FILE_END): Output final .ident directive only if !flag_no_ident. * config/ptx4.h: Likewise. * config/svr4.h: Likewise. * config/alpha/elf.h: Likewise. * config/arm/linux-elf.h: Likewise. * config/i386/sco5.h: Likewise. * config/i860/fx2800.h: Likewise. * config/mips/gnu.h: Likewise. * config/i386/osfrose.h: Likewise. * gcc.c (C specs): Map -Qn to -fno-ident. * ch/lang-specs.h: Likewise. * cp/lang-specs.h: Likewise. * f/lang-specs.h: Likewise. * objc/lang-specs.h: Likewise. * java/lang-specs.h: Likewise. From-SVN: r24943
1999-01-30cccp.c (main): Only call setlocale (LC_MESSAGES, ...) if LC_MESSAGES is defined.Jeffrey A Law1-0/+2
* cccp.c (main): Only call setlocale (LC_MESSAGES, ...) if LC_MESSAGES 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. From-SVN: r24923
1999-01-26Merge in gcc2 snapshot 19980929. See gcc/ChangeLog and gcc/FSFChangeLog forJeffrey A Law1-47/+76
details. From-SVN: r24879
1999-01-22cppp.c (xrealloc): Fix typo last change.Richard Henderson1-1/+1
* cppp.c (xrealloc): Fix typo last change. * cppalloc.c, gcc.c, genattr.c, genattrtab.c, gencodes.c: Likewise. * genconfig.c, genemit.c, genextract.c, genflags.c: Likewise. * genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise. From-SVN: r24823
1999-01-21cccp.c (xrealloc): Call malloc given a NULL old pointer.Richard Henderson1-5/+9
* cccp.c (xrealloc): Call malloc given a NULL old pointer. * collect2.c, cppalloc.c, gcc.c, genattr.c, genattrtab.c: Likewise. * gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise. * genflags.c, genopinit.c, genoutput.c, genpeep.c: Likewise. * genrecog.c, mips-tfile.c, protoize.c: Likewise. From-SVN: r24806
1999-01-16* gcc.c: (do_spec_1): Fix obvious typo.Marc Espie1-1/+1
From-SVN: r24705