Message ID | lfuu4e$uam$3@ger.gmane.org |
---|---|
State | New |
Headers | show |
On Fri, 14 Mar 2014, Stefan Liebler wrote: > Hi, > > The conformance tests for ISO99, ISO11, XOPEN2K, POSIX2008 and XOPEN2K8 > are failing on S390 for the inttypes.h and stdint.h headers. > The problem is that on S390 size_t / __SIZE_TYPE__ > are defined as long unsigned int, > which has the same size as unsigned int (on S390). > SIZE_MAX is defined in sysdeps/generic/stdint.h as 4294967295U. > The conformance-test checks the type of SIZE_MAX, > which should be promoted to __SIZE_TYPE__, but it is unsigned int. You should fix the header rather than marking these tests as expected to fail. (Of course, file a bug in Bugzilla before fixing it, as usual.) To avoid duplicating the whole header, maybe add a macro <bits/wordsize.h> can define such as __WORDSIZE32_SIZE_ULONG, and then test that macro in <stdint.h>. (You have two identical bits/wordsize.h files for S/390. Just one should suffice.)
diff --git a/sysdeps/s390/s390-32/Makefile b/sysdeps/s390/s390-32/Makefile index 057862d..e7f3934 100644 --- a/sysdeps/s390/s390-32/Makefile +++ b/sysdeps/s390/s390-32/Makefile @@ -9,3 +9,16 @@ CFLAGS-rtld.c += -Wno-uninitialized -Wno-unused CFLAGS-dl-load.c += -Wno-unused CFLAGS-dl-reloc.c += -Wno-unused endif + +ifeq ($(subdir),conform) +test-xfail-ISO99/inttypes.h/conform = yes +test-xfail-ISO99/stdint.h/conform = yes +test-xfail-ISO11/inttypes.h/conform = yes +test-xfail-ISO11/stdint.h/conform = yes +test-xfail-XOPEN2K/inttypes.h/conform = yes +test-xfail-XOPEN2K/stdint.h/conform = yes +test-xfail-POSIX2008/inttypes.h/conform = yes +test-xfail-POSIX2008/stdint.h/conform = yes +test-xfail-XOPEN2K8/inttypes.h/conform = yes +test-xfail-XOPEN2K8/stdint.h/conform = yes +endif