Changes in src/CodeGen/CodeGenerator.cpp [b6f2e7ab:ecf3812]
- File:
-
- 1 edited
-
src/CodeGen/CodeGenerator.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/CodeGenerator.cpp
rb6f2e7ab 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.