You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cVarOrDeref() allows DEREFs but not CALLCTOR/TYPEINI nodes, so it behaves differently with/without -exx for expressions like *@type<...>(...) (with -exx the DEREF/ADDROF is preserved due to null pointer checks, but without -exx it is solved out).
-exx should not have this kind of effect on the parsing.
Maybe cVarOrDeref() should just accept CALLCTOR/TYPEINI nodes too, but then code like this would be accepted too:
type UDT
i as integer
end type
dim x as UDT
type<UDT>(1) = x
which I don't think was ever intended to work. On the other hand, this already works:
type<UDT>().i = 1
so it wouldn't matter much.
The text was updated successfully, but these errors were encountered:
Duplicated here for BountySource.
Original Link:
https://sourceforge.net/p/fbc/bugs/801/
cVarOrDeref() allows DEREFs but not CALLCTOR/TYPEINI nodes, so it behaves differently with/without -exx for expressions like *@type<...>(...) (with -exx the DEREF/ADDROF is preserved due to null pointer checks, but without -exx it is solved out).
-exx should not have this kind of effect on the parsing.
Maybe cVarOrDeref() should just accept CALLCTOR/TYPEINI nodes too, but then code like this would be accepted too:
which I don't think was ever intended to work. On the other hand, this already works:
so it wouldn't matter much.
The text was updated successfully, but these errors were encountered: