We were just casting to `unsigned` before, so that caused problems when shifting more bits than `unsigned` has.
Details
Details
Diff Detail
Diff Detail
Unit Tests
Unit Tests
Paths
| Differential D140845
[clang][Interp] Fix left-/right-shifting more than sizeof(unsigned) ClosedPublic Authored by tbaeder on Jan 2 2023, 7:38 AM.
Details Summary We were just casting to `unsigned` before, so that caused problems when shifting more bits than `unsigned` has.
Diff Detail
Unit TestsFailed Event TimelineThis revision is now accepted and ready to land.Jan 3 2023, 7:04 AM
tbaeder marked an inline comment as done. This revision was landed with ongoing or failed builds.Jan 25 2023, 10:07 PM Closed by commit rG00e967f6c2d6: [clang][Interp] Fix left-/right-shifting more than sizeof(unsigned) (authored by tbaeder). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 491633 clang/lib/AST/Interp/Integral.h
clang/lib/AST/Interp/Interp.h
clang/test/AST/Interp/shifts.cpp
|
Can we add a test for left shift as well.