diff options
author | Faisal Vali <faisalv@yahoo.com> | 2016-11-13 06:09:16 +0000 |
---|---|---|
committer | Faisal Vali <faisalv@yahoo.com> | 2016-11-13 06:09:16 +0000 |
commit | 0528a31ddf430bdeb1711ba930b6d530f78af3ad (patch) | |
tree | d377b3d2fe1fa4e50f34113dccdae8c7bcca4f2e /llvm/lib/Bitcode/Reader/BitReader.cpp | |
parent | e706c1d9d91ecec741ef1dacdef629f3f8cb5f35 (diff) | |
download | bcm5719-llvm-0528a31ddf430bdeb1711ba930b6d530f78af3ad.tar.gz bcm5719-llvm-0528a31ddf430bdeb1711ba930b6d530f78af3ad.zip |
Fix PR28366: Handle variables from enclosing local scopes more gracefully during constant expression evaluation.
Only look for a variable's value in the constant expression evaluation activation frame, if the variable was indeed declared in that frame, otherwise it might be a constant expression and be usable within a nested local scope or emit an error.
void f(char c) {
struct X {
static constexpr char f() {
return c; // error gracefully here as opposed to crashing.
}
};
int I = X::f();
}
llvm-svn: 286748
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitReader.cpp')
0 files changed, 0 insertions, 0 deletions