[PATCH] D158818: [builtins] Fix undefined behavior in negdi2.c and negti2.c

Karl-Johan Karlsson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 27 21:47:14 PDT 2023


This revision was automatically updated to reflect the committed changes.
Closed by commit rGfb463778a7a4: [builtins] Fix undefined behavior in negdi2.c and negti2.c (authored by Ka-Ka).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D158818/new/

https://reviews.llvm.org/D158818

Files:
  compiler-rt/lib/builtins/negdi2.c
  compiler-rt/lib/builtins/negti2.c


Index: compiler-rt/lib/builtins/negti2.c
===================================================================
--- compiler-rt/lib/builtins/negti2.c
+++ compiler-rt/lib/builtins/negti2.c
@@ -19,7 +19,7 @@
 COMPILER_RT_ABI ti_int __negti2(ti_int a) {
   // Note: this routine is here for API compatibility; any sane compiler
   // should expand it inline.
-  return -a;
+  return -(tu_int)a;
 }
 
 #endif // CRT_HAS_128BIT
Index: compiler-rt/lib/builtins/negdi2.c
===================================================================
--- compiler-rt/lib/builtins/negdi2.c
+++ compiler-rt/lib/builtins/negdi2.c
@@ -17,5 +17,5 @@
 COMPILER_RT_ABI di_int __negdi2(di_int a) {
   // Note: this routine is here for API compatibility; any sane compiler
   // should expand it inline.
-  return -a;
+  return -(du_int)a;
 }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D158818.553832.patch
Type: text/x-patch
Size: 812 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230828/e6a91b71/attachment.bin>


More information about the llvm-commits mailing list