bob.wilson added a comment. This is a good idea overall. See comments.
================ Comment at: include/clang/Basic/DiagnosticDriverKinds.td:198 @@ -197,2 +197,3 @@ InGroup<DiagGroup<"missing-sysroot">>; +def warn_incompatible_sdk : Warning<"using SDK for '%0' but deploying to '%1'">; def warn_debug_compression_unavailable : Warning<"cannot compress debug sections (zlib not installed)">, ---------------- Instead of the driver option, you should add this to the diagnostic: InGroup<DiagGroup<"incompatible-sdk">> ================ Comment at: include/clang/Driver/Options.td:1090 @@ -1089,1 +1089,3 @@ def Wframe_larger_than_EQ : Joined<["-"], "Wframe-larger-than=">, Group<f_Group>, Flags<[DriverOption]>; +def Wincompatible_sdk : Flag<["-"], "Wincompatible-sdk">, Group<f_Group>, + Flags<[DriverOption]>; ---------------- You should not need to add this option. See above. ================ Comment at: lib/Driver/ToolChains.cpp:333 @@ +332,3 @@ +StringRef Darwin::getPlatformFamily() const { + switch(TargetPlatform) { + case DarwinPlatformKind::MacOS: ---------------- Please add a space before the open paren. ================ Comment at: lib/Driver/ToolChains.cpp:742 @@ +741,3 @@ + + if(Args.hasArg(options::OPT_Wincompatible_sdk)) { + if (const Arg *A = Args.getLastArg(options::OPT_isysroot)) { ---------------- Please add a space before the open paren. ================ Comment at: lib/Driver/ToolChains.cpp:750 @@ +749,3 @@ + StringRef SDK = isysroot.slice(BeginSDK + 5, EndSDK); + if(!SDK.startswith(getPlatformFamily())) + getDriver().Diag(diag::warn_incompatible_sdk) << SDK ---------------- Please add a space before the open paren. You should run the patch through clang-format since you have several formatting issues. http://reviews.llvm.org/D18088 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits