Skip to Content.
Sympa Menu

c-semantics - Re: [C-Semantics] question about 'register' storage-class specifier (and reads of uninitialized values)

c-semantics AT lists.cs.illinois.edu

Subject: C Semantics in K Framework

List archive

Re: [C-Semantics] question about 'register' storage-class specifier (and reads of uninitialized values)


Chronological Thread 
  • From: Chucky Ellison <celliso2 AT illinois.edu>
  • To: CUOQ Pascal <Pascal.CUOQ AT cea.fr>
  • Cc: "c-semantics AT cs.illinois.edu" <c-semantics AT cs.illinois.edu>
  • Subject: Re: [C-Semantics] question about 'register' storage-class specifier (and reads of uninitialized values)
  • Date: Wed, 4 Jan 2012 12:34:49 -0600
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/c-semantics>
  • List-id: C Semantics in K Framework <c-semantics.cs.illinois.edu>

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
>> 6.3.2.1:2 to identify another very important class of undefined
>> behaviors, having to do with reading uninitialized values.
>
> The rationale for the change is at
> http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_338.htm
>
>> 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.
>
> Pascal
>





Archive powered by MHonArc 2.6.16.

Top of Page