search for: checkuint32argu

Displaying 2 results from an estimated 2 matches for "checkuint32argu".

2020 Oct 30
3
Questions about ctor/dtor attribute related diagnostics
Hi, I noticed that there are some diagnostics discrepancies between clang and gcc related to `__attribute__((constructor(n)))` and `__attribute__((destructor(n)))`. *[clang]* It seems priorities >65535 and <0 on ctor/dtor functions are ignored and are set back to default 65535 in clang and Clang only gives an error when > 32-bit unsigned value specified. *[g++]* g++ gives an error for
2020 Nov 05
0
Questions about ctor/dtor attribute related diagnostics
...signed value only? The code for this lives in SemaDeclAttr.cpp in `handleConstructorAttr()` and `handleDestructorAttr()`, both of which are defined similarly as trying to read the attribute argument as an unsigned 32-bit value. If the value is outside of the range of a 32-bit unsigned number, the `checkUInt32Argument()` helper function will diagnose it as an error. We don't have any further range checking happening for the argument, though. I think it's reasonable for us to match GCC's behavior with diagnostics here. You could model the check after what is done in `handleInitPriorityAttr()` whi...