[PATCH] D62445: [test] Fix plugin tests

2020-04-06 Thread Don Hinton via Phabricator via cfe-commits
hintonda marked an inline comment as done.
hintonda added inline comments.



Comment at: cfe/trunk/test/CMakeLists.txt:140
-  set_target_properties(check-clang-analyzer PROPERTIES FOLDER "Clang tests")
-
-  if (LLVM_WITH_Z3)

thakis wrote:
> Did you intentionally delete the 2 targets here? 
Not intentionally, although I don't remember the details right now.  Probably 
just a mistake on my part.

Do you want me to re-add them?


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62445/new/

https://reviews.llvm.org/D62445



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D62445: [test] Fix plugin tests

2020-04-06 Thread Nico Weber via Phabricator via cfe-commits
thakis added inline comments.



Comment at: cfe/trunk/test/CMakeLists.txt:140
-  set_target_properties(check-clang-analyzer PROPERTIES FOLDER "Clang tests")
-
-  if (LLVM_WITH_Z3)

Did you intentionally delete the 2 targets here? 


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62445/new/

https://reviews.llvm.org/D62445



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D62445: [test] Fix plugin tests

2020-01-20 Thread Mikhail Ramalho via Phabricator via cfe-commits
mikhail.ramalho added a comment.
Herald added a subscriber: Charusso.

Hi, I just found this revision.

Could you point out how can I run the CSA tests with Z3 as backend? We used to 
do `$ ninja check-clang-analyzer-z3`, however, it now fails and suggests:

   $ ninja check-clang-analyzer-z3
  ninja: error: unknown target 'check-clang-analyzer-z3', did you mean 
'check-clang-analysis-z3'?

`check-clang-analysis-z3` only runs one test though.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62445/new/

https://reviews.llvm.org/D62445



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D62445: [test] Fix plugin tests

2019-09-06 Thread Don Hinton via Phabricator via cfe-commits
hintonda added a comment.

In D62445#1630518 , @NoQ wrote:

> I didn't make much progress so far, but i marked the test as `// UNSUPPORTED: 
> darwin` in rC368765 , so the buildbot is 
> now green starting with 
> http://green.lab.llvm.org/green/job/clang-stage2-cmake-RgSan/6519/.


I haven't had a chance to check this, but I suspect these plugin tests need 
LLVM_NO_DEAD_STRIP, since the failing build is RelWithDebInfo.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62445/new/

https://reviews.llvm.org/D62445



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D62445: [test] Fix plugin tests

2019-08-14 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added a comment.

I didn't make much progress so far, but i marked the test as `// UNSUPPORTED: 
darwin` in rC368765 , so the buildbot is now 
green starting with 
http://green.lab.llvm.org/green/job/clang-stage2-cmake-RgSan/6519/.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62445/new/

https://reviews.llvm.org/D62445



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D62445: [test] Fix plugin tests

2019-08-06 Thread David Zarzycki via Phabricator via cfe-commits
davezarzycki added a comment.

In D62445#1616218 , @davezarzycki 
wrote:

> Just FYI – Having LLVM_ENABLE_PLUGINS_default depend on LLVM_ENABLE_PIC is a 
> hack that should go away someday. Doing so requires that plugin dependencies 
> either always build PIC (and therefore ignore LLVM_ENABLE_PIC), or are linked 
> into the executables that load them and the plugin knows how to find them in 
> the executable. In the case of the latter and on Mach-O platforms, this 
> requires passing `-bundle_loader $PATH_TO_EXECUTABLE` to the linker when 
> creating the plugin (a.k.a. "bundle"), but on ELF platforms, I'm not sure 
> what needs to be done.


It just occurred to me: option 3 is to statically link the plugins if PIC is 
disabled.

These are all just tradeoffs of course, and the worst among them is what we 
have today: conflating "enable plugins" with the default PIC behavior for the 
project.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62445/new/

https://reviews.llvm.org/D62445



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D62445: [test] Fix plugin tests

2019-08-06 Thread David Zarzycki via Phabricator via cfe-commits
davezarzycki added a comment.

Just FYI – Having LLVM_ENABLE_PLUGINS_default depend on LLVM_ENABLE_PIC is a 
hack that should go away someday. Doing so requires that plugin dependencies 
either always build PIC (and therefore ignore LLVM_ENABLE_PIC), or are linked 
into the executables that load them and the plugin knows how to find them in 
the executable. In the case of the latter and on Mach-O platforms, this 
requires passing `-bundle_loader $PATH_TO_EXECUTABLE` to the linker when 
creating the plugin (a.k.a. "bundle"), but on ELF platforms, I'm not sure what 
needs to be done.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62445/new/

https://reviews.llvm.org/D62445



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D62445: [test] Fix plugin tests

2019-08-05 Thread Don Hinton via Phabricator via cfe-commits
hintonda added a comment.

In D62445#1613268 , @NoQ wrote:

> Ugh, there seems to be one more forgotten buildbot with plugins problems: 
> http://green.lab.llvm.org/green/job/clang-stage2-cmake-RgSan/6406/consoleText




> It got suddenly fixed in 
> http://green.lab.llvm.org/green/job/clang-stage2-cmake-RgSan/6409/ but then 
> immediately failed again later and it's still failing in a similar manner, 
> and nobody noticed for two months =/

The fix was accidental and fortuitous.

r362399 tried to set LLVM_ENABLE_PLUGINS_default to the value of 
LLVM_ENABLE_PIC, but had a typo that actually turn off LLVM_ENABLE_PLUGINS, so 
the test was marked unsupported in build #6409.  That typo was fixed in r362492 
which caused the next build, #6411 and all subsequent builds, to fail.

Will now look into cause/fix.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62445/new/

https://reviews.llvm.org/D62445



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D62445: [test] Fix plugin tests

2019-08-04 Thread Don Hinton via Phabricator via cfe-commits
hintonda added a comment.

In D62445#1613268 , @NoQ wrote:

> Ugh, there seems to be one more forgotten buildbot with plugins problems: 
> http://green.lab.llvm.org/green/job/clang-stage2-cmake-RgSan/6406/consoleText
>
>   FAIL: Clang :: Analysis/checker-plugins.c (467 of 14955)
>    TEST 'Clang :: Analysis/checker-plugins.c' FAILED 
> 
>   Script:
>   --
>   : 'RUN: at line 3';   
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/clang
>  -cc1 -internal-isystem 
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/lib/clang/9.0.0/include
>  -nostdsysteminc -analyze -analyzer-constraints=range -verify 
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
> -load 
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/./lib/SampleAnalyzerPlugin.dylib
> -analyzer-checker='example.MainCallChecker'




> - Exit Code: 1 ```
> 
>   The error message doesn't seem to be very expressive. I also can't 
> reproduce it locally.
> 
>   It got suddenly fixed in 
> http://green.lab.llvm.org/green/job/clang-stage2-cmake-RgSan/6409/ but then 
> immediately failed again later and it's still failing in a similar manner, 
> and nobody noticed for two months =/
> 
>   I'll keep looking into this but i'd love to hear if you have any immediate 
> thoughts on that :)

I don't see anything obvious, but could change the bot to pass "-vv" to lit 
instead of just "-v"?  That way the actual error will make to the log.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62445/new/

https://reviews.llvm.org/D62445



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


Re: [PATCH] D62445: [test] Fix plugin tests

2019-08-04 Thread Don Hinton via cfe-commits
Just saw this.  I'll take a look, and thanks for pointing it out...

On Fri, Aug 2, 2019 at 6:24 PM Artem Dergachev via Phabricator <
revi...@reviews.llvm.org> wrote:

