brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · bb3f7c3 Raw
56 lines · c
1@import templates_top;2 3template<typename T> class Vector { 4public:5  void push_back(const T&);6};7 8template<typename T> class List;9template<> class List<bool> {10public:11  void push_back(int);12};13 14namespace N {15  template<typename T> class Set {16  public:17    void insert(T);18  };19}20 21constexpr unsigned List<int>::*size_right = &List<int>::size;22List<int> list_right = { 0, 12 };23typedef List<int> ListInt_right;24 25template <typename T>26void pendingInstantiationEmit(T) {}27void triggerPendingInstantiationToo() {28  pendingInstantiationEmit(12);29}30 31void redeclDefinitionEmit(){}32 33typedef Outer<int>::Inner OuterIntInner_right;34 35int defineListDoubleRight() {36  List<double> ld;37  ld.push_back(0.0);38  return ld.size;39}40 41inline void defineListLongRight() {42  List<long> ll;43}44 45template<typename T> struct MergePatternDecl;46 47void outOfLineInlineUseRightF(void (OutOfLineInline<int>::*)() = &OutOfLineInline<int>::f);48void outOfLineInlineUseRightG(void (OutOfLineInline<int>::*)() = &OutOfLineInline<int>::g);49void outOfLineInlineUseRightH(void (OutOfLineInline<int>::*)() = &OutOfLineInline<int>::h);50 51inline int *getStaticDataMemberRight() {52  return WithUndefinedStaticDataMember<int[]>::undefined;53}54 55inline WithAttributes<int> make_with_attributes_right() { return WithAttributes<int>(); }56