|  | ; 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; | 
|  | ;} |