[clang] Avoid printing overly large integer. (PR #75902)

Jon Roelofs via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 19 09:48:47 PST 2023


================
@@ -17132,6 +17132,9 @@ static bool ConvertAPValueToString(const APValue &V, QualType T,
         case BuiltinType::WChar_U: {
           unsigned TyWidth = Context.getIntWidth(T);
           assert(8 <= TyWidth && TyWidth <= 32 && "Unexpected integer width");
+          if (V.getInt() >= (1 << 64)) {
----------------
jroelofs wrote:

> 1<<64 is results 0

Shifting beyond the width of the type is Undefined Behavior.

https://github.com/llvm/llvm-project/pull/75902


More information about the cfe-commits mailing list