Commit Graph

721 Commits

Author SHA1 Message Date
Geoffrey Keating 2989d30c12 mips-tdump.c: Replace CROSS_COMPILE with CROSS_DIRECTORY_STRUCTURE.
* 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-12-13 09:28:16 +00:00
Carlos O'Donell f4c0a30368 gcc.c: Organize search path variables into $prefix relative, and well-known 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-13 17:25:59 +00:00
Jie Zhang 010b2043b0 gcc.c (process_command): Treat -b as normal switch if its argument has no dash.
* gcc.c (process_command): Treat -b as normal switch if its argument
	has no dash.

From-SVN: r118547
2006-11-07 14:24:58 +00:00
David Daney b3cccd5850 * gcc.c (display_help): Fix typo in help text.
From-SVN: r115555
2006-07-18 16:07:44 +00:00
Richard Guenther 9714c91192 revert: invoke.texi (-msselibm): Document.
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-22 13:18:15 +00:00
H.J. Lu 14c7833ccd re PR target/26885 (-m64 -m32 no longer creates 32-bit object)
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-16 07:27:18 -07:00
Michael Matz fa959ce486 config.host (<i[34567]86-*-*, [...]): Set host_extra_gcc_objs and 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-05-09 15:40:12 +00:00
Joseph Myers c7370b8375 gcc.c (process_command): Add program name to GCC_EXEC_PREFIX value before 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-28 13:15:36 +01:00
Jakub Jelinek 8beb0d9ea4 * gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o.
From-SVN: r112851
2006-04-11 09:16:14 +02:00
Volker Reichelt ddaf3b8666 re PR driver/22600 (Exit code should be different from 1 for internal 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-03-22 19:36:22 +00:00
Steve Ellcey 1832d32628 * gcc.c (process_command): Change j to 'unsigned int'.
From-SVN: r110476
2006-02-01 19:42:02 +00:00
Andrew Pinski d900f77d43 gcc.c (main): Correct type that is allocated for explicit_link_files.
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-31 15:18:27 -08:00
Marcin Dalecki 5ed6ace578 tree-vrp.c: Use XNEW/XCNEW allocation wrappers.
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-31 20:56:55 +01:00
Richard Guenther ee96318165 invoke.texi (-msselibm): Document.
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-31 15:34:52 +00:00
Joseph Myers 2b6dd222bb re PR libstdc++/25524 (libstdc++ headers should go in multilib directories)
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-20 21:00:03 +00:00
Diego Novillo 953ff28998 [multiple changes]
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-18 14:21:25 -05:00
Rafael Espindola 4c360e1f8b jvspec.c (lang_specific_spec_functions): remove
* 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
2006-01-16 19:00:56 +00:00
Alan Modra 00dcee0c2b re PR driver/20425 (-print-search-dirs doesn't honor mutil-os/multilib settings)
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-16 20:16:22 +10:30
Alan Modra 5e4f1974e4 gcc.c (init_gcc_specs): Match braces inside conditionally compiled strings.
* gcc.c (init_gcc_specs): Match braces inside conditionally
	compiled strings.

From-SVN: r108151
2005-12-07 17:32:35 +10:30
Volker Reichelt eeac616e62 * gcc.c (execute): Improve readability.
From-SVN: r107886
2005-12-02 12:26:25 +00:00
Mark Mitchell 07a3df0100 * gcc.c (main): Change type of argv to "char **".
From-SVN: r107594
2005-11-28 05:36:53 +00:00
Mark Mitchell 9d5305381f invoke.texi: For man pages, include gcc-vers.texi.
* 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-23 18:08:59 +00:00
Jakub Jelinek 3817707ec3 gcc.c (version_compare_spec_function): Use '%s' rather than %qs in fatal format string.
* gcc.c (version_compare_spec_function): Use '%s' rather than %qs in
	fatal format string.

From-SVN: r107226
2005-11-19 21:18:31 +01:00
Tobias Schlüter 80a0c50a3c re PR fortran/24357 (whither ratfor?)
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-16 11:58:41 +01:00
Geoffrey Keating 563092615a gcc.c (version_compare_spec_function): Use fatal() rather than abort().
* 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-11-15 04:55:12 +00:00
Andrew Pinski de19a50ee4 re PR driver/24473 (Linker input files no longer ignored with -c and -o)
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-21 06:08:50 -07:00
Andrew Pinski af41c57d04 re PR driver/22544 (gcc ignores input file given on the command line)
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-16 21:22:03 -07:00
Maciej W. Rozycki a92dd2358c gcc.c (do_spec_1): Accept numeric characters in file name suffixes.
* gcc.c (do_spec_1): Accept numeric characters in file name
suffixes.

From-SVN: r105178
2005-10-10 15:02:52 +00:00
Kaz Kojima ec92bd4bd8 gcc.c (LINK_SSP_SPEC): Remove space before a trailing }.
* gcc.c (LINK_SSP_SPEC): Remove space before a trailing }.
	(LINK_COMMAND_SPEC): Add space after %(link_ssp).

