diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2019-05-13 07:51:29 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2019-05-13 07:51:29 +0000 |
commit | dab287b5505dd382b7074d93dca8e9763a29c32c (patch) | |
tree | 4a5ffc79a8f4013d883b95694a8fbbe8123c9974 /clang/test | |
parent | 5c5be6b2f7fc00255d6169277354d040c74b3e4b (diff) | |
download | bcm5719-llvm-dab287b5505dd382b7074d93dca8e9763a29c32c.tar.gz bcm5719-llvm-dab287b5505dd382b7074d93dca8e9763a29c32c.zip |
PR41854: Don't assert when constant-evaluating a member function call on an invalid designator.
llvm-svn: 360560
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/SemaCXX/constant-expression-cxx11.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/constant-expression-cxx11.cpp b/clang/test/SemaCXX/constant-expression-cxx11.cpp index c136b4d2693..46a77e1814d 100644 --- a/clang/test/SemaCXX/constant-expression-cxx11.cpp +++ b/clang/test/SemaCXX/constant-expression-cxx11.cpp @@ -2284,3 +2284,11 @@ namespace PR40430 { }; static_assert(S().foo() == 'f', ""); } + +namespace PR41854 { + struct e { operator int(); }; + struct f { e c; }; + int a; + f &d = reinterpret_cast<f&>(a); + unsigned b = d.c; +} |