Changeset ecf3812 for src/CodeGen
- Timestamp:
- Nov 19, 2024, 5:02:03 PM (10 months ago)
- Branches:
- master
- Children:
- d945be9
- Parents:
- 29075d1
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/CodeGenerator.cpp
r29075d1 recf3812 680 680 extension( expr ); 681 681 output << "("; 682 if ( expr->result->isVoid() ) { 683 output << "(void)"; 684 } else { 685 output << "("; 682 switch ( expr->kind ) { 683 case ast::CCast: 684 if ( expr->result->isVoid() ) { 685 output << "(void)"; 686 } else { 687 output << "("; 688 output << genType( expr->result, "", options ); 689 output << ")"; 690 } 691 break; 692 case ast::CoerceCast: 693 assertf( ast::CoerceCast != expr->kind, "Coercion cast is not implemented." ); 694 // And likely shouldn't reach code generation when it is implemented. 695 break; 696 case ast::ReturnCast: 697 // This should be invisible in the resulting C code. 698 // Can we insert a check here? 699 //assert( ResolvExpr::typesCompatable(???) ); 700 if ( options.genC ) break; 701 output << "(return "; 686 702 output << genType( expr->result, "", options ); 687 703 output << ")"; 704 break; 688 705 } 689 706 expr->arg->accept( *visitor );
Note:
See TracChangeset
for help on using the changeset viewer.