Changeset d55d7a6 for src/InitTweak
- Timestamp:
- Feb 15, 2018, 3:58:56 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 75e3cb2
- Parents:
- d27e340
- Location:
- src/InitTweak
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/InitTweak/FixInit.cc
rd27e340 rd55d7a6 282 282 translationUnit.splice( i, fixer.pass.staticDtorDecls ); 283 283 } catch( SemanticError &e ) { 284 e.set_location( (*i)->location );285 284 errors.append( e ); 286 285 } // try … … 895 894 ) 896 895 if ( ! diff.empty() ) { 897 throw SemanticError( st d::string("jump to label '") + stmt->get_target().get_name() + "' crosses initialization of " + (*diff.begin())->get_name() + " ", stmt);896 throw SemanticError( stmt, std::string("jump to label '") + stmt->get_target().get_name() + "' crosses initialization of " + (*diff.begin())->get_name() + " " ); 898 897 } // if 899 898 // S_G-S_L results in set of objects that must be destructed … … 1111 1110 template< typename Visitor, typename... Params > 1112 1111 void error( Visitor & v, CodeLocation loc, const Params &... params ) { 1113 SemanticError err( toString( params... ) ); 1114 err.set_location( loc ); 1112 SemanticError err( loc, toString( params... ) ); 1115 1113 v.errors.append( err ); 1116 1114 } -
src/InitTweak/GenInit.cc
rd27e340 rd55d7a6 317 317 if ( tryConstruct( objDecl ) && ( managedTypes.isManaged( objDecl ) || ((! inFunction || objDecl->get_storageClasses().is_static ) && ! isConstExpr( objDecl->get_init() ) ) ) ) { 318 318 // constructed objects cannot be designated 319 if ( isDesignated( objDecl->get_init() ) ) throw SemanticError( "Cannot include designations in the initializer for a managed Object. If this is really what you want, then initialize with @=.\n", objDecl);319 if ( isDesignated( objDecl->get_init() ) ) throw SemanticError( objDecl, "Cannot include designations in the initializer for a managed Object. If this is really what you want, then initialize with @=.\n" ); 320 320 // constructed objects should not have initializers nested too deeply 321 if ( ! checkInitDepth( objDecl ) ) throw SemanticError( "Managed object's initializer is too deep ", objDecl);321 if ( ! checkInitDepth( objDecl ) ) throw SemanticError( objDecl, "Managed object's initializer is too deep " ); 322 322 323 323 objDecl->set_init( genCtorInit( objDecl ) ); -
src/InitTweak/InitTweak.cc
rd27e340 rd55d7a6 225 225 // xxx - this shouldn't be an error, but need a way to 226 226 // terminate without creating output, so should catch this error 227 throw SemanticError( "unbalanced list initializers" );227 throw SemanticError( init->location, "unbalanced list initializers" ); 228 228 } 229 229
Note: See TracChangeset
for help on using the changeset viewer.