Re: [PATCH v2 02/16] add testcases for exotic enum values

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 26/12/2020 17:51, Luc Van Oostenryck wrote:
> There is more than one complexity in the evaluation of enums.
> 
> Add a test for enums with 'exotic' values non-covered in other tests.

s/non-covered/not covered/

ATB,
Ramsay Jones

> 
> Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx>
> ---
>  validation/enum-type-exotic.c | 28 ++++++++++++++++++++++++++++
>  1 file changed, 28 insertions(+)
>  create mode 100644 validation/enum-type-exotic.c
> 
> diff --git a/validation/enum-type-exotic.c b/validation/enum-type-exotic.c
> new file mode 100644
> index 000000000000..a17ca0ad48ef
> --- /dev/null
> +++ b/validation/enum-type-exotic.c
> @@ -0,0 +1,28 @@
> +enum foobar {
> +        C = (unsigned char)0,
> +        L = 1L,
> +};
> +
> +unsigned int foo(void);
> +unsigned int foo(void)
> +{
> +#ifdef __CHECKER__
> +	_Static_assert([typeof(C)] == [enum foobar], "enum type");
> +	_Static_assert([typeof(C)] != [unsigned char], "char type");
> +#endif
> +
> +	typeof(C) v = ~0;
> +	return v;
> +}
> +
> +/*
> + * check-name: enum-type-exotic
> + * check-description:
> + *	GCC type's for C is 'int' or maybe 'unsigned int'
> + *	but certainly not 'unsigned char' like here.
> + * check-command: test-linearize -Wno-decl $file
> + * check-known-to-fail
> + *
> + * check-output-ignore
> + * check-output-excludes: ret\\.32 *\\$255
> + */
> 



[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux