// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
// RUN: cxx_compiler -c cxx_rtti cxx_exceptions %s -o %t.o
// RUN: linker %t.o -o %t%exeext
// RUN: bindump %t.o| FileCheck %s

// Test run-time library includes support for builtin type "unsigned int"

unsigned int global_var = 5;
unsigned int const *global_ptr;

// CHECK-DAG: _ZTIj
void foo1() { throw global_var; }
// CHECK-DAG: _ZTIPj
void foo2() { throw &global_var; }
// CHECK-DAG: _ZTIPKj
void foo3() { throw global_ptr; }

int main(int argc, char *argv[]) {
  return 0;
}
