phosek added a comment.

This broke our kernel build which uses `PRIx64` to print the return value of 
`__builtin_arm_rsr64`. This is correct because according to ACLE, the return 
type of that builtin should be `uint64_t`. Problem is that on AArch64, 
`unsigned long` is equivalent to `uint64_t`, not `unsigned long long` (at least 
on Linux and other platforms like Fuchsia).

The reason this wasn't caught by the test is because that test isn't strict 
enough. I've updated the test in D57210 <https://reviews.llvm.org/D57210>. I 
believe this change should be reverted because it's wrong and I created revert 
in D57209 <https://reviews.llvm.org/D57209>. I think the correct solution might 
be what rnk suggested in his comment, that is to use `W` instead of `LL`. I 
plan on landing my revert if I don't hear back by EOD because this is currently 
blocking our kernel build with the latest Clang.


Repository:
  rL LLVM

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

https://reviews.llvm.org/D56852



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

Reply via email to