[llvm-branch-commits] [compiler-rt] [TySan] Fix struct access with different bases (PR #108385)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue Nov 26 08:41:49 PST 2024
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff 8e6e62d0dee48a696afd0c7d53d74eaccef97b5e 6f795458c4c16522533dbdcb4d8ace299bfda9ff --extensions cpp -- compiler-rt/test/tysan/struct-offset-different-base.cpp compiler-rt/lib/tysan/tysan.cpp
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/compiler-rt/lib/tysan/tysan.cpp b/compiler-rt/lib/tysan/tysan.cpp
index c339a0fca1..c032bd1c0a 100644
--- a/compiler-rt/lib/tysan/tysan.cpp
+++ b/compiler-rt/lib/tysan/tysan.cpp
@@ -133,7 +133,7 @@ static bool isAliasingLegalUp(tysan_type_descriptor *TDA,
// partially inside the last type
if (TDA->Struct.Members[Idx].Offset > OffsetA)
Idx -= 1;
-
+
OffsetA -= TDA->Struct.Members[Idx].Offset;
TDA = TDA->Struct.Members[Idx].Type;
} else {
diff --git a/compiler-rt/test/tysan/struct-offset-different-base.cpp b/compiler-rt/test/tysan/struct-offset-different-base.cpp
index 4563f7025b..da0efd2cb6 100644
--- a/compiler-rt/test/tysan/struct-offset-different-base.cpp
+++ b/compiler-rt/test/tysan/struct-offset-different-base.cpp
@@ -6,28 +6,26 @@
#include <stdio.h>
struct inner {
- char buffer;
- int i;
+ char buffer;
+ int i;
};
-void init_inner(inner *iPtr) {
- iPtr->i = 200;
-}
+void init_inner(inner *iPtr) { iPtr->i = 200; }
struct outer {
- inner foo;
- char buffer;
+ inner foo;
+ char buffer;
};
int main(void) {
- outer *l = new outer();
-
- init_inner(&l->foo);
-
- int access_offsets_with_different_base = l->foo.i;
- printf("Accessed value is %d\n", access_offsets_with_different_base);
-
- return 0;
+ outer *l = new outer();
+
+ init_inner(&l->foo);
+
+ int access_offsets_with_different_base = l->foo.i;
+ printf("Accessed value is %d\n", access_offsets_with_different_base);
+
+ return 0;
}
// CHECK: Accessed value is 200
``````````
</details>
https://github.com/llvm/llvm-project/pull/108385
More information about the llvm-branch-commits
mailing list