blob: 49ba8340d3e4106528b01e50e9113ce9125b9ca0 [file] [log] [blame]
Richard Smithace21ba2013-07-14 02:01:48 +00001// RUN: rm -rf %t
2// RUN: %clang_cc1 -x objective-c++ -fmodules -fmodules-cache-path=%t -I %S/Inputs %s -verify -std=c++11
3
4// expected-no-diagnostics
5
Stephen Hines6bcf27b2014-05-29 04:14:42 -07006void use_implicit_new() { operator new[](3); }
7
Richard Smith868edfa2013-08-30 00:23:29 +00008@import dummy;
Richard Smithace21ba2013-07-14 02:01:48 +00009@import cxx_decls.imported;
10
11void test_delete(int *p) {
12 // We can call the normal global deallocation function even though it has only
13 // ever been explicitly declared in an unimported submodule.
14 delete p;
15}
Richard Smith868edfa2013-08-30 00:23:29 +000016
17void friend_1(HasFriends s) {
18 s.private_thing();
19}
20void test_friends(HasFriends s) {
21 friend_1(s);
22 friend_2(s);
23}
Stephen Hines6bcf27b2014-05-29 04:14:42 -070024
25static_assert(!__is_trivial(HasNontrivialDefaultConstructor), "");
26static_assert(!__has_trivial_constructor(HasNontrivialDefaultConstructor), "");
27
28void use_implicit_new_again() { operator new[](3); }