efriedma added a comment.

Oh, I see, for some silly reason there are actually *three* -mfloat-abi 
options: hard, soft, and softfp.  hard means float instructions and a 
hard-float calling convention, soft means no floating-point and a soft-float 
convention, and softfp means float instructions and a soft-float convention.  
This is probably worth clarifying with a comment.



================
Comment at: lib/Driver/ToolChains/Arch/ARM.cpp:406
+    const bool HasVFPv4  = (std::find(ItBegin, ItEnd, "+vfpv4") != ItEnd);
+    const bool HasFParmv8  = (std::find(ItBegin, ItEnd, "+fp-armv8") != ItEnd);
+    const bool HasFullFP16  = (std::find(ItBegin, ItEnd, "+fullfp16") != 
ItEnd);
----------------
I don't like explicitly enumerating the features like this; it'll mess up if 
there's ever a new feature which isn't explicitly enumerated here.  Can we just 
do `Features.push_back("-vfpv2")` and depend on that to implicitly disable all 
the other vfp features?


https://reviews.llvm.org/D40256



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

Reply via email to