From-SVN: r103020
2005-08-12 07:57:52 +00:00
Peter O'Gorman 3300bf0737 Make Darwin -bundle option work. Patch from Peter O'Gorman.
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-06 19:39:12 -07:00
Eric Christopher 7904f95fd9 gcc.c (LINK_SSP_SPEC): Add fstack-protector-all.
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-08-03 23:35:06 +00:00
Mark Mitchell 160633c626 gcc.c (option_map): Add --sysroot.
* 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-25 19:42:04 +00:00
Richard Henderson 7544a87f13 gcc.c (MFWRAP_SPEC): Don't wrap pthread_join or pthread_exit.
* 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-16 19:29:00 -07:00
Ben Elliston 9ef0b1bd66 gcc.c (main): Compare language[0] with '*' when iterating over the infiles.
* gcc.c (main): Compare language[0] with '*' when iterating over
	the infiles.

From-SVN: r101993
2005-07-14 07:58:54 +10:00
Eric Christopher 817a82551e gcc.c (struct infile): Update comment for language.
2005-07-12  Eric Christopher  <echristo@redhat.com>

	* gcc.c (struct infile): Update comment for language.
	(main): Rewrite input file resetting code.

From-SVN: r101934
2005-07-12 18:10:32 +00:00
Geoffrey Keating ed5b9f96ee Index: ChangeLog
2005-07-07  Geoffrey Keating  <geoffk@apple.com>

	* config.gcc (*-*-darwin*): Only one target-specific header file
	for generic darwin.
	(powerpc-*-darwin*): Add version-specific header files.
	* configure.in (gcc_AC_CHECK_DECLS): Add strverscmp.
	* config.in: Regenerate.
	* configure: Regenerate.
	* gcc.c: Include xregex.h.
	(version_compare_spec_function): New.
	(spec_function): Add version-compare.
	(replace_outfile_spec_function): Reformat comment.
	(compare_version_strings): New.
	* config/darwin-c.c (version_as_macro): New.
	(builtin_define): New.
	(darwin_cpp_builtins): New.
	* config/darwin-protos.h (darwin_cpp_builtins): New.
	* config/darwin.h (CPP_SPEC): Don't define APPLE_CC here.
	(LIB_SPEC): Make unconditional, update comment.
	(TARGET_C99_FUNCTIONS): Define.
	* config/darwin.opt: Sort.
	(mmacosx-version-min=): New.
	* config/darwin7.h: Delete.
	* config/darwin8.h: Delete.
	* config/i386/darwin.h (): Call darwin_cpp_builtins.
	* config/rs6000/darwin.h (): Call darwin_cpp_builtins.
	(TARGET_C99_FUNCTIONS): Define.
	* config/rs6000/darwin7.h: New.
	* config/rs6000/darwin8.h: New.
	* doc/invoke.texi (Darwin Options): Add -mmacosx-version-min=
	(-mmacosx-version-min): Document.

