diff options
author | peter <peter@FreeBSD.org> | 2003-07-30 00:04:58 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2003-07-30 00:04:58 +0000 |
commit | bb7a9f03222f700b969603ab14e8b1949512c04f (patch) | |
tree | 752ae7a72471f106d875e5f6c0fe65ea98451d64 /sys/i386/include/pcpu.h | |
parent | 70398bc9a3eb38d1fcf6e2577d76a1593b268f90 (diff) | |
download | FreeBSD-src-bb7a9f03222f700b969603ab14e8b1949512c04f.zip FreeBSD-src-bb7a9f03222f700b969603ab14e8b1949512c04f.tar.gz |
Detour via (void *) to defeat gcc's strict-aliasing warnings when using
-O2 or -Os (such as 'make release').
This commit brought to you by the warning:
dereferencing type-punned pointer will break strict-aliasing rules
Diffstat (limited to 'sys/i386/include/pcpu.h')
-rw-r--r-- | sys/i386/include/pcpu.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/i386/include/pcpu.h b/sys/i386/include/pcpu.h index 799eefb..a7b5c22 100644 --- a/sys/i386/include/pcpu.h +++ b/sys/i386/include/pcpu.h @@ -100,19 +100,19 @@ extern struct pcpu *pcpup; __asm __volatile("movb %%fs:%1,%0" \ : "=r" (__b) \ : "m" (*(u_char *)(__pcpu_offset(name)))); \ - __result = *(__pcpu_type(name) *)&__b; \ + __result = *(__pcpu_type(name) *)(void *)&__b; \ } else if (sizeof(__result) == 2) { \ u_short __w; \ __asm __volatile("movw %%fs:%1,%0" \ : "=r" (__w) \ : "m" (*(u_short *)(__pcpu_offset(name)))); \ - __result = *(__pcpu_type(name) *)&__w; \ + __result = *(__pcpu_type(name) *)(void *)&__w; \ } else if (sizeof(__result) == 4) { \ u_int __i; \ __asm __volatile("movl %%fs:%1,%0" \ : "=r" (__i) \ : "m" (*(u_int *)(__pcpu_offset(name)))); \ - __result = *(__pcpu_type(name) *)&__i; \ + __result = *(__pcpu_type(name) *)(void *)&__i; \ } else { \ __result = *__PCPU_PTR(name); \ } \ |