This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fix MicroBlaze bits/setjmp.h for C++


On 01/03/2017 01:37 PM, Joseph Myers wrote:
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.

2017-01-03  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/microblaze/bits/setjmp.h (__jmp_buf): Give struct tag
	__jmp_buf_internal_tag.

diff --git a/sysdeps/microblaze/bits/setjmp.h b/sysdeps/microblaze/bits/setjmp.h
index d54db9c..fd175da 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


OK.


--
Michael Eager	 eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]