09-161 To: J3 From: Van Snyder Subject: Three more processor dependencies Date: 2009 March 27 References: 09-007r1 1. Discussion Module variables or host-associated variables that are defined in functions or procedures invoked from them become undefined if a reference to the function appears in a context where the processor doesn't have to execute it. The allocation status of similar variables might be considered to be undefined, but the allocation status can't become undefined; it's only indeterminate, which means its processor dependent. The status of a similar lock variable might be considered to be undefined, but the intent is that it can't become undefined; it's only indeterminate, which means its processor dependent. 2. Edits [131:22+ 6.7.1.3p5+]---------------------------------------------------- Editor: Add a new paragraph: "If the evaluation of a function would cause a variable to become allocated and if a reference to the function appears in an expression in which the value of the function is not needed to determine the value of the expression, the allocation status of the variable after evaluation of the expression is processor dependent." [133:24+ 6.7.3.2p13+]--------------------------------------------------- Editor: Add a new paragraph: "If the evaluation of a function would cause a variable to become deallocated and if a reference to the function appears in an expression in which the value of the function is not needed to determine the value of the expression, the allocation status of the variable after evaluation of the expression is processor dependent." [195:4+ 8.5.6p4+]------------------------------------------------------- Editor: Add a new paragraph: "If the evaluation of a function would cause a lock variable to become locked or unlocked and if a reference to the function appears in an expression in which the value of the function is not needed to determine the value of the expression, whether the variable is locked or unlocked after evaluation of the expression is processor dependent." [463 5.3.7+]------------------------------------------------------------ Editor: Insert a new item: "o If the evaluation of a function would cause a variable to become allocated and if a reference to the function appears in an expression in which the value of the function is not needed to determine the value of the expression, the allocation status of the variable after evaluation of the expression is processor dependent (6.6.1.3)." [463 6.7.3]------------------------------------------------------------- Editor: Replace "6.7.3" by "6.7.3.2" (the last paragraph of 6.7.3.2 describes this situation). [463 6.7.3.2+]---------------------------------------------------------- Editor: Insert a new item: "o If the evaluation of a function would cause a variable to become deallocated and if a reference to the function appears in an expression in which the value of the function is not needed to determine the value of the expression, the allocation status of the variable after evaluation of the expression is processor dependent (6.7.3.2)." [468 8.5.5+]------------------------------------------------------------ Editor: Insert a new item: "o If the evaluation of a function would cause a lock variable to become locked or unlocked and if a reference to the function appears in an expression in which the value of the function is not needed to determine the value of the expression, whether the variable is locked or unlocked after evaluation of the expression is processor dependent (8.5.6)."