Richard Smith | d28ac5b | 2014-03-22 23:33:22 +0000 | [diff] [blame] | 1 | // RUN: rm -rf %t |
Richard Smith | 04d05b5 | 2014-03-23 00:27:18 +0000 | [diff] [blame] | 2 | // RUN: %clang_cc1 -fmodules -x objective-c++ -std=c++11 -fmodules-cache-path=%t -I %S/Inputs -triple %itanium_abi_triple -disable-llvm-optzns -emit-llvm -o - %s | FileCheck %s |
Richard Smith | d28ac5b | 2014-03-22 23:33:22 +0000 | [diff] [blame] | 3 | // FIXME: When we have a syntax for modules in C++, use that. |
| 4 | |
| 5 | @import cxx_irgen_top; |
| 6 | @import cxx_irgen_left; |
| 7 | @import cxx_irgen_right; |
| 8 | |
Hal Finkel | 834da75 | 2014-04-12 11:50:34 +0000 | [diff] [blame^] | 9 | // CHECK-DAG: define available_externally hidden {{signext i32|i32}} @_ZN1SIiE1gEv({{.*}} #[[ALWAYS_INLINE:.*]] align |
Richard Smith | d28ac5b | 2014-03-22 23:33:22 +0000 | [diff] [blame] | 10 | int a = S<int>::g(); |
| 11 | |
Hal Finkel | 834da75 | 2014-04-12 11:50:34 +0000 | [diff] [blame^] | 12 | // CHECK-DAG: define available_externally {{signext i32|i32}} @_ZN1SIiE1fEv({{.*}} #[[ALWAYS_INLINE]] align |
Richard Smith | d28ac5b | 2014-03-22 23:33:22 +0000 | [diff] [blame] | 13 | int b = h(); |
| 14 | |
Hal Finkel | 834da75 | 2014-04-12 11:50:34 +0000 | [diff] [blame^] | 15 | // CHECK-DAG: define linkonce_odr {{signext i32|i32}} @_Z3minIiET_S0_S0_(i32 |
Richard Smith | 04d05b5 | 2014-03-23 00:27:18 +0000 | [diff] [blame] | 16 | int c = min(1, 2); |
| 17 | |
Richard Smith | d28ac5b | 2014-03-22 23:33:22 +0000 | [diff] [blame] | 18 | // CHECK: attributes #[[ALWAYS_INLINE]] = {{.*}} alwaysinline |