@@ -125,6 +137,26 @@ class TypeDescriptor {
return 1 << (TypeInfo >> 1);
}
+ const char *getBitIntBitCountPointer() const {
+CHECK(isBitIntTy());
+CHECK(isSignedBitIntTy());
+// Scan Name for zero and return the next address
+const char *p =
@@ -125,6 +137,26 @@ class TypeDescriptor {
return 1 << (TypeInfo >> 1);
}
+ const char *getBitIntBitCountPointer() const {
+CHECK(isBitIntTy());
MaskRay wrote:
CHECK unconditionally compiles to additional code. perhaps DCHECK
@@ -3298,22 +3315,40 @@ LValue CodeGenFunction::EmitPredefinedLValue(const
PredefinedExpr *E) {
/// { i16 TypeKind, i16 TypeInfo }
/// \endcode
///
-/// followed by an array of i8 containing the type name. TypeKind is 0 for an
-/// integer, 1 for a floating point value, and
@@ -3298,22 +3315,40 @@ LValue CodeGenFunction::EmitPredefinedLValue(const
PredefinedExpr *E) {
/// { i16 TypeKind, i16 TypeInfo }
/// \endcode
///
-/// followed by an array of i8 containing the type name. TypeKind is 0 for an
-/// integer, 1 for a floating point value, and
@@ -3324,6 +3359,20 @@ llvm::Constant
*CodeGenFunction::EmitCheckTypeDescriptor(QualType T) {
DiagnosticsEngine::ak_qualtype, (intptr_t)T.getAsOpaquePtr(),
StringRef(),
StringRef(), std::nullopt, Buffer, std::nullopt);
+ if (IsBitInt) {
+// The Structure
https://github.com/MaskRay requested changes to this pull request.
https://github.com/llvm/llvm-project/pull/96240
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MaskRay edited
https://github.com/llvm/llvm-project/pull/96240
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,42 @@
+// RUN: %clang -Wno-constant-conversion -Wno-array-bounds
-Wno-division-by-zero -Wno-shift-negative-value -Wno-shift-count-negative
-Wno-int-to-pointer-cast -O0
@@ -0,0 +1,170 @@
+// RUN: %clang -Wno-constant-conversion -Wno-array-bounds
-Wno-division-by-zero -Wno-shift-negative-value -Wno-shift-count-negative
-Wno-int-to-pointer-cast -O0
@@ -0,0 +1,42 @@
+// RUN: %clang -Wno-constant-conversion -Wno-array-bounds
-Wno-division-by-zero -Wno-shift-negative-value -Wno-shift-count-negative
-Wno-int-to-pointer-cast -O0
@@ -0,0 +1,42 @@
+// RUN: %clang -Wno-constant-conversion -Wno-array-bounds
-Wno-division-by-zero -Wno-shift-negative-value -Wno-shift-count-negative
-Wno-int-to-pointer-cast -O0
https://github.com/earnol edited https://github.com/llvm/llvm-project/pull/96240
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/earnol edited https://github.com/llvm/llvm-project/pull/96240
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,42 @@
+// RUN: %clang -Wno-constant-conversion -Wno-array-bounds
-Wno-division-by-zero -Wno-shift-negative-value -Wno-shift-count-negative
-Wno-int-to-pointer-cast -O0
https://github.com/AaronBallman commented:
The changes seem reasonable to me, but I don't have a lot of expertise with
compiler-rt. Should the changes come with a release note though?
https://github.com/llvm/llvm-project/pull/96240
___
cfe-commits
earnol wrote:
One more ping as week passed from the previous one.
https://github.com/llvm/llvm-project/pull/96240
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
earnol wrote:
Ping!
Any additional suggestions for the improvements?
Selfishly want to move it forward :)
https://github.com/llvm/llvm-project/pull/96240
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
@@ -0,0 +1,174 @@
+// RUN: %clang -Wno-constant-conversion -Wno-array-bounds
-Wno-division-by-zero -Wno-shift-negative-value -Wno-shift-count-negative
-Wno-int-to-pointer-cast -O0
https://github.com/earnol updated
https://github.com/llvm/llvm-project/pull/96240
>From 6e0294e5debf0fe694fcf56c8cd2d35e7225d639 Mon Sep 17 00:00:00 2001
From: Vladislav Aranov
Date: Fri, 24 May 2024 11:39:35 -0400
Subject: [PATCH] [ubsan] Display correct runtime messages for negative _BitInt
https://github.com/earnol updated
https://github.com/llvm/llvm-project/pull/96240
>From d01c49f85902d2ec660db2cb32dc2d1e0d04c393 Mon Sep 17 00:00:00 2001
From: Vladislav Aranov
Date: Fri, 24 May 2024 11:39:35 -0400
Subject: [PATCH] [ubsan] Display correct runtime messages for negative _BitInt
https://github.com/earnol updated
https://github.com/llvm/llvm-project/pull/96240
>From a6b6a1cf8ded271e1b1f29ad67daf77e135e0a7b Mon Sep 17 00:00:00 2001
From: Vladislav Aranov
Date: Fri, 24 May 2024 11:39:35 -0400
Subject: [PATCH] [ubsan] Display correct runtime messages for negative _BitInt
https://github.com/earnol updated
https://github.com/llvm/llvm-project/pull/96240
>From 00fb56c674f26f6d3455d77e37f8cad35d4aa95c Mon Sep 17 00:00:00 2001
From: Vladislav Aranov
Date: Fri, 24 May 2024 11:39:35 -0400
Subject: [PATCH] [ubsan] Display correct runtime messages for negative _BitInt
@@ -0,0 +1,174 @@
+// RUN: %clang -Wno-constant-conversion -Wno-array-bounds
-Wno-division-by-zero -Wno-shift-negative-value -Wno-shift-count-negative
-Wno-int-to-pointer-cast -O0
https://github.com/earnol edited https://github.com/llvm/llvm-project/pull/96240
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,174 @@
+// RUN: %clang -Wno-constant-conversion -Wno-array-bounds
-Wno-division-by-zero -Wno-shift-negative-value -Wno-shift-count-negative
-Wno-int-to-pointer-cast -O0
@@ -0,0 +1,174 @@
+// RUN: %clang -Wno-constant-conversion -Wno-array-bounds
-Wno-division-by-zero -Wno-shift-negative-value -Wno-shift-count-negative
-Wno-int-to-pointer-cast -O0
@@ -0,0 +1,174 @@
+// RUN: %clang -Wno-constant-conversion -Wno-array-bounds
-Wno-division-by-zero -Wno-shift-negative-value -Wno-shift-count-negative
-Wno-int-to-pointer-cast -O0
llvmbot wrote:
@llvm/pr-subscribers-compiler-rt-sanitizer
@llvm/pr-subscribers-clang-codegen
Author: None (earnol)
Changes
Without this patch compiler-rt ubsan library has a bug displaying incorrect
values for variables of the _BitInt (previously called _ExtInt) type. This
patch affects
https://github.com/earnol created
https://github.com/llvm/llvm-project/pull/96240
Without this patch compiler-rt ubsan library has a bug displaying incorrect
values for variables of the _BitInt (previously called _ExtInt) type. This
patch affects affects both: generation of metadata inside
29 matches
Mail list logo