[PATCH] D156045: [clang][Interp] Enable existing source_location tests
Takuya Shimizu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Sep 8 07:26:09 PDT 2023
hazohelet added a comment.
I was rebasing D155064 <https://reviews.llvm.org/D155064> locally and saw test failures for the new interpreter in this file.
The cause seems to me that the new interpreter is not handling some cases of `SourceLocExpr` correctly when they appear inside constant-evaluated or immediate-function context.
e.g.
struct A {
int n = __builtin_LINE();
};
struct B {
A a = {};
};
#line 100
consteval void f() {
constexpr B c = {};
static_assert(c.a.n == 101, "");
}
Live demo: https://godbolt.org/z/9Y7bzj56G
D155064 <https://reviews.llvm.org/D155064> pushes constant-evaluated context against initializers of `constexpr` variables, so this bug appears in the test file.
I'm not in any hurry to push D155064 <https://reviews.llvm.org/D155064> upstream, but if it might take several weeks for this bug to be fixed, I'd like this change to be reverted until it gets fixed.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D156045/new/
https://reviews.llvm.org/D156045
More information about the cfe-commits
mailing list