diff options
| author | Xavier ASUS <xavi92psx@gmail.com> | 2019-10-18 00:31:54 +0200 |
|---|---|---|
| committer | Xavier ASUS <xavi92psx@gmail.com> | 2019-10-18 00:31:54 +0200 |
| commit | 268a53de823a6750d6256ee1fb1e7707b4b45740 (patch) | |
| tree | 42c1799a9a82b2f7d9790ee9fe181d72a7274751 /support/regression/tests/generic.c | |
| download | sdcc-gas-268a53de823a6750d6256ee1fb1e7707b4b45740.tar.gz | |
sdcc-3.9.0 fork implementing GNU assembler syntax
This fork aims to provide better support for stm8-binutils
Diffstat (limited to 'support/regression/tests/generic.c')
| -rw-r--r-- | support/regression/tests/generic.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/support/regression/tests/generic.c b/support/regression/tests/generic.c new file mode 100644 index 0000000..1b46e44 --- /dev/null +++ b/support/regression/tests/generic.c @@ -0,0 +1,26 @@ +/* + C11 generic associations +*/ + +#include <testfwk.h> + +int i; +long l; +enum {e}; +typedef char t; +t c; + +void testGeneric(void) +{ +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L + ASSERT (_Generic(i, default : 0, int : 1, long : 2) == 1); + ASSERT (_Generic(l, default : 0, int : 1, long int : 2) == 2); + ASSERT (_Generic(l, default : 0, int : 1, char : 2) == 0); + ASSERT (_Generic('c', default : 0, int : 1, char : 2) == 1); + ASSERT (_Generic(7, default : 0, int : 1, char : 2) == 1); + ASSERT (_Generic(e, default : 0, int : 1, char : 2) == 1); + ASSERT (_Generic(c, default : 0, int : 1, char : 2) == 2); + ASSERT (_Generic("c"[0], char : 1, default : 0) == _Generic(c, char : 1, default : 0)); // There once was a bug where the sign of plain char different from the sign of char in string literals. +#endif +} + |