Index: testsuite/ChangeLog
2005-07-07  Geoffrey Keating  <geoffk@apple.com>

	* gcc.dg/darwin-version-1.c: New.
	* gcc.dg/builtins-18.c: On Darwin, needs -mmacosx-version-min=10.3.
	* gcc.dg/builtins-20.c: Likewise.
	* gcc.dg/builtins-53.c: Likewise.
	* gcc.dg/torture/builtins-convert-1.c: Likewise.
	* gcc.dg/torture/builtins-convert-2.c: Likewise.
	* gcc.dg/torture/builtins-convert-3.c: Likewise.
	* gcc.dg/torture/builtins-power-1.c: Likewise.
	* gcc.dg/builtins-config.h: Complain if macosx-version-min not set
	on Darwin.

From-SVN: r101753
2005-07-08 05:51:06 +00:00
Joseph Myers ab532386bd bb-reorder.c, [...]: Avoid "." or "\n" at end of diagnostics and capital letters at start of diagnostics.
* bb-reorder.c, c-pch.c, c-pragma.c, c.opt, cfghooks.c, cfgloop.c,
	cfgrtl.c, cgraphunit.c, config/c4x/c4x.c, config/cris/cris.c,
	config/frv/frv.c, config/host-darwin.c, config/iq2000/iq2000.c,
	config/lynx.h, config/m68k/m68k.c, config/pa/pa.c, config/sh/sh.h,
	config/stormy16/stormy16.c, config/v850/v850.c,
	config/vax/netbsd-elf.h, coverage.c, dwarf2out.c, emit-rtl.c,
	except.c, gcc.c, tree-cfg.c, tree-eh.c, tree-ssa.c, xcoffout.c:
	Avoid "." or "\n" at end of diagnostics and capital letters at
	start of diagnostics.
	* combine.c, cse.c: Don't translate dump file output.
	* toplev.c (print_version): Only translate output if going to
	stderr.

From-SVN: r101561
2005-07-03 22:08:11 +01:00
Jakub Jelinek 7700825281 Makefile.def (target_modules): Add libssp.
* Makefile.def (target_modules): Add libssp.
	* configure.in (target_libraries): Add target-libssp.
	* configure: Rebuilt.
	* Makefile.in: Rebuilt.
gcc/
	* gcc.c (LINK_SSP_SPEC): Define.
	(link_ssp_spec): New variable.
	(LINK_COMMAND_SPEC): Add %(link_ssp).
	(static_specs): Add link_ssp_spec.
	* configure.ac (TARGET_LIBC_PROVIDES_SSP): New test.
	* configure: Rebuilt.
	* config.in: Rebuilt.

	* config/rs6000/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
	* config/rs6000/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
	* config/i386/linux.h (TARGET_THREAD_SSP_OFFSET): Likewise.
	* config/i386/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
	* config/rs6000/rs6000.md (stack_protect_set, stack_protect_test):
	If TARGET_THREAD_SSP_OFFSET is defined, use -0x7010(13) resp.
	-0x7008(2) instead of reading __stack_chk_guard variable.
	* config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): Change
	number.
	(UNSPEC_SP_TLS_SET, UNSPEC_SP_TLS_TEST): New constants.
	(stack_protect_set, stack_protect_test): Use *_tls* patterns
	if TARGET_THREAD_SSP_OFFSET is defined.
	(stack_tls_protect_set_si, stack_tls_protect_set_di,
	stack_tls_protect_test_si, stack_tls_protect_test_di): New insns.

	Revert:
	2005-06-27  Richard Henderson  <rth@redhat.com>
	* libgcc-std.ver (GCC_4.1.0): New.
	* libgcc.h (__stack_chk_guard): Declare.
	(__stack_chk_fail, __stack_chk_fail_local): Declare.
	* libgcc2.c (L_stack_chk, L_stack_chk_local): New.
	* mklibgcc.in (lib2funcs): Add them.

