Changeset 0111dc7 for doc/rob_thesis/variadic.tex
- Timestamp:
- Apr 13, 2017, 8:29:38 PM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, 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
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/rob_thesis/variadic.tex
rc87eb50 r0111dc7 418 418 *_p0; // ^?{} 419 419 } 420 void _thunk4(struct _conc__tuple2_0 _p0){ // void print([int, const char *]) 420 void _thunk4(struct _conc__tuple2_0 _p0){ 421 // void print([int, const char *]) 421 422 struct _tuple1_ { // _tuple1_(T0) 422 423 void *field_0; … … 428 429 print_string(_pp0.field_0); // print(rest.0) 429 430 } 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 ){ 431 437 *(int *)_ret=((int (*)(int *, int))_adaptee)(_p0, *(int *)_p1); 432 438 } … … 438 444 } 439 445 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 ); 441 449 } 442 450 print_variadic( … … 449 457 sizeof(struct _conc__tuple1_1), 450 458 __alignof__(struct _conc__tuple1_1), 451 (void *(*)(void *, void *))_assign_i, 452 (void (*)(void *))_ctor_i, 453 (void (*)(void *, void *))_ctor_ii, 454 (void (*)(void *))_dtor_ii, 455 (void (*)(void *))print_int, 456 (void (*)(void *))&_thunk5, 457 &_p0.field_0, 458 &(struct _conc__tuple1_1 ){ _p0.field_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] 459 467 ); 460 468 } … … 480 488 } 481 489 void _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 ); 483 494 } 484 495 void _adapter_string_(void (*_adaptee)(), void *_p0){ … … 486 497 } 487 498 void _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 ); 489 502 } 490 503 print_variadic( … … 497 510 sizeof(struct _conc__tuple2_0 ), 498 511 __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 *]) 505 518 &_temp0, // "x = " 506 519 (({ // copy construct tuple argument to print
Note: See TracChangeset
for help on using the changeset viewer.