aykevl added a comment.

I'm not sure whether `native_int` is any clearer than just `int`. I'm afraid it 
only introduces more complexity ("What's `native_int`? Oh, it's just `int`").
Perhaps a controversial idea: what about changing to use stdint.h types?
`si_int` -> `int32_t`
`su_int` -> `uint32_t`
`di_int` -> `int64_t`
etc
These types are clearly defined and immediately recognizable. The meaning is, 
as far as I can see, exactly the same (`si_int` etc seems to be a leftover from 
GCC internal naming conventions, such as `SImode`).

Also note that the libgcc documentation does not always reflect the real world. 
For example, `__divmodsi4` on AVR libgcc has a very different signature: it 
returns both the division result and the remainder in registers.



================
Comment at: compiler-rt/lib/builtins/int_lib.h:112
 
-uint32_t __inline __builtin_ctz(uint32_t value) {
+int __inline __builtin_ctz(uint32_t value) {
   unsigned long trailing_zero = 0;
----------------
Why `int` and not `native_int` here?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D81285



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to