[PATCH] D40127: [Driver][ARM] For assembler files recognize -Xassembler or -Wa, -mthumb

Saleem Abdulrasool via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 16 22:21:38 PST 2017


compnerd added inline comments.


================
Comment at: lib/Driver/ToolChain.cpp:549-556
+    bool IsIntegratedAssemblerThumb = false;
+    for (const Arg *A :
+         Args.filtered(options::OPT_Wa_COMMA, options::OPT_Xassembler)) {
+      for (StringRef Value : A->getValues()) {
+        if (Value == "-mthumb")
+          IsIntegratedAssemblerThumb = true;
+      }
----------------
Why not write this as:

    const auto &Values = Args.filtered(options::OPT_Wa_COMMA, options::OPT_Xassembler);
    bool IsIntegratedAssemblerThumb =
        std::any_of(std::begin(A->getValues()),
                    std::end(A->getValues()),
                    [](StringRef Arg) { return Arg == "-mthumb"});


================
Comment at: lib/Driver/ToolChain.cpp:560-564
+    if ((InputType != types::TY_PP_Asm &&
+         Args.hasFlag(options::OPT_mthumb, options::OPT_mno_thumb,
+                      ThumbDefault)) ||
+        (InputType == types::TY_PP_Asm && IsIntegratedAssemblerThumb) ||
+        IsMProfile || getTriple().isOSWindows()) {
----------------
This is horribly complicated to read.  Can we just split this out of the condition and create a variable?


https://reviews.llvm.org/D40127





More information about the cfe-commits mailing list