Constants like (const int N) usually do not have address in the real meaning of address. For example they are present in the shared objects but are marked as read-only.
Constants like (const int N) usually do not have address in the real meaning of
address. For example they are present in the shared objects but are marked as
read-only.

Usually one (Wim) uses the address of a variable to get its value. The constants
very often have initializers, which is a constant expression and can be evaluated
at compile-time and constant-folded by the compiler.

What it makes sense is to implement the constants of integral types to behave 
exactly like enum constants and instead of returning the address we will evaluate
their integral initializers and return the value directly. It is up to the 
caller (as with enum constants) to determine what the interface will return a
value or an address.

Fixes savannah #98676


git-svn-id: ecbadac9c76e8cf640a0bca86f6bd796c98521e3@47858 27541ba8-7e3a-0410-8455-c3a389f83636

bbannier/ROOT,bbannier/ROOT,bbannier/ROOT,bbannier/ROOT,bbannier/ROOT,bbannier/ROOT,bbannier/ROOT