> NoQ added a comment.
>
> Ugh, there seems to be one more forgotten buildbot with plugins problems:
> http://green.lab.llvm.org/green/job/clang-stage2-cmake-RgSan/6406/consoleText
>
>   FAIL: Clang :: Analysis/checker-plugins.c (467 of 14955)
>    TEST 'Clang :: Analysis/checker-plugins.c' FAILED
> 
>   Script:
>   --
>   : 'RUN: at line 3';
>  
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/clang
> -cc1 -internal-isystem
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/lib/clang/9.0.0/include
> -nostdsysteminc -analyze -analyzer-constraints=range -verify
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
>   -load
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/./lib/SampleAnalyzerPlugin.dylib
>   -analyzer-checker='example.MainCallChecker'
>   : 'RUN: at line 15';
>  
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/clang
> -cc1 -internal-isystem
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/lib/clang/9.0.0/include
> -nostdsysteminc -analyze -analyzer-constraints=range
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
>   -load
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/./lib/CheckerDependencyHandlingAnalyzerPlugin.dylib
>  -analyzer-checker=example.DependendentChecker
> -analyzer-list-enabled-checkers2>&1 |
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/FileCheck
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
> -check-prefix=CHECK-IMPLICITLY-ENABLED
>   : 'RUN: at line 24';
>  
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/clang
> -cc1 -internal-isystem
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/lib/clang/9.0.0/include
> -nostdsysteminc -analyze -analyzer-constraints=range
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
>   -load
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/./lib/CheckerDependencyHandlingAnalyzerPlugin.dylib
>  -analyzer-checker=example.DependendentChecker
> -analyzer-disable-checker=example.Dependency
> -analyzer-list-enabled-checkers2>&1 |
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/FileCheck
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
> -check-prefix=CHECK-IMPLICITLY-DISABLED
>   : 'RUN: at line 34';
>  
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/clang
> -cc1 -internal-isystem
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/lib/clang/9.0.0/include
> -nostdsysteminc -analyze -analyzer-constraints=range
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
>   -load
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/./lib/CheckerOptionHandlingAnalyzerPlugin.dylib
>  -analyzer-checker=example.MyChecker2>&1 |
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/FileCheck
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
> -check-prefix=CHECK-CHECKER-OPTION-OUTPUT
>   : 'RUN: at line 41';
>  
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/clang
> -cc1 -internal-isystem
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/lib/clang/9.0.0/include
> -nostdsysteminc -analyze -analyzer-constraints=range
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
>   -load
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/./lib/CheckerOptionHandlingAnalyzerPlugin.dylib
>  -analyzer-checker=example.MyChecker-analyzer-config
> example.MyChecker:ExampleOption=true2>&1 |
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/FileCheck
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
> -check-prefix=CHECK-CHECKER-OPTION-OUTPUT-TRUE
>   : 'RUN: at line 49';
>  
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/clang
> -cc1 -internal-isystem
> /Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/lib/clang/9.0.0/include
> -nostdsysteminc -analyze -analyzer-constraints=range
> 

[PATCH] D62445: [test] Fix plugin tests

2019-08-02 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added a comment.

Ugh, there seems to be one more forgotten buildbot with plugins problems: 
http://green.lab.llvm.org/green/job/clang-stage2-cmake-RgSan/6406/consoleText

  FAIL: Clang :: Analysis/checker-plugins.c (467 of 14955)
   TEST 'Clang :: Analysis/checker-plugins.c' FAILED 

  Script:
  --
  : 'RUN: at line 3';   
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/clang
 -cc1 -internal-isystem 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/lib/clang/9.0.0/include
 -nostdsysteminc -analyze -analyzer-constraints=range -verify 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
-load 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/./lib/SampleAnalyzerPlugin.dylib
-analyzer-checker='example.MainCallChecker'
  : 'RUN: at line 15';   
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/clang
 -cc1 -internal-isystem 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/lib/clang/9.0.0/include
 -nostdsysteminc -analyze -analyzer-constraints=range 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
-load 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/./lib/CheckerDependencyHandlingAnalyzerPlugin.dylib
   -analyzer-checker=example.DependendentChecker
-analyzer-list-enabled-checkers2>&1 | 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/FileCheck
 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
 -check-prefix=CHECK-IMPLICITLY-ENABLED
  : 'RUN: at line 24';   
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/clang
 -cc1 -internal-isystem 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/lib/clang/9.0.0/include
 -nostdsysteminc -analyze -analyzer-constraints=range 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
-load 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/./lib/CheckerDependencyHandlingAnalyzerPlugin.dylib
   -analyzer-checker=example.DependendentChecker
-analyzer-disable-checker=example.Dependency-analyzer-list-enabled-checkers 
   2>&1 | 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/FileCheck
 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
 -check-prefix=CHECK-IMPLICITLY-DISABLED
  : 'RUN: at line 34';   
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/clang
 -cc1 -internal-isystem 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/lib/clang/9.0.0/include
 -nostdsysteminc -analyze -analyzer-constraints=range 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
-load 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/./lib/CheckerOptionHandlingAnalyzerPlugin.dylib
   -analyzer-checker=example.MyChecker2>&1 | 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/FileCheck
 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
 -check-prefix=CHECK-CHECKER-OPTION-OUTPUT
  : 'RUN: at line 41';   
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/clang
 -cc1 -internal-isystem 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/lib/clang/9.0.0/include
 -nostdsysteminc -analyze -analyzer-constraints=range 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
-load 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/./lib/CheckerOptionHandlingAnalyzerPlugin.dylib
   -analyzer-checker=example.MyChecker-analyzer-config 
example.MyChecker:ExampleOption=true2>&1 | 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/FileCheck
 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
 -check-prefix=CHECK-CHECKER-OPTION-OUTPUT-TRUE
  : 'RUN: at line 49';   
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/bin/clang
 -cc1 -internal-isystem 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/lib/clang/9.0.0/include
 -nostdsysteminc -analyze -analyzer-constraints=range 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/llvm/tools/clang/test/Analysis/checker-plugins.c
-load 
/Users/buildslave/jenkins/workspace/clang-stage2-cmake-RgSan/clang-build/./lib/CheckerOptionHandlingAnalyzerPlugin.dylib
   -analyzer-checker=example.MyChecker

[PATCH] D62445: [test] Fix plugin tests

2019-06-04 Thread Don Hinton via Phabricator via cfe-commits
hintonda marked an inline comment as done.
hintonda added inline comments.



Comment at: cfe/trunk/lib/Analysis/plugins/CMakeLists.txt:1
+if(LLVM_ENABLE_PLUGINS)
+  add_subdirectory(SampleAnalyzer)

