This was still missing.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
I'm pretty far behind on reviews of the interpreter, but this one I noticed while looking th rough it.
| clang/lib/AST/Interp/ByteCodeExprGen.cpp | ||
|---|---|---|
| 697 | This is UB here if LT doesn't contain a value. Additionally, it makes line 712 really odd here. It seems that LT isn't really used anywhere in this function. I know classify is meaningful here (and thus needs to run), but I wonder if we want to make this: assert(LT && *LT == PT_Ptr); and take out the 1st test on 712. | |
| clang/lib/AST/Interp/ByteCodeExprGen.cpp | ||
|---|---|---|
| 714–715 | Should this be an early return before we visit anything? Or an assert on the assumption that we should only get here for += and -=? | |
| clang/lib/AST/Interp/ByteCodeExprGen.cpp | ||
|---|---|---|
| 714–715 | Sure, that would work as well. | |
This is UB here if LT doesn't contain a value. Additionally, it makes line 712 really odd here. It seems that LT isn't really used anywhere in this function. I know classify is meaningful here (and thus needs to run), but I wonder if we want to make this:
assert(LT && *LT == PT_Ptr); and take out the 1st test on 712.