diff mbox series

[6/7] conform: Do not use __SIG_ATOMIC_TYPE__

Message ID 20241231182649.1811734-7-adhemerval.zanella@linaro.org
State New
Headers show
Series More fixes for building tests with clang | expand

Commit Message

Adhemerval Zanella Netto Dec. 31, 2024, 6:26 p.m. UTC
clang does not define __SIG_ATOMIC_TYPE__, instead add another
directive ('size:') which instruct to use an interger type of
defined minimum size.
---
 conform/conformtest.py     | 4 ++++
 conform/data/stdint.h-data | 4 ++--
 2 files changed, 6 insertions(+), 2 deletions(-)

Comments

Sam James Jan. 2, 2025, 5 p.m. UTC | #1
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 mbox series

Patch

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