hintonda wrote:
> nathanchance wrote:
> > I think this should have a dependency on `CLANG_ENABLE_STATIC_ANALYZER` 
> > like in `clang/test/CMakeLists.txt`, otherwise my build (which disables 
> > `CLANG_ENABLE_STATIC_ANALYZER`) fails because these plugins are being added 
> > to the build.
> > 
> > ```
> > [2058/2605] Linking CXX shared module 
> > lib/CheckerOptionHandlingAnalyzerPlugin.so
> > FAILED: lib/CheckerOptionHandlingAnalyzerPlugin.so 
> > : && /usr/bin/g++ -fPIC -O2 -march=native -mtune=native -fPIC 
> > -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -w 
> > -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common 
> > -Woverloaded-virtual -fno-strict-aliasing -O3 -DNDEBUG  -Wl,-z,nodelete 
> > -fuse-ld=gold   -Wl,-O3 -Wl,--gc-sections  
> > -Wl,--version-script,"/tc-build2/build/llvm/stage1/tools/clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandlingAnalyzerPlugin.exports"
> >  -shared  -o lib/CheckerOptionHandlingAnalyzerPlugin.so 
> > tools/clang/lib/Analysis/plugins/CheckerOptionHandling/CMakeFiles/CheckerOptionHandlingAnalyzerPlugin.dir/CheckerOptionHandling.cpp.o
> >   -Wl,-rpath,"\$ORIGIN/../lib" lib/libLLVMSupport.a lib/libclangAnalysis.a 
> > lib/libclangAST.a -lclangStaticAnalyzerCore -lclangStaticAnalyzerFrontend 
> > lib/libLLVMSupport.a lib/libclangASTMatchers.a lib/libclangAST.a 
> > lib/libclangLex.a lib/libclangBasic.a lib/libLLVMCore.a 
> > lib/libLLVMRemarks.a lib/libLLVMMC.a lib/libLLVMBinaryFormat.a 
> > lib/libLLVMDebugInfoCodeView.a lib/libLLVMDebugInfoMSF.a 
> > lib/libLLVMSupport.a -lz -lrt -ldl -lpthread -lm lib/libLLVMDemangle.a && :
> > /usr/bin/ld.gold: error: cannot find -lclangStaticAnalyzerCore
> > /usr/bin/ld.gold: error: cannot find -lclangStaticAnalyzerFrontend
> > collect2: error: ld returned 1 exit status
> > [2059/2605] Building CXX object 
> > tools/clang/tools/clang-refactor/CMakeFiles/clang-refactor.dir/TestSupport.cpp.o
> > [2060/2605] Linking CXX shared module 
> > lib/CheckerDependencyHandlingAnalyzerPlugin.so
> > FAILED: lib/CheckerDependencyHandlingAnalyzerPlugin.so 
> > : && /usr/bin/g++ -fPIC -O2 -march=native -mtune=native -fPIC 
> > -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -w 
> > -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common 
> > -Woverloaded-virtual -fno-strict-aliasing -O3 -DNDEBUG  -Wl,-z,nodelete 
> > -fuse-ld=gold   -Wl,-O3 -Wl,--gc-sections  
> > -Wl,--version-script,"/tc-build2/build/llvm/stage1/tools/clang/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandlingAnalyzerPlugin.exports"
> >  -shared  -o lib/CheckerDependencyHandlingAnalyzerPlugin.so 
> > tools/clang/lib/Analysis/plugins/CheckerDependencyHandling/CMakeFiles/CheckerDependencyHandlingAnalyzerPlugin.dir/CheckerDependencyHandling.cpp.o
> >   -Wl,-rpath,"\$ORIGIN/../lib" lib/libLLVMSupport.a lib/libclangAnalysis.a 
> > lib/libclangAST.a -lclangStaticAnalyzerCore -lclangStaticAnalyzerFrontend 
> > lib/libLLVMSupport.a lib/libclangASTMatchers.a lib/libclangAST.a 
> > lib/libclangLex.a lib/libclangBasic.a lib/libLLVMCore.a 
> > lib/libLLVMRemarks.a lib/libLLVMMC.a lib/libLLVMBinaryFormat.a 
> > lib/libLLVMDebugInfoCodeView.a lib/libLLVMDebugInfoMSF.a 
> > lib/libLLVMSupport.a -lz -lrt -ldl -lpthread -lm lib/libLLVMDemangle.a && :
> > /usr/bin/ld.gold: error: cannot find -lclangStaticAnalyzerCore
> > /usr/bin/ld.gold: error: cannot find -lclangStaticAnalyzerFrontend
> > collect2: error: ld returned 1 exit status
> > [2061/2605] Building CXX object 
> > tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/CompilationDatabase.cpp.o
> > [2062/2605] Linking CXX shared module lib/SampleAnalyzerPlugin.so
> > FAILED: lib/SampleAnalyzerPlugin.so 
> > : && /usr/bin/g++ -fPIC -O2 -march=native -mtune=native -fPIC 
> > -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -w 
> > -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common 
> > -Woverloaded-virtual -fno-strict-aliasing -O3 -DNDEBUG  -Wl,-z,nodelete 
> > -fuse-ld=gold   -Wl,-O3 -Wl,--gc-sections  
> > -Wl,--version-script,"/tc-build2/build/llvm/stage1/tools/clang/lib/Analysis/plugins/SampleAnalyzer/SampleAnalyzerPlugin.exports"
> >  -shared  -o lib/SampleAnalyzerPlugin.so 
> > tools/clang/lib/Analysis/plugins/SampleAnalyzer/CMakeFiles/SampleAnalyzerPlugin.dir/MainCallChecker.cpp.o
> >   -Wl,-rpath,"\$ORIGIN/../lib" lib/libLLVMSupport.a lib/libclangAnalysis.a 
> > lib/libclangAST.a -lclangStaticAnalyzerCore -lclangStaticAnalyzerFrontend 
> > lib/libLLVMSupport.a lib/libclangASTMatchers.a lib/libclangAST.a 
> > lib/libclangLex.a lib/libclangBasic.a lib/libLLVMCore.a 
> > lib/libLLVMRemarks.a lib/libLLVMMC.a lib/libLLVMBinaryFormat.a 
> > lib/libLLVMDebugInfoCodeView.a lib/libLLVMDebugInfoMSF.a 
> > 

[PATCH] D62445: [test] Fix plugin tests

2019-06-04 Thread Don Hinton via Phabricator via cfe-commits
hintonda marked an inline comment as done.
hintonda added inline comments.



Comment at: cfe/trunk/lib/Analysis/plugins/CMakeLists.txt:1
+if(LLVM_ENABLE_PLUGINS)
+  add_subdirectory(SampleAnalyzer)

nathanchance wrote:
> I think this should have a dependency on `CLANG_ENABLE_STATIC_ANALYZER` like 
> in `clang/test/CMakeLists.txt`, otherwise my build (which disables 
> `CLANG_ENABLE_STATIC_ANALYZER`) fails because these plugins are being added 
> to the build.
> 
> ```
> [2058/2605] Linking CXX shared module 
> lib/CheckerOptionHandlingAnalyzerPlugin.so
> FAILED: lib/CheckerOptionHandlingAnalyzerPlugin.so 
> : && /usr/bin/g++ -fPIC -O2 -march=native -mtune=native -fPIC 
> -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -w 
> -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common 
> -Woverloaded-virtual -fno-strict-aliasing -O3 -DNDEBUG  -Wl,-z,nodelete 
> -fuse-ld=gold   -Wl,-O3 -Wl,--gc-sections  
> -Wl,--version-script,"/tc-build2/build/llvm/stage1/tools/clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandlingAnalyzerPlugin.exports"
>  -shared  -o lib/CheckerOptionHandlingAnalyzerPlugin.so 
> tools/clang/lib/Analysis/plugins/CheckerOptionHandling/CMakeFiles/CheckerOptionHandlingAnalyzerPlugin.dir/CheckerOptionHandling.cpp.o
>   -Wl,-rpath,"\$ORIGIN/../lib" lib/libLLVMSupport.a lib/libclangAnalysis.a 
> lib/libclangAST.a -lclangStaticAnalyzerCore -lclangStaticAnalyzerFrontend 
> lib/libLLVMSupport.a lib/libclangASTMatchers.a lib/libclangAST.a 
> lib/libclangLex.a lib/libclangBasic.a lib/libLLVMCore.a lib/libLLVMRemarks.a 
> lib/libLLVMMC.a lib/libLLVMBinaryFormat.a lib/libLLVMDebugInfoCodeView.a 
> lib/libLLVMDebugInfoMSF.a lib/libLLVMSupport.a -lz -lrt -ldl -lpthread -lm 
> lib/libLLVMDemangle.a && :
> /usr/bin/ld.gold: error: cannot find -lclangStaticAnalyzerCore
> /usr/bin/ld.gold: error: cannot find -lclangStaticAnalyzerFrontend
> collect2: error: ld returned 1 exit status
> [2059/2605] Building CXX object 
> tools/clang/tools/clang-refactor/CMakeFiles/clang-refactor.dir/TestSupport.cpp.o
> [2060/2605] Linking CXX shared module 
> lib/CheckerDependencyHandlingAnalyzerPlugin.so
> FAILED: lib/CheckerDependencyHandlingAnalyzerPlugin.so 
> : && /usr/bin/g++ -fPIC -O2 -march=native -mtune=native -fPIC 
> -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -w 
> -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common 
> -Woverloaded-virtual -fno-strict-aliasing -O3 -DNDEBUG  -Wl,-z,nodelete 
> -fuse-ld=gold   -Wl,-O3 -Wl,--gc-sections  
> -Wl,--version-script,"/tc-build2/build/llvm/stage1/tools/clang/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandlingAnalyzerPlugin.exports"
>  -shared  -o lib/CheckerDependencyHandlingAnalyzerPlugin.so 
> tools/clang/lib/Analysis/plugins/CheckerDependencyHandling/CMakeFiles/CheckerDependencyHandlingAnalyzerPlugin.dir/CheckerDependencyHandling.cpp.o
>   -Wl,-rpath,"\$ORIGIN/../lib" lib/libLLVMSupport.a lib/libclangAnalysis.a 
> lib/libclangAST.a -lclangStaticAnalyzerCore -lclangStaticAnalyzerFrontend 
> lib/libLLVMSupport.a lib/libclangASTMatchers.a lib/libclangAST.a 
> lib/libclangLex.a lib/libclangBasic.a lib/libLLVMCore.a lib/libLLVMRemarks.a 
> lib/libLLVMMC.a lib/libLLVMBinaryFormat.a lib/libLLVMDebugInfoCodeView.a 
> lib/libLLVMDebugInfoMSF.a lib/libLLVMSupport.a -lz -lrt -ldl -lpthread -lm 
> lib/libLLVMDemangle.a && :
> /usr/bin/ld.gold: error: cannot find -lclangStaticAnalyzerCore
> /usr/bin/ld.gold: error: cannot find -lclangStaticAnalyzerFrontend
> collect2: error: ld returned 1 exit status
> [2061/2605] Building CXX object 
> tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/CompilationDatabase.cpp.o
> [2062/2605] Linking CXX shared module lib/SampleAnalyzerPlugin.so
> FAILED: lib/SampleAnalyzerPlugin.so 
> : && /usr/bin/g++ -fPIC -O2 -march=native -mtune=native -fPIC 
> -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -w 
> -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common 
> -Woverloaded-virtual -fno-strict-aliasing -O3 -DNDEBUG  -Wl,-z,nodelete 
> -fuse-ld=gold   -Wl,-O3 -Wl,--gc-sections  
> -Wl,--version-script,"/tc-build2/build/llvm/stage1/tools/clang/lib/Analysis/plugins/SampleAnalyzer/SampleAnalyzerPlugin.exports"
>  -shared  -o lib/SampleAnalyzerPlugin.so 
> tools/clang/lib/Analysis/plugins/SampleAnalyzer/CMakeFiles/SampleAnalyzerPlugin.dir/MainCallChecker.cpp.o
>   -Wl,-rpath,"\$ORIGIN/../lib" lib/libLLVMSupport.a lib/libclangAnalysis.a 
> lib/libclangAST.a -lclangStaticAnalyzerCore -lclangStaticAnalyzerFrontend 
> lib/libLLVMSupport.a lib/libclangASTMatchers.a lib/libclangAST.a 
> lib/libclangLex.a lib/libclangBasic.a lib/libLLVMCore.a lib/libLLVMRemarks.a 
> lib/libLLVMMC.a lib/libLLVMBinaryFormat.a lib/libLLVMDebugInfoCodeView.a 
> lib/libLLVMDebugInfoMSF.a lib/libLLVMSupport.a -lz -lrt -ldl -lpthread -lm 
> lib/libLLVMDemangle.a && :
> /usr/bin/ld.gold: error: cannot find -lclangStaticAnalyzerCore
> 

