Commit Graph

29 Commits

Author SHA1 Message Date
Kazu Hirata
ea4b78487c c-typeck.c, [...]: Fix comment formatting.
* c-typeck.c, defaults.h, dwarf.h, dwarf2out.c, fold-const.c,
	gthr-dce.h, gthr-posix.h, gthr-solaris.h, gthr-win32.h,
	lambda-code.c, lambda-mat.c, libgcc2.c, stmt.c,
	tree-ssa-pre.c, tree-vn.c, tree.h: Fix comment formatting.

From-SVN: r88102
2004-09-25 14:36:40 +00:00
Jason Merrill
70008293df * gthr-posix.h: Add #pragma weaks.
From-SVN: r86783
2004-08-30 12:34:06 -04:00
Jason Merrill
40aac94801 re PR c++/13684 (local static object variable constructed once but ctors and dtors called multiple times on same memory when called in multiple threads)
PR c++/13684
        * cp/decl.c (expand_static_init): Use thread-safety API.
        (register_dtor_fn): Return the call, don't expand it.
        * cp/tree.c (add_stmt_to_compound): New fn.
        (stabilize_call): Use it.
        * gimplify.c (gimplify_cleanup_point_expr): Handle CLEANUP_EH_ONLY.
        (gimple_push_cleanup): Add eh_only parm.
        (gimplify_target_expr): Pass it.
        * c.opt (-fno-threadsafe-statics): New option.
        * c-opts.c (c_common_handle_option): Handle it.
        * c-common.h (flag_threadsafe_statics): Declare it.
        * c-common.c (flag_threadsafe_statics): Record it.
        * doc/invoke.texi: Document it.
        * tsystem.h (_GNU_SOURCE): Define.
        * gthr-posix.h (__gthread_recursive_mutex_t): New typedef.
        (__GTHREAD_RECURSIVE_MUTEX_INIT): New macro.
        (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): New macro.
        (__gthread_recursive_mutex_init_function): New fn.
        (__gthread_recursive_mutex_lock): New fn.
        (__gthread_recursive_mutex_trylock): New fn.
        (__gthread_recursive_mutex_unlock): New fn.
        * gthr-solaris.h, gthr-single.h, gthr-dce.h: Likewise.
        * gthr-win32.h, gthr-vxworks.h: Likewise.
        * gthr.h: Document.

        * libsupc++/guard.cc (static_mutex): Internal class implementing a
        recursive mutex which controls initialization of local statics.
        (__gnu_cxx::recursive_init): New exception class.
        (__cxa_guard_acquire): Deal with locking and recursion detection.
        (acquire_1, __cxa_guard_abort, __cxa_guard_release): Likewise.

From-SVN: r86687
2004-08-27 22:33:54 -04:00
Andrew Pinski
45863ba363 gthr-posix.h: Check for _POSIX_PRIORITY_SCHEDULING when checking for...
2004-05-28  Andrew Pinski  <pinskia@physics.uc.edu>

        * gthr-posix.h: Check for _POSIX_PRIORITY_SCHEDULING
        when checking for _POSIX_THREAD_PRIORITY_SCHEDULING.
        Remove comment about not checking for
        _POSIX_PRIORITY_SCHEDULING.
        * gthr-posix.c: Likewise.

From-SVN: r82376
2004-05-28 13:18:23 -07:00
Rainer Orth
2a4e8ebc13 re PR bootstrap/9330 ([alpha-osf]small alphaev56-dec-osf5.1 --enable-threads=posix problem)
* config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
	default.

	* gthr-posix.c: New file.
	* gthr-posix.h: Define _REENTRANT if missing.
	Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.

	* config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
	by gthr-posix.o.
	* config/alpha/t-osf-pthread: New file.

	* fixinc/inclhack.def (alpha_pthread): New fix.
	* fixinc/fixincl.x: Regenerate.
	* fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.

	* doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
	warning.
	Fixes PR bootstrap/9330.

