Changeset be151bf


Ignore:
Timestamp:
Oct 19, 2017, 11:13:12 AM (4 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
aaron-thesis, arm-eh, cleanup-dtors, deferred_resn, demangler, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, resolv-new, with_gc
Children:
a117f7c
Parents:
21ea170
git-author:
Rob Schluntz <rschlunt@…> (10/12/17 15:53:05)
git-committer:
Rob Schluntz <rschlunt@…> (10/19/17 11:13:12)
Message:

Minor cleanup in InsertImplicitCalls? and augment assert in strict_dynamic_cast

Location:
src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/InitTweak/FixInit.cc

    r21ea170 rbe151bf  
    323323
    324324                Expression * InsertImplicitCalls::postmutate( ApplicationExpr * appExpr ) {
    325                         assert( appExpr );
    326 
    327325                        if ( VariableExpr * function = dynamic_cast< VariableExpr * > ( appExpr->get_function() ) ) {
    328                                 if ( LinkageSpec::isBuiltin( function->get_var()->get_linkage() ) ) {
     326                                if ( function->var->linkage.is_builtin ) {
    329327                                        // optimization: don't need to copy construct in order to call intrinsic functions
    330328                                        return appExpr;
     
    332330                                        FunctionType * ftype = dynamic_cast< FunctionType * >( GenPoly::getFunctionType( funcDecl->get_type() ) );
    333331                                        assertf( ftype, "Function call without function type: %s", toString( funcDecl ).c_str() );
    334                                         if ( CodeGen::isConstructor( funcDecl->get_name() ) && ftype->get_parameters().size() == 2 ) {
    335                                                 Type * t1 = getPointerBase( ftype->get_parameters().front()->get_type() );
    336                                                 Type * t2 = ftype->get_parameters().back()->get_type();
     332                                        if ( CodeGen::isConstructor( funcDecl->get_name() ) && ftype->parameters.size() == 2 ) {
     333                                                Type * t1 = getPointerBase( ftype->parameters.front()->get_type() );
     334                                                Type * t2 = ftype->parameters.back()->get_type();
    337335                                                assert( t1 );
    338336
  • src/include/cassert

    r21ea170 rbe151bf  
    4141static inline T strict_dynamic_cast( const U & src ) {
    4242        T ret = dynamic_cast<T>(src);
    43         assert(ret);
     43        assertf(ret, "%s", toString(src).c_str());
    4444        return ret;
    4545}
Note: See TracChangeset for help on using the changeset viewer.