// RUN: %clang_cc1 -triple i386-unknown-unknown -fexceptions -emit-llvm -o - %s | FileCheck %s
// RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm -o - %s | FileCheck -check-prefix CHECK-NOEXC %s

int opaque(void);

// CHECK:       define{{.*}} [[INT:i.*]] @test0() [[TF:#[0-9]+]] {
// CHECK-NOEXC: define{{.*}} [[INT:i.*]] @test0() [[NUW:#[0-9]+]] {
int test0(void) {
  return opaque();
}

// locally infer nounwind at -O0
// CHECK:       define{{.*}} [[INT:i.*]] @test1() [[NUW:#[0-9]+]] {
// CHECK-NOEXC: define{{.*}} [[INT:i.*]] @test1() [[NUW]] {
int test1(void) {
  return 0;
}

// not for weak functions
// CHECK:       define weak{{.*}} [[INT:i.*]] @test2() [[TF]] {
// CHECK-NOEXC: define weak{{.*}} [[INT:i.*]] @test2() [[NUW]] {
__attribute__((weak)) int test2(void) {
  return 0;
}

// CHECK: attributes [[TF]] = { noinline optnone "{{.*}} }
// CHECK: attributes [[NUW]] = { noinline nounwind{{.*}} }

// CHECK-NOEXC: attributes [[NUW]] = { noinline nounwind{{.*}} }