[PATCH] D62445: [test] Fix plugin tests

2019-06-04 Thread Nathan Chancellor via Phabricator via cfe-commits
nathanchance added inline comments.



Comment at: cfe/trunk/lib/Analysis/plugins/CMakeLists.txt:1
+if(LLVM_ENABLE_PLUGINS)
+  add_subdirectory(SampleAnalyzer)

I think this should have a dependency on `CLANG_ENABLE_STATIC_ANALYZER` like in 
`clang/test/CMakeLists.txt`, otherwise my build (which disables 
`CLANG_ENABLE_STATIC_ANALYZER`) fails because these plugins are being added to 
the build.

```
[2058/2605] Linking CXX shared module lib/CheckerOptionHandlingAnalyzerPlugin.so
FAILED: lib/CheckerOptionHandlingAnalyzerPlugin.so 
: && /usr/bin/g++ -fPIC -O2 -march=native -mtune=native -fPIC 
-fvisibility-inlines-hidden -Werror=date-time -std=c++11 -w -fdiagnostics-color 
-ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual 
-fno-strict-aliasing -O3 -DNDEBUG  -Wl,-z,nodelete -fuse-ld=gold   -Wl,-O3 
-Wl,--gc-sections  
-Wl,--version-script,"/tc-build2/build/llvm/stage1/tools/clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandlingAnalyzerPlugin.exports"
 -shared  -o lib/CheckerOptionHandlingAnalyzerPlugin.so 
tools/clang/lib/Analysis/plugins/CheckerOptionHandling/CMakeFiles/CheckerOptionHandlingAnalyzerPlugin.dir/CheckerOptionHandling.cpp.o
  -Wl,-rpath,"\$ORIGIN/../lib" lib/libLLVMSupport.a lib/libclangAnalysis.a 
lib/libclangAST.a -lclangStaticAnalyzerCore -lclangStaticAnalyzerFrontend 
lib/libLLVMSupport.a lib/libclangASTMatchers.a lib/libclangAST.a 
lib/libclangLex.a lib/libclangBasic.a lib/libLLVMCore.a lib/libLLVMRemarks.a 
lib/libLLVMMC.a lib/libLLVMBinaryFormat.a lib/libLLVMDebugInfoCodeView.a 
lib/libLLVMDebugInfoMSF.a lib/libLLVMSupport.a -lz -lrt -ldl -lpthread -lm 
lib/libLLVMDemangle.a && :
/usr/bin/ld.gold: error: cannot find -lclangStaticAnalyzerCore
/usr/bin/ld.gold: error: cannot find -lclangStaticAnalyzerFrontend
collect2: error: ld returned 1 exit status
[2059/2605] Building CXX object 
tools/clang/tools/clang-refactor/CMakeFiles/clang-refactor.dir/TestSupport.cpp.o
[2060/2605] Linking CXX shared module 
lib/CheckerDependencyHandlingAnalyzerPlugin.so
FAILED: lib/CheckerDependencyHandlingAnalyzerPlugin.so 
: && /usr/bin/g++ -fPIC -O2 -march=native -mtune=native -fPIC 
-fvisibility-inlines-hidden -Werror=date-time -std=c++11 -w -fdiagnostics-color 
-ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual 
-fno-strict-aliasing -O3 -DNDEBUG  -Wl,-z,nodelete -fuse-ld=gold   -Wl,-O3 
-Wl,--gc-sections  
-Wl,--version-script,"/tc-build2/build/llvm/stage1/tools/clang/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandlingAnalyzerPlugin.exports"
 -shared  -o lib/CheckerDependencyHandlingAnalyzerPlugin.so 
tools/clang/lib/Analysis/plugins/CheckerDependencyHandling/CMakeFiles/CheckerDependencyHandlingAnalyzerPlugin.dir/CheckerDependencyHandling.cpp.o
  -Wl,-rpath,"\$ORIGIN/../lib" lib/libLLVMSupport.a lib/libclangAnalysis.a 
lib/libclangAST.a -lclangStaticAnalyzerCore -lclangStaticAnalyzerFrontend 
lib/libLLVMSupport.a lib/libclangASTMatchers.a lib/libclangAST.a 
lib/libclangLex.a lib/libclangBasic.a lib/libLLVMCore.a lib/libLLVMRemarks.a 
lib/libLLVMMC.a lib/libLLVMBinaryFormat.a lib/libLLVMDebugInfoCodeView.a 
lib/libLLVMDebugInfoMSF.a lib/libLLVMSupport.a -lz -lrt -ldl -lpthread -lm 
lib/libLLVMDemangle.a && :
/usr/bin/ld.gold: error: cannot find -lclangStaticAnalyzerCore
/usr/bin/ld.gold: error: cannot find -lclangStaticAnalyzerFrontend
collect2: error: ld returned 1 exit status
[2061/2605] Building CXX object 
tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/CompilationDatabase.cpp.o
[2062/2605] Linking CXX shared module lib/SampleAnalyzerPlugin.so
FAILED: lib/SampleAnalyzerPlugin.so 
: && /usr/bin/g++ -fPIC -O2 -march=native -mtune=native -fPIC 
-fvisibility-inlines-hidden -Werror=date-time -std=c++11 -w -fdiagnostics-color 
-ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual 
-fno-strict-aliasing -O3 -DNDEBUG  -Wl,-z,nodelete -fuse-ld=gold   -Wl,-O3 
-Wl,--gc-sections  
-Wl,--version-script,"/tc-build2/build/llvm/stage1/tools/clang/lib/Analysis/plugins/SampleAnalyzer/SampleAnalyzerPlugin.exports"
 -shared  -o lib/SampleAnalyzerPlugin.so 
tools/clang/lib/Analysis/plugins/SampleAnalyzer/CMakeFiles/SampleAnalyzerPlugin.dir/MainCallChecker.cpp.o
  -Wl,-rpath,"\$ORIGIN/../lib" lib/libLLVMSupport.a lib/libclangAnalysis.a 
lib/libclangAST.a -lclangStaticAnalyzerCore -lclangStaticAnalyzerFrontend 
lib/libLLVMSupport.a lib/libclangASTMatchers.a lib/libclangAST.a 
lib/libclangLex.a lib/libclangBasic.a lib/libLLVMCore.a lib/libLLVMRemarks.a 
lib/libLLVMMC.a lib/libLLVMBinaryFormat.a lib/libLLVMDebugInfoCodeView.a 
lib/libLLVMDebugInfoMSF.a lib/libLLVMSupport.a -lz -lrt -ldl -lpthread -lm 
lib/libLLVMDemangle.a && :
/usr/bin/ld.gold: error: cannot find -lclangStaticAnalyzerCore
/usr/bin/ld.gold: error: cannot find -lclangStaticAnalyzerFrontend
collect2: error: ld returned 1 exit status
```


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62445/new/