From-SVN: r101531
2005-07-02 10:52:21 +02:00
Kelley Cook 366ccddb2b Update FSF address.
From-SVN: r101317
2005-06-25 02:02:01 +00:00
Gabriel Dos Reis 7973fd2aed libiberty.h (XOBFINISH): New.
libiberty/
2005-06-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        * libiberty.h (XOBFINISH): New.

gcc/
2005-06-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        * c-lex.c (lex_string): Use XOBFINISH.
        * collect2.c (extract_string, dump_file): Likewise.
        * dbxout.c (dbxout_finish_complex_stabs): Likewise.
        * gcc.c (init_spec, build_search_list, convert_filename,
        set_collect_gcc_options, do_spec_2, do_spec_1, main):
        * Likewise.
        * genpreds.c (write_predicate_subfunction): Likewise.
        * genflags.c (main): Likewise.
        * read-rtl.c (mode_attr_index, apply_macro_to_string,
        join_c_conditions, read_quoted_string, read_braced_string,
        read_rtx_1): Likewise.
        * stringpool.c (ggc_alloc_string): Likewise.
        * tlink.c (obstack_fgets, recompile_files): Likewise.

From-SVN: r100678
2005-06-06 21:14:31 +00:00
Jakub Jelinek 4b794eaf73 exgettext: Handle gmsgid and cmsgid arguments specially, as gcc-internal-format and c-format.
gcc/po/
	* exgettext: Handle gmsgid and cmsgid arguments specially,
	as gcc-internal-format and c-format.  Because of xgettext
	bug, invoke xgettext once with --language=c, once with
	--language=GCC-source and then merge together.  Fail if
	xgettext is not 0.14.5 or later.
gcc/
	* intl.h (G_): New macro.
	* rtl-error.c (error_for_asm, warning_for_asm): Use gmsgid
	instead of msgid for argument name.
	* tree-ssa.c (warn_uninit): Likewise.
	* c-parser.c (c_parser_error): Likewise.
	* config/rs6000/rs6000-c.c (SYNTAX_ERROR): Likewise.
	* config/darwin-c.c (BAD): Likewise.
	* config/c4x/c4x-c.c (BAD): Likewise.
	* c-pragma.c (GCC_BAD, GCC_BAD2): Likewise.
	* c-errors.c (pedwarn_c99, pedwarn_c90): Likewise.
	* c-common.c (c_parse_error): Likewise.
	* diagnostic.c (diagnostic_set_info, verbatim, inform, warning,
	warning0, pedwarn, error, sorry, fatal_error, internal_error):
	Likewise.
	(fnotice): Use cmsgid instead of msgid for argument name.
	* gcov.c (fnotice): Likewise.
	* protoize.c (notice): Likewise.
	* final.c (output_operand_lossage): Likewise.
	* gcc.c (fatal, notice): Likewise.
	(error): Use gmsgid instead of msgid for argument name.
	* collect2.c (notice, fatal_perror, fatal): Use cmsgid instead
	of msgid for argument name.
	(error): Use gmsgid instead of msgid for argument name.
	* c-decl.c (locate_old_decl, implicit_decl_warning): Use G_()
	instead of N_().
	* c-typeck.c (readonly_error, convert_for_assignment): Likewise.
	* tree-inline.c (inline_forbidden_p_1): Likewise.
	* ABOUT-GCC-NLS: Require gettext 0.14.5 or later.  Mention the new
	conventions for marking translations.
	* doc/install.texi: Mention gettext 0.14.5 or later requirement.
gcc/cp/
	* error.c (locate_error): Use gmsgid instead of msgid for argument
	name.
	(cp_error_at, cp_warning_at, cp_pedwarn_at): Likewise.
gcc/java/
	* jv-scan.c (fatal_error, warning, warning0): Use gmsgid instead of
	msgid for argument name.
	* gjavah.c (error): Likewise.
	* java-tree.h (parse_error_context): Likewise.
	* parse.y (parse_error_context, parse_warning_context,
	issue_warning_error_from_context): Likewise.

