diff --git a/llvm/examples/Bye/CMakeLists.txt b/llvm/examples/Bye/CMakeLists.txt --- a/llvm/examples/Bye/CMakeLists.txt +++ b/llvm/examples/Bye/CMakeLists.txt @@ -2,12 +2,18 @@ message(WARNING "Setting LLVM_BYE_LINK_INTO_TOOLS=ON only makes sense for testing purpose") endif() -add_llvm_pass_plugin(Bye - Bye.cpp - DEPENDS - intrinsics_gen - BUILDTREE_ONLY - ) +# The plugin expects to not link against the Support and Core libraries, +# but expects them to exist in the process loading the plugin. This doesn't +# work with DLLs on Windows (where a shared library can't have undefined +# references), so just skip this example on Windows. +if (NOT WIN32) + add_llvm_pass_plugin(Bye + Bye.cpp + DEPENDS + intrinsics_gen + BUILDTREE_ONLY + ) -install(TARGETS ${name} RUNTIME DESTINATION examples) -set_target_properties(${name} PROPERTIES FOLDER "Examples") + install(TARGETS ${name} RUNTIME DESTINATION examples) + set_target_properties(${name} PROPERTIES FOLDER "Examples") +endif() diff --git a/llvm/test/CMakeLists.txt b/llvm/test/CMakeLists.txt --- a/llvm/test/CMakeLists.txt +++ b/llvm/test/CMakeLists.txt @@ -144,13 +144,17 @@ if(LLVM_BUILD_EXAMPLES) list(APPEND LLVM_TEST_DEPENDS - Bye Kaleidoscope-Ch3 Kaleidoscope-Ch4 Kaleidoscope-Ch5 Kaleidoscope-Ch6 Kaleidoscope-Ch7 ) + if (NOT WIN32) + list(APPEND LLVM_TEST_DEPENDS + Bye + ) + endif() endif() if(TARGET ocaml_llvm) diff --git a/llvm/test/Feature/load_extension.ll b/llvm/test/Feature/load_extension.ll --- a/llvm/test/Feature/load_extension.ll +++ b/llvm/test/Feature/load_extension.ll @@ -6,6 +6,7 @@ ; RUN: llvm-lto2 run %t.o %loadbye %loadnewpmbye -wave-goodbye -use-new-pm -o %t -r %t.o,somefunk,plx -r %t.o,junk,plx 2>&1 | FileCheck %s ; RUN: llvm-lto2 run %t.o %loadbye %loadnewpmbye -opt-pipeline="goodbye" -wave-goodbye -use-new-pm -o %t -r %t.o,somefunk,plx -r %t.o,junk,plx 2>&1 | FileCheck %s ; REQUIRES: plugins, examples +; UNSUPPORTED: windows ; CHECK: Bye target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"