https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/67954
None >From fe7f8cddb7f4590f481fce3b99c7b56f8163d889 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= <tbae...@redhat.com> Date: Sun, 1 Oct 2023 19:57:03 +0200 Subject: [PATCH] [clang][Interp] Implement IntegralAP::comp --- clang/lib/AST/Interp/IntegralAP.h | 1 - clang/test/AST/Interp/literals.cpp | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/clang/lib/AST/Interp/IntegralAP.h b/clang/lib/AST/Interp/IntegralAP.h index b2b367f30c238fe..b29aac2a73e3243 100644 --- a/clang/lib/AST/Interp/IntegralAP.h +++ b/clang/lib/AST/Interp/IntegralAP.h @@ -210,7 +210,6 @@ template <bool Signed> class IntegralAP final { } static bool comp(IntegralAP A, IntegralAP *R) { - assert(false); *R = IntegralAP(~A.V); return false; } diff --git a/clang/test/AST/Interp/literals.cpp b/clang/test/AST/Interp/literals.cpp index b57a0e64c5fac32..864c91dd0003b9e 100644 --- a/clang/test/AST/Interp/literals.cpp +++ b/clang/test/AST/Interp/literals.cpp @@ -87,6 +87,9 @@ constexpr int128_t Error = __LDBL_MAX__; // ref-warning {{implicit conversion of // expected-warning {{implicit conversion of out of range value}} \ // expected-error {{must be initialized by a constant expression}} \ // expected-note {{is outside the range of representable values of type}} + + constexpr uint128_t UINT128_MAX = ~static_cast<uint128_t>(0); + static_assert(UINT128_MAX == static_cast<uint128_t>(-1), ""); } #endif _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits