diff options
author | Akira Hatanaka <ahatanaka@apple.com> | 2016-11-19 00:13:03 +0000 |
---|---|---|
committer | Akira Hatanaka <ahatanaka@apple.com> | 2016-11-19 00:13:03 +0000 |
commit | f7d563c76c40acc361417ec1bdef6f15739516e4 (patch) | |
tree | 3eda79eca38a6ec8a17bedae6c9ad00fc64652d2 /clang/docs/CommandGuide/clang.rst | |
parent | eb4a0cb16b74f6b973c11bd0b371f387853e48fc (diff) | |
download | bcm5719-llvm-f7d563c76c40acc361417ec1bdef6f15739516e4.tar.gz bcm5719-llvm-f7d563c76c40acc361417ec1bdef6f15739516e4.zip |
[Sema] Don't allow applying address-of operator to a call to a function
with __unknown_anytype return type.
When the following code is compiled, Sema infers that the type of
__unknown_anytype is double:
extern __unknown_anytype func();
double *d = (double*)&func();
This triggers an assert in CodeGenFunction::EmitCallExprLValue because
it doesn't expect to see a call to a function with a non-reference
scalar return type.
This commit prevents the assert by making VisitUnaryAddrOf error out if
the address-of operator is applied to a call to a function with
__unknown_anytype return type.
rdar://problem/20287610
Differential revision: https://reviews.llvm.org/D26808
llvm-svn: 287410
Diffstat (limited to 'clang/docs/CommandGuide/clang.rst')
0 files changed, 0 insertions, 0 deletions