Changes in / [9151fcb:5684736]


Ignore:
Location:
src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Convert.cpp

    r9151fcb r5684736  
    735735                expr->var = get<DeclarationWithType>().accept1(node->var);
    736736                Type * type = expr->var->get_type()->clone();
    737                 if(FunctionType * ft = dynamic_cast<FunctionType*>(type)) {
    738                         if(node->result.as<ast::PointerType>()) {
    739                                 type = new PointerType({}, ft);
    740                         }
    741                 }
    742 
    743737                type->set_lvalue( true );
    744                 expr->result = type ;
     738                expr->set_result( type );
    745739                this->node = expr;
    746740                return nullptr;
     
    788782                        assert (!rslt->isType);
    789783                }
    790                 else {
    791                         assert(node->type);
     784                if (node->type) {
    792785                        rslt = new SizeofExpr(
    793786                                get<Type>().accept1(node->type)
     
    810803                        assert (!rslt->isType);
    811804                }
    812                 else {
    813                         assert(node->type);
     805                if (node->type) {
    814806                        rslt = new AlignofExpr(
    815807                                get<Type>().accept1(node->type)
     
    21572149                );
    21582150
    2159                 visitBaseExpr_SkipResultType( old,
     2151                visitBaseExpr( old,
    21602152                        expr
    21612153                );
     
    21632155                expr->var = GET_ACCEPT_1(var, DeclWithType);
    21642156                expr->result = expr->var->get_type();
    2165                 if(const ast::FunctionType * ft = expr->result.as<ast::FunctionType>()) {
    2166                         if(dynamic_cast<PointerType *>(old->result)) {
    2167                                 expr->result = new ast::PointerType(ft);
    2168                         }
    2169                 }
    21702157                add_qualifiers( expr->result, ast::CV::Lvalue );
    21712158                this->node = expr;
  • src/GenPoly/Lvalue.cc

    r9151fcb r5684736  
    196196                                unsigned int i = 0;
    197197                                const unsigned int end = ftype->parameters.size();
    198 
    199                                 /// The for loop may eagerly dereference the iterators and fail on empty lists
    200                                 if(i == end) { return appExpr; }
    201198                                for ( auto p : unsafe_group_iterate( appExpr->args, ftype->parameters ) ) {
    202199                                        if (i == end) break;
Note: See TracChangeset for help on using the changeset viewer.