MichielDerhaeg created this revision.
MichielDerhaeg added reviewers: steven_wu, compnerd.
Herald added a project: All.
MichielDerhaeg requested review of this revision.
Herald added subscribers: cfe-commits, MaskRay.
Herald added a project: clang.

This ignore list prevents embedding of bitcode for some platforms
without jumping through some hoops as several of the flags are passed by 
default.
E.g. On Android, since NDK 21, `-ffunction-sections`, `-fdata-sections`,
`-mstackrealign`, etc.. are added by default.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D125974

Files:
  clang/lib/Driver/ToolChains/Clang.cpp


Index: clang/lib/Driver/ToolChains/Clang.cpp
===================================================================
--- clang/lib/Driver/ToolChains/Clang.cpp
+++ clang/lib/Driver/ToolChains/Clang.cpp
@@ -4802,9 +4802,11 @@
         options::OPT_Xassembler,
         options::OPT_mllvm,
     };
-    for (const auto &A : Args)
-      if (llvm::is_contained(kBitcodeOptionIgnorelist, A->getOption().getID()))
-        D.Diag(diag::err_drv_unsupported_embed_bitcode) << A->getSpelling();
+    if (RawTriple.isOSDarwin())
+      for (const auto &A : Args)
+        if (llvm::is_contained(kBitcodeOptionIgnorelist,
+                               A->getOption().getID()))
+          D.Diag(diag::err_drv_unsupported_embed_bitcode) << A->getSpelling();
 
     // Render the CodeGen options that need to be passed.
     Args.addOptOutFlag(CmdArgs, options::OPT_foptimize_sibling_calls,


Index: clang/lib/Driver/ToolChains/Clang.cpp
===================================================================
--- clang/lib/Driver/ToolChains/Clang.cpp
+++ clang/lib/Driver/ToolChains/Clang.cpp
@@ -4802,9 +4802,11 @@
         options::OPT_Xassembler,
         options::OPT_mllvm,
     };
-    for (const auto &A : Args)
-      if (llvm::is_contained(kBitcodeOptionIgnorelist, A->getOption().getID()))
-        D.Diag(diag::err_drv_unsupported_embed_bitcode) << A->getSpelling();
+    if (RawTriple.isOSDarwin())
+      for (const auto &A : Args)
+        if (llvm::is_contained(kBitcodeOptionIgnorelist,
+                               A->getOption().getID()))
+          D.Diag(diag::err_drv_unsupported_embed_bitcode) << A->getSpelling();
 
     // Render the CodeGen options that need to be passed.
     Args.addOptOutFlag(CmdArgs, options::OPT_foptimize_sibling_calls,
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to