[PATCH] D62445: [test] Fix plugin tests

2019-06-03 Thread Don Hinton via Phabricator via cfe-commits
hintonda added a comment.

In D62445#1527368 , @davezarzycki 
wrote:

> This broke non-PIC builds. Fixed: r362399


Sorry for the breakage, and thanks for the fix!


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62445/new/

https://reviews.llvm.org/D62445



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D62445: [test] Fix plugin tests

2019-06-03 Thread David Zarzycki via Phabricator via cfe-commits
davezarzycki added a comment.

This broke non-PIC builds. Fixed: r362399


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62445/new/

https://reviews.llvm.org/D62445



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D62445: [test] Fix plugin tests

2019-06-02 Thread Phabricator via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes.
Closed by commit rL362328: [test] Fix plugin tests (authored by dhinton, 
committed by ).

Changed prior to commit:
  https://reviews.llvm.org/D62445?vs=202573=202605#toc

Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62445/new/

https://reviews.llvm.org/D62445

Files:
  cfe/trunk/lib/Analysis/CMakeLists.txt
  cfe/trunk/lib/Analysis/plugins/CMakeLists.txt
  cfe/trunk/lib/Analysis/plugins/CheckerDependencyHandling/CMakeLists.txt
  
cfe/trunk/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp
  
cfe/trunk/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandlingAnalyzerPlugin.exports
  cfe/trunk/lib/Analysis/plugins/CheckerOptionHandling/CMakeLists.txt
  cfe/trunk/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp
  
cfe/trunk/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandlingAnalyzerPlugin.exports
  cfe/trunk/lib/Analysis/plugins/SampleAnalyzer/CMakeLists.txt
  cfe/trunk/lib/Analysis/plugins/SampleAnalyzer/MainCallChecker.cpp
  cfe/trunk/lib/Analysis/plugins/SampleAnalyzer/SampleAnalyzerPlugin.exports
  cfe/trunk/test/Analysis/lit.local.cfg
  cfe/trunk/test/Analysis/plugins/CMakeLists.txt
  cfe/trunk/test/Analysis/plugins/CheckerDependencyHandling/CMakeLists.txt
  
cfe/trunk/test/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp
  
cfe/trunk/test/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandlingAnalyzerPlugin.exports
  cfe/trunk/test/Analysis/plugins/CheckerOptionHandling/CMakeLists.txt
  
cfe/trunk/test/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp
  
cfe/trunk/test/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandlingAnalyzerPlugin.exports
  cfe/trunk/test/Analysis/plugins/SampleAnalyzer/CMakeLists.txt
  cfe/trunk/test/Analysis/plugins/SampleAnalyzer/MainCallChecker.cpp
  cfe/trunk/test/Analysis/plugins/SampleAnalyzer/SampleAnalyzerPlugin.exports
  cfe/trunk/test/CMakeLists.txt
  llvm/trunk/CMakeLists.txt
  llvm/trunk/cmake/modules/HandleLLVMOptions.cmake

Index: llvm/trunk/cmake/modules/HandleLLVMOptions.cmake
===
--- llvm/trunk/cmake/modules/HandleLLVMOptions.cmake
+++ llvm/trunk/cmake/modules/HandleLLVMOptions.cmake
@@ -912,14 +912,6 @@
   message(FATAL_ERROR "LLVM_LINK_LLVM_DYLIB not compatible with LLVM_EXPORT_SYMBOLS_FOR_PLUGINS")
 endif()
 
-# Plugin support
-# FIXME: Make this configurable.
-if(BUILD_SHARED_LIBS OR LLVM_BUILD_LLVM_DYLIB)
-  set(LLVM_ENABLE_PLUGINS ON)
-else()
-  set(LLVM_ENABLE_PLUGINS OFF)
-endif()
-
 # By default we should enable LLVM_ENABLE_IDE only for multi-configuration
 # generators. This option disables optional build system features that make IDEs
 # less usable.
Index: llvm/trunk/CMakeLists.txt
===
--- llvm/trunk/CMakeLists.txt
+++ llvm/trunk/CMakeLists.txt
@@ -622,6 +622,17 @@
 message(STATUS "LLVM host triple: ${LLVM_HOST_TRIPLE}")
 message(STATUS "LLVM default target triple: ${LLVM_DEFAULT_TARGET_TRIPLE}")
 
+if(WIN32 OR CYGWIN)
+  if(BUILD_SHARED_LIBS OR LLVM_BUILD_LLVM_DYLIB)
+set(LLVM_ENABLE_PLUGINS_default ON)
+  else()
+set(LLVM_ENABLE_PLUGINS_default OFF)
+  endif()
+else()
+  set(LLVM_ENABLE_PLUGINS_default ON)
+endif()
+option(LLVM_ENABLE_PLUGINS "Enable plugin support" ${LLVM_ENABLE_PLUGINS_default})
+
 include(HandleLLVMOptions)
 
 # Verify that we can find a Python 2 interpreter.  Python 3 is unsupported.