From-SVN: r100676
2005-06-06 21:31:40 +02:00
Andreas Jaeger 099ff66cd2 * gcc.c (pfatal_pexecute): Remove unused local function.
From-SVN: r99732
2005-05-15 19:06:19 +02:00
James E Wilson 10bf9e8a16 Fix the Xassembler and Xpreprocessor options, which have never worked right.
PR driver/21112
* gcc.c (process_command): In the second argv scan loop, ignore
Xassembler and Xpreprocessor, along with their argument.

From-SVN: r99221
2005-05-04 10:20:43 -07:00
Mark Mitchell 380e5ca402 configure.ac: Check for ld --sysroot support.
* configure.ac: Check for ld --sysroot support.
	* gcc.c: Document %R specifier for specs.
	(SYSROOT_SPEC): New macro.
	(sysroot_spec): New variable.
	(static_specs): Add sysroot_spec.
	(main): Pass the sysroot spec to the linker if appropriate.
	* configure: Regenerated.
	* config.in: Likewise.

From-SVN: r98880
2005-04-27 20:35:54 +00:00
Kaveh R. Ghazi 2653bb0c12 collect2.c, [...]: Replace calls to `unlock_stream' with `unlock_std_streams'.
* collect2.c, gcc.c, gcov-dump.c, gcov.c, gen-protos.c,
	gensupport.c, protoize.c, toplev.c: Replace calls to
	`unlock_stream' with `unlock_std_streams'.

java:
	* gjavah.c, jcf-dump.c, jv-scan.c, jvgenmain.c: Replace calls
	to `unlock_stream' with `unlock_std_streams'.

From-SVN: r98753
2005-04-26 00:24:02 +00:00
Kaveh R. Ghazi 98a3dad411 collect2.c (main): Unlock the stdio streams.
* collect2.c (main): Unlock the stdio streams.
	* gcc.c (main): Likewise.
	* gcov-dump.c (main): Likewise.
	* gcov.c (main): Likewise.
	* gen-protos.c (main): Likewise.
	* gensupport.c (init_md_reader_args_cb): Likewise.
	* protoize.c (main): Likewise.
	* toplev.c (general_init): Likewise.

java:
	* gjavah.c (main): Unlock the stdio streams.
	* jcf-dump.c (main): Likewise.
	* jv-scan.c (main): Likewise.
	* jvgenmain.c (main): Likewise.

From-SVN: r98676
2005-04-24 22:11:55 +00:00
Dave Korn 6ba40dd7ac gcc.c (default_compilers): Clarify obscure error message when reading from standard input.
* gcc.c (default_compilers): Clarify obscure error message when
	reading from standard input.

From-SVN: r98196
2005-04-15 18:22:57 +00:00
Ben Elliston 8ecf5a683c gcc.c: Correct comment about DEFAULT_SWITCH_TAKES_ARG and...
* gcc.c: Correct comment about DEFAULT_SWITCH_TAKES_ARG and
	DEFAULT_WORD_SWITCH_TAKES_ARG which incorrectly reported these
	macros as living in "this file" and not gcc.h.

From-SVN: r97678
2005-04-06 10:11:59 +10:00
Ian Lance Taylor 054e88a868 gcc.c: Don't include <sys/resource.h> or declare getrusage.
* gcc.c: Don't include <sys/resource.h> or declare getrusage.
	(rus, prus): Remove static variables.
	(execute): Use pex_run/pex_get_status rather than pexecute/pwait.
	(process_command): Permit report_times and use_pipes together.

From-SVN: r97406
2005-04-01 16:44:31 +00:00
Mark Mitchell 54b73ddf15 gcc.c (do_spec_1): Do not add a -L path for a directory in the prefix list if...
2005-03-23  Mark Mitchell  <mark@codesourcery.com>

	* gcc.c (do_spec_1): Do not add a -L path for a directory in
	the prefix list if we have already added a multilib directory
	based on that path.
	(main): Do not add MD_EXEC_PREFIX to the list of directories to
	search with -L.

From-SVN: r96915
2005-03-23 01:23:51 +00:00