On Sun, Jun 05, 2022 at 20:09:04 +0000, Miika via Gcc wrote: > Based on Jakub's and Yair's comments I created a new attribute "inrange". > Inrage takes three arguments, pos min and max. > Pos being the argument position in the function, and min and max defines the > range of valid integer. Both min and max are inclusive and work with enums. > Warnings are enabled with the new flag: "-Winrange".
Is this something that could be applied to variables or types (I've not much experience with GCC attribute internal mechanisms, so maybe not)? For example: ``` // This variable must be in range. int percentage __attribute__((inrange(0, 100))); // Any variable declared through this typedef must be in range. typedef int __attribute__((inrange(0, 100))) percentage_t; ``` --Ben