|
|
Message-ID: <1416926756.16006.922.camel@eris.loria.fr>
Date: Tue, 25 Nov 2014 15:45:56 +0100
From: Jens Gustedt <jens.gustedt@...ia.fr>
To: musl@...ts.openwall.com
Subject: type verification for number macros
Hello,
after a recent discussion about DR 456, I noticed that the types and
properties of the numerical macros that the C standard requires are
not always completely trivial. Basically there are three distinct
cases:
(1) the standard requires that the type of an integer constant is the
promoted type
(2) the standard requires that the type of an integer constant is the
exact type
(3) the standard requires that the type of a floating point constant
is the exact type *and* that it must be suitable to initialize a
static varialble.
Joint is a program that checks all of these. This exposes 3 different
bugs for musl:
- [U]INTxx_C(x) macros don't have the exact type
- WINT_MIN must have type wint_t, that is unsigned for musl
- CMPLX(x, y) and friends must be usable for initialization
The later makes the compilation of the program fail with musl :(
In a follow up I will send 4 patches that address issues with this
types of macros.
Jens
--
:: INRIA Nancy Grand Est ::: AlGorille ::: ICube/ICPS :::
:: ::::::::::::::: office Strasbourg : +33 368854536 ::
:: :::::::::::::::::::::: gsm France : +33 651400183 ::
:: ::::::::::::::: gsm international : +49 15737185122 ::
:: http://icube-icps.unistra.fr/index.php/Jens_Gustedt ::
View attachment "test_number_macros.c" of type "text/x-csrc" (22788 bytes)
Download attachment "signature.asc" of type "application/pgp-signature" (199 bytes)
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.