UPC_CASTABLE flags underspecified

Issue #111 new
Former user created an issue

Originally reported on Google Code with ID 111

I'm working on implementation/testing for the new optional <upc_castable.h> library,
and noticed that the flag values it defines in 7.7.2.2-5 are currently underspecified.

Current text:

  Flag values are as specified below. Each flag has a unique bitwise   
  representation that can be unambiguously tested using the bitwise AND operator (&).
  UPC_CASTABLE_ALL_ALLOC.. (etc)

This text is a bit too vague. Specifically, it should explicitly require the flags
to be macros (and not, eg global variables) expanding to integer constants with a specific
type.

Here is some proposed replacement text, based on similar text in 7.3.1:

  The {\tt <upc_castable.h>} header defines the following macros, which expand to
  integer constant expressions with type {\tt int}, which are suitable for use
  in {\tt #if} preprocessing directives. Each macro value designates the specified
  memory region. The expressions are defined such that each value can be unambiguously
  tested using the bitwise AND operator (&).

I'm pretty sure this was the intended requirement, so we should probably clarify that.

Reported by danbonachea on 2013-03-22 05:47:36

Comments (5)

  1. Former user Account Deleted
    Latex diff for the proposed fix is below.
    
    I'm not sure what process should be used for this change, since the library section
    in question is entirely new in 1.3. Do we need a 4-week comment period or can I just
    commit the clarification now?
    
    --- upc-lib-castability.tex     (revision 204)
    +++ upc-lib-castability.tex     (working copy)
    @@ -121,9 +121,11 @@
     it indicates that it is likely, but not guaranteed, that a pointer into
     that region with affinity to {\tt threadId} is castable.
    
    -\np Flag values are as specified below.  Each flag has a
    -unique bitwise representation that can be unambiguously tested using the
    -bitwise AND operator (\&).
    +\np The {\tt <upc\_castable.h>} header defines the following macros, which expand
    to
    +integer constant expressions with type {\tt int}, which are suitable for use
    +in {\tt \#if} preprocessing directives. Each macro value designates the specified
    +memory region. The expressions are defined such that each value can be unambiguously
    +tested using the bitwise AND operator ({\tt \&}).
    
     \begin{description}
     \index{UPC\_CASTABLE\_ALL\_ALLOC}
    

    Reported by danbonachea on 2013-03-23 17:45:52 - Labels added: Priority-High, Consensus-High - Labels removed: Priority-Medium, Consensus-Medium

  2. Former user Account Deleted
    The suggested change looks fine to me.
    

    Reported by brian.wibecan on 2013-03-25 15:47:52

  3. Former user Account Deleted
    This is a "no-brainer" fix to entirely new text that appears to have wide consensus.
    Moving to PendingApproval.
    

    Reported by danbonachea on 2013-04-30 17:14:45 - Status changed: PendingApproval

  4. Former user Account Deleted
    Committed as SVN 211.
    

    Reported by danbonachea on 2013-04-30 18:20:49 - Status changed: Fixed

  5. Former user Account Deleted
    Ratified in the 5/22 telecon.
    

    Reported by danbonachea on 2013-08-03 03:55:37 - Status changed: Ratified

  6. Log in to comment