ObjFW  Check-in [636533772e]

Overview
Comment:Do not use atomic_powerpc.h with Apple GCC

Apple GCC uses register 0 for "r" and there seems to be no way to avoid
this, while modern GCC does not seem to consider register 0 to be a GPR.

Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 636533772e85f613e85b7dbb3b0e11b37a915ccd751feef36ba93dc7985c3da1
User & Date: js on 2017-05-13 19:38:34
Other Links: manifest | tags
Context
2017-05-13
19:51
Make Apple GCC happy check-in: 7e8ee9b1f9 user: js tags: trunk
19:38
Do not use atomic_powerpc.h with Apple GCC check-in: 636533772e user: js tags: trunk
19:31
atomic_powerpc.h: Add cc & memory to clobber list check-in: 2ae547a69a user: js tags: trunk
Changes

Modified configure.ac from [8fe8f7a499] to [30eccdf7c0].

809
810
811
812
813
814
815
816
817
818
819
820
821
822
823

	atomic_ops="none"

	AC_MSG_CHECKING(whether we have an atomic ops assembly implementation)
	AC_EGREP_CPP(yes, [
		#if defined(__GNUC__) && (defined(__i386__) || \
			defined(__x86_64__) || defined(__amd64__)) || \
			defined(__ppc__)
		yes
		#endif
	], [
		AC_MSG_RESULT(yes)
		atomic_ops="assembly implementation"
	], [
		AC_MSG_RESULT(no)







|







809
810
811
812
813
814
815
816
817
818
819
820
821
822
823

	atomic_ops="none"

	AC_MSG_CHECKING(whether we have an atomic ops assembly implementation)
	AC_EGREP_CPP(yes, [
		#if defined(__GNUC__) && (defined(__i386__) || \
			defined(__x86_64__) || defined(__amd64__)) || \
			(defined(__ppc__) && !defined(__APPLE_CC__))
		yes
		#endif
	], [
		AC_MSG_RESULT(yes)
		atomic_ops="assembly implementation"
	], [
		AC_MSG_RESULT(no)

Modified src/atomic.h from [c91cb23822] to [72942f053d].

22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# error No atomic operations available!
#endif

#if !defined(OF_HAVE_THREADS)
# import "atomic_no_threads.h"
#elif defined(OF_X86_64_ASM) || defined(OF_X86_ASM)
# import "atomic_x86.h"
#elif defined(OF_POWERPC_ASM)
# import "atomic_powerpc.h"
#elif defined(OF_HAVE_ATOMIC_BUILTINS)
# import "atomic_builtins.h"
#elif defined(OF_HAVE_SYNC_BUILTINS)
# import "atomic_sync_builtins.h"
#elif defined(OF_HAVE_OSATOMIC)
# import "atomic_osatomic.h"
#else
# error No atomic operations available!
#endif







|










22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# error No atomic operations available!
#endif

#if !defined(OF_HAVE_THREADS)
# import "atomic_no_threads.h"
#elif defined(OF_X86_64_ASM) || defined(OF_X86_ASM)
# import "atomic_x86.h"
#elif defined(OF_POWERPC_ASM) && !defined(__APPLE_CC__)
# import "atomic_powerpc.h"
#elif defined(OF_HAVE_ATOMIC_BUILTINS)
# import "atomic_builtins.h"
#elif defined(OF_HAVE_SYNC_BUILTINS)
# import "atomic_sync_builtins.h"
#elif defined(OF_HAVE_OSATOMIC)
# import "atomic_osatomic.h"
#else
# error No atomic operations available!
#endif