[C-Semantics] question about 'register' storage-class specifier (and reads of uninitialized values)
celliso2 at illinois.edu
Wed Jan 4 12:34:49 CST 2012
This makes a ton of sense. Thanks Pascal!
On Wed, Jan 4, 2012 at 12:19 PM, CUOQ Pascal <Pascal.CUOQ at cea.fr> wrote:
>> "register" is [...] used in
>> 18.104.22.168:2 to identify another very important class of undefined
>> behaviors, having to do with reading uninitialized values.
> The rationale for the change is at
>> So in total, we have (in a footnote) "the address ... cannot be
>> computed" and (in the body) "never had its address taken" used to
>> describe the restriction on the register storage class. Are these
>> static or dynamic concepts?
> I think the intention was that the restriction was a static notion.
> This seems to fit both the idea that the compiler cannot be asked
> to generate code for the then-branch of your if and that the
> compiler should be allowed to use the register-only NaT value
> of IA64, that cannot exist in memory, as value of uc in the
> example of DR 338.
More information about the c-semantics