Displaying 2 results from an estimated 2 matches for "handleinitpriorityattr".
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
...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()` which has to do a similar range check.
However, you should also verify whether values < 0 or > 65535 are
reserved to the implementation itself (perhaps are used as part of
system headers like glibc) as they are with `init_priority` values <
101 or > 65535. The `init_priority` attribu...