spir <[email protected]> wrote:
Hello,I have a little issue with pointer syntax: auto toS = &("abc") ; // ok auto toS = &"abc" ; // ok auto toI = &(1) ; // Error: constant 1 is not an lvalue auto toI = &1 ; // Error: constant 1 is not an lvalue The only solution I found is: auto i = 1 ; auto toI = &i ;It seems to be a pure syntactic problem. But why does it work with strings? "abc" is no more a lvalue, I guess.
It appears that array structs are automatically created in the data segment of the executable, and one may thus get a pointer to them. It does make sense to do it this way, but exposing it to let people access it in this way, not so much. I'd say the string example is a bug. -- Simen
