aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcc.c
AgeCommit message (Collapse)AuthorFilesLines
2000-08-04x-djgpp: Delete code that conditionally modifies target_alias.Mark Elbrecht1-0/+5
* i386/x-djgpp: Delete code that conditionally modifies target_alias. Delete code that conditionally modifies 'version'. Delete X_CPPFLAGS. Add comment for SYSTEM_HEADER_DIR. * i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): New macro. * gcc.c (main): Use it. * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): New macro. * prefix.c (update_path): Use it. * i386/djgpp.h (STANDARD_INCLUDE_DIR): Define. (MD_EXEC_PREFIX): Set to '/dev/env/DJDIR/bin/'. (ASM_OUTPUT_SECTION_NAME): Add code attribute to sections containing code. (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Default to true. (SUBTARGET_SWITCHES): Adjust. (WCHAR_UNSIGNED, WCHAR_TYPE_SIZE, WCHAR_TYPE): Undefine before defining. (WINT_TYPE, SIZE_TYPE, PTRDIFF_TYPE): Define. From-SVN: r35484
2000-08-02gcc.h (lang_specific_driver): Constify second argument.Zack Weinberg1-10/+12
* gcc.h (lang_specific_driver): Constify second argument. * gcc.c (translate_options, process_command, main): Likewise. Constify variables to match. Cast second argument to pexecute. * cppspec.c, gccspec.c, g++spec.c, g77spec.c, jvspec.c: Adjust type of second argument to lang_specific_driver, and update code as necessary. From-SVN: r35433
2000-07-31Makefile.in: Rename cpp to cpp0, tradcpp to tradcpp0, and xcpp to cpp ↵Zack Weinberg1-3/+3
throughout. * Makefile.in: Rename cpp to cpp0, tradcpp to tradcpp0, and xcpp to cpp throughout. (native): Remove unnecessary dependency on cpp. * gcc.c (trad_capable_cpp, C specs): Rename cpp to cpp, tradcpp to tradcpp0. (.i spec): Add missing output-file spec to cc1 command line. * ch/lang-specs.h, cp/lang-specs.h, f/lang-specs.h, objc/lang-specs.h: Rename cpp to cpp0 and/or tradcpp to tradcpp0. From-SVN: r35389
2000-07-28gcc.c (struct prefix_list): Add member priority.Andrew Cagney1-54/+67
* gcc.c (struct prefix_list): Add member priority. (enum path_prefix_priority): Declare. (add_prefix): Replace ``first'' with ``priority''. Append new entry but keep list in priority order. (process_command): Update. Pass PREFIX_PRIORITY_B_OPT or PREFIX_PRIORITY_LAST to add_prefix. (process_command): Move include kludge - foo/stageN - to before foo/include. From-SVN: r35304
2000-07-19* gcc.c (.h spec): Fix typo.Zack Weinberg1-1/+1
From-SVN: r35126
2000-07-13gcc.c (do_spec_1): Add new %B operator.Zack Weinberg1-237/+133
* gcc.c (do_spec_1): Add new %B operator. (set_input): Prepare for %B. (link_command_spec): Move up with the other tm.h- overrideable specs. Factor out the portion conditional on LINK_LIBGCC_SPECIAL into a new spec, %(link_libgcc). (struct compiler): Just have a single spec string. All users updated. (default_compilers): Remove unnecessary braces. (static_specs): Update. (trad_capable_cpp, cpp_options, cc1_options, asm_options): New named specs. (C and assembly specs): Use the new named specs, as appropriate. * objc/lang-specs.h, ch/lang-specs.h, cp/lang-specs.h, f/lang-specs.h, java/lang-specs.h: Use the new named specs. Remove unnecessary braces. From-SVN: r35008
2000-07-13gcc.c (execute): If a subprocess gets a fatal signal...Zack Weinberg1-15/+28
* gcc.c (execute): If a subprocess gets a fatal signal, report strsignal() of the signal number, and ask for a bug report. Do not do this for SIGPIPE if there's already been an error. * tradcpp.c: Don't include signal.h. Don't catch SIGPIPE. Delete pipe_closed. From-SVN: r35006
2000-07-12gcc.c (C specs [!USE_CPPLIB]): Invoke tradcpp if any of -traditional, ↵Zack Weinberg1-13/+9
-ftraditional, or -traditional-cpp was given. * gcc.c (C specs [!USE_CPPLIB]): Invoke tradcpp if any of -traditional, -ftraditional, or -traditional-cpp was given. Do not pass -traditional to the preprocessor. (.S spec): Likewise. Don't bother defining __ASSEMBLER__, the preprocessor does it automatically. * objc/lang-specs.h: Likewise. Don't bother defining __OBJC__. * ch/lang-specs.h: Always use tradcpp. Do not pass -traditional, -trigraphs, or -pedantic to the preprocessor. * f/lang-specs.h (.F spec): Likewise. Don't bother defining _LANGUAGE_FORTRAN. From-SVN: r34995
2000-06-29rtl.c: Revert NLS changes.Philipp Thomas1-3/+4
2000-06-29 Philipp Thomas <pthomas@suse.de> * rtl.c : Revert NLS changes. * gcc.c : Fix bug in display_help introced by my last changes. From-SVN: r34778
2000-06-28c-decl.c: Mark strings for translation.Philipp Thomas1-46/+49
2000-06-28 Philipp Thomas <pthomas@suse.de> * c-decl.c : Mark strings for translation. (parmlist_tags_warning): Use distinct messages instead of conditional expressions. * diagnostic.c (v_message_with_decl): Mark string for translation. * gcc.c: Mark messages for translation. (display_help): Combine messages into one string where necessary. * mips-tfile.c: Add intl.h. Mark messages for translation. * rtl.c (fatal_with_file_and_line): Modify function for NLS. Mark messages for translation. * timevar.c: Mark messages for translation. * tlink.c: Likewise. * toplev.c: Likewise. From-SVN: r34773
2000-06-18Fix spec %v3Michael Meissner1-1/+1
From-SVN: r34586
2000-06-14Thinko in last change.Jeff Law1-1/+1
From-SVN: r34551
2000-06-14gcc.c (main): Quiet compiler warnings.David O'Brien1-1/+1
* gcc.c (main): Quiet compiler warnings. argv is assumed to be writable in parts of the GCC code. From-SVN: r34550
2000-05-23getopt.h (getopt): Also check HAVE_DECL_* when prototyping.Kaveh R. Ghazi1-1/+1
include: * getopt.h (getopt): Also check HAVE_DECL_* when prototyping. * libiberty.h (basename): Likewise. gcc: * aclocal.m4 (gcc_AC_CHECK_DECL, gcc_AC_CHECK_DECLS): New macros rewritten from the internals of gcc_AC_NEED_DECLARATION{S}. * configure.in (gcc_AC_CHECK_DECLS): Call this instead of gcc_AC_NEED_DECLARATIONS. * dwarfout.c: Don't prototype time(). * gcc.c: Check HAVE_DECL_* instead of NEED_DECLARATION_*. * system.h: Likewise. * toplev.c: Likewise. From-SVN: r34108
2000-05-20top level:Zack Weinberg1-24/+30
* diagnostic.c: Eliminate implicit int. * except.c, gcc.c: Add static prototypes. * final.c (final_end_function): Mark file arg ATTRIBUTE_UNUSED. * gensupport.c (process_rtx): Use XVEC to initialize vector slot of 'split'. * print-rtl.c: If DEBUG_REGISTER_NAMES, define static debug_reg_names instead of static reg_names. If not, define global reg_names. * regclass.c: Don't define global reg_names unless DEBUG_REGISTER_NAMES is defined. * reload1.c (order_regs_for_reload): Remove unused variable. * varasm.c: Include output.h after defaults.h. Define eh_frame_section as function of no args, not of unspecified args. * gcc.c: Constify argbuf; arguments to store_arg, process_command, main; elements of struct command and struct switchstr; local variables in execute, process_command, main. cp: * except.c: Add static prototypes. From-SVN: r34054
2000-05-09gcc.c (used_arg): Skip over a semicolon at the end of the split-up loop; ↵Zack Weinberg1-2/+2
don't break out of it. * gcc.c (used_arg): Skip over a semicolon at the end of the split-up loop; don't break out of it. From-SVN: r33807
2000-05-09top level:Zack Weinberg1-57/+55
* Makefile.in (WARN_CFLAGS): Add -Wwrite-strings. (tree.o): Depend on output.h. * c-decl.c (pending_invalid_xref_file, current_function_prototype_file): Constify. (pushdecl): Constify a local char *. (define_label): Constify filename parameter. * c-lex.c (init_parse): Constify parameter and return value. * c-typeck.c (c_expand_asm_operands): Constify filename parameter. * c-tree.h: Update prototypes. * c-parse.in: Constify filename member of %union, and if_stmt_file. * c-parse.y, c-parse.c, c-parse.h, objc/objc-parse.y, objc/objc-parse.c: Regenerate. * dwarfout.c (dwarfout_init): Constify main_input_filename parameter. * dwarfout.h: Update prototypes. * expr.c (expand_expr): Constify a local char *. * flags.h: Constify main_input_filename. * function.c (expand_function_end): Constify filename parameter. * genrecog.c (make_insn_sequence): Use a character array for c_test_pos. (main): Remove unused variables. * input.h: Constify input_filename, main_input_filename, and file_stack.name. Update prototypes. * output.h: Declare first_global_object_name and weak_global_object_name here, as const char *. * stmt.c (expand_asm_operands): Constify filename parameter. * toplev.c (compile_file, push_srcloc, debug_start_source_file): Constify filename parameter. (input_filename, main_input_filename): Constify. * toplev.h: Update prototypes. * tree.c: Include output.h. Don't declare first_global_object_name or weak_global_object_name. Clean up string bashing in get_file_function_name_long. * tree.h (struct tree_decl): Constify filename member. (input_filename): Constify. Update prototypes. * varasm.c (first_global_object_name, weak_global_object_name): Constify. (assemble_start_function, assemble_variable): Clean up string bashing. * gcc.c: Constify all spec-related strings initialized, transitively, from string constants. Constify all strings and string variables related to multilibs. (set_spec, read_specs): Cast argument to free to PTR. (used_arg): Do not modify multilib_matches. Use strncmp plus length comparison to compare multilib switches. * genmultilib: Constify everything declared in multilib.h. ch: * ch-tree.h: Update prototypes. Remove prototypes for functions declared elsewhere. * decl.c (define_label): Constify filename parameter. * grant.c (globalize_decl, set_default_grant_file): Constify local char * variables. Don't declare first_global_object_name or asm_out_file. * lang.c (chill_real_input_filename): Constify. * lex.c (init_parse): Constify parameter and return value. * parse.c: Don't declare input_filename. (ch_expand_asm_operands): Constify filename parameter. (parse_multi_dimension_case_action): Constify local char *. * satisfy.c (safe_satisfy_decl): Constify local char *. cp: * cp-tree.h: Constify tree_srcloc.filename, tinst_level.file, and pending_inline.filename. Update prototypes. * decl.c (define_label): Constify filename parameter. * decl2.c (warn_if_unknown_interface): Constify local char *. * input.c Constify input_source.filename. Don't declare input_filename or lineno. Constify filename parameter to feed_input. * lex.c (init_parse): Constify parameter and return value. (cp_pragma_interface, cp_pragma_implementation): Constify filename argument. (reinit_parse_for_method, reinit_parse_for_block, reinit_parse_for_expr, feed_defarg, handle_cp_pragma): Constify local char *. * pt.c: Don't declare lineno or input_filename. (print_template_context, tsubst_friend_function, tsubst_decl, tsubst, instantiate_decl): Constify local char *. * semantics.c (expand_body): Constify local char *. * tree.c (build_srcloc): Constify filename parameter. * typeck.c (c_expand_asm_operands): Constify filename parameter. f: * com.c (ffecom_subscript_check_): Constify array_name parameter. Clean up string bashing. (ffecom_arrayref_, ffecom_char_args_x_): Constify array_name parameter. (ffecom_do_entry_, ffecom_gen_sfuncdef_, ffecom_start_progunit_, ffecom_sym_transform_, ffecom_sym_transform_assign_): Constify local char *. (init_parse): Constify parameter and return value. * lex.c: Include dwarfout.h instead of prototyping dwarfout_* functions here. (ffelex_file_pop_, ffelex_file_push_): Constify filename parameter. (ffelex_hash_, ffelex_include_): Constify local char *. * std.c (ffestd_exec_end): Constify local char *. * where.c (ffewhere_file_new): Constify filename parameter. * where.h: Update prototypes. java: * check_init.c (check_init): Constify local char *. * class.c (push_class): Constify local char *. * java_tree.h: Update prototypes. * jcf-io.c (open_class): Constify filename parameter and return value. (find_class): Remove redundant string copy. Cast return from open_class. * jcf-parse.c (read_class, parse_class_file, yyparse): Constify local char *. * jcf-write.c (generate_bytecode_insns, generate_classfile): Constify local char *. * jcf.h (JCF): Constify filename and classname. (JCF_FINISH): Cast args to FREE to char * when appropriate. * lang.c (init_parse): Constify parameter and return value. * lex.c (java_get_line_col): Constify filename parameter. * parse.h: Constify parser_ctxt.filename. Update prototypes. * parse.y (java_parser_context_suspend, issue_warning_error_from_context, safe_layout_class): Constify local char *. * parse.c: Regenerate. From-SVN: r33804
2000-05-05* gcc.c (set_input) [HAVE_DOS_STYLE_FILE_SYSTEM]: Skip drive name.Mark Elbrecht1-1/+6
From-SVN: r33717
2000-05-04gcc.c (free_split_directories): Correct typo in explanation of ↵Mark Elbrecht1-1/+1
make_relative_prefix. * gcc.c (free_split_directories): Correct typo in explanation of make_relative_prefix. From-SVN: r33693
2000-04-24gcc.c (load_specs): New static function.Mumit Khan1-14/+53
* gcc.c (load_specs): New static function. (read_specs): Use it. From-SVN: r33395
2000-04-24gcc.c (lookup_compiler): Make multiple passes for case insensitive filesystems.Mumit Khan1-27/+42
* gcc.c (lookup_compiler): Make multiple passes for case insensitive filesystems. From-SVN: r33393
2000-04-03gcc.c (C specs): Pass -f(no-)show-column to the preprocessor.Zack Weinberg1-0/+5
* gcc.c (C specs): Pass -f(no-)show-column to the preprocessor. * ch/lang-specs.h, cp/lang-specs.h, f/lang-specs.h, objc/lang-specs.h: Likewise. * gcc.dg/cpp-redef-2.c, gcc.dg/cpp-tradwarn1.c, gcc.dg/cpp-unc.c: Add -fno-show-column to compiler options. From-SVN: r32891
2000-03-28gcc.c (handle_braces): In {x*...} case, break out of loop if switch is found.Tom Tromey1-0/+1
* gcc.c (handle_braces): In {x*...} case, break out of loop if switch is found. From-SVN: r32784
2000-03-26gcc.c (handle_braces): Recognize `%{<S}' construct.Tom Tromey1-16/+58
* gcc.c (handle_braces): Recognize `%{<S}' construct. (SWITCH_OK, SWITCH_FALSE, SWITCH_IGNORE, SWITCH_LIVE): New defines. (process_command): Use them. (check_live_switch): Likewise. (give_switch): Skip ignored switches. From-SVN: r32756
2000-03-14Fix spec string parsing bugsNick Clifton1-34/+46
From-SVN: r32535
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