Richard Smith | e6975e9 | 2012-04-17 00:58:00 +0000 | [diff] [blame^] | 1 | // RUN: %clang_cc1 -std=c++11 -verify -emit-llvm %s -o - | FileCheck %s |
| 2 | |
| 3 | template<typename T> void f() noexcept(sizeof(T) == 4); |
| 4 | |
| 5 | void g() { |
| 6 | // CHECK: declare void @_Z1fIiEvv() nounwind |
| 7 | f<int>(); |
| 8 | // CHECK: declare void @_Z1fIA2_iEvv() |
| 9 | f<int[2]>(); |
| 10 | // CHECK: declare void @_Z1fIfEvv() nounwind |
| 11 | void (*f1)() = &f<float>; |
| 12 | // CHECK: declare void @_Z1fIdEvv() |
| 13 | void (*f2)() = &f<double>; |
| 14 | // CHECK: declare void @_Z1fIA4_cEvv() nounwind |
| 15 | (void)&f<char[4]>; |
| 16 | // CHECK: declare void @_Z1fIcEvv() |
| 17 | (void)&f<char>; |
| 18 | } |