This was still missing.
Details
Details
Diff Detail
Diff Detail
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 | ||
---|---|---|
711 | 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 | ||
---|---|---|
728–729 | 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 | ||
---|---|---|
728–729 | 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.