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; |
Richard Smith | cd45dbc | 2014-04-19 03:48:30 +0000 | [diff] [blame] | 6 | |
Will Schmidt | 22b065c | 2014-06-02 21:47:14 +0000 | [diff] [blame^] | 7 | // CHECK-DAG: call {{[a-z]*[ ]?i32}} @_ZN8CtorInitIiE1fEv( |
Richard Smith | cd45dbc | 2014-04-19 03:48:30 +0000 | [diff] [blame] | 8 | CtorInit<int> x; |
| 9 | |
Richard Smith | d28ac5b | 2014-03-22 23:33:22 +0000 | [diff] [blame] | 10 | @import cxx_irgen_left; |
| 11 | @import cxx_irgen_right; |
| 12 | |
Hal Finkel | 834da75 | 2014-04-12 11:50:34 +0000 | [diff] [blame] | 13 | // 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] | 14 | int a = S<int>::g(); |
| 15 | |
Hal Finkel | 834da75 | 2014-04-12 11:50:34 +0000 | [diff] [blame] | 16 | // CHECK-DAG: define available_externally {{signext i32|i32}} @_ZN1SIiE1fEv({{.*}} #[[ALWAYS_INLINE]] align |
Richard Smith | d28ac5b | 2014-03-22 23:33:22 +0000 | [diff] [blame] | 17 | int b = h(); |
| 18 | |
Hal Finkel | 834da75 | 2014-04-12 11:50:34 +0000 | [diff] [blame] | 19 | // CHECK-DAG: define linkonce_odr {{signext i32|i32}} @_Z3minIiET_S0_S0_(i32 |
Richard Smith | 04d05b5 | 2014-03-23 00:27:18 +0000 | [diff] [blame] | 20 | int c = min(1, 2); |
| 21 | |
Richard Smith | d28ac5b | 2014-03-22 23:33:22 +0000 | [diff] [blame] | 22 | // CHECK: attributes #[[ALWAYS_INLINE]] = {{.*}} alwaysinline |