Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/gpl3/gcc/dist/gcc/ginclude provide an equivalent al...



details:   https://anonhg.NetBSD.org/src/rev/292e22ec57d4
branches:  trunk
changeset: 1022425:292e22ec57d4
user:      christos <christos%NetBSD.org@localhost>
date:      Sat Jul 17 16:31:51 2021 +0000

description:
provide an equivalent alignment for __float128 for clang and i386 that
does not have it. Idea from mrg@

diffstat:

 external/gpl3/gcc/dist/gcc/ginclude/stddef.h |  7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diffs (19 lines):

diff -r 4979277819c2 -r 292e22ec57d4 external/gpl3/gcc/dist/gcc/ginclude/stddef.h
--- a/external/gpl3/gcc/dist/gcc/ginclude/stddef.h      Sat Jul 17 15:37:04 2021 +0000
+++ b/external/gpl3/gcc/dist/gcc/ginclude/stddef.h      Sat Jul 17 16:31:51 2021 +0000
@@ -420,9 +420,14 @@
      use __float128 here; that is only available on some
      architectures, but only on i386 is extra alignment needed for
      __float128.  */
-#if defined(__i386__) && !defined(__clang__)
+#if defined(__i386__)
+#ifdef __clang__
+  // 16 is the gcc alignment for __float128
+  long long __max_align_128 __attribute__((__aligned__(16)));
+#else
   __float128 __max_align_f128 __attribute__((__aligned__(__alignof(__float128))));
 #endif
+#endif
 } max_align_t;
 #endif
 #endif /* C11 or C++11.  */



Home | Main Index | Thread Index | Old Index