thieta created this revision. thieta added reviewers: hans, mstorsjo. Herald added a project: All. thieta requested review of this revision. Herald added a subscriber: MaskRay. Herald added a project: clang.
Also make the output of -emit-ast end up where /Fo or /o points. The same with .plist files from the static analyzer. These are changes needed to make it possible to do CTU static analysing work with clang-cl. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D128409 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/Driver.cpp Index: clang/lib/Driver/Driver.cpp =================================================================== --- clang/lib/Driver/Driver.cpp +++ clang/lib/Driver/Driver.cpp @@ -5625,7 +5625,8 @@ // Determine what the derived output name should be. const char *NamedOutput; - if ((JA.getType() == types::TY_Object || JA.getType() == types::TY_LTO_BC) && + if ((JA.getType() == types::TY_Object || JA.getType() == types::TY_LTO_BC || + JA.getType() == types::TY_AST || JA.getType() == types::TY_Plist) && C.getArgs().hasArg(options::OPT__SLASH_Fo, options::OPT__SLASH_o)) { // The /Fo or /o flag decides the object filename. StringRef Val = Index: clang/include/clang/Driver/Options.td =================================================================== --- clang/include/clang/Driver/Options.td +++ clang/include/clang/Driver/Options.td @@ -831,7 +831,7 @@ HelpText<"Pass <arg> to the linker">, MetaVarName<"<arg>">, Group<Link_Group>; def Xoffload_linker : JoinedAndSeparate<["-"], "Xoffload-linker">, - HelpText<"Pass <arg> to the offload linkers or the ones idenfied by -<triple>">, + HelpText<"Pass <arg> to the offload linkers or the ones idenfied by -<triple>">, MetaVarName<"<triple> <arg>">, Group<Link_Group>; def Xpreprocessor : Separate<["-"], "Xpreprocessor">, Group<Preprocessor_Group>, HelpText<"Pass <arg> to the preprocessor">, MetaVarName<"<arg>">; @@ -1091,7 +1091,7 @@ def dynamic : Flag<["-"], "dynamic">, Flags<[NoArgumentUnused]>; def d_Flag : Flag<["-"], "d">, Group<d_Group>; def d_Joined : Joined<["-"], "d">, Group<d_Group>; -def emit_ast : Flag<["-"], "emit-ast">, +def emit_ast : Flag<["-"], "emit-ast">, Flags<[CoreOption]>, HelpText<"Emit Clang AST files for source inputs">; def emit_llvm : Flag<["-"], "emit-llvm">, Flags<[CC1Option, FC1Option, FlangOption]>, Group<Action_Group>, HelpText<"Use the LLVM representation for assembler and object files">;
Index: clang/lib/Driver/Driver.cpp =================================================================== --- clang/lib/Driver/Driver.cpp +++ clang/lib/Driver/Driver.cpp @@ -5625,7 +5625,8 @@ // Determine what the derived output name should be. const char *NamedOutput; - if ((JA.getType() == types::TY_Object || JA.getType() == types::TY_LTO_BC) && + if ((JA.getType() == types::TY_Object || JA.getType() == types::TY_LTO_BC || + JA.getType() == types::TY_AST || JA.getType() == types::TY_Plist) && C.getArgs().hasArg(options::OPT__SLASH_Fo, options::OPT__SLASH_o)) { // The /Fo or /o flag decides the object filename. StringRef Val = Index: clang/include/clang/Driver/Options.td =================================================================== --- clang/include/clang/Driver/Options.td +++ clang/include/clang/Driver/Options.td @@ -831,7 +831,7 @@ HelpText<"Pass <arg> to the linker">, MetaVarName<"<arg>">, Group<Link_Group>; def Xoffload_linker : JoinedAndSeparate<["-"], "Xoffload-linker">, - HelpText<"Pass <arg> to the offload linkers or the ones idenfied by -<triple>">, + HelpText<"Pass <arg> to the offload linkers or the ones idenfied by -<triple>">, MetaVarName<"<triple> <arg>">, Group<Link_Group>; def Xpreprocessor : Separate<["-"], "Xpreprocessor">, Group<Preprocessor_Group>, HelpText<"Pass <arg> to the preprocessor">, MetaVarName<"<arg>">; @@ -1091,7 +1091,7 @@ def dynamic : Flag<["-"], "dynamic">, Flags<[NoArgumentUnused]>; def d_Flag : Flag<["-"], "d">, Group<d_Group>; def d_Joined : Joined<["-"], "d">, Group<d_Group>; -def emit_ast : Flag<["-"], "emit-ast">, +def emit_ast : Flag<["-"], "emit-ast">, Flags<[CoreOption]>, HelpText<"Emit Clang AST files for source inputs">; def emit_llvm : Flag<["-"], "emit-llvm">, Flags<[CC1Option, FC1Option, FlangOption]>, Group<Action_Group>, HelpText<"Use the LLVM representation for assembler and object files">;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits