Sorry I totally forgot. Taking a look now, I will add you to a reviewer when I have an alternative patch!
Thanks for the reminder. On Thu, 20 Dec 2018 at 15:20, Nico Weber <tha...@chromium.org> wrote: > > Have you had a chance to look at making this change? > > On Mon, Apr 9, 2018 at 9:08 AM Yuka Takahashi <yuka...@gmail.com> wrote: >> >> Sounds good! >> >> 2018-04-09 15:03 GMT+02:00 Nico Weber <tha...@chromium.org>: >>> >>> Yes. >>> >>> On Mon, Apr 9, 2018 at 9:00 AM, Yuka Takahashi <yuka...@gmail.com> wrote: >>>> >>>> Hi Nico, >>>> >>>> Thanks for your comment! >>>> >>>> I do agree that this code is hacky. Do you mean to ask tablegen to >>>> generate Checkers.inc under Driver so that we can do like this? : >>>> #define CHECKER(FULLNAME, CLASS, DESCFILE, HT, G, H) FULLNAME "," >>>> #include "clang/Driver/Checkers.inc" >>>> #undef GET_CHECKERS >>>> >>>> Cheers, >>>> Yuka >>>> >>>> 2018-04-07 4:28 GMT+02:00 Nico Weber <tha...@chromium.org>: >>>>> >>>>> Hi Yuka, >>>>> >>>>> sorry about the late review comment on this. I just happened to see that >>>>> this lets Driver's Option.inc depend on StaticAnalyzer/Checker's >>>>> Checker.inc. However, Driver does not depend on StaticAnalyzer/Checker. >>>>> In practice, it works ok because of all tablegen targets being collected >>>>> into clang-tablegen-targets and driver depending on that >>>>> (http://llvm-cs.pcc.me.uk/tools/clang/CMakeLists.txt#442), but it still >>>>> feels a bit hacky that Driver's tablegen output depends on code generated >>>>> by StaticAnalyzer/Checker. Maybe we should move Checker.td into Driver >>>>> now? >>>>> >>>>> Nico >>>>> >>>>> On Mon, Aug 28, 2017 at 8:09 PM, Yuka Takahashi via cfe-commits >>>>> <cfe-commits@lists.llvm.org> wrote: >>>>>> >>>>>> Author: yamaguchi >>>>>> Date: Mon Aug 28 17:09:31 2017 >>>>>> New Revision: 311958 >>>>>> >>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=311958&view=rev >>>>>> Log: >>>>>> Revert "Revert r311552: [Bash-autocompletion] Add support for static >>>>>> analyzer flags" >>>>>> >>>>>> This reverts commit 7c46b80c022e18d43c1fdafb117b0c409c5a6d1e. >>>>>> >>>>>> r311552 broke lld buildbot because I've changed OptionInfos type from >>>>>> ArrayRef to vector. However the bug is fixed, so I'll commit this again. >>>>>> >>>>>> Modified: >>>>>> cfe/trunk/include/clang/Driver/CC1Options.td >>>>>> cfe/trunk/lib/Driver/DriverOptions.cpp >>>>>> cfe/trunk/test/Driver/autocomplete.c >>>>>> >>>>>> Modified: cfe/trunk/include/clang/Driver/CC1Options.td >>>>>> URL: >>>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/CC1Options.td?rev=311958&r1=311957&r2=311958&view=diff >>>>>> ============================================================================== >>>>>> --- cfe/trunk/include/clang/Driver/CC1Options.td (original) >>>>>> +++ cfe/trunk/include/clang/Driver/CC1Options.td Mon Aug 28 17:09:31 2017 >>>>>> @@ -99,7 +99,19 @@ def analyzer_stats : Flag<["-"], "analyz >>>>>> HelpText<"Print internal analyzer statistics.">; >>>>>> >>>>>> def analyzer_checker : Separate<["-"], "analyzer-checker">, >>>>>> - HelpText<"Choose analyzer checkers to enable">; >>>>>> + HelpText<"Choose analyzer checkers to enable">, >>>>>> + ValuesCode<[{ >>>>>> + const char *Values = >>>>>> + #define GET_CHECKERS >>>>>> + #define CHECKER(FULLNAME, CLASS, DESCFILE, HT, G, H) FULLNAME "," >>>>>> + #include "clang/StaticAnalyzer/Checkers/Checkers.inc" >>>>>> + #undef GET_CHECKERS >>>>>> + #define GET_PACKAGES >>>>>> + #define PACKAGE(FULLNAME, G, D) FULLNAME "," >>>>>> + #include "clang/StaticAnalyzer/Checkers/Checkers.inc" >>>>>> + #undef GET_PACKAGES >>>>>> + ; >>>>>> + }]>; >>>>>> def analyzer_checker_EQ : Joined<["-"], "analyzer-checker=">, >>>>>> Alias<analyzer_checker>; >>>>>> >>>>>> >>>>>> Modified: cfe/trunk/lib/Driver/DriverOptions.cpp >>>>>> URL: >>>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/DriverOptions.cpp?rev=311958&r1=311957&r2=311958&view=diff >>>>>> ============================================================================== >>>>>> --- cfe/trunk/lib/Driver/DriverOptions.cpp (original) >>>>>> +++ cfe/trunk/lib/Driver/DriverOptions.cpp Mon Aug 28 17:09:31 2017 >>>>>> @@ -11,6 +11,7 @@ >>>>>> #include "llvm/ADT/STLExtras.h" >>>>>> #include "llvm/Option/OptTable.h" >>>>>> #include "llvm/Option/Option.h" >>>>>> +#include <cassert> >>>>>> >>>>>> using namespace clang::driver; >>>>>> using namespace clang::driver::options; >>>>>> @@ -40,5 +41,13 @@ public: >>>>>> } >>>>>> >>>>>> std::unique_ptr<OptTable> clang::driver::createDriverOptTable() { >>>>>> - return llvm::make_unique<DriverOptTable>(); >>>>>> + auto Result = llvm::make_unique<DriverOptTable>(); >>>>>> + // Options.inc is included in DriverOptions.cpp, and calls OptTable's >>>>>> + // addValues function. >>>>>> + // Opt is a variable used in the code fragment in Options.inc. >>>>>> + OptTable &Opt = *Result; >>>>>> +#define OPTTABLE_ARG_INIT >>>>>> +#include "clang/Driver/Options.inc" >>>>>> +#undef OPTTABLE_ARG_INIT >>>>>> + return std::move(Result); >>>>>> } >>>>>> >>>>>> Modified: cfe/trunk/test/Driver/autocomplete.c >>>>>> URL: >>>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/autocomplete.c?rev=311958&r1=311957&r2=311958&view=diff >>>>>> ============================================================================== >>>>>> --- cfe/trunk/test/Driver/autocomplete.c (original) >>>>>> +++ cfe/trunk/test/Driver/autocomplete.c Mon Aug 28 17:09:31 2017 >>>>>> @@ -93,3 +93,5 @@ >>>>>> // WARNING-NEXT: -Wmax-unsigned-zero >>>>>> // RUN: %clang --autocomplete=-Wno-invalid-pp- | FileCheck %s >>>>>> -check-prefix=NOWARNING >>>>>> // NOWARNING: -Wno-invalid-pp-token >>>>>> +// RUN: %clang --autocomplete=-analyzer-checker, | FileCheck %s >>>>>> -check-prefix=ANALYZER >>>>>> +// ANALYZER: unix.Malloc >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> cfe-commits mailing list >>>>>> cfe-commits@lists.llvm.org >>>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >>>>> >>>>> >>>> >>> >> _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits