Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/CodeGen/CodeGenerator.cc

    r12df6fe r9d55ff6  
    277277                std::list< Declaration* > &memb = enumDecl->get_members();
    278278                if (enumDecl->base && ! memb.empty()) {
    279                         unsigned long long last_val = -1; // if the first enum value has no explicit initializer,
    280                         // as other
     279                        unsigned long long last_val = -1;
    281280                        for ( std::list< Declaration* >::iterator i = memb.begin(); i != memb.end();  i++) {
    282281                                ObjectDecl * obj = dynamic_cast< ObjectDecl* >( *i );
     
    494493                                        assert( false );
    495494                                } // switch
     495                        } else if( varExpr->get_var()->get_linkage() == LinkageSpec::BuiltinCFA && varExpr->get_var()->get_name() == "intptr" ) {
     496                                // THIS is a hack to make it a constant until a proper constexpr solution is created
     497                                output << "((void*)";
     498                                std::list< Expression* >::iterator arg = applicationExpr->get_args().begin();
     499                                (*arg++)->accept( *visitor );
     500                                output << ")";
    496501                        } else {
    497502                                varExpr->accept( *visitor );
     
    690695                        output << opInfo->symbol;
    691696                } else {
     697                        // if (dynamic_cast<EnumInstType *>(variableExpr->get_var()->get_type())
     698                        // && dynamic_cast<EnumInstType *>(variableExpr->get_var()->get_type())->baseEnum->base) {
     699                        //      output << '(' <<genType(dynamic_cast<EnumInstType *>(variableExpr->get_var()->get_type())->baseEnum->base, "", options) << ')';
     700                        // }
    692701                        output << mangleName( variableExpr->get_var() );
    693702                } // if
     
    908917        }
    909918
    910         // QualifiedNameExpr should not reach to CodeGen.
    911         // FixQualifiedName Convert QualifiedNameExpr to VariableExpr
    912         void CodeGenerator::postvisit( QualifiedNameExpr * expr ) {
    913                 output << "/* label */" << mangleName(expr->var);
    914         }
    915919
    916920        // *** Statements
Note: See TracChangeset for help on using the changeset viewer.