aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-01-04 18:12:14 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-01-04 18:12:14 +0000
commit811de1a68863f7903341288a113b8c0ac7aa9c0e (patch)
tree406b27767ac412239ab849c8a7f6f8849724db04
parentf5ee5362bf8c50e5a85bf758f3f5d91f262a446f (diff)
downloadglibc-811de1a68863f7903341288a113b8c0ac7aa9c0e.tar
glibc-811de1a68863f7903341288a113b8c0ac7aa9c0e.tar.gz
glibc-811de1a68863f7903341288a113b8c0ac7aa9c0e.tar.bz2
glibc-811de1a68863f7903341288a113b8c0ac7aa9c0e.zip
Fix MicroBlaze bits/setjmp.h for C++.
For MicroBlaze, setjmp/check-installed-headers-cxx fails with: ../setjmp/setjmp.h:34:8: error: '__jmp_buf_tag' has a field '__jmp_buf_tag::__jmpbuf' whose type depends on the type '<unnamed struct>' which has no linkage [-Werror=subobject-linkage] This patch fixes this in the same way as for some other architectures: the struct used for the internal __jmp_buf type is given the tag __jmp_buf_internal_tag. Tested (compilation tests) with build-many-glibcs.py. * sysdeps/microblaze/bits/setjmp.h (__jmp_buf): Give struct tag __jmp_buf_internal_tag.
-rw-r--r--ChangeLog3
-rw-r--r--sysdeps/microblaze/bits/setjmp.h2
2 files changed, 4 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 0278dff4cc..7ab73a7814 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2017-01-04 Joseph Myers <joseph@codesourcery.com>
+ * sysdeps/microblaze/bits/setjmp.h (__jmp_buf): Give struct tag
+ __jmp_buf_internal_tag.
+
* sysdeps/mips/mips32/sfp-machine.h (_FP_CHOOSENAN): Always
preserve NaN payload if [__mips_nan2008].
* sysdeps/mips/mips64/sfp-machine.h (_FP_CHOOSENAN): Likewise.
diff --git a/sysdeps/microblaze/bits/setjmp.h b/sysdeps/microblaze/bits/setjmp.h
index d54db9c12c..fd175dac2b 100644
--- a/sysdeps/microblaze/bits/setjmp.h
+++ b/sysdeps/microblaze/bits/setjmp.h
@@ -25,7 +25,7 @@
# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
#endif
-typedef struct
+typedef struct __jmp_buf_internal_tag
{
/* There are 21 4-byte registers that should be saved:
r1, r2, r13-r31. Actually, there seems no need to save