From-SVN: r69998
2003-07-31 12:01:07 +00:00
Zack Weinberg
4977bab6ed Merge basic-improvements-branch to trunk
From-SVN: r60174
2002-12-16 18:23:00 +00:00
Kazu Hirata
fe83a9ce5a * gthr-posix.h: Fix formatting.
From-SVN: r59064
2002-11-13 05:09:51 +00:00
Jason Thorpe
c95d07f893 gthr-posix.h: Include <unistd.h> for feature tests.
* gthr-posix.h: Include <unistd.h> for feature tests.
(sched_get_priority_max, sched_get_priority_min)
(pthread_getschedparam, pthread_setschedparam): Only use
if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
(__gthread_objc_thread_set_priority): Don't treat all non-zero
returns from sched_get_priority_max and sched_get_priority_min
as an error.

From-SVN: r58630
2002-10-29 18:23:02 +00:00
Kazu Hirata
40f0365880 c-common.h: Follow spelling conventions.
* c-common.h: Follow spelling conventions.
	* cpplex.c: Likewise.
	* cpplib.h: Likewise.
	* gthr-dce.h: Likewise.
	* gthr-posix.h: Likewise.
	* optabs.c: Likewise.
	* output.h: Likewise.
	* profile.c: Likewise.
	* protoize.c: Likewise.
	* ra-rewrite.c: Likewise.
	* real.c: Likewise.
	* recog.c: Likewise.
	* reg-stack.c: Likewise.
	* regclass.c: Likewise.
	* regmove.c: Likewise.
	* reload.c: Likewise.
	* reload.h: Likewise.
	* reload1.c: Likewise.
	* reorg.c: Likewise.
	* resource.c: Likewise.
	* rtl.h: Likewise.
	* rtlanal.c: Likewise.

From-SVN: r57555
2002-09-26 22:25:14 +00:00
Kazu Hirata
589005ff21 gbl-ctors.h: Fix formatting.
* gbl-ctors.h: Fix formatting.
	* gcc.c: Likewise.
	* gccspec.c: Likewise.
	* gcov.c: Likewise.
	* gcov-io.h: Likewise.
	* gcse.c: Likewise.
	* ggc-common.c: Likewise.
	* ggc.h: Likewise.
	* ggc-page.c: Likewise.
	* ggc-simple.c: Likewise.
	* global.c: Likewise.
	* graph.h: Likewise.
	* gthr-dce.h: Likewise.
	* gthr.h: Likewise.
	* gthr-posix.h: Likewise.
	* gthr-rtems.h: Likewise.
	* gthr-solaris.h: Likewise.
	* gthr-win32.h: Likewise.

From-SVN: r54240
2002-06-04 11:30:46 +00:00
Jason Merrill
7a8de19b4c gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr into the function and constify it.
* gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
        into the function and constify it.
        * gthr-dce.h, gthr-solaris.h: Likewise.

From-SVN: r50741
2002-03-13 12:15:46 -05:00
Kazu Hirata
71287280a2 gthr-dce.h: Fix comment formatting.
* gthr-dce.h: Fix comment formatting.
	* gthr-posix.h: Likewise.
	* gthr-single.h: Likewise.
	* gthr-solaris.h: Likewise.
	* gthr-vxworks.h: Likewise.
	* gthr-win32.h: Likewise.

From-SVN: r46229
2001-10-12 13:10:33 +00:00
Lars Brinkhoff
1322177dbd Makefile.in, [...]: replace "GNU CC" with "GCC".
* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
	bitmap.h, builtin-types.def, builtins.c, builtins.def,
	c-aux-info.c, c-common.c, c-common.def, c-common.h,
	c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
	c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
	c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
	caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
	conditions.h, config.gcc, configure.frag, configure.in,
	conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
	cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
	dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
	doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
	dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
	emit-rtl.c, errors.c, errors.h, except.c, except.h,
	exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
	fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
	function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
	gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
	gencheck.c, gencodes.c, genconfig.c, genemit.c,
	genextract.c, genflags.c, gengenrtl.c, genmultilib,
	genopinit.c, genoutput.c, genpeep.c, genrecog.c,
	gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
	ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
	graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
	gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
	gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
	hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
	integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
	libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
	machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
	mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
	mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
	params.h, predict.c, predict.def, predict.h, prefix.c,
	prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
	read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
	regclass.c, regmove.c, regrename.c, regs.h, reload.c,
	reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
	rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
	sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
	sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
	ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
	stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
	tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
	tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
	unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
	unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
	xcoffout.h: replace "GNU CC" with "GCC".

