brintos

brintos / llvm-project-archived public Read only

0
0
Text · 833 B · f1c7dd9 Raw
53 lines · cpp
1// RUN: %clang_cc1 %s -emit-llvm -o %t2 3extern "C" int printf(...);4 5struct M {6  M(int i){ iM = i; }7  int iM;8  void MPR() { printf("iM = %d\n", iM); }9 10};11 12struct Q {13  Q(int i){ iQ = i; }14  int iQ;15  void QPR() { printf("iQ = %d\n", iQ); }16};17 18struct IQ {19  IQ(int i) { iIQ = i; }20  void IQPR() { printf("iIQ = %d\n", iIQ); }21  int iIQ;22};23 24struct L : IQ {25  L(int i) : IQ(i+100) { iL = i; }26  int iL;27};28 29struct P : Q, L  {30  P(int i) : Q(i+100), L(i+200) { iP = i; }31  int iP;32  void PPR() { printf("iP = %d\n", iP); }33};34 35 36struct N : M,P {37  N() : M(100), P(200) {}38  void PR() {39    this->MPR(); this->PPR(); this->QPR(); 40    IQPR();41    printf("iM = %d\n", iM); 42    printf("iP = %d\n", iP);43    printf("iQ = %d\n", iQ);44    printf("iL = %d\n", iL);45    printf("iIQ = %d\n", iIQ);46  }47};48 49int main() {50  N n1;51  n1.PR();52}53