184fd6df966208b380cba072d2f2883962b9d270aEli Friedman// RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -o - %s | FileCheck %s 284fd6df966208b380cba072d2f2883962b9d270aEli Friedman 384fd6df966208b380cba072d2f2883962b9d270aEli Friedman// PR14355: don't crash 484fd6df966208b380cba072d2f2883962b9d270aEli Friedman// Keep this test in its own file because CodeGenTypes has global state. 5c3af6799d4c8ec4b338236e4361c0795e9af890aBill Wendling// CHECK: define void @test10_foo({}* %p1.coerce) [[NUW:#[0-9]+]] { 684fd6df966208b380cba072d2f2883962b9d270aEli Friedmanstruct test10_B; 784fd6df966208b380cba072d2f2883962b9d270aEli Friedmantypedef struct test10_B test10_F3(double); 884fd6df966208b380cba072d2f2883962b9d270aEli Friedmanvoid test10_foo(test10_F3 p1); 984fd6df966208b380cba072d2f2883962b9d270aEli Friedmanstruct test10_B test10_b(double); 1084fd6df966208b380cba072d2f2883962b9d270aEli Friedmanvoid test10_bar() { 1184fd6df966208b380cba072d2f2883962b9d270aEli Friedman test10_foo(test10_b); 1284fd6df966208b380cba072d2f2883962b9d270aEli Friedman} 1384fd6df966208b380cba072d2f2883962b9d270aEli Friedmanstruct test10_B {}; 1484fd6df966208b380cba072d2f2883962b9d270aEli Friedmanvoid test10_foo(test10_F3 p1) 1584fd6df966208b380cba072d2f2883962b9d270aEli Friedman{ 1684fd6df966208b380cba072d2f2883962b9d270aEli Friedman p1(0.0); 1784fd6df966208b380cba072d2f2883962b9d270aEli Friedman} 18f7a9da053f5bd6c18450c1796d953b42c3b7ad3aBill Wendling 19c3af6799d4c8ec4b338236e4361c0795e9af890aBill Wendling// CHECK: attributes [[NUW]] = { nounwind{{.*}} } 20