From-SVN: r45105
2001-08-22 14:35:51 +00:00
Nicola Pero
054af13988 Fixed backend function of objc_mutex_trylock which was broken
From-SVN: r44104
2001-07-18 11:21:20 +00:00
Rainer Orth
f4b20cd963 gthr-posix.h [LIBOBJC]: Add weak definitions of sched_get_priority_max, sched_get_priority_min.
* gthr-posix.h [LIBOBJC]: Add weak definitions of
        sched_get_priority_max, sched_get_priority_min.

        testsuite:
        * lib/objc.exp (objc_target_compile): Don't need -lposix4 on any
        Solaris 2.[678] system.

From-SVN: r43640
2001-06-28 12:57:55 +00:00
Nicola Pero
abc0360c37 (__gthread_objc_init_thread_system): If pthread_key_create fails, it's not clear what the return value is.
(__gthread_objc_init_thread_system): If pthread_key_create fails, it's
not clear what the return value is.  This obvious fix makes sure it
always returns -1 if a problem occurs.

From-SVN: r43091
2001-06-09 18:05:09 +00:00
Rainer Orth
fee013ef9c gthr-posix.h (__gthread_objc_thread_detach): Simply cast pthread_t to objc_thread_t.
* gthr-posix.h (__gthread_objc_thread_detach): Simply cast
	pthread_t to objc_thread_t.
	(__gthread_objc_thread_id): Likewise.

From-SVN: r42974
2001-06-07 17:22:20 +00:00
Loren J. Rittle
f5fa23843e gthr-posix.h (__gthread_active_ptr): Cast function pointer to target type to allow ISO C++ compiler to accept it.
* gthr-posix.h (__gthread_active_ptr): Cast function pointer
	to target type to allow ISO C++ compiler to accept it.
	* gthr-dce.h (__gthread_active_ptr): Likewise.
	* gthr-solaris.h (__gthread_active_ptr): Likewise.

Co-Authored-By: John David Anglin <dave@hiauly1.hia.nrc.ca>

From-SVN: r42725
2001-05-30 22:38:43 +00:00
Richard Henderson
88657302b7 Standardize header guards.
From-SVN: r42615
2001-05-25 18:31:47 -07:00
Loren J. Rittle
6f9b26b05c * gthr-posix.h: Make additional pthread-* functions weak.
From-SVN: r42107
2001-05-15 16:29:06 +00:00
Ovidiu Predescu
5f974826dc Conditionally include <sched.h>; include <config.h> from libobjc/.
From-SVN: r35695
2000-08-15 07:36:33 +00:00
Ovidiu Predescu
4b48731a0d Reverted the check for <sched.h>.
From-SVN: r35620
2000-08-11 05:51:12 +00:00
Ovidiu Predescu
1a46ef5eec Include auto-host.h. Conditionally include <sched.h>.
From-SVN: r35599
2000-08-10 07:11:02 +00:00
Ovidiu Predescu
447c11a54e Integrated Chris Ball's <cball@fmco.com> changes to improve the Posix
thread support for Objective-C.

