ObjFW  Check-in [f53bd1ad2f]

Overview
Comment:Make GCC happy again
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: f53bd1ad2f12c4b152e29d5193726e94ae76144a54261108e526e060bd2173c6
User & Date: js on 2023-12-21 15:48:20
Other Links: manifest | tags
Context
2023-12-27
20:31
utils/objfw-new: Add help check-in: a5ab3a8207 user: js tags: trunk
2023-12-21
15:48
Make GCC happy again check-in: f53bd1ad2f user: js tags: trunk
15:22
OFSystemInfo: Check if the OS enabled SSE support check-in: 1f26898324 user: js tags: trunk
Changes

Modified src/OFSystemInfo.m from [4addcc0e7a] to [158d26e332].

125
126
127
128
129
130
131




132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147



148
149
150
151
152
153
154

static void
SSETestSIGILLHandler(int signum)
{
	longjmp(SSETestEnv, 1);
}





static void
SSETest(void)
{
	void (*oldHandler)(int) = signal(SIGILL, SSETestSIGILLHandler);

	if (setjmp(SSETestEnv) == 0) {
		__asm__ __volatile__ (
		    "movaps	%%xmm0, %%xmm0"
		    ::: "xmm0"	/* clang is unhappy if we don't clobber it */
		);
		SSESupport = true;
	} else
		SSESupport = false;

	signal(SIGILL, oldHandler);
}



#endif

static size_t pageSize = 4096;
static size_t numberOfCPUs = 1;
static OFString *operatingSystemName = nil;
static OFString *operatingSystemVersion = nil;








>
>
>
>
















>
>
>







125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161

static void
SSETestSIGILLHandler(int signum)
{
	longjmp(SSETestEnv, 1);
}

# ifndef __clang__
#  pragma GCC push_options
#  pragma GCC target("sse")
# endif
static void
SSETest(void)
{
	void (*oldHandler)(int) = signal(SIGILL, SSETestSIGILLHandler);

	if (setjmp(SSETestEnv) == 0) {
		__asm__ __volatile__ (
		    "movaps	%%xmm0, %%xmm0"
		    ::: "xmm0"	/* clang is unhappy if we don't clobber it */
		);
		SSESupport = true;
	} else
		SSESupport = false;

	signal(SIGILL, oldHandler);
}
# ifndef __clang__
#  pragma GCC pop_options
# endif
#endif

static size_t pageSize = 4096;
static size_t numberOfCPUs = 1;
static OFString *operatingSystemName = nil;
static OFString *operatingSystemVersion = nil;