Revamp handling of function types, conversion to function ptr types.
Implicit conversion to function types is now a more standard part of the type conversion infrastructure, rather than special cases of things like FunctionSymbolExpr immediately returning a pointer type, etc. Improved AddressOfExpr::TypeCheck() to actually issue errors in cases where it's illegal to take the address of an expression. Added AddressOfExpr::GetConstant() implementation that handles taking the address of functions. Issue #223.
This commit is contained in:
5
tests_errors/addr-of-1.ispc
Normal file
5
tests_errors/addr-of-1.ispc
Normal file
@@ -0,0 +1,5 @@
|
||||
// Illegal to take address of non-lvalue or function
|
||||
|
||||
void foo() {
|
||||
int *ptr = &(1+1);
|
||||
}
|
||||
Reference in New Issue
Block a user