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.
This commit is contained in:
Joseph Myers 2017-01-04 18:12:14 +00:00
parent f5ee5362bf
commit 811de1a688
2 changed files with 4 additions and 1 deletions

View File

@ -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.

View File

@ -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