• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 class HasFriends {
2   friend void friend_1(HasFriends);
3   friend void friend_2(HasFriends);
4   void private_thing();
5 };
6 
7 struct HasNontrivialDefaultConstructor {
8   HasNontrivialDefaultConstructor() = default;
9   HasNontrivialDefaultConstructor(int n = 0);
10 
11   // Ensure this class is not POD but is still trivially-copyable.
12   // This is necessary to exercise the second static_assert below,
13   // because GCC's spec for __has_trivial_constructor is absurd.
14   int m;
15 private:
16   int n;
17 };
18 
19 static_assert(!__is_trivial(HasNontrivialDefaultConstructor), "");
20 static_assert(!__has_trivial_constructor(HasNontrivialDefaultConstructor), "");
21 
22 void *operator new[](__SIZE_TYPE__);
23 
24 extern int mergeUsedFlag;
getMergeUsedFlag()25 inline int getMergeUsedFlag() { return mergeUsedFlag; }
26