зеркало из https://github.com/microsoft/clang-1.git
PR1963: Address of function is a constant expression
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49212 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
730f2c13e8
Коммит
63f067f5a7
|
@ -453,6 +453,8 @@ bool Expr::hasGlobalStorage() const {
|
|||
const Decl *D = cast<DeclRefExpr>(this)->getDecl();
|
||||
if (const VarDecl *VD = dyn_cast<VarDecl>(D))
|
||||
return VD->hasGlobalStorage();
|
||||
if (isa<FunctionDecl>(D))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
case MemberExprClass: {
|
||||
|
|
|
@ -5,3 +5,6 @@ int a[] = {0};
|
|||
struct { int i; } s;
|
||||
|
||||
int *array[] = {&i, a, &s.i};
|
||||
|
||||
extern void f(void);
|
||||
void (*f_addr)(void) = &f;
|
||||
|
|
Загрузка…
Ссылка в новой задаче