dblaikie added inline comments.

================
Comment at: clang/lib/Basic/Targets/OSTargets.h:169
+    if (T.getOS() == llvm::Triple::WatchOS ||
+        this->getCXXABI().getKind() == TargetCXXABI::AppleARM64)
+      return TargetInfo::UseTailPaddingUnlessPOD11;
----------------
rnk wrote:
> I think it would be equivalent to check `T.getArch() == 
> llvm::Triple::AArch64`, that's probably what set the TargetCXXABI.
Hmm, seems one of the tests failed because apparently CXXABI can be chosen 
separately from target. `clang/test/CodeGenCXX/armv7k.cpp` for instance runs 
with `-triple=arm64_32-apple-ios -emit-llvm -target-abi darwinpcs`

Which seems to have an UnknownOS on the triple, but a WatchOS on the 
TargetCXXABI... (I don't really understand/haven't looked into how all these 
things relate to the command line arguments there - none of it mentions 
WatchOS, but maybe `darwinpcs` is the name of watchOS?

Updating this function to inspect the CXXABI for WatchOS, AppleARM64, and iOS 
(which I'd missed from here previously) here makes the tests pass... 

Maybe that suggests we should move all this (& the D119051) to TargetCXXABI?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D135326

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

Reply via email to