Changeset 4741dfe


Ignore:
Timestamp:
Jun 5, 2019, 11:24:16 AM (5 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
d4b6638
Parents:
bc4bea8
Message:

Better error printing on yesterday's fix

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/InitTweak/FixInit.cc

    rbc4bea8 r4741dfe  
    715715                                stmtsToAddBefore.push_back( new DeclStmt( ret ) );
    716716
    717                                 if(!stmtExpr->resultExpr) {
    718                                         SemanticError(stmtExpr, "Statement-Expression should have a resulting expression");
    719                                 }
     717                                assertf(
     718                                        stmtExpr->resultExpr,
     719                                        "Statement-Expression should have a resulting expression at %s:%d",
     720                                        stmtExpr->location.filename.c_str(),
     721                                        stmtExpr->location.first_line
     722                                );
     723
    720724                                ExprStmt * last = stmtExpr->resultExpr;
    721725                                try {
    722726                                        last->expr = makeCtorDtor( "?{}", ret, last->expr );
    723727                                } catch(...) {
    724                                         std::cerr << "=======================" << std::endl;
    725                                         std::cerr << "ERROR, can't resolve" << std::endl;
    726                                         ret->print(std::cerr);
    727                                         std::cerr << std::endl << "---" << std::endl;
    728                                         last->expr->print(std::cerr);
     728                                        std::cerr << "*CFA internal error: ";
     729                                        std::cerr << "can't resolve implicit constructor";
     730                                        std::cerr << " at " << stmtExpr->location.filename;
     731                                        std::cerr << ":" << stmtExpr->location.first_line << std::endl;
    729732
    730733                                        abort();
Note: See TracChangeset for help on using the changeset viewer.