From-SVN: r35533
2000-08-06 18:54:00 +00:00
H.J. Lu
15794a9567 Applied H.J.Lu's patch to not require -lpthread when compiling single threaded Objective-C programs.
From-SVN: r35141
2000-07-20 07:27:26 +00:00
Kaveh R. Ghazi
362440248c bb-reorder.c (get_next_bb_note, [...]): Prototype.
* bb-reorder.c (get_next_bb_note, get_prev_bb_note): Prototype.

	* diagnostic (vbuild_message_string, build_message_string,
	build_location_prefix, output_get_prefix, init_output_buffer,
	output_notice, vline_wrapper_message_with_location,
	v_message_with_decl, default_print_error_function): De-constify.
	(set_real_maximum_length): Prototype.

	* diagnostic.h (struct output_buffer, init_output_buffer,
	output_get_prefix, output_set_prefix): De-constify.

	* function.c (init_function_start): Constify.

	* gensupport.c (remove_constraints, process_rtx): Prototype.

	* gthr-posix.h: Indent uses of #pragma.

	* objc/objc-act.c (ggc_mark_imp_list, ggc_mark_hash_table):
	Prototype.

	* predict.c (find_expected_value): Delete prototype.
	(expected_value_to_br_prob): Initialize variable `ev_reg'.

	* sbitmap.h (debug_sbitmap): Prototype.

	* ssa.c (compute_coalesced_reg_partition): Prototype.

	* stor-layout.c (debug_rli): Prototype.

	* tree.h (round_down): Prototype.
	(init_function_start): Constify.

ch:
	* ch-tree.h (init_function_start): Constify.

From-SVN: r33675
2000-05-04 17:58:40 +00:00
Kaveh R. Ghazi
d1e5132060 crtstuff.c (__do_global_ctors_aux, [...]): Add prototype argument.
* crtstuff.c (__do_global_ctors_aux, __reg_frame_ctor,
	__dereg_frame_dtor): Add prototype argument.

	* gthr-dce.h (__gthread_active_p, __gthread_once): Likewise.

	* gthr-posix.h (__gthread_active_p, __gthread_once): Likewise.

	* gthr-solaris.h (__gthread_active_p, __gthread_once): Likewise.

	* gthr-vxworks.h (__gthread_once): Likewise.

	* gthr-win32.h (__gthread_active_p, __gthread_once): Likewise.

From-SVN: r31945
2000-02-12 19:19:01 +00:00
Fred Fish
899905f6d3 gthr-posix.h: Fix typo; compatibily -> compatibility.
* gthr-posix.h: Fix typo; compatibily -> compatibility.
        * gthr-single.h: Likewise.
        * gthr-solaris.h: Likewise.
        * gthr-vxworks.h: Likewise.
        * gthr-win32.h: Likewise.
        * gthr.h: Likewise.

From-SVN: r31646
2000-01-27 10:49:12 -08:00
Teemu Torma
f24af81bca Makefile.in (GTHREAD_FLAGS): New var.
* Makefile.in (GTHREAD_FLAGS): New var.
	(LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
	(distclean): Remove gthr-default.h.
	* configure.in: Accept dce as a thread package.
	Check for thread.h and pthread.h.
	Link gthr-default.h to appropriate thread file and set
	gthread_flags.
	(hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
	include multilib definitions from pa/t-dce-thr.
	(sparc-*-solaris2*): Enable threads by default, if thread.h or
	pthread.h is found, preferring posix threads over solaris ones.
	* config/pa/t-dce-thr: New file.
	* config/pa/t-pa: Removed multilibs.
	* config/sparc/t-sol2: Ditto.
	* gthr.h: New file.
	* gthr-single.h: New file.
	* gthr-posix.h: New file.
	* gthr-solaris.h: New file.
	* gthr-dce.h: New file.
	* libgcc-thr.h: Removed.
	* objc/thr-dce.c: New file copied from thr-decosf1.c.
	* frame.c: Include gthr.h instead of libgcc-thr.h.
	* libgcc2.c: Include gthr.h instead of libgcc-thr.h.
	(eh_context_initialize): If __gthread_once fails, use static eh
	context.
	(eh_context_free): Call __gthread_key_dtor.

From-SVN: r17235
1997-12-24 16:56:08 -07:00