Index: cfe/trunk/lib/Analysis/plugins/CMakeLists.txt
===
--- cfe/trunk/lib/Analysis/plugins/CMakeLists.txt
+++ cfe/trunk/lib/Analysis/plugins/CMakeLists.txt
@@ -0,0 +1,5 @@
+if(LLVM_ENABLE_PLUGINS)
+  add_subdirectory(SampleAnalyzer)
+  add_subdirectory(CheckerDependencyHandling)
+  add_subdirectory(CheckerOptionHandling)
+endif()
Index: cfe/trunk/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandlingAnalyzerPlugin.exports
===
--- cfe/trunk/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandlingAnalyzerPlugin.exports
+++ cfe/trunk/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandlingAnalyzerPlugin.exports
@@ -0,0 +1,2 @@
+clang_registerCheckers
+clang_analyzerAPIVersionString
Index: cfe/trunk/lib/Analysis/plugins/CheckerDependencyHandling/CMakeLists.txt
===
--- cfe/trunk/lib/Analysis/plugins/CheckerDependencyHandling/CMakeLists.txt
+++ cfe/trunk/lib/Analysis/plugins/CheckerDependencyHandling/CMakeLists.txt
@@ -0,0 +1,10 @@
+set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/CheckerDependencyHandlingAnalyzerPlugin.exports)
+add_llvm_library(CheckerDependencyHandlingAnalyzerPlugin MODULE CheckerDependencyHandling.cpp PLUGIN_TOOL 

[PATCH] D62445: [test] Fix plugin tests

2019-06-01 Thread Don Hinton via Phabricator via cfe-commits
hintonda updated this revision to Diff 202573.
hintonda added a comment.

- Fix dependencies so required plugins get built before tests.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62445/new/

https://reviews.llvm.org/D62445

Files:
  clang/lib/Analysis/CMakeLists.txt
  clang/lib/Analysis/plugins/CMakeLists.txt
  clang/lib/Analysis/plugins/CheckerDependencyHandling/CMakeLists.txt
  
clang/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp
  
clang/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandlingAnalyzerPlugin.exports
  clang/lib/Analysis/plugins/CheckerOptionHandling/CMakeLists.txt
  clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp
  
clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandlingAnalyzerPlugin.exports
  clang/lib/Analysis/plugins/SampleAnalyzer/CMakeLists.txt
  clang/lib/Analysis/plugins/SampleAnalyzer/MainCallChecker.cpp
  clang/lib/Analysis/plugins/SampleAnalyzer/SampleAnalyzerPlugin.exports
  clang/test/Analysis/lit.local.cfg
  clang/test/Analysis/plugins/CMakeLists.txt
  clang/test/Analysis/plugins/CheckerDependencyHandling/CMakeLists.txt
  
clang/test/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp
  
clang/test/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandlingAnalyzerPlugin.exports
  clang/test/Analysis/plugins/CheckerOptionHandling/CMakeLists.txt
  clang/test/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp
  
clang/test/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandlingAnalyzerPlugin.exports
  clang/test/Analysis/plugins/SampleAnalyzer/CMakeLists.txt
  clang/test/Analysis/plugins/SampleAnalyzer/MainCallChecker.cpp
  clang/test/Analysis/plugins/SampleAnalyzer/SampleAnalyzerPlugin.exports
  clang/test/CMakeLists.txt
  llvm/CMakeLists.txt
  llvm/cmake/modules/HandleLLVMOptions.cmake

Index: llvm/cmake/modules/HandleLLVMOptions.cmake
===
--- llvm/cmake/modules/HandleLLVMOptions.cmake
+++ llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -912,14 +912,6 @@
   message(FATAL_ERROR "LLVM_LINK_LLVM_DYLIB not compatible with LLVM_EXPORT_SYMBOLS_FOR_PLUGINS")
 endif()
 
-# Plugin support
-# FIXME: Make this configurable.
-if(BUILD_SHARED_LIBS OR LLVM_BUILD_LLVM_DYLIB)
-  set(LLVM_ENABLE_PLUGINS ON)
-else()
-  set(LLVM_ENABLE_PLUGINS OFF)
-endif()
-
 # By default we should enable LLVM_ENABLE_IDE only for multi-configuration
 # generators. This option disables optional build system features that make IDEs
 # less usable.
Index: llvm/CMakeLists.txt
===
--- llvm/CMakeLists.txt
+++ llvm/CMakeLists.txt
@@ -672,6 +672,17 @@
 message(STATUS "LLVM host triple: ${LLVM_HOST_TRIPLE}")
 message(STATUS "LLVM default target triple: ${LLVM_DEFAULT_TARGET_TRIPLE}")
 
+if(WIN32 OR CYGWIN)
+  if(BUILD_SHARED_LIBS OR LLVM_BUILD_LLVM_DYLIB)
+set(LLVM_ENABLE_PLUGINS_default ON)
+  else()
+set(LLVM_ENABLE_PLUGINS_default OFF)
+  endif()
+else()
+  set(LLVM_ENABLE_PLUGINS_default ON)
+endif()
+option(LLVM_ENABLE_PLUGINS "Enable plugin support" ${LLVM_ENABLE_PLUGINS_default})
+
 include(HandleLLVMOptions)
 
 # Verify that we can find a Python 2 interpreter.  Python 3 is unsupported.
Index: clang/test/CMakeLists.txt
===
--- clang/test/CMakeLists.txt
+++ clang/test/CMakeLists.txt
@@ -83,12 +83,6 @@
 )
 endif ()
 
