https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102440
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|marxin at gcc dot gnu.org |unassigned at gcc dot gnu.org Status|ASSIGNED |NEW --- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> --- All right, so the meaning of the UInteger type is actually that users can't set the flag/param to a negative value: $ gcc -fabi-version=-3 a.c gcc: error: argument to '-fabi-version=' should be a non-negative integer Plus there are very many flags that are initialized to -1 with Init(-1). The special value is used for distinguishing between a set value and the default one. So the name is unfortunate, but I don't see what can we do about it?