Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/InitTweak/FixInit.cc

    r29bc63e r698ec72  
    5858#include "SynTree/TypeSubstitution.h"  // for TypeSubstitution, operator<<
    5959#include "SynTree/Visitor.h"           // for acceptAll, maybeAccept
     60#include "Tuples/Tuples.h"             // for isTtype
    6061
    6162bool ctordtorp = false; // print all debug
     
    367368                }
    368369
    369                 bool ResolveCopyCtors::skipCopyConstruct( Type * type ) { return ! isConstructable( type ); }
     370                bool ResolveCopyCtors::skipCopyConstruct( Type * type ) {
     371                        return dynamic_cast< VarArgsType * >( type ) || dynamic_cast< ReferenceType * >( type ) || GenPoly::getFunctionType( type ) || Tuples::isTtype( type );
     372                }
    370373
    371374                Expression * ResolveCopyCtors::makeCtorDtor( const std::string & fname, ObjectDecl * var, Expression * cpArg ) {
     
    816819                                        assert( ! ctorInit->get_ctor() || ! ctorInit->get_init() );
    817820                                        Statement * dtor = ctorInit->get_dtor();
    818                                         // don't need to call intrinsic dtor, because it does nothing, but
    819                                         // non-intrinsic dtors must be called
    820821                                        if ( dtor && ! isIntrinsicSingleArgCallStmt( dtor ) ) {
    821                                                 // set dtor location to the object's location for error messages
    822                                                 ctorInit->dtor->location = objDecl->location;
     822                                                // don't need to call intrinsic dtor, because it does nothing, but
     823                                                // non-intrinsic dtors must be called
    823824                                                reverseDeclOrder.front().push_front( objDecl );
    824825                                        } // if
Note: See TracChangeset for help on using the changeset viewer.