-if (CLANG_ENABLE_STATIC_ANALYZER AND CLANG_BUILD_EXAMPLES)
-  list(APPEND CLANG_TEST_DEPS
-SampleAnalyzerPlugin
-)
-endif ()
-
 set(CLANG_TEST_PARAMS
   clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
   USE_Z3_SOLVER=0
@@ -126,27 +120,13 @@
 endif()
 
 if (CLANG_ENABLE_STATIC_ANALYZER)
-  add_subdirectory(Analysis/plugins)
-  list(APPEND CLANG_TEST_DEPS clang-analyzer-plugin)
-
-  # check-all would launch those tests via check-clang.
-  set(EXCLUDE_FROM_ALL ON)
-
-  add_lit_testsuite(check-clang-analyzer "Running the Clang analyzer tests"
-${CMAKE_CURRENT_BINARY_DIR}/Analysis
-PARAMS ${ANALYZER_TEST_PARAMS}
-DEPENDS ${CLANG_TEST_DEPS})
-  set_target_properties(check-clang-analyzer PROPERTIES FOLDER "Clang tests")
-
-  if (LLVM_WITH_Z3)
-add_lit_testsuite(check-clang-analyzer-z3 "Running the Clang analyzer tests, using Z3 as a solver"
-  ${CMAKE_CURRENT_BINARY_DIR}/Analysis
-  PARAMS ${ANALYZER_TEST_PARAMS_Z3}
-  DEPENDS ${CLANG_TEST_DEPS})
-set_target_properties(check-clang-analyzer-z3 PROPERTIES FOLDER "Clang tests")
+  if (LLVM_ENABLE_PLUGINS)
+set(CLANG_TEST_DEPS
+  SampleAnalyzerPlugin
+  CheckerDependencyHandlingAnalyzerPlugin
+  CheckerOptionHandlingAnalyzerPlugin
+  )
   endif()
-
-  set(EXCLUDE_FROM_ALL OFF)
 endif()
 
 add_custom_target(clang-test-depends DEPENDS ${CLANG_TEST_DEPS})
Index: 

[PATCH] D62445: [test] Fix plugin tests

2019-06-01 Thread Don Hinton via Phabricator via cfe-commits
hintonda reopened this revision.
hintonda added a comment.
This revision is now accepted and ready to land.

This patch broke some of the bots, so reopening to track the fix.


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62445/new/

https://reviews.llvm.org/D62445



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D62445: [test] Fix plugin tests

2019-05-28 Thread Phabricator via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes.
Closed by commit rC361790: [test] Fix plugin tests (authored by dhinton, 
committed by ).

Changed prior to commit:
  https://reviews.llvm.org/D62445?vs=201391=201614#toc

Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62445/new/

https://reviews.llvm.org/D62445

Files:
  lib/Analysis/CMakeLists.txt
  lib/Analysis/plugins/CMakeLists.txt
  lib/Analysis/plugins/CheckerDependencyHandling/CMakeLists.txt
  lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp
  
lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandlingAnalyzerPlugin.exports
  lib/Analysis/plugins/CheckerOptionHandling/CMakeLists.txt
  lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp
  
lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandlingAnalyzerPlugin.exports
  lib/Analysis/plugins/SampleAnalyzer/CMakeLists.txt
  lib/Analysis/plugins/SampleAnalyzer/MainCallChecker.cpp
  lib/Analysis/plugins/SampleAnalyzer/SampleAnalyzerPlugin.exports
  test/Analysis/lit.local.cfg
  test/Analysis/plugins/CMakeLists.txt
  test/Analysis/plugins/CheckerDependencyHandling/CMakeLists.txt
  test/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp
  
test/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandlingAnalyzerPlugin.exports
  test/Analysis/plugins/CheckerOptionHandling/CMakeLists.txt
  test/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp
  
test/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandlingAnalyzerPlugin.exports
  test/Analysis/plugins/SampleAnalyzer/CMakeLists.txt
  test/Analysis/plugins/SampleAnalyzer/MainCallChecker.cpp
  test/Analysis/plugins/SampleAnalyzer/SampleAnalyzerPlugin.exports
  test/CMakeLists.txt

Index: test/CMakeLists.txt
===
--- test/CMakeLists.txt
+++ test/CMakeLists.txt
@@ -126,27 +126,13 @@
 endif()
 
 if (CLANG_ENABLE_STATIC_ANALYZER)
-  add_subdirectory(Analysis/plugins)
-  list(APPEND CLANG_TEST_DEPS clang-analyzer-plugin)
-
-  # check-all would launch those tests via check-clang.
-  set(EXCLUDE_FROM_ALL ON)
-
-  add_lit_testsuite(check-clang-analyzer "Running the Clang analyzer tests"
-${CMAKE_CURRENT_BINARY_DIR}/Analysis
-PARAMS ${ANALYZER_TEST_PARAMS}
-DEPENDS ${CLANG_TEST_DEPS})
-  set_target_properties(check-clang-analyzer PROPERTIES FOLDER "Clang tests")
-
-  if (LLVM_WITH_Z3)
-add_lit_testsuite(check-clang-analyzer-z3 "Running the Clang analyzer tests, using Z3 as a solver"
-  ${CMAKE_CURRENT_BINARY_DIR}/Analysis
-  PARAMS ${ANALYZER_TEST_PARAMS_Z3}
-  DEPENDS ${CLANG_TEST_DEPS})
-set_target_properties(check-clang-analyzer-z3 PROPERTIES FOLDER "Clang tests")
+  if (LLVM_ENABLE_PLUGINS)
+set(CLANG_ANALYZER_PLUGIN_DEPS
+  SampleAnalyzerPlugin
+  CheckerDependencyHandlingAnalyzerPlugin
+  CheckerOptionHandlingAnalyzerPlugin
+  )
   endif()
-
-  set(EXCLUDE_FROM_ALL OFF)
 endif()
 
 add_custom_target(clang-test-depends DEPENDS ${CLANG_TEST_DEPS})
Index: test/Analysis/lit.local.cfg
===
--- test/Analysis/lit.local.cfg
+++ test/Analysis/lit.local.cfg
@@ -18,7 +18,5 @@
 config.substitutions.append(('%diff_sarif',
 '''diff -U1 -w -I ".*file:.*%basename_t" -I '"version":' -I "2\.0\.0\-csd\.[0-9]*\.beta\."'''))
 
-config.excludes.add('plugins')
-
 if not config.root.clang_staticanalyzer:
 config.unsupported = True
Index: lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp
===
--- lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp
+++ lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp
@@ -0,0 +1,28 @@
+#include "clang/StaticAnalyzer/Core/BugReporter/BugType.h"
+#include "clang/StaticAnalyzer/Core/Checker.h"
+#include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h"
+#include "clang/StaticAnalyzer/Frontend/CheckerRegistry.h"
+
+using namespace clang;
+using namespace ento;
+
+namespace {
+struct Dependency : public Checker {
+  void checkBeginFunction(CheckerContext ) const {}
+};
+struct DependendentChecker : public Checker {
+  void checkBeginFunction(CheckerContext ) const {}
+};
+} // end anonymous namespace
+
+// Register plugin!
+extern "C" void clang_registerCheckers(CheckerRegistry ) {
+  registry.addChecker("example.Dependency", "", "");
+  registry.addChecker("example.DependendentChecker", "",
+   "");
+
+  registry.addDependency("example.DependendentChecker", "example.Dependency");
+}
+
+extern "C" const char clang_analyzerAPIVersionString[] =
+CLANG_ANALYZER_API_VERSION_STRING;
Index: lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandlingAnalyzerPlugin.exports

[PATCH] D62445: [test] Fix plugin tests

2019-05-27 Thread Don Hinton via Phabricator via cfe-commits
hintonda marked an inline comment as done.
hintonda added inline comments.



Comment at: clang/test/CMakeLists.txt:141-147
-  if (LLVM_WITH_Z3)
-add_lit_testsuite(check-clang-analyzer-z3 "Running the Clang analyzer 
tests, using Z3 as a solver"
-  ${CMAKE_CURRENT_BINARY_DIR}/Analysis
-  PARAMS ${ANALYZER_TEST_PARAMS_Z3}
-  DEPENDS ${CLANG_TEST_DEPS})
-set_target_properties(check-clang-analyzer-z3 PROPERTIES FOLDER "Clang 
tests")
   endif()

hintonda wrote:
> NoQ wrote:
> > As far as i remember, this chunk of code is responsible for running the 
> > whole analyzer test suite with different parameters (with Z3 as a 
> > constraint manager instead of the ad-hoc range constraint manager), rather 
> > than running a smaller chunk of the suite.
> > 
> > @mikhail.ramalho, @ddcc - i think i should leave it up to you to decide if 
> > you want to keep this working. Right now these extra tests aren't run under 
> > any buildbot, and the facility that they're testing is probably never going 
> > to be used by actual users (as opposed to the z3 refutation). But i 
> > wouldn't love losing this facility because it's a great way of evaluating 
> > the static analyzer, i.e. figuring out how good *could* it have been with a 
> > good constraint solver, so that we had something to look forward to.
> Ah, that was unintentional.  I didn't intend to touch Z3.
> 
> Let me see if I can put that part back.
Actually, on second thought, these get picked up automatically, so they 
shouldn't be added like this.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62445/new/

https://reviews.llvm.org/D62445



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D62445: [test] Fix plugin tests

2019-05-27 Thread Don Hinton via Phabricator via cfe-commits
hintonda marked an inline comment as done.
hintonda added inline comments.



Comment at: clang/test/CMakeLists.txt:141-147
-  if (LLVM_WITH_Z3)
-add_lit_testsuite(check-clang-analyzer-z3 "Running the Clang analyzer 
tests, using Z3 as a solver"
-  ${CMAKE_CURRENT_BINARY_DIR}/Analysis
-  PARAMS ${ANALYZER_TEST_PARAMS_Z3}
-  DEPENDS ${CLANG_TEST_DEPS})
-set_target_properties(check-clang-analyzer-z3 PROPERTIES FOLDER "Clang 
tests")
   endif()

NoQ wrote:
> As far as i remember, this chunk of code is responsible for running the whole 
> analyzer test suite with different parameters (with Z3 as a constraint 
> manager instead of the ad-hoc range constraint manager), rather than running 
> a smaller chunk of the suite.
> 
> @mikhail.ramalho, @ddcc - i think i should leave it up to you to decide if 
> you want to keep this working. Right now these extra tests aren't run under 
> any buildbot, and the facility that they're testing is probably never going 
> to be used by actual users (as opposed to the z3 refutation). But i wouldn't 
> love losing this facility because it's a great way of evaluating the static 
> analyzer, i.e. figuring out how good *could* it have been with a good 
> constraint solver, so that we had something to look forward to.
Ah, that was unintentional.  I didn't intend to touch Z3.

Let me see if I can put that part back.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62445/new/

https://reviews.llvm.org/D62445



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D62445: [test] Fix plugin tests

2019-05-27 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added subscribers: mikhail.ramalho, ddcc.
NoQ accepted this revision.
NoQ added a comment.
This revision is now accepted and ready to land.

Thanks!!

I think we're losing the Z3 constraint manager test suite this way after all 
(details inline), but i feel we should downprioritize this when it comes to 
fixing everybody's buildbots.




Comment at: clang/test/CMakeLists.txt:141-147
-  if (LLVM_WITH_Z3)
-add_lit_testsuite(check-clang-analyzer-z3 "Running the Clang analyzer 
tests, using Z3 as a solver"
-  ${CMAKE_CURRENT_BINARY_DIR}/Analysis
-  PARAMS ${ANALYZER_TEST_PARAMS_Z3}
-  DEPENDS ${CLANG_TEST_DEPS})
-set_target_properties(check-clang-analyzer-z3 PROPERTIES FOLDER "Clang 
tests")
   endif()

As far as i remember, this chunk of code is responsible for running the whole 
analyzer test suite with different parameters (with Z3 as a constraint manager 
instead of the ad-hoc range constraint manager), rather than running a smaller 
chunk of the suite.

@mikhail.ramalho, @ddcc - i think i should leave it up to you to decide if you 
want to keep this working. Right now these extra tests aren't run under any 
buildbot, and the facility that they're testing is probably never going to be 
used by actual users (as opposed to the z3 refutation). But i wouldn't love 
losing this facility because it's a great way of evaluating the static 
analyzer, i.e. figuring out how good *could* it have been with a good 
constraint solver, so that we had something to look forward to.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62445/new/

https://reviews.llvm.org/D62445



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D62445: [test] Fix plugin tests

2019-05-25 Thread Don Hinton via Phabricator via cfe-commits
hintonda created this revision.
hintonda added reviewers: beanz, phosek, george.karpenkov, NoQ, ahatanak, 
rjmccall.
Herald added subscribers: llvm-commits, dexonsmith, mgorny.
Herald added projects: clang, LLVM.
hintonda edited the summary of this revision.

The following changes were required to fix these tests:

1. Change LLVM_ENABLE_PLUGINS to an option and move it to llvm/CMakeLists.txt 
with an appropriate default -- which matches the original default behavior.

2. Move the plugins directory from clang/test/Analysis clang/lib/Analysis.  
It's not enough to add an exclude to the lit.local.cfg file because 
add_lit_testsuites recurses the tree and automatically adds the appropriate 
`check-` targets, which don't make sense for the plugins because they aren't 
tests and don't have no `RUN` statements.

  Here's a list of the `clang-check-anlysis*` targets with this change:

  $ ninja -t targets all| sed -n "s/.*\/\(check[^:]*\):.*/\1/p" | sort -u | 
grep clang-analysis
  check-clang-analysis
  check-clang-analysis-checkers
  check-clang-analysis-copypaste
  check-clang-analysis-diagnostics
  check-clang-analysis-engine
  check-clang-analysis-exploration_order
  check-clang-analysis-html_diagnostics
  check-clang-analysis-html_diagnostics-relevant_lines
  check-clang-analysis-inlining
  check-clang-analysis-objc
  check-clang-analysis-unified-sources
  check-clang-analysis-z3



3. Simplify the logic and only include the subdirectories under 
clang/lib/Analysis/plugins if LLVM_ENABLE_PLUGINS is set.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D62445

Files:
  clang/lib/Analysis/CMakeLists.txt
  clang/lib/Analysis/plugins/CMakeLists.txt
  clang/lib/Analysis/plugins/CheckerDependencyHandling/CMakeLists.txt
  
clang/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp
  
clang/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandlingAnalyzerPlugin.exports
  clang/lib/Analysis/plugins/CheckerOptionHandling/CMakeLists.txt
  clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp
  
clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandlingAnalyzerPlugin.exports
  clang/lib/Analysis/plugins/SampleAnalyzer/CMakeLists.txt
  clang/lib/Analysis/plugins/SampleAnalyzer/MainCallChecker.cpp
  clang/lib/Analysis/plugins/SampleAnalyzer/SampleAnalyzerPlugin.exports
  clang/test/Analysis/lit.local.cfg
  clang/test/Analysis/plugins/CMakeLists.txt
  clang/test/Analysis/plugins/CheckerDependencyHandling/CMakeLists.txt
  
clang/test/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp
  
clang/test/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandlingAnalyzerPlugin.exports
  clang/test/Analysis/plugins/CheckerOptionHandling/CMakeLists.txt
  clang/test/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp
  
clang/test/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandlingAnalyzerPlugin.exports
  clang/test/Analysis/plugins/SampleAnalyzer/CMakeLists.txt
  clang/test/Analysis/plugins/SampleAnalyzer/MainCallChecker.cpp
  clang/test/Analysis/plugins/SampleAnalyzer/SampleAnalyzerPlugin.exports
  clang/test/CMakeLists.txt
  llvm/CMakeLists.txt
  llvm/cmake/modules/HandleLLVMOptions.cmake

Index: llvm/cmake/modules/HandleLLVMOptions.cmake
===
--- llvm/cmake/modules/HandleLLVMOptions.cmake
+++ llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -912,14 +912,6 @@
   message(FATAL_ERROR "LLVM_LINK_LLVM_DYLIB not compatible with LLVM_EXPORT_SYMBOLS_FOR_PLUGINS")
 endif()
 
-# Plugin support
-# FIXME: Make this configurable.
-if(BUILD_SHARED_LIBS OR LLVM_BUILD_LLVM_DYLIB)
-  set(LLVM_ENABLE_PLUGINS ON)
-else()
-  set(LLVM_ENABLE_PLUGINS OFF)
-endif()
-
 # By default we should enable LLVM_ENABLE_IDE only for multi-configuration
 # generators. This option disables optional build system features that make IDEs
 # less usable.
Index: llvm/CMakeLists.txt
===
--- llvm/CMakeLists.txt
+++ llvm/CMakeLists.txt
@@ -669,6 +669,17 @@
 message(STATUS "LLVM host triple: ${LLVM_HOST_TRIPLE}")
 message(STATUS "LLVM default target triple: ${LLVM_DEFAULT_TARGET_TRIPLE}")
 
+if(WIN32 OR CYGWIN)
+  if(BUILD_SHARED_LIBS OR LLVM_BUILD_LLVM_DYLIB)
+set(LLVM_ENABLE_PLUGINS_default ON)
+  else()
+set(LLVM_ENABLE_PLUGINS_default OFF)
+  endif()
+else()
+  set(LLVM_ENABLE_PLUGINS_default ON)
+endif()
+option(LLVM_ENABLE_PLUGINS "Enable plugin support" ${LLVM_ENABLE_PLUGINS_default})
+
 include(HandleLLVMOptions)
 
 # Verify that we can find a Python 2 interpreter.  Python 3 is unsupported.
Index: clang/test/CMakeLists.txt
===
--- clang/test/CMakeLists.txt
+++ clang/test/CMakeLists.txt
@@ -126,27 +126,13 @@
 endif()
 
 if (CLANG_ENABLE_STATIC_ANALYZER)
-  add_subdirectory(Analysis/plugins)
-  list(APPEND CLANG_TEST_DEPS