aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcc.c
AgeCommit message (Collapse)AuthorFilesLines
2007-06-27re PR other/31400 (enable static linking of support libraries through ↵Francois-Xavier Coudert1-2/+4
-static-libXY) PR other/31400 * gcc.c (process_command): Recognize the new -static-libgfortran option. * lang.opt (static-libgfortran): New option. * gfortranspec.c (ADD_ARG_LIBGFORTRAN): New macro. (Option): Add OPTION_static and OPTION_static_libgfortran. (lookup_option): Handle the new -static-libgfortran option. (lang_specific_driver): Check whether -static is passed. Handle the new -static-libgfortran option. * options.c (gfc_handle_option): If -static-libgfortran is passed and isn't supported on this configuration, error out. From-SVN: r126068
2007-05-31gcc.c (main): Don't consider linker options when issuing the warning about a ↵Kazu Hirata1-1/+2
linker input... * gcc.c (main): Don't consider linker options when issuing the warning about a linker input file not being used. From-SVN: r125226
2007-05-26i386.c, [...]: Fix comment typos.Kazu Hirata1-1/+1
* config/i386/i386.c, config/pa/pa.c, config/spu/spu.c, df-problems.c, df-scan.c, domwalk.c, ebitmap.c, ebitmap.h, fold-const.c, gcc.c, ipa-type-escape.c, omega.c, omega.h, tree-ssa-coalesce.c, tree-ssa-live.c, tree-ssa-structalias.c, tree-vrp.c: Fix comment typos. Follow spelling conventions. * doc/tm.texi: Follow spelling conventions. From-SVN: r125090
2007-05-26c-typeck.c, [...]: Fix typos and follow spelling conventions in various ↵Kazu Hirata1-1/+1
warning/error/diagnostic... * c-typeck.c, config/arm/arm.c, config/darwin.c, config/sh/symbian.c, gcc.c, ipa-cp.c, ipa-inline.c, loop-iv.c, omega.c, tree-ssa-loop-niter.c, treestruct.def: Fix typos and follow spelling conventions in various warning/error/diagnostic messages. From-SVN: r125089
2007-05-08libiberty.h (writeargv): Declare.Nathan Froyd1-3/+65
include/ 2007-05-07 Nathan Froyd <froydnj@codesourcery.com> * libiberty.h (writeargv): Declare. libiberty/ 2007-05-07 Nathan Froyd <froydnj@codesourcery.com> * argv.c (writeargv): New function. gcc/ 2007-05-07 Nathan Froyd <froydnj@codesourcery.com> * gcc.c (at_file_supplied): New variable. (main): Set it if we expanded argv. (do_spec_1): Pass an @-file to the linker if we were called with an @-file argument and HAVE_GNU_LD. * collect2.c (at_file_supplied): New variable. (response_file): New variable. (collect_exit): Unlink response_file if necessary. (handler): Likewise. (do_wait): Likewise. (main): Set at_file_supplied if we expanded argv. (collect_execute): Pass an @-file to subprocesses if we were called with an @-file argument. * configure.ac: Add define for HAVE_GNU_LD. * configure: Regenerate. * config.in: Regenerate. From-SVN: r124532
2007-04-26re PR driver/31107 (--target-help doesn't say which options are compiler, ↵Richard Sandiford1-1/+24
assembler or linker options) gcc/ PR driver/31107 * doc/invoke.texi (%:print-asm-header): Document. * gcc.c (asm_options): Use %:print-asm-header() for --target-help and -ftarget-help. (static_spec_functions): Add print-asm-header. (main): Print a banner before the --target-help linker options. (print_asm_header_spec_function): New function. From-SVN: r124175
2007-04-04re PR driver/31353 (gcc --help=target gives a linker error.)Brooks Moses1-1/+1
PR other/31353 * gcc.c (main): Do not run the linker if print_subprocess_help indicates that it shouldn't be run. From-SVN: r123498
2007-03-13re PR driver/12448 (-MT / -MQ don't behave as documented.)David Taylor1-1/+1
2007-03-13 David Taylor <taylor@candd.org> PR driver/12448: * gcc.c (cpp_unique_options): If -MT or -MQ is seen, don't pass default -MQ. From-SVN: r122889
2007-03-12gcc.c (main): Handle target_sysroot_hdrs_suffix being NULL for some multilibs.Joseph Myers1-1/+3
* gcc.c (main): Handle target_sysroot_hdrs_suffix being NULL for some multilibs. From-SVN: r122865
2007-03-10gcc.c: Document %{, in big comment at top.Geoffrey Keating1-46/+56
* gcc.c: Document %{, in big comment at top. (input_suffix_matches): Remove special handling for .s and .S. (input_spec_matches): New. (handle_braces): Handle %{,. (validate_switches): ',' indicates a value which is not a switch. * config/alpha/osf.h (ASM_FINAL_SPEC): Use %{, rather than %{. to detect assembler input. * config/i386/sol2.h (CPP_SPEC): Likewise. * config/rs6000/sysv4.h (ASM_SPEC): Likewise. * config/rs6000/vxworks.h (ASM_SPEC): Likewise. * config/rs6000/lynx.h (ASM_SPEC): Likewise. * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise. * config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Objective-C plus -m64 causes deployment target to default to 10.5. * config/rs6000/darwin.h (DARWIN_MINVERSION_SPEC): Likewise. From-SVN: r122783
2007-03-06re PR bootstrap/31020 (cannot write in ↵Joseph Myers1-0/+27
</test/gnu/gcc/objdir/prev-gcc/../gcc/./include>) fixincludes: * mkheaders.in: Fix headers for each multilib required. gcc: PR bootstrap/31020 * configure.ac (CROSS_SYSTEM_HEADER_DIR, build_system_header_dir): Define using $${sysroot_headers_suffix}. * configure: Regenerate. * cppdefault.c (cpp_include_defaults): Make FIXED_INCLUDE_DIR a multilib-suffixed directory if SYSROOT_HEADERS_SUFFIX_SPEC defined. * doc/invoke.texi (-print-sysroot-headers-suffix): Document. * gcc.c (print_sysroot_headers_suffix): New. (option_map): Include --print-sysroot-headers-suffix. (display_help): Mention -print-sysroot-headers-suffix. (process_command): Handle -print-sysroot-headers-suffix. (do_spec_1): Append multilib directory to include-fixed path if sysroot suffixes in use. (main): Handle -print-sysroot-headers-suffix. * Makefile.in (start.encap): Don't depend on xlimits.h (xlimits.h): Remove. (stmp-int-hdrs): Don't depend on xlimits.h. Inline generation of limits.h for each multilib in fixinc_list. (fixinc_list, s-fixinc_list): New. (stmp-fixinc): Depend on fixinc_list. If not copying headers, generate them for each multilib in fixinc_list. (stmp-fixproto): Use include-fixed. Run fixproto for each multilib in fixinc_list. (mostlyclean): Don't remove xlimits.h. (clean): Remove include-fixed. (real-install-headers-tar, real-install-headers-cpio, real-install-headers-cp): Don't copy include, only include-fixed. (install-mkheaders): Depend on fixinc_list. Don't depend on xlimits.h. Save limits.h files for each multilib in fixinc_list. Always save mkinstalldirs. Preserve ${sysroot_headers_suffix} in SYSTEM_HEADER_DIR setting in mkheaders.conf. From-SVN: r122620
2007-03-052007/03/05 David Taylor <dtaylor@emc.com>David Taylor1-1/+1
2007/03/05 David Taylor <dtaylor@emc.com> * gcc.c: Correct copyright date in --version output. From-SVN: r122596
2007-02-27mkheaders.in (incdir): Use include-fixed not include.Joseph Myers1-22/+5
fixincludes: * mkheaders.in (incdir): Use include-fixed not include. gcc: * Makefile.in (PREPROCESSOR_DEFINES, test-protoize-simple): Define FIXED_INCLUDE_DIR. (stmp-int-hdrs, stmp-fixinc, install-headers): Use include-fixed for fixed headers and limits.h. (install-include-dir, install-headers-tar, install-headers-cpio, install-headers-cp, real-install-headers-tar, real-install-headers-cpio, real-install-headers-cp): Handle include-fixed as well as include. (install-mkheaders): Don't install files that go only in include not include-fixed. * cppdefault.c (cpp_include_defaults): Separate FIXED_INCLUDE_DIR from GCC_INCLUDE_DIR. * gcc.c (process_command): Remove special -BstageN/ handling. (do_spec_1): Add include-fixed directories. From-SVN: r122384
2007-02-22gcc.c (getenv_spec_function): New function.Mark Mitchell1-0/+23
* gcc.c (getenv_spec_function): New function. (static_spec_functions): Add it. * config/vxworks.h (VXWORKS_TARGET_DIR): Remove. (VXWORKS_ADDITIONAL_CPP_SPEC): Use getenv to find the VxWorks header files. From-SVN: r122240
2007-02-12invoke.texi (Overall Options): Document --help=.Nick Clifton1-43/+21
* doc/invoke.texi (Overall Options): Document --help=. * gcc.c (target_help_flag): Rename to print_subprocess_flag. (cc1_options): Pass --help= on to cc1. (display_help): Add description of --help=. (process_command): Add code to handle --help=. Allow translated --help and --target-help switches to be passed on to compiler sub-process. (main): Remove unused if statement. * opts.c (columns): Remove. (LEFT_COLUMN): Define. (wrap_help): Add columns argument. (print_filtered_help): Change parameters to be an include bitmask, an exclude bitmask, an any bitmask and the column width. Move the code to display the params list here. Add code to display the status of options rather than their descriptions if the quiet flag is not active. (print_specific_help): Change parameters to be an include bitmask, an exclude bitmask and an any bitmask. Move code to look up the column width here. Decide upon the title for an options listing. (common_handle_options): Add code to handle --help=. Adapt code for --help and --target-help to use the revised form of the print_specific_help function. (print_help): Delete. (print_param_help): Delete. (print_switch): Delete. * opts.h (cl_lang_count): Add prototype. (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_MIN_OPTION_CLASS, CL_MAX_OPTION_CLASS): New defines. * optc-gen.awk: Add construction of cl_lang_count. * c.opt: Add Warning attribute to warning options and Optimization attribute to optimization options. * common.opt: Likewise. Add --help=. Add -fhelp and -ftarget-help as aliases for the transformed --help and --target-help options. * opt-functions.awk: Add code to handle Warning and Optimization attributes. From-SVN: r121849
2007-02-03re PR driver/30246 (-ggdb3 does not cause -dD to be passed to cc1 for ↵Tom Tromey1-1/+2
preprocessing) PR driver/30246 * gcc.c (cpp_unique_options): Any of -ggdb3, -gstabs3, -gcoff3, -gxcoff3, -gvms3 implies -dD. From-SVN: r121549
2006-12-13mips-tdump.c: Replace CROSS_COMPILE with CROSS_DIRECTORY_STRUCTURE.Geoffrey Keating1-2/+2
* mips-tdump.c: Replace CROSS_COMPILE with CROSS_DIRECTORY_STRUCTURE. * mips-tfile.c: Likewise. * gcc.c: Likewise. * configure.ac: Likewise. * cppdefault.c: Likewise. * Makefile.in: Likewise. * config/alpha/osf.h: Likewise. * config/i386/cygwin.h: Likewise. * config/i386/beos-elf.h: Likewise. * config/i386/nto.h: Likewise. * config/fr30/fr30.h: Likewise. * config/svr4.h: Likewise. * config/rs6000/aix.h: Likewise. * config/rs6000/sysv4.h: Likewise. * config/pa/pa64-hpux.h: Likewise. * config/pa/pa-hpux10.h: Likewise. * config/pa/pa-hpux11.h: Likewise. * collect2.c: Likewise. * configure: Regenerate. From-SVN: r119820
2006-11-13gcc.c: Organize search path variables into $prefix relative, and well-known ↵Carlos O'Donell1-64/+70
native. gcc/ 2006-11-13 Carlos O'Donell <carlos@codesourcery.com> Mark Mitchell <mark@codesourcery.com> * gcc.c: Organize search path variables into $prefix relative, and well-known native. Add comments. (add_sysrooted_prefix): Add comment. (process_command): If !gcc_exec_prefix add $prefix based paths. If *cross_compile == '0', add native well-known paths. Assert tooldir_base_prefix is always relative. (main): If print_search_dirs, and if gcc_exec_prefix is set, use this value for 'install:' path. * Makefile.in: Add GCC_EXEC_PREFIX to generated site.exp. gcc/testsuite/ 2006-11-13 Carlos O'Donell <carlos@codesourcery.com> * lib/c-torture.exp: Use target-libpath.exp. * lib/target-libpath.exp (set_ld_library_path_env_vars): If present, set GCC_EXEC_PREFIX env var from global variable of same name. Co-Authored-By: Mark Mitchell <mark@codesourcery.com> From-SVN: r118765
2006-11-07gcc.c (process_command): Treat -b as normal switch if its argument has no dash.Jie Zhang1-1/+4
* gcc.c (process_command): Treat -b as normal switch if its argument has no dash. From-SVN: r118547
2006-07-18* gcc.c (display_help): Fix typo in help text.David Daney1-1/+1
From-SVN: r115555
2006-05-22revert: invoke.texi (-msselibm): Document.Richard Guenther1-7/+1
2006-05-22 Richard Guenther <rguenther@suse.de> Revert 2006-01-31 Richard Guenther <rguenther@suse.de> * doc/invoke.texi (-msselibm): Document. * target.h (expand_library_builtin): New target hook. * builtins.c (expand_builtin): Use expand_library_builtin. (default_expand_library_builtin): New function. * gcc.c (LINK_GCC_MATH_SPEC): Define. (LINK_COMMAND_SPEC): Handle %(link_gcc_math). (link_gcc_math_spec): Declare. (static_specs): Add link_gcc_math_spec. * expr.h (default_expand_library_builtin): Declare. * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define. (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN. * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC. * config/i386/i386.opt (msselibm): New target option. * config/i386/i386.c (ix86_builtin_function_variants): New array. (ix86_init_sse_abi_builtins): New function. (ix86_expand_library_builtin): Likewise. (TARGET_EXPAND_LIBRARY_BUILTIN): Define. (override_options): Handle error conditions wrt -msselibm. (ix86_builtins): Add function codes for SSE2 ABI builtins. (ix86_init_builtins): Call ix86_init_sse_abi_builtins. * doc/extend.texi (__builtin_sse2_*): Document new target specific builtins. * gcc.target/i386/sselibm-1.c: New testcase. * gcc.target/i386/sselibm-2.c: Likewise. * gcc.target/i386/sselibm-3.c: Likewise. * gcc.target/i386/sselibm-4.c: Likewise. * gcc.target/i386/sselibm-5.c: Likewise. From-SVN: r113977
2006-05-16re PR target/26885 (-m64 -m32 no longer creates 32-bit object)H.J. Lu1-0/+3
gcc/ 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> PR driver/26885 * Makefile.in (GCC_OBJS): New. (OBJS-common): Add opts-common.o. (xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS). (cpp$(exeext)): Likewise. (gcc.o): Also depend on opts.h. (opts-common.o): New. * common.opt (gcoff): Add Negative(gdwarf-2). (gdwarf-2): Add Negative(gstabs). (gstabs): Add Negative(gstabs+). (gstabs+): Add Negative(gvms). (gvms): Add Negative(gxcoff). (gxcoff): Add Negative(gxcoff+). (gxcoff+): Add Negative(gcoff). * config/i386/i386.opt (m32): Add Negative(m64). (m64): Add Negative(m32). * doc/options.texi: Document the Negative option. * gcc.c: Include "opts.h". (main): Call prune_options after expandargv. * optc-gen.awk: Generate common declarations for all flag variables in options.c. Output the neg_index field. * opts.c (find_opt): Moved to ... * opts-common.c: Here. New file. * opts.h (cl_option): Add a neg_index field. (find_opt): New. (prune_options): Likewise. gcc/cp/ 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> PR driver/26885 * Make-lang.in (GXX_OBJS): Replace gcc.o with $(GCC_OBJS). gcc/fortran/ 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> PR driver/26885 * Make-lang.in (GFORTRAN_D_OBJS): Replace gcc.o with $(GCC_OBJS). gcc/java/ 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> PR driver/26885 * Make-lang.in ($(GCJ)$(exeext)): Replace gcc.o with $(GCC_OBJS). gcc/treelang/ 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> PR driver/26885 * Make-lang.in (gtreelang$(exeext)): Replace gcc.o with $(GCC_OBJS). From-SVN: r113824
2006-05-09config.host (<i[34567]86-*-*, [...]): Set host_extra_gcc_objs and ↵Michael Matz1-0/+3
host_xmake_file. * config.host (<i[34567]86-*-*, x86_64-*-*>): Set host_extra_gcc_objs and host_xmake_file. (<*-*-linux*>): Don't overwrite host_xmake_file. * gcc.c (static_spec_functions): Add EXTRA_SPEC_FUNCTIONS. * config/i386/i386.h (EXTRA_SPEC_FUNCTIONS): Define. (host_detect_local_cpu): Declare. (CC1_CPU_SPEC): Add -march=native and -mtune=native cases. * config/i386/i386.c (override_options): Handle -mtune=native as -mtune=generic. * config/i386/x-i386: New file. * config/i386/driver-i386.c: New file. * doc/invoke.texi (<i386 and x86-64 Options>): Describe cpu-type "native". From-SVN: r113655
2006-04-28gcc.c (process_command): Add program name to GCC_EXEC_PREFIX value before ↵Joseph Myers1-3/+11
passing to make_relative_prefix. * gcc.c (process_command): Add program name to GCC_EXEC_PREFIX value before passing to make_relative_prefix. From-SVN: r113345
2006-04-11* gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o.Jakub Jelinek1-2/+2
From-SVN: r112851
2006-03-22re PR driver/22600 (Exit code should be different from 1 for internal ↵Volker Reichelt1-4/+20
compiler error) PR driver/22600 * system.h (ICE_EXIT_CODE): New macro. * diagnostic.c (diagnostic_count_diagnostic): Exit with ICE_EXIT_CODE. (diagnostic_action_after_output): Likewise. * gcc.c (fatal_ice): New function. (execute): Use it instead of fatal. (fancy_abort): Likewise. * doc/invoke.texi (-pass-exit-codes): Document return code for ICEs. * fortran/error.c (gfc_fatal_error): Return ICE_EXIT_CODE instead of 4. From-SVN: r112292
2006-02-01* gcc.c (process_command): Change j to 'unsigned int'.Steve Ellcey1-1/+1
From-SVN: r110476
2006-01-31gcc.c (main): Correct type that is allocated for explicit_link_files.Andrew Pinski1-1/+1
2006-01-31 Andrew Pinski <pinskia@physics.uc.edu> * gcc.c (main): Correct type that is allocated for explicit_link_files. From-SVN: r110455
2006-01-31tree-vrp.c: Use XNEW/XCNEW allocation wrappers.Marcin Dalecki1-28/+27
2006-01-31 Marcin Dalecki <martin@dalecki.de> * tree-vrp.c: Use XNEW/XCNEW allocation wrappers. * regrename.c: Ditto. * tree-ssa-loop-im.c: Ditto. * tree-dump.c: Ditto. * tree-complex.c: Ditto. * genrecog.c: Ditto. * tree-ssa-threadupdate.c: Ditto. * tracer.c: Ditto. * java/class.c: Ditto. * java/jcf-parse.c: Ditto. * java/resource.c: Ditto. * java/except.c: Ditto. * java/jvspec.c: Ditto. * java/jcf-write.c: Ditto. * java/jcf-path.c: Ditto. * java/gjavah.c: Ditto. * java/zextract.c: Ditto. * java/jcf-io.c: Ditto. * java/jcf.h: Ditto. * java/buffer.c: Ditto. * java/lang.c: Ditto. * java/parse-scan.y: Ditto. * java/lex.c: Ditto. * java/lex.h: Ditto. * cfgloopmanip.c: Ditto. * postreload-gcse.c: Ditto. * tree-ssa-loop-manip.c: Ditto. * postreload.c: Ditto. * tree-ssa-loop-ch.c: Ditto. * loop.c: Ditto. * ipa-cp.c: Ditto. * cppspec.c: Ditto. * diagnostic.c: Ditto. * final.c: Ditto. * genoutput.c: Ditto. * gcc.c: Ditto. * cfghooks.c: Ditto. * cfgloopanal.c: Ditto. * objc/objc-act.c: Ditto. * gcov.c: Ditto. * genextract.c: Ditto. * genautomata.c: Ditto. * pretty-print.c: Ditto. * genemit.c: Ditto. * cgraphunit.c: Ditto. * flow.c: Ditto. * df-scan.c: Ditto. * haifa-sched.c: Ditto. * dominance.c: Ditto. * dbxout.c: Ditto. * tree-ssa-loop-ivopts.c: Ditto. * df-core.c: Ditto. * mode-switching.c: Ditto. * modulo-sched.c: Ditto. * graph.c: Ditto. * ipa-pure-const.c: Ditto. * cse.c: Ditto. * fix-header.c: Ditto. * web.c: Ditto. * tree-stdarg.c: Ditto. * ipa-utils.c: Ditto. * loop-init.c: Ditto. * ipa-inline.c: Ditto. * cfganal.c: Ditto. * global.c: Ditto. * alloc-pool.c: Ditto. * dwarf2out.c: Ditto. * opts.c: Ditto. * genattrtab.c: Ditto. * tree-ssa-loop-ivcanon.c: Ditto. * predict.c: Ditto. * timevar.c: Ditto. * lcm.c: Ditto. * fortran/gfortranspec.c: Ditto. * regmove.c: Ditto. * local-alloc.c: Ditto. * langhooks.c: Ditto. * function.c: Ditto. * tree-vectorizer.c: Ditto. * gcse.c: Ditto. * ipa-type-escape.c: Ditto. * alias.c: Ditto. * tree-if-conv.c: Ditto. * profile.c: Ditto. * ipa.c: Ditto. * tree-data-ref.c: Ditto. * loop-unroll.c: Ditto. * treelang/treetree.c: Ditto. * calls.c: Ditto. * bt-load.c: Ditto. * ggc-common.c: Ditto. * except.c: Ditto. * coverage.c: Ditto. * cselib.c: Ditto. * tree-cfgcleanup.c: Ditto. * tree-ssa-pre.c: Ditto. * cfgcleanup.c: Ditto. * loop-invariant.c: Ditto. * loop-iv.c: Ditto. * ipa-prop.c: Ditto. * print-tree.c: Ditto. * conflict.c: Ditto. * ggc-page.c: Ditto. * sched-deps.c: Ditto. * regclass.c: Ditto. * tree-object-size.c: Ditto. * combine.c: Ditto. * bb-reorder.c: Ditto. * resource.c: Ditto. * var-tracking.c: Ditto. * cfgloop.c: Ditto. * df-problems.c: Ditto. * reg-stack.c: Ditto. * tlink.c: Ditto. * gccspec.c: Ditto. * sched-rgn.c: Ditto. * tree-ssa-structalias.c: Ditto. * tree-ssa-reassoc.c: Ditto. * config/darwin-c.c: Ditto. * config/darwin.c: Ditto. * config/arm/arm.c: Ditto. * cfgrtl.c: Ditto. * collect2.c: Ditto. * reload1.c: Ditto. From-SVN: r110446
2006-01-31invoke.texi (-msselibm): Document.Richard Guenther1-1/+7
2006-01-31 Richard Guenther <rguenther@suse.de> * doc/invoke.texi (-msselibm): Document. * target.h (expand_library_builtin): New target hook. * builtins.c (expand_builtin): Use expand_library_builtin. (default_expand_library_builtin): New function. * gcc.c (LINK_GCC_MATH_SPEC): Define. (LINK_COMMAND_SPEC): Handle %(link_gcc_math). (link_gcc_math_spec): Declare. (static_specs): Add link_gcc_math_spec. * expr.h (default_expand_library_builtin): Declare. * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define. (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN. * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC. * config/i386/i386.opt (msselibm): New target option. * config/i386/i386.c (ix86_builtin_function_variants): New array. (ix86_init_sse_abi_builtins): New function. (ix86_expand_library_builtin): Likewise. (TARGET_EXPAND_LIBRARY_BUILTIN): Define. (override_options): Handle error conditions wrt -msselibm. (ix86_builtins): Add function codes for SSE2 ABI builtins. (ix86_init_builtins): Call ix86_init_sse_abi_builtins. * doc/extend.texi (__builtin_sse2_*): Document new target specific builtins. * gcc.target/i386/sselibm-1.c: New testcase. * gcc.target/i386/sselibm-2.c: Likewise. * gcc.target/i386/sselibm-3.c: Likewise. * gcc.target/i386/sselibm-4.c: Likewise. * gcc.target/i386/sselibm-5.c: Likewise. From-SVN: r110439
2006-01-20re PR libstdc++/25524 (libstdc++ headers should go in multilib directories)Joseph Myers1-4/+13
PR libstdc++/25524 * cppdefault.h (struct default_include): Add multilib flag. * cppdefault.c (cpp_include_defaults): Set it. * c.opt (-imultilib): New option. * c-opts.c (imultilib): New. (c_common_handle_option): Handle -imultilib. (c_common_post_options): Likewise. * c-incpath.c (add_standard_paths, register_include_chains): Likewise. * c-incpath.h (register_include_chains): Add extra parameter. * gcc.c (do_spec_1): Generate -imultilib option. (The Specs Language): Update %I description. (process_command): Update copyright notice. * doc/cppopts.texi (-imultilib): Document. * doc/invoke.texi (-imultilib): Include in option summary. (%I): Update specs documentation. libstdc++-v3: * include/Makefile.am: Install host-specific headers in multilib subdirectory. * include/Makefile.in: Regenerate. From-SVN: r110037
2006-01-18[multiple changes]Diego Novillo1-8/+40
2006-01-18 Richard Henderson <rth@redhat.com> Jakub Jelinek <jakub@redhat.com> Diego Novillo <dnovillo@redhat.com> * libgomp: New directory. * Makefile.def: Add target_module libgomp. * Makefile.in: Regenerate. * configure.in (target_libraries): Add target-libgomp. * configure: Regenerate. contrib/ 2006-01-18 Richard Henderson <rth@redhat.com> Diego Novillo <dnovillo@redhat.com> * gcc_update (files_and_dependencies): Add libgomp files. gcc/ 2006-01-18 Richard Henderson <rth@redhat.com> Aldy Hernandez <aldyh@redhat.com> Jakub Jelinek <jakub@redhat.com> Diego Novillo <dnovillo@redhat.com> * omp-low.c: New file. * c-omp.c: New file. 2006-01-18 Richard Henderson <rth@redhat.com> Jakub Jelinek <jakub@redhat.com> Diego Novillo <dnovillo@redhat.com> * doc/invoke.texi: Document -fopenmp. * tree-dump.h (debug_function): Declare. * hooks.c (hook_bool_tree_bool_false): New function. (hook_tree_tree_null): Remove. (hook_tree_tree_tree_null): New. * hooks.h: Update to match. * tree-pretty-print.c (debug_tree_chain): New. (print_generic_expr): Handle TDF_CHAIN. (dump_generic_node): Handle BLOCK. Do not abort with incomplete SWITCH_EXPRs. Do not dump body of an OpenMP directive if TDF_SLIM is given. <case OMP_PARALLEL, OMP_FOR, OMP_SECTIONS>: Don't print space after directive name. <OMP_FOR>: Handle printing OMP_FOR_PRE_BODY. Handle OMP_MASTER and OMP_ORDERED. Handle printing of OMP_BODY just in one place, goto dump_omp_body in the rest of OMP_* nodes that have OMP_BODY. Don't handle clause nodes here. Update omp statements to use dump_omp_clauses. Handle OMP_SINGLE, OMP_SECTIONS, OMP_SECTION, OMP_CLAUSE_ORDERED, OMP_CLAUSE_SCHEDULE, OMP_ATOMIC, OMP_CRITICAL, OMP_CLAUSE_NOWAIT, GOMP_CLAUSE_IF, GOMP_CLAUSE_NUM_THREADS, GOMP_FOR, GOMP_CLAUSE_SHARED, GOMP_CLAUSE_FIRSTPRIVATE, GOMP_CLAUSE_LASTPRIVATE, GOMP_CLAUSE_COPYIN and GOMP_CLAUSE_COPYPRIVATE. Adjust output for GOMP_PARALLEL. (dump_omp_clauses): New. (print_declaration): Dump DECL_VALUE_EXPR. (op_symbol_1): Split out of op_symbol. (dumping_stmts): Remove. Update all users. * cgraph.c (cgraph_analyze_queue): New. (cgraph_add_new_function): New. * cgraph.h (cgraph_analyze_queue): Declare. (cgraph_add_new_function): Declare. (cgraph_lower_function): Remove. * tree.c (walk_tree): Walk OMP_CLAUSE_CHAIN of OMP_CLAUSE_* nodes. Use switch for all nodes, handle most of IS_EXPR_CODE_CLASS and TYPE_P nodes in its default clause. (empty_body_p): New. (tree_range_check_failed): New. (build5_stat): New. * tree.h (OMP_CLAUSE_REDUCTION_INIT, OMP_CLAUSE_REDUCTION_MERGE, OMP_CLAUSE_REDUCTION_PLACEHOLDER, OMP_CLAUSE_PRIVATE_DEBUG, OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE, OMP_FOR_PRE_BODY, OMP_MASTER_BODY, OMP_ORDERED_BODY OMP_BODY, OMP_CLAUSES, OMP_CLAUSE_DECL, OMP_CLAUSE_DEFAULT_KIND, OMP_CLAUSE_CHAIN, OMP_CLAUSE_OUTER_DECL, OMP_CLAUSE_INNER_DECL, OMP_CLAUSE_NUM_THREADS_EXPR, OMP_CLAUSE_IF_EXPR, OMP_CLAUSE_SCHEDULE_CHUNK_EXPR, OMP_CLAUSE_SCHEDULE_CHUNK_SIZE. OMP_PARALLEL_VAR_INIT, OMP_PARALLEL_VAR_REDUC, OMP_FOR_VAR_INIT, OMP_FOR_VAR_LAST, OMP_FOR_VAR_REDUC, OMP_SECTIONS_VAR_INIT, OMP_SECTIONS_VAR_LAST, OMP_SECTIONS_VAR_REDUC, OMP_CLAUSE_REDUCTION_CODE OMP_SINGLE_CLAUSES, OMP_SINGLE_BODY, OMP_CLAUSE_SCHEDULE_CHUNK_SIZE, OMP_SECTION_BODY, OMP_CRITICAL_NAME, OMP_CRITICAL_BODY): New. (TREE_RANGE_CHECK): New. (empty_body_p): Declare. (enum omp_clause_default_kind): New. (build_string_literal): Declare. (enum omp_clause_schedule_kind, OMP_CLAUSE_SCHEDULE_KIND): New. (build5_stat, build5): Declare. * tree-pass.h (TDF_CHAIN): Define. * tree-pass.h (PROP_gimple_lomp): Define. (pass_lower_omp): Declare. * diagnostic.h (debug_tree_chain): Declare. * builtins.c (get_builtin_sync_mode): Use 0 as last argument to mode_for_size. (expand_builtin): Handle sync BUILT_IN_*_16 builtins. * builtins.c (build_string_literal): Make extern. * gcc.c (include_spec_function): New. (static_spec_functions): Add it. (main): Move load of libgomp.spec ... (LINK_COMMAND_SPEC): ... here. (link_gomp_spec): New. (static_specs): Include it. (LINK_COMMAND_SPEC): Add link_gomp. (GOMP_SELF_SPECS): New. (driver_self_specs): Include it. (switch_matches): Don't mark inline. (main): Load libgomp.spec. * tree-gimple.c (is_gimple_stmt): True for OMP_MASTER, OMP_ORDERED, OMP_CRITICAL, OMP_SECTIONS, OMP_SECTION, and OMP_SINGLE, OMP_FOR and OMP_PARALLEL. * tree-gimple.h (enum omp_parallel): Declare. (determine_parallel_type): Declare. (omp_firstprivatize_variable): Declare. (omp_reduction_init): Declare. (diagnose_omp_structured_block_errors): Declare. (struct walk_stmt_info): Add want_return_expr. (struct walk_stmt_info): Add want_bind_expr, want_locations. (find_omp_clause): Declare. (insert_field_into_struct): Declare. (struct walk_stmt_info): Move from tree-nested.c (walk_stmts): Declare. * c-cppbuiltin.c (c_cpp_builtins): If -fopenmp, #define _OPENMP to 200505. * cgraphunit.c (cgraph_lower_function): Make static. (cgraph_finalize_pending_functions): New. (cgraph_finalize_function): Call it. (cgraph_finalize_compilation_unit): Likewise. * builtin-types.def (BT_I16, BT_FN_I16_VPTR_I16, BT_FN_BOOL_VPTR_I16_I16, BT_FN_I16_VPTR_I16_I16): Add. (BT_FN_UINT_UINT): New. (DEF_FUNCTION_TYPE_6, DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_VAR_4): Document. (BT_PTR_LONG, BT_PTR_PTR, BT_FN_BOOL, BT_FN_INT, BT_FN_VOID_PTRPTR, BT_PTR_FN_VOID_PTR, BT_FN_BOOL_LONGPTR_LONGPTR, BT_FN_VOID_OMPFN_PTR_UINT, BT_FN_VOID_OMPFN_PTR_UINT_UINT, BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR, BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG, BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG): New. * builtins.def: Update DEF_BUILTIN comment to include COND argument. Move all DEF_SYNC_BUILTIN () and DEF_GOMP_BUILTIN () builtins into separate files. (DEF_GOMP_BUILTIN): New. (BUILT_IN_OMP_GET_THREAD_NUM, BUILT_IN_GOMP_BARRIER, BUILT_IN_GOMP_CRITICAL_START, BUILT_IN_GOMP_CRITICAL_END, BUILT_IN_GOMP_CRITICAL_NAME_START, BUILT_IN_GOMP_CRITICAL_NAME_END, BUILT_IN_GOMP_LOOP_STATIC_START, BUILT_IN_GOMP_LOOP_DYNAMIC_START, BUILT_IN_GOMP_LOOP_GUIDED_START, BUILT_IN_GOMP_LOOP_RUNTIME_START, BUILT_IN_GOMP_LOOP_ORDERED_STATIC_START, BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_START, BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_START, BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_START, BUILT_IN_GOMP_LOOP_STATIC_NEXT, BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT, BUILT_IN_GOMP_LOOP_GUIDED_NEXT, BUILT_IN_GOMP_LOOP_RUNTIME_NEXT, BUILT_IN_GOMP_LOOP_ORDERED_STATIC_NEXT, BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_NEXT, BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_NEXT, BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_NEXT, BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START, BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START, BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START, BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START, BUILT_IN_GOMP_LOOP_END, BUILT_IN_GOMP_LOOP_END_NOWAIT, BUILT_IN_GOMP_ORDERED_START, BUILT_IN_GOMP_ORDERED_END, BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_PARALLEL_END, BUILT_IN_GOMP_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_NEXT, BUILT_IN_GOMP_PARALLEL_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_END, BUILT_IN_GOMP_SECTIONS_END_NOWAIT, BUILT_IN_GOMP_SINGLE_START, BUILT_IN_GOMP_SINGLE_COPY_START, BUILT_IN_GOMP_SINGLE_COPY_END): New. * sync-builtins.def: New file, moved from builtins.def. * omp-builtins.def: New file, moved from builtins.def. * c-objc-common.h (LANG_HOOKS_OMP_PREDETERMINED_SHARING): Redefine. * gimple-low.c (lower_function_body): Clear data. (lower_stmt): Do not handle COMPOUND_EXPR. Remove call to print_node_brief. * c-tree.h (c_finish_omp_clauses): New prototype. (C_DECL_THREADPRIVATE_P): Define. (lookup_name_no_remap, c_omp_remap_private): Remove (c_begin_omp_parallel, c_finish_omp_parallel): Update. (check_for_loop_decls): Update decl. (lookup_name_no_remap, c_omp_remap_private): Declare. (build_indirect_ref, build_modify_expr, pushdecl, pushdecl_top_level): Move to c-common.h. * dwarf2out.c (loc_descriptor_from_tree_1): Don't set unsignedp before the switch, but just in the 2 places that need it. * c-decl.c (diagnose_mismatched_decls): Do not check for mismatched thread-local attributes when OLDDECL is marked threadprivate and NEWDECL has no thread-local attributes. (merge_decls): Merge C_DECL_THREADPRIVATE_P. (c_gimple_diagnostics_recursively): Rename from c_warn_unused_result_recursively. Invoke diagnose_omp_structured_block_errors. (check_for_loop_decls): Return a singular decl found. * langhooks.c (lhd_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED for DECL_ARTIFICIAL decls. (lhd_omp_firstprivatize_type_sizes): New. (lhd_omp_assignment): New. (lhd_omp_predetermined_sharing): New. * langhooks.h (struct gimplify_omp_ctx): Forward declare. (struct lang_hooks_for_types): Add omp_firstprivatize_type_sizes, omp_privatize_by_reference, omp_predetermined_sharing, omp_disregard_value_expr, omp_private_debug_clause, omp_clause_default_ctor, omp_clause_copy_ctor, omp_clause_assign_op, omp_clause_dtor. (c_finish_omp_clauses): New. (c_finish_bc_stmt): Diagnose break within omp for. (c_begin_omp_parallel, c_finish_omp_parallel): New. (build_unary_op): Return error_mark after reporting a readonly_error. (build_modify_expr): Likewise. * gimplify.c: Include optabs.h and pointer-set.h. (enum gimplify_omp_var_data): Declare. (struct gimplify_omp_ctx): Declare. (struct gimplify_ctx): Add fields prev_context, combined_pre_p and combined_ctxp. (gimplify_ctxp, gimplify_omp_ctxp): New local variables. (push_gimplify_context, pop_gimplify_context): Allow nesting. (splay_tree_compare_decl_uid): New. (new_omp_context): New. (delete_omp_context): New. (gimple_add_tmp_var): Call omp_add_variable. (gimplify_bind_expr): Likewise. (gimplify_var_or_parm_decl): If omp_notice_variable returned true, disregard DECL_VALUE_EXPR on the decl if any. (gimplify_expr_in_ctx): New. (omp_firstprivatize_variable, omp_firstprivatize_type_sizes omp_add_variable, omp_notice_variable, omp_is_private gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses_1 gimplify_adjust_omp_clauses, gimplify_omp_parallel gimplify_omp_for, gimplify_omp_workshare, goa_lhs_expr_p gimplify_omp_atomic_fetch_op, goa_stabilize_expr gimplify_omp_atomic_pipeline, gimplify_omp_atomic_mutex gimplify_omp_atomic): New. (gimplify_expr): Handle OMP_PARALLEL, OMP_FOR, OMP_SECTIONS, OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED, OMP_CRITICAL and OMP_ATOMIC. (gimplify_body): Verify gimplify_ctxp is empty after gimplification. * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ATOMIC, PRAGMA_OMP_BARRIER, PRAGMA_OMP_CRITICAL, PRAGMA_OMP_FLUSH, PRAGMA_OMP_FOR, PRAGMA_OMP_MASTER, PRAGMA_OMP_ORDERED, PRAGMA_OMP_PARALLEL, PRAGMA_OMP_PARALLEL_FOR, PRAGMA_OMP_PARALLEL_SECTIONS, PRAGMA_OMP_SECTION, PRAGMA_OMP_SECTIONS, PRAGMA_OMP_SINGLE, PRAGMA_OMP_THREADPRIVATE. * tree.def (OMP_PARALLEL, OMP_FOR, OMP_SECTIONS, OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED, OMP_CRITICAL, OMP_ATOMIC, OMP_CLAUSE_PRIVATE, OMP_CLAUSE_SHARED, OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_REDUCTION, OMP_CLAUSE_COPYIN, OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_NOWAIT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_DEFAULT): Define. * print-tree.c (print_node): Dump DECL_VALUE_EXPR. * tree-ssa-dce.c (find_control_dependence): Do not assume that ENTRY_BLOCK_PTR->next_bb == single_succ (ENTRY_BLOCK_PTR). * tree-nested.c (convert_call_expr): Call walk_body on OMP_BODY for OpenMP directives. (struct nesting_info): Add field_map, suppress_expansion, debug_var_chain. (create_nesting_tree): Initialize them. (lookup_field_for_decl): Use field_map. (get_nonlocal_debug_decl, get_local_debug_decl): New. (convert_local_omp_clauses): New. (finalize_nesting_tree_1): Add debug_var_chain to toplevel block. (walk_body): Split out of walk_function. (convert_nonlocal_omp_clauses, convert_local_omp_clauses): New. (convert_nonlocal_reference): Handle omp statements. (convert_local_reference): Likewise. (unnest_nesting_tree_1): Split out of finalize_nesting_tree_1. (unnest_nesting_tree): New. (lower_nested_functions): Call it. (insert_field_into_struct): Make extern. (struct walk_stmt_info): Move to tree-gimple.h. (walk_stmts): Make extern. * omp-builtins.def: New file. * tree-iterator.c (expr_only): Clarify comment. * c-common.h (pushdecl_top_level, pushdecl, build_modify_expr, build_indirect_ref, c_finish_omp_master, c_finish_omp_critical, c_finish_omp_ordered, c_finish_omp_barrier, c_finish_omp_atomic, c_finish_omp_flush, c_finish_omp_for, c_split_parallel_clauses, omp_clause_default_kind, c_omp_sharing_predetermined, c_omp_remap_decl): Declare. * Makefile.in (BUILTINS_DEF): Add omp-builtins.def. (OBJS-common): Add omp-low.o. (c-omp.o, omp-low.o): Add. (gimplify.o): Add dependency on $(OPTABS_H). (GTFILES): Add omp-low.c. (gt-stringpool.h): Add. * tree-cfg.c (set_bb_for_stmt): Do not update the block-to-labels map if we are currently expanding to RTL. (tree_node_can_be_shared): Remove unnecessary CONSTANT_CLASS_P checks. Handle IDENTIFIER_NODE. (tree_verify_flow_info): Do not ICE when emitting error messages about invalid labels. (dump_function_to_file): Reset CFUN before emitting the body of the function. (debug_function): New. * passes.c (init_optimization_passes): Schedule pass_lower_omp. * langhooks-def.h (lhd_omp_predetermined_sharing, lhd_omp_assignment, lhd_omp_firstprivatize_type_sizes): Declare. (LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES): Define. (LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it. (LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE, LANG_HOOKS_OMP_PREDETERMINED_SHARING, LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR, LANG_HOOKS_OMP_PRIVATE_DEBUG_CLAUSE, LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR, LANG_HOOKS_OMP_CLAUSE_COPY_CTOR, LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP, LANG_HOOKS_OMP_CLAUSE_DTOR): Define. (LANG_HOOK_DECLS): Use them. 2006-01-18 Dmitry Kurochkin <dmitry.kurochkin@gmail.com> Richard Henderson <rth@redhat.com> Jakub Jelinek <jakub@redhat.com> Diego Novillo <dnovillo@redhat.com> * c-parser.c (pragma_omp_clause): Define. (c_parser_declaration_or_fndef): Document OpenMP syntax. (c_parser_compound_statement): Likewise. (c_parser_statement): Likewise. (c_parser_pragma): Handle omp pragmas. (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK, OMP_PARALLEL_CLAUSE_MASK, OMP_SINGLE_CLAUSE_MASK): Define. (c_parser_omp_clause_name, check_no_duplicate_clause, c_parser_omp_variable_list, c_parser_omp_var_list_parens, c_parser_omp_clause_copyin, c_parser_omp_clause_copyprivate, c_parser_omp_clause_default, c_parser_omp_clause_firstprivate, c_parser_omp_clause_if, c_parser_omp_clause_lastprivate, c_parser_omp_clause_nowait, c_parser_omp_clause_num_threads, c_parser_omp_clause_ordered, c_parser_omp_clause_private, c_parser_omp_clause_reduction, c_parser_omp_clause_schedule, c_parser_omp_clause_shared, c_parser_omp_all_clauses, c_parser_omp_structured_block, c_parser_omp_atomic, c_parser_omp_barrier, c_parser_omp_critical, c_parser_omp_flush, c_parser_omp_for_loop, c_parser_omp_for, c_parser_omp_master, c_parser_omp_ordered, c_parser_omp_sections_scope, c_parser_omp_sections, c_parser_omp_parallel, c_parser_omp_single, c_parser_omp_construct, c_parser_omp_threadprivate): New. * c-pragma.c (init_pragma): Do omp pragma registration here. * c.opt (fopenmp): New flag. 2006-01-18 Eric Christopher <echristo@apple.com> * gcc.c (GOMP_SELF_SPECS): Bracket in #ifndef/#endif. * config/darwin.h (GOMP_SELF_SPECS): Define. testsuite/ 2006-01-18 Richard Henderson <rth@redhat.com> Aldy Hernandez <aldyh@redhat.com> Jakub Jelinek <jakub@redhat.com> Diego Novillo <dnovillo@redhat.com> Uros Bizjak <uros@kss-loka.si> * testsuite/gcc.dg/gomp: New directory. From-SVN: r109902
2006-01-16jvspec.c (lang_specific_spec_functions): removeRafael Espindola1-12/+3
* gcc/java/jvspec.c (lang_specific_spec_functions): remove * gcc/cppspec.c (lang_specific_spec_functions): remove * gcc/gcc.c (lookup_spec_function): use static_spec_functions directelly * gcc/gcc.h (lang_specific_spec_functions): remove * gcc/gccspec.c (lang_specific_spec_functions): remove * gcc/cp/g++spec.c (lang_specific_spec_functions): remove * gcc/fortran/gfortranspec.c (lang_specific_spec_functions): remove * gcc/treelang/spec.c (lang_specific_spec_functions): remove From-SVN: r109761
2005-12-16re PR driver/20425 (-print-search-dirs doesn't honor mutil-os/multilib settings)Alan Modra1-318/+347
PR driver/20425 * gcc.c (for_each_path): New function. (add_to_obstack, file_at_path): New functions. (struct file_at_path_info, struct add_to_obstack_info): New. (build_search_list): Rewrite using for_each_path. Constify struct path_prefix pointer. Add do_multi param. Adjust all callers. (find_a_file): Similarly, but just change existing param to bool. (putenv_from_prefixes): Add do_multi param, make "paths" const. (do_spec_path): Delete. (struct spec_path_info): New. (spec_path): New function. (do_spec_1): Use for_each_path for %D and %I. (find_file): Adjust for find_a_file changes. (main): Search multilibs for specs. Print multilib lib path for -print-search-dirs. Likewise add multilibs to LIBRARY_PATH_ENV. (read_specs): Search multilibs for %include and %include_noerr. (is_directory): Remove second string param. Change last param to a bool. Don't use concat. Remove SMALL_ARG_MAX test, always check path is a dir. Update all callers. * doc/hostconfig.texi (SMALL_ARG_MAX): Remove mention. * system.h (SMALL_ARG_MAX): Poison. * config.gcc: Don't define SMALL_ARG_MAX. * config.host: Likewise. * config.build: Likewise. From-SVN: r108635
2005-12-07gcc.c (init_gcc_specs): Match braces inside conditionally compiled strings.Alan Modra1-13/+18
* gcc.c (init_gcc_specs): Match braces inside conditionally compiled strings. From-SVN: r108151
2005-12-02* gcc.c (execute): Improve readability.Volker Reichelt1-3/+4
From-SVN: r107886
2005-11-28* gcc.c (main): Change type of argv to "char **".Mark Mitchell1-3/+3
From-SVN: r107594
2005-11-23invoke.texi: For man pages, include gcc-vers.texi.Mark Mitchell1-0/+2
* doc/invoke.texi: For man pages, include gcc-vers.texi. List @file in the option summary. Include the libiberty documentation for @file. * gcc.c (main): Call expandargv. * Makefile.in (gcc-vers.texi): Define srcdir. From-SVN: r107426
2005-11-19gcc.c (version_compare_spec_function): Use '%s' rather than %qs in fatal ↵Jakub Jelinek1-1/+1
format string. * gcc.c (version_compare_spec_function): Use '%s' rather than %qs in fatal format string. From-SVN: r107226
2005-11-16re PR fortran/24357 (whither ratfor?)Tobias Schlüter1-3/+2
PR 24357 * doc/invoke.texi: Distinguish between free and fixed form instead of Fortran and Fortran 90/95. Remove ratfor from the list of supported languages. * gcc.c (default_compilers): Remove double entries, add entries for suffixes '.F90' and '.F95'. From-SVN: r107078
2005-11-15gcc.c (version_compare_spec_function): Use fatal() rather than abort().Geoffrey Keating1-3/+3
* gcc.c (version_compare_spec_function): Use fatal() rather than abort(). * config/rs6000/darwin.h (DARWIN_CRT2_SPEC): New. (SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2). * config/i386/darwin.h (SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2) as empty. * config/darwin.h (STARTFILE_SPEC): Use %(darwin_crt2) to possibly link in crt2.o. * config/darwin.h (REAL_LIBGCC_SPEC): Link in shared libgcc depending on -mmacosx-version-min setting. From-SVN: r106935
2005-10-21re PR driver/24473 (Linker input files no longer ignored with -c and -o)Andrew Pinski1-1/+1
2005-10-21 Andrew Pinski <pinskia@physics.uc.edu> PR driver/24473 * gcc.c (main): Use the correct counter for erroring out about mulitple files. From-SVN: r105732
2005-10-16re PR driver/22544 (gcc ignores input file given on the command line)Andrew Pinski1-2/+11
2005-10-16 Andrew Pinski <pinskia@physics.uc.edu> PR driver/22544 * gcc.c (have_c): New static variable. (have_o): Likewise. (process_command): Remove declation of have_c. Set have_o to 1 when handling -o. (main): Add a fatel error if there are multiple files specified and -o and -c/-S is passed witout -combine or multiple languages. From-SVN: r105487
2005-10-10gcc.c (do_spec_1): Accept numeric characters in file name suffixes.Maciej W. Rozycki1-5/+5
* gcc.c (do_spec_1): Accept numeric characters in file name suffixes. From-SVN: r105178
2005-08-12gcc.c (LINK_SSP_SPEC): Remove space before a trailing }.Kaz Kojima1-2/+2
* gcc.c (LINK_SSP_SPEC): Remove space before a trailing }. (LINK_COMMAND_SPEC): Add space after %(link_ssp). From-SVN: r103020
2005-08-06Make Darwin -bundle option work. Patch from Peter O'Gorman.Peter O'Gorman1-3/+8
PR 21366 * gcc.c (process_command): Check the argument to -b has a dash. * doc/invoke.texi: Update -b and -V docs. From-SVN: r102829
2005-08-03gcc.c (LINK_SSP_SPEC): Add fstack-protector-all.Eric Christopher1-25/+25
2005-08-03 Eric Christopher <echristo@apple.com> * gcc.c (LINK_SSP_SPEC): Add fstack-protector-all. * config/darwin.h (LINK_COMMAND_SPEC): Add link_ssp spec. From-SVN: r102719
2005-07-25gcc.c (option_map): Add --sysroot.Mark Mitchell1-0/+9
* gcc.c (option_map): Add --sysroot. (process_command): Handle --sysroot. (display_help): Document it. * doc/cppopts.tex (-isysroot): Document. * doc/invoke.texi (--sysroot): Document. * doc/install.texi (--with-build-sysroot): Document. * Makefile.in (inhibit_libc): New variable. (INHIBIT_LIBC_CFLAGS): Likewise. (LIBGCC2_CFLAGS): Include $(INHIBIT_LIBC_CFLAGS). (CRTSTUFF_CFLAGS): Include $(INHIBIT_LIBC_CFLAGS). ($(T)crtbegin.o): Do not use @inhibit_libc@. ($(T)crtend.o): Likewise. ($(T)crtbeginS.o): Do not use @inhibit_libc@. ($(T)crtendS.o): Likewise. ($(T)crtbeginT.o): Do not use @inhibit_libc@. ($(T)crtendT.o): Likewise. (stmp-fixinc): Do not complain about missing headers if inhibit_libc. * configure.ac (inhibit_libc): Set it to true/false. (--with-build-sysroot): New option. Use it to set SYSTEM_HEADER_DIR. * configure: Regenerated. From-SVN: r102367
2005-07-16gcc.c (MFWRAP_SPEC): Don't wrap pthread_join or pthread_exit.Richard Henderson1-1/+1
* gcc.c (MFWRAP_SPEC): Don't wrap pthread_join or pthread_exit. * acinclude.m4: New file. * configure.ac: Invoke LIBMUDFLAP_CHECK_TLS. * configure, config.h.in, Makefile.in, testsuite/Makefile.in: Rebuild. * mf-hooks1.c (__mf_0fn_malloc): Move body from ... (__mf_0fn_calloc): ... here. * mf-hooks3.c (struct pthread_info): Remove. (__mf_pthread_info, __mf_pthread_info_idx): Remove. (LIBMUDFLAPTH_THREADS_MAX): Set to 1021. (struct mf_thread_data): New. (mf_thread_data, mf_thread_data_lock): New. (__mf_allocate_blank_threadinfo): Remove. (__mf_find_threadinfo): Rewrite and simplify. Only use if TLS is not available. (__mf_state_perthread): Remove. (__mf_get_state, __mf_set_state): New. (__mf_pthread_cleanup): Use &errno, rather than saved pointer. Update mf_thread_data killing procedure. (__mf_pthread_spawner): Similarly. (__mf_0fn_pthread_create): Only use wrapper if necessary. Remove code to allocate thread stack space. (__mf_0fn_pthread_join, pthread_join): Remove. (__mf_0fn_pthread_exit, pthread_exit): Remove. * mf-impl.h (dyn_pthread_join, dyn_pthread_exit): Remove. (__mf_state_1): Rename from __mf_state; use TLS when available. (__mf_get_state, __mf_set_state): New. Update all users. * mf-runtime.c (begin_recursion_protect1): New. (BEGIN_RECURSION_PROTECT): Use it. (__mf_state_1): Rename from __mf_state; use TLS when available. (threads_active_p): Remove. (__mf_usage): Compute it directly. From-SVN: r102108
2005-07-14gcc.c (main): Compare language[0] with '*' when iterating over the infiles.Ben Elliston1-1/+1
* gcc.c (main): Compare language[0] with '*' when iterating over the infiles. From-SVN: r101993