; RUN: opt -passes=verify < %s 2>&1 | FileCheck %s
; CHECK-NOT: Global is marked as dllimport, but not external

target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-msvc19.11.0"

@"?var_hook@@3HA" = extern_weak dllimport global i32, align 4

; Function Attrs: noinline optnone uwtable
define dso_local zeroext i1 @"?foo@@YA_NPEAHH@Z"(ptr %0, i32 %1) #0 {
   ret i1 0
}

declare extern_weak dllimport void @func_hook(i32) #1

attributes #0 = { noinline optnone uwtable }
attributes #1 = { uwtable }

; Compiled from the following C++ example with --target=x86_64-pc-win32,
; using the non-checking configuration
;__declspec(dllimport) __attribute__((weak)) extern "C" void func_hook(int);
;extern __declspec(dllimport) __attribute__((weak)) int var_hook;
;bool foo(int *q, int p)
;{
;  if (func_hook)
;    func_hook(p);
;  return &var_hook == q;
;}
