Home | History | Annotate | Download | only in Inputs
      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;
     25 inline int getMergeUsedFlag() { return mergeUsedFlag; }
     26