Message ID | 20241231182649.1811734-7-adhemerval.zanella@linaro.org |
---|---|
State | New |
Headers | show |
Series | More fixes for building tests with clang | expand |
Adhemerval Zanella <adhemerval.zanella@linaro.org> writes: > clang does not define __SIG_ATOMIC_TYPE__, instead add another > directive ('size:') which instruct to use an interger type of integer > defined minimum size. > --- > conform/conformtest.py | 4 ++++ > conform/data/stdint.h-data | 4 ++-- > 2 files changed, 6 insertions(+), 2 deletions(-) Reviewed-by: Sam James <sam@gentoo.org> > > diff --git a/conform/conformtest.py b/conform/conformtest.py > index d38afb06a8..f89d994e5f 100644 > --- a/conform/conformtest.py > +++ b/conform/conformtest.py > @@ -172,6 +172,10 @@ class ConstantTest(object): > c_type = self.c_type[len('promoted:'):] > text = ('__typeof__ ((%s) 0 + (%s) 0) a2_%d;\n' > % (c_type, c_type, self.num)) > + elif self.c_type.startswith('size:'): > + c_type = "int{}_t".format(self.c_type[len('size:'):]) > + text = ('__typeof__ ((%s) 0 + (%s) 0) a2_%d;\n' > + % (c_type, c_type, self.num)) > else: > text = '__typeof__ ((%s) 0) a2_%d;\n' % (self.c_type, self.num) > text += 'extern __typeof__ (%s) a2_%d;\n' % (self.symbol, self.num) > diff --git a/conform/data/stdint.h-data b/conform/data/stdint.h-data > index 4e84e17fb8..5d65d4ecd5 100644 > --- a/conform/data/stdint.h-data > +++ b/conform/data/stdint.h-data > @@ -88,8 +88,8 @@ macro-int-constant UINTMAX_MAX {promoted:uintmax_t} >= 18446744073709551615ULL > macro-int-constant PTRDIFF_MIN {promoted:__PTRDIFF_TYPE__} <= -65535 > macro-int-constant PTRDIFF_MAX {promoted:__PTRDIFF_TYPE__} >= 65535 > > -macro-int-constant SIG_ATOMIC_MIN {promoted:__SIG_ATOMIC_TYPE__} > -macro-int-constant SIG_ATOMIC_MAX {promoted:__SIG_ATOMIC_TYPE__} >= 127 > +macro-int-constant SIG_ATOMIC_MIN {size:__SIG_ATOMIC_WIDTH__} > +macro-int-constant SIG_ATOMIC_MAX {size:__SIG_ATOMIC_WIDTH__} >= 127 > > macro-int-constant SIZE_MAX {promoted:__SIZE_TYPE__} >= 65535
diff --git a/conform/conformtest.py b/conform/conformtest.py index d38afb06a8..f89d994e5f 100644 --- a/conform/conformtest.py +++ b/conform/conformtest.py @@ -172,6 +172,10 @@ class ConstantTest(object): c_type = self.c_type[len('promoted:'):] text = ('__typeof__ ((%s) 0 + (%s) 0) a2_%d;\n' % (c_type, c_type, self.num)) + elif self.c_type.startswith('size:'): + c_type = "int{}_t".format(self.c_type[len('size:'):]) + text = ('__typeof__ ((%s) 0 + (%s) 0) a2_%d;\n' + % (c_type, c_type, self.num)) else: text = '__typeof__ ((%s) 0) a2_%d;\n' % (self.c_type, self.num) text += 'extern __typeof__ (%s) a2_%d;\n' % (self.symbol, self.num) diff --git a/conform/data/stdint.h-data b/conform/data/stdint.h-data index 4e84e17fb8..5d65d4ecd5 100644 --- a/conform/data/stdint.h-data +++ b/conform/data/stdint.h-data @@ -88,8 +88,8 @@ macro-int-constant UINTMAX_MAX {promoted:uintmax_t} >= 18446744073709551615ULL macro-int-constant PTRDIFF_MIN {promoted:__PTRDIFF_TYPE__} <= -65535 macro-int-constant PTRDIFF_MAX {promoted:__PTRDIFF_TYPE__} >= 65535 -macro-int-constant SIG_ATOMIC_MIN {promoted:__SIG_ATOMIC_TYPE__} -macro-int-constant SIG_ATOMIC_MAX {promoted:__SIG_ATOMIC_TYPE__} >= 127 +macro-int-constant SIG_ATOMIC_MIN {size:__SIG_ATOMIC_WIDTH__} +macro-int-constant SIG_ATOMIC_MAX {size:__SIG_ATOMIC_WIDTH__} >= 127 macro-int-constant SIZE_MAX {promoted:__SIZE_TYPE__} >= 65535