Ignore:
Timestamp:
Apr 13, 2017, 8:29:38 PM (5 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
aaron-thesis, arm-eh, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
1a16e9d
Parents:
c87eb50
Message:

penultimate thesis draft

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/rob_thesis/variadic.tex

    rc87eb50 r0111dc7  
    418418  *_p0; // ^?{}
    419419}
    420 void _thunk4(struct _conc__tuple2_0 _p0){ // void print([int, const char *])
     420void _thunk4(struct _conc__tuple2_0 _p0){
     421        // void print([int, const char *])
    421422  struct _tuple1_ { // _tuple1_(T0)
    422423    void *field_0;
     
    428429    print_string(_pp0.field_0);  // print(rest.0)
    429430  }
    430   void _adapter_i_pii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
     431  void _adapter_i_pii_(
     432    void (*_adaptee)(),
     433    void *_ret,
     434    void *_p0,
     435    void *_p1
     436  ){
    431437    *(int *)_ret=((int (*)(int *, int))_adaptee)(_p0, *(int *)_p1);
    432438  }
     
    438444  }
    439445  void _adapter_tuple1_5_(void (*_adaptee)(), void *_p0){
    440     ((void (*)(struct _conc__tuple1_1 ))_adaptee)(*(struct _conc__tuple1_1 *)_p0);
     446    ((void (*)(struct _conc__tuple1_1 ))_adaptee)(
     447      *(struct _conc__tuple1_1 *)_p0
     448    );
    441449  }
    442450  print_variadic(
     
    449457    sizeof(struct _conc__tuple1_1),
    450458    __alignof__(struct _conc__tuple1_1),
    451     (void *(*)(void *, void *))_assign_i,     // int ?=?(int *, int)
    452     (void (*)(void *))_ctor_i,                // void ?{}(int *)
    453     (void (*)(void *, void *))_ctor_ii,       // void ?{}(int *, int)
    454     (void (*)(void *))_dtor_ii,               // void ^?{}(int *)
    455     (void (*)(void *))print_int,              // void print(int)
    456     (void (*)(void *))&_thunk5,               // void print([const char *])
    457     &_p0.field_0,                             // rest.0
    458     &(struct _conc__tuple1_1 ){ _p0.field_1 } // [rest.1]
     459    (void *(*)(void *, void *))_assign_i,    // int ?=?(int *, int)
     460    (void (*)(void *))_ctor_i,               // void ?{}(int *)
     461    (void (*)(void *, void *))_ctor_ii,      // void ?{}(int *, int)
     462    (void (*)(void *))_dtor_ii,              // void ^?{}(int *)
     463    (void (*)(void *))print_int,             // void print(int)
     464    (void (*)(void *))&_thunk5,              // void print([const char *])
     465    &_p0.field_0,                            // rest.0
     466    &(struct _conc__tuple1_1 ){ _p0.field_1 }// [rest.1]
    459467  );
    460468}
     
    480488}
    481489void _adapter_pstring_string(void (*_adaptee)(), void *_p0, void *_p1){
    482   ((void (*)(const char **, const char *))_adaptee)(_p0, *(const char **)_p1);
     490  ((void (*)(const char **, const char *))_adaptee)(
     491    _p0,
     492    *(const char **)_p1
     493  );
    483494}
    484495void _adapter_string_(void (*_adaptee)(), void *_p0){
     
    486497}
    487498void _adapter_tuple2_0_(void (*_adaptee)(), void *_p0){
    488   ((void (*)(struct _conc__tuple2_0 ))_adaptee)(*(struct _conc__tuple2_0 *)_p0);
     499  ((void (*)(struct _conc__tuple2_0 ))_adaptee)(
     500    *(struct _conc__tuple2_0 *)_p0
     501  );
    489502}
    490503print_variadic(
     
    497510  sizeof(struct _conc__tuple2_0 ),
    498511  __alignof__(struct _conc__tuple2_0 ),
    499   (void *(*)(void *, void *))&_thunk0, // const char * ?=?(const char **, const char *)
    500   (void (*)(void *))&_thunk1,          // void ?{}(const char **)
    501   (void (*)(void *, void *))&_thunk2,  // void ?{}(const char **, const char *)
    502   (void (*)(void *))&_thunk3,          // void ^?{}(const char **)
    503   (void (*)(void *))print_string,      // void print(const char *)
    504   (void (*)(void *))&_thunk4,          // void print([int, const char *])
     512  &_thunk0,    // const char * ?=?(const char **, const char *)
     513  &_thunk1,     // void ?{}(const char **)
     514  &_thunk2,     // void ?{}(const char **, const char *)
     515  &_thunk3,     // void ^?{}(const char **)
     516  print_string, // void print(const char *)
     517  &_thunk4,     // void print([int, const char *])
    505518  &_temp0,                             // "x = "
    506519  (({  // copy construct tuple argument to print
Note: See TracChangeset for help on using the changeset viewer.