Changeset f5ef08c
- Timestamp:
- Mar 18, 2016, 1:56:41 PM (9 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 6943f051
- Parents:
- dac0aa9
- Location:
- src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/Autogen.cc
rdac0aa9 rf5ef08c 261 261 if ( parameter != params.end() ) { 262 262 // matching parameter, initialize field with copy ctor 263 std::cerr << "matching parameter - copy ctor" << std::endl;264 263 Expression *srcselect = new VariableExpr(*parameter); 265 264 makeStructMemberOp( dstParam, srcselect, field, func, genericSubs, isGeneric ); 266 265 ++parameter; 267 266 } else { 268 std::cerr << "no matching parameter - default ctor" << std::endl;269 267 // no matching parameter, initialize field with default ctor 270 268 makeStructMemberOp( dstParam, NULL, field, func, genericSubs, isGeneric ); … … 320 318 321 319 // create constructors which take each member type as a parameter. 322 // we might be able to eventually collapse this into a single function323 // which uses default parameters320 // for example, for struct A { int x, y; }; generate 321 // void ?{}(A *, int) and void ?{}(A *, int, int) 324 322 std::list<Declaration *> memCtors; 325 323 FunctionType * memCtorType = ctorType->clone(); -
src/libcfa/prelude.cf
rdac0aa9 rf5ef08c 639 639 // default ctor 640 640 void ?{}( _Bool * ), ?{}( volatile _Bool * ); 641 void ?{}( unsigned char * ), ?{}( volatile unsigned char * ); 641 void ?{}( char * ), ?{}( volatile char * ); 642 void ?{}( unsigned char * ), ?{}( volatile unsigned char * ); 643 void ?{}( char signed * ), ?{}( volatile char signed * ); 644 void ?{}( int short * ), ?{}( volatile int short * ); 645 void ?{}( int short unsigned * ), ?{}( volatile int short unsigned * ); 642 646 void ?{}( signed int * ), ?{}( volatile signed int * ); 643 647 void ?{}( unsigned int * ), ?{}( volatile unsigned int * ); … … 655 659 // copy ctor 656 660 void ?{}( _Bool *, _Bool ), ?{}( volatile _Bool *, _Bool ); 661 void ?{}( char *, char ), ?{}( volatile char *, char ); 657 662 void ?{}( unsigned char *, unsigned char ), ?{}( volatile unsigned char *, unsigned char ); 663 void ?{}( char signed *, char signed ), ?{}( volatile char signed *, char signed ); 664 void ?{}( int short *, int short ), ?{}( volatile int short *, int short ); 665 void ?{}( int short unsigned *, int short unsigned ), ?{}( volatile int short unsigned *, int short unsigned ); 658 666 void ?{}( signed int *, signed int), ?{}( volatile signed int *, signed int ); 659 667 void ?{}( unsigned int *, unsigned int), ?{}( volatile unsigned int *, unsigned int ); … … 671 679 // dtor 672 680 void ^?{}( _Bool * ), ^?{}( volatile _Bool * ); 681 void ^?{}( char * ), ^?{}( volatile char * ); 682 void ^?{}( char unsigned * ), ^?{}( volatile char unsigned * ); 683 void ^?{}( char signed * ), ^?{}( volatile char signed * ); 684 void ^?{}( int short * ), ^?{}( volatile int short * ); 685 void ^?{}( int short unsigned * ), ^?{}( volatile int short unsigned * ); 673 686 void ^?{}( signed int * ), ^?{}( volatile signed int * ); 674 687 void ^?{}( unsigned int * ), ^?{}( volatile unsigned int * );
Note: See TracChangeset
for help on using the changeset viewer.