[Gc] atomic_ops: old patches resubmission 3 (minor fixes for vc x86)

Ivan Maidanski ivmai at mail.ru
Thu Aug 6 01:51:01 PDT 2009


The attached cumulative patch (superseding diff88_cvs partly which, in turn, resembles diff29 and diff68 partly) is against the current CVS, doesn't depend on any of my other pending patches, and deals only with VC++ x86 support issues (fix for "long" CAS and fix old-style InterlockedCompareExchange proto). The only modified file is msftc/x86.h.

libatomic_ops ChangeLog entries:

	* src/atomic_ops/sysdeps/msftc/x86.h: Fix comments (prefix
	ASSUME_WINDOWS98 with "AO_").
	* src/atomic_ops/sysdeps/msftc/x86.h: Prefix ASSUME_VISTA macro with
	* src/atomic_ops/sysdeps/msftc/x86.h (AO_nop_full): Replace
	K&R-style function definition with ANSI C one.
	* src/atomic_ops/sysdeps/msftc/x86.h (AO_test_and_set_full):
	Replace AO_TS_SET with its value 0xff (some compilers does not like
	C enum consts inside inline assembler).
	* src/atomic_ops/sysdeps/msftc/x86.h (AO_test_and_set_full): Add
	comment about "missing return value" warning.
	* src/atomic_ops/sysdeps/msftc/x86.h
	* src/atomic_ops/sysdeps/msftc/x86.h (AO_compare_and_swap_full): Use
	_InterlockedCompareExchange() with args and result of PVOID type
	DigitalMars compiler support).
	* src/atomic_ops/sysdeps/msftc/x86.h
	(AO_compare_double_and_swap_double_full): Swap all "val1" and "val2"
	variables ("val1" is the lowest part of AO_double_t).
	* src/atomic_ops/sysdeps/msftc/x86.h
	(AO_compare_double_and_swap_double_full): Rename to
	AO_double_compare_and_swap_full (as it has 3 args).
	* src/atomic_ops/sysdeps/msftc/x86.h: Replace C++ style comment
	with ANSI C one.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: =?koi8-r?Q?diff109=5Fcvs?=
Type: application/octet-stream
Size: 3117 bytes
Desc: not available
Url : https://napali.hpl.hp.com/pipermail/gc/attachments/20090806/4385191c/koi8-rQdiff1095Fcvs.obj

More information about the Gc mailing list