Changeset ca9d65e


Ignore:
Timestamp:
Dec 14, 2023, 9:05:55 PM (7 months ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
master
Children:
19a2890
Parents:
21ad568
Message:

second attempt at simplifying SemanticError? messages

Files:
17 edited

Legend:

Unmodified
Added
Removed
  • src/CodeGen/FixMain.cc

    r21ad568 rca9d65e  
    1111// Last Modified By :
    1212// Last Modified On :
    13 // Update Count     : 0
     13// Update Count     : 1
    1414//
    1515
     
    3939                if ( isMain( decl ) ) {
    4040                        if ( main_declaration ) {
    41                                 SemanticError( decl, "Multiple definition of main routine\n" );
     41                                SemanticError( decl, "Multiple definition of main routine" );
    4242                        }
    4343                        main_declaration = decl;
  • src/CodeGen/FixNames.cc

    r21ad568 rca9d65e  
    99// Author           : Richard C. Bilson
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Andrew Beach
    12 // Last Modified On : Wed Jul 20 11:49:00 2022
    13 // Update Count     : 24
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Thu Dec 14 16:16:51 2023
     13// Update Count     : 25
    1414//
    1515
     
    5757                        int nargs = mutDecl->params.size();
    5858                        if ( 0 != nargs && 2 != nargs && 3 != nargs ) {
    59                                 SemanticError( functionDecl, "Main expected to have 0, 2 or 3 arguments\n" );
     59                                SemanticError( functionDecl, "Main expected to have 0, 2 or 3 arguments" );
    6060                        }
    6161                        ast::chain_mutate( mutDecl->stmts )->kids.push_back(
  • src/Concurrency/Corun.cpp

    r21ad568 rca9d65e  
    99// Author           : Colby Parsons
    1010// Created On       : Monday October 9 15:16:42 2023
    11 // Last Modified By : Colby Parsons
    12 // Last Modified On : Monday October 9 15:16:42 2023
    13 // Update Count     : 0
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Thu Dec 14 17:32:17 2023
     13// Update Count     : 1
    1414//
    1515
     
    5757    Stmt * postvisit( const CoforStmt * stmt ) {
    5858        if ( !runnerBlockDecl || !coforRunnerDecl )
    59             SemanticError( stmt->location, "To use cofor statements add #include <cofor.hfa>\n" );
     59            SemanticError( stmt->location, "To use cofor statements add #include <cofor.hfa>" );
    6060
    6161        if ( stmt->inits.size() != 1 )
    62             SemanticError( stmt->location, "Cofor statements must have a single initializer in the loop control\n" );
     62            SemanticError( stmt->location, "Cofor statements must have a single initializer in the loop control" );
    6363
    6464        if ( !stmt->body )
     
    7777        const DeclStmt * declStmtPtr = dynamic_cast<const DeclStmt *>(stmt->inits.at(0).get());
    7878        if ( ! declStmtPtr )
    79             SemanticError( stmt->location, "Cofor statement initializer is somehow not a decl statement?\n" );
     79            SemanticError( stmt->location, "Cofor statement initializer is somehow not a decl statement?" );
    8080
    8181        const Decl * declPtr = dynamic_cast<const Decl *>(declStmtPtr->decl.get());
    8282        if ( ! declPtr )
    83             SemanticError( stmt->location, "Cofor statement initializer is somehow not a decl?\n" );
     83            SemanticError( stmt->location, "Cofor statement initializer is somehow not a decl?" );
    8484
    8585        Type * initType = new TypeofType( new NameExpr( loc, declPtr->name ) );
     
    246246    Stmt * postvisit( const CorunStmt * stmt ) {
    247247        if ( !runnerBlockDecl || !coforRunnerDecl )
    248             SemanticError( stmt->location, "To use corun statements add #include <cofor.hfa>\n" );
     248            SemanticError( stmt->location, "To use corun statements add #include <cofor.hfa>" );
    249249
    250250        if ( !stmt->stmt )
  • src/Concurrency/Keywords.cpp

    r21ad568 rca9d65e  
    99// Author           : Andrew Beach
    1010// Created On       : Tue Nov 16  9:53:00 2021
    11 // Last Modified By : Andrew Beach
    12 // Last Modified On : Fri Mar 11 10:40:00 2022
    13 // Update Count     : 2
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Thu Dec 14 18:02:25 2023
     13// Update Count     : 6
    1414//
    1515
     
    682682
    683683        if ( 0 != decl->returns.size() ) {
    684                 SemanticError( decl->location, "Generator main must return void" );
     684                SemanticError( decl->location, "Generator main must return void." );
    685685        }
    686686
     
    789789        case ast::SuspendStmt::Generator:
    790790                // Generator suspends must be directly in a generator.
    791                 if ( !in_generator ) SemanticError( stmt->location, "'suspend generator' must be used inside main of generator type." );
     791                if ( !in_generator ) SemanticError( stmt->location, "\"suspend generator\" must be used inside main of generator type." );
    792792                return make_generator_suspend( stmt );
    793793        }
     
    847847
    848848        if ( !decl_suspend ) {
    849                 SemanticError( location, "suspend keyword applied to coroutines requires coroutines to be in scope, add #include <coroutine.hfa>\n" );
     849                SemanticError( location, "suspend keyword applied to coroutines requires coroutines to be in scope, add #include <coroutine.hfa>." );
    850850        }
    851851        if ( stmt->then ) {
     
    918918                        // If it is a monitor, then it is a monitor.
    919919                        if( baseStruct->base->is_monitor() || baseStruct->base->is_thread() ) {
    920                                 SemanticError( decl, "destructors for structures declared as \"monitor\" must use mutex parameters\n" );
     920                                SemanticError( decl, "destructors for structures declared as \"monitor\" must use mutex parameters " );
    921921                        }
    922922                }
     
    926926        // Monitors can't be constructed with mutual exclusion.
    927927        if ( CodeGen::isConstructor( decl->name ) && is_first_argument_mutex ) {
    928                 SemanticError( decl, "constructors cannot have mutex parameters\n" );
     928                SemanticError( decl, "constructors cannot have mutex parameters " );
    929929        }
    930930
    931931        // It makes no sense to have multiple mutex parameters for the destructor.
    932932        if ( isDtor && mutexArgs.size() != 1 ) {
    933                 SemanticError( decl, "destructors can only have 1 mutex argument\n" );
     933                SemanticError( decl, "destructors can only have 1 mutex argument " );
    934934        }
    935935
     
    945945        // Check to if the required headers have been seen.
    946946        if ( !monitor_decl || !guard_decl || !dtor_guard_decl ) {
    947                 SemanticError( decl, "mutex keyword requires monitors to be in scope, add #include <monitor.hfa>\n" );
     947                SemanticError( decl, "mutex keyword requires monitors to be in scope, add #include <monitor.hfa>." );
    948948        }
    949949
     
    952952        if ( isDtor && isThread( mutexArgs.front() ) ) {
    953953                if ( !thread_guard_decl ) {
    954                         SemanticError( decl, "thread destructor requires threads to be in scope, add #include <thread.hfa>\n" );
     954                        SemanticError( decl, "thread destructor requires threads to be in scope, add #include <thread.hfa>." );
    955955                }
    956956                newBody = addThreadDtorStatements( decl, body, mutexArgs );
     
    987987const ast::Stmt * MutexKeyword::postvisit( const ast::MutexStmt * stmt ) {
    988988        if ( !lock_guard_decl ) {
    989                 SemanticError( stmt->location, "mutex stmt requires a header, add #include <mutex_stmt.hfa>\n" );
     989                SemanticError( stmt->location, "mutex stmt requires a header, add #include <mutex_stmt.hfa>." );
    990990        }
    991991        ast::CompoundStmt * body =
     
    15471547        if ( !type->base->is_thread() ) return decl;
    15481548        if ( !thread_decl || !thread_ctor_seen ) {
    1549                 SemanticError( type->base->location, "thread keyword requires threads to be in scope, add #include <thread.hfa>" );
     1549                SemanticError( type->base->location, "thread keyword requires threads to be in scope, add #include <thread.hfa>." );
    15501550        }
    15511551        const ast::CompoundStmt * stmt = decl->stmts;
  • src/ControlStruct/MultiLevelExit.cpp

    r21ad568 rca9d65e  
    1010// Created On       : Mon Nov  1 13:48:00 2021
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Dec 11 13:44:45 2023
    13 // Update Count     : 38
     12// Last Modified On : Thu Dec 14 17:34:12 2023
     13// Update Count     : 39
    1414//
    1515
     
    254254                                if ( enclosing_control_structures.empty() ) {
    255255                                          SemanticError( stmt->location,
    256                                                                          "'break' outside a loop, 'switch', or labelled block" );
     256                                                                         "\"break\" outside a loop, \"switch\", or labelled block" );
    257257                                }
    258258                                targetEntry = findEnclosingControlStructure( isBreakTarget );
     
    268268                // Ensure that selected target is valid.
    269269                if ( targetEntry == enclosing_control_structures.rend() || ( isContinue && ! isContinueTarget( *targetEntry ) ) ) {
    270                         SemanticError( stmt->location, toString( (isContinue ? "'continue'" : "'break'"),
     270                        SemanticError( stmt->location, toString( (isContinue ? "\"continue\"" : "\"break\""),
    271271                                                        " target must be an enclosing ", (isContinue ? "loop: " : "control structure: "),
    272272                                                        stmt->originalTarget ) );
     
    279279                // Check that target is valid.
    280280                if ( targetEntry == enclosing_control_structures.rend() ) {
    281                         SemanticError( stmt->location, "'fallthrough' must be enclosed in a 'switch' or 'choose'" );
     281                        SemanticError( stmt->location, "\"fallthrough\" must be enclosed in a \"switch\" or \"choose\"" );
    282282                }
    283283                if ( ! stmt->target.empty() ) {
    284284                        // Labelled fallthrough: target must be a valid fallthough label.
    285285                        if ( ! fallthrough_labels.count( stmt->target ) ) {
    286                                 SemanticError( stmt->location, toString( "'fallthrough' target must be a later case statement: ",
     286                                SemanticError( stmt->location, toString( "\"fallthrough\" target must be a later case statement: ",
    287287                                                                                                                   stmt->originalTarget ) );
    288288                        }
     
    296296                // Check if in switch or choose statement.
    297297                if ( targetEntry == enclosing_control_structures.rend() ) {
    298                         SemanticError( stmt->location, "'fallthrough' must be enclosed in a 'switch' or 'choose'" );
     298                        SemanticError( stmt->location, "\"fallthrough\" must be enclosed in a \"switch\" or \"choose\"" );
    299299                }
    300300
     
    309309                }
    310310                if ( ! foundDefault ) {
    311                         SemanticError( stmt->location, "'fallthrough default' must be enclosed in a 'switch' or 'choose'"
    312                                                    "control structure with a 'default' clause" );
     311                        SemanticError( stmt->location, "\"fallthrough default\" must be enclosed in a \"switch\" or \"choose\""
     312                                                   "control structure with a \"default\" clause" );
    313313                }
    314314                break;
     
    338338                // Check that fallthrough default comes before the default clause.
    339339                if ( ! targetEntry->isFallDefaultValid() ) {
    340                         SemanticError( stmt->location, "'fallthrough default' must precede the 'default' clause" );
     340                        SemanticError( stmt->location, "\"fallthrough default\" must precede the \"default\" clause" );
    341341                }
    342342                break;
     
    521521                assert(0);
    522522        }
    523         SemanticError( stmt->location, "'return' may not appear in a %s", context );
     523        SemanticError( stmt->location, "\"return\" may not appear in a %s", context );
    524524}
    525525
  • src/GenPoly/Box.cpp

    r21ad568 rca9d65e  
    99// Author           : Andrew Beach
    1010// Created On       : Thr Oct  6 13:39:00 2022
    11 // Last Modified By : Andrew Beach
    12 // Last Modified On : Mon Oct  2 17:00:00 2023
    13 // Update Count     : 0
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Thu Dec 14 17:42:17 2023
     13// Update Count     : 7
    1414//
    1515
     
    777777                if ( !concrete ) {
    778778                        // Should this be an assertion?
    779                         SemanticError( expr, toString( typeSubs,
    780                                 "\nunbound type variable: ", typeVar->typeString(),
    781                                 " in application " ) );
     779                        SemanticError( expr->location, "\nunbound type variable %s in application %s",
     780                                                   toString( typeSubs ).c_str(), typeVar->typeString().c_str() );
    782781                }
    783782                arg = expr->args.insert( arg,
  • src/InitTweak/FixInit.cpp

    r21ad568 rca9d65e  
    10571057        )
    10581058        if ( ! diff.empty() ) {
    1059                 SemanticError( stmt, std::string("jump to label '") + stmt->target.name + "' crosses initialization of " + (*diff.begin())->name + " " );
     1059                SemanticError( stmt->location, "jump to label \"%s\" crosses initialization of \"%s\".",
     1060                                           stmt->target.name.c_str(), (*diff.begin())->name.c_str() );
    10601061        } // if
    10611062}
     
    10761077
    10771078bool checkWarnings( const ast::FunctionDecl * funcDecl ) {
    1078         // only check for warnings if the current function is a user-defined
    1079         // constructor or destructor
     1079        // only check for warnings if the current function is a user-defined constructor or destructor
    10801080        if ( ! funcDecl ) return false;
    10811081        if ( ! funcDecl->stmts ) return false;
  • src/Parser/DeclarationNode.cc

    r21ad568 rca9d65e  
    1010// Created On       : Sat May 16 12:34:05 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 17 14:41:48 2023
    13 // Update Count     : 1405
     12// Last Modified On : Thu Dec 14 19:05:17 2023
     13// Update Count     : 1407
    1414//
    1515
     
    632632                                        dst->basictype = src->basictype;
    633633                                } else if ( src->basictype != DeclarationNode::NoBasicType )
    634                                         SemanticError( yylloc, string( "multiple declaration types \"" ) + DeclarationNode::basicTypeNames[ dst->basictype ] +
    635                                                                    "\" and \"" + DeclarationNode::basicTypeNames[ src->basictype ] + "\"." );
    636 
     634                                        SemanticError( yylloc, "multiple declaration types \"%s\" and \"%s\".",
     635                                                                   DeclarationNode::basicTypeNames[ dst->basictype ],
     636                                                                   DeclarationNode::basicTypeNames[ src->basictype ] );
    637637                                if ( dst->complextype == DeclarationNode::NoComplexType ) {
    638638                                        dst->complextype = src->complextype;
    639639                                } else if ( src->complextype != DeclarationNode::NoComplexType )
    640                                         SemanticError( yylloc, string( "multiple declaration types \"" ) + DeclarationNode::complexTypeNames[ src->complextype ] +
    641                                                                    "\" and \"" + DeclarationNode::complexTypeNames[ src->complextype ] + "\"." );
    642 
     640                                        SemanticError( yylloc, "multiple declaration types \"%s\" and \"%s\".",
     641                                                                   DeclarationNode::complexTypeNames[ src->complextype ],
     642                                                                   DeclarationNode::complexTypeNames[ src->complextype ] );
    643643                                if ( dst->signedness == DeclarationNode::NoSignedness ) {
    644644                                        dst->signedness = src->signedness;
    645645                                } else if ( src->signedness != DeclarationNode::NoSignedness )
    646                                         SemanticError( yylloc, string( "conflicting type specifier \"" ) + DeclarationNode::signednessNames[ dst->signedness ] +
    647                                                                    "\" and \"" + DeclarationNode::signednessNames[ src->signedness ] + "\"." );
    648 
     646                                        SemanticError( yylloc, "conflicting type specifier \"%s\" and \"%s\".",
     647                                                                   DeclarationNode::signednessNames[ dst->signedness ],
     648                                                                   DeclarationNode::signednessNames[ src->signedness ] );
    649649                                if ( dst->length == DeclarationNode::NoLength ) {
    650650                                        dst->length = src->length;
     
    652652                                        dst->length = DeclarationNode::LongLong;
    653653                                } else if ( src->length != DeclarationNode::NoLength )
    654                                         SemanticError( yylloc, string( "conflicting type specifier \"" ) + DeclarationNode::lengthNames[ dst->length ] +
    655                                                                    "\" and \"" + DeclarationNode::lengthNames[ src->length ] + "\"." );
     654                                        SemanticError( yylloc, "conflicting type specifier \"%s\" and \"%s\".",
     655                                                                   DeclarationNode::lengthNames[ dst->length ],
     656                                                                   DeclarationNode::lengthNames[ src->length ] );
    656657                        } // if
    657658                        break;
  • src/Parser/ExpressionNode.cc

    r21ad568 rca9d65e  
    99// Author           : Peter A. Buhr
    1010// Created On       : Sat May 16 13:17:07 2015
    11 // Last Modified By : Andrew Beach
    12 // Last Modified On : Tue Apr  4 11:07:00 2023
    13 // Update Count     : 1083
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Thu Dec 14 18:57:07 2023
     13// Update Count     : 1087
    1414//
    1515
     
    193193
    194194#if ! defined(__SIZEOF_INT128__)
    195         if ( type == 5 ) SemanticError( yylloc, "int128 constant is not supported on this target " + str );
     195        if ( type == 5 ) SemanticError( yylloc, "int128 constant is not supported on this target \"%s\"", str.c_str() );
    196196#endif // ! __SIZEOF_INT128__
    197197
     
    204204                        } else {                                                                        // hex int128 constant
    205205                                unsigned int len = str.length();
    206                                 if ( len > (2 + 16 + 16) ) SemanticError( yylloc, "128-bit hexadecimal constant to large " + str );
     206                                if ( len > (2 + 16 + 16) ) SemanticError( yylloc, "128-bit hexadecimal constant to large \"%s\"", str.c_str() );
    207207                                // hex digits < 2^64
    208208                                if ( len > (2 + 16) ) {
     
    219219                        unsigned int len = str.length();
    220220                        if ( type == 5 && len > 2 + 64 ) {
    221                                 if ( len > 2 + 64 + 64 ) SemanticError( yylloc, "128-bit binary constant to large " + str );
     221                                if ( len > 2 + 64 + 64 ) SemanticError( yylloc, "128-bit binary constant to large \"%s\".", str.c_str() );
    222222                                str2 = "0b" + str.substr( len - 64 );
    223223                                str = str.substr( 0, len - 64 );
     
    233233                        } else {                                                                        // octal int128 constant
    234234                                unsigned int len = str.length();
    235                                 if ( len > 1 + 43 || (len == 1 + 43 && str[0] > '3') ) SemanticError( yylloc, "128-bit octal constant to large " + str );
     235                                if ( len > 1 + 43 || (len == 1 + 43 && str[0] > '3') ) SemanticError( yylloc, "128-bit octal constant to large \"%s\"", str.c_str() );
    236236                                char buf[32];
    237237                                if ( len <= 1 + 21 ) {                                  // value < 21 octal digitis
     
    266266                        unsigned int len = str.length();
    267267                        if ( str.length() == 39 && str > (Unsigned ? "340282366920938463463374607431768211455" : "170141183460469231731687303715884105727") )
    268                                 SemanticError( yylloc, "128-bit decimal constant to large " + str );
     268                                SemanticError( yylloc, "128-bit decimal constant to large \"%s\".", str.c_str() );
    269269                        char buf[32];
    270270                        if ( len <= 19 ) {                                                      // value < 19 decimal digitis
     
    502502ast::Expr * build_field_name_FLOATING_FRACTIONconstant(
    503503                const CodeLocation & location, const string & str ) {
    504         if ( str.find_first_not_of( "0123456789", 1 ) != string::npos ) SemanticError( yylloc, "invalid tuple index " + str );
     504        if ( str.find_first_not_of( "0123456789", 1 ) != string::npos ) SemanticError( yylloc, "invalid tuple index \"%s\".", str.c_str() );
    505505        ast::Expr * ret = build_constantInteger( location,
    506506                *new string( str.substr(1) ) );
     
    511511ast::Expr * build_field_name_FLOATING_DECIMALconstant(
    512512                const CodeLocation & location, const string & str ) {
    513         if ( str[str.size() - 1] != '.' ) SemanticError( yylloc, "invalid tuple index " + str );
     513        if ( str[str.size() - 1] != '.' ) SemanticError( yylloc, "invalid tuple index \"%s\".", str.c_str() );
    514514        ast::Expr * ret = build_constantInteger(
    515515                location, *new string( str.substr( 0, str.size()-1 ) ) );
  • src/Parser/TypeData.cc

    r21ad568 rca9d65e  
    1010// Created On       : Sat May 16 15:12:51 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Nov 26 15:51:05 2023
    13 // Update Count     : 681
     12// Last Modified On : Thu Dec 14 18:59:12 2023
     13// Update Count     : 684
    1414//
    1515
     
    14961496                                // type set => parameter name already transformed by a declaration names so there is a duplicate
    14971497                                // declaration name attempting a second transformation
    1498                                 if ( param->type ) SemanticError( param->location, string( "duplicate declaration name " ) + *param->name );
     1498                                if ( param->type ) SemanticError( param->location, "duplicate declaration name \"%s\".", param->name->c_str() );
    14991499                                // declaration type reset => declaration already transformed by a parameter name so there is a duplicate
    15001500                                // parameter name attempting a second transformation
    1501                                 if ( ! decl->type ) SemanticError( param->location, string( "duplicate parameter name " ) + *param->name );
     1501                                if ( ! decl->type ) SemanticError( param->location, "duplicate parameter name \"%s\".", param->name->c_str() );
    15021502                                param->type = decl->type;                               // set copy declaration type to parameter type
    15031503                                decl->type = nullptr;                                   // reset declaration type
  • src/ResolvExpr/Resolver.cc

    r21ad568 rca9d65e  
    1010// Created On       : Sun May 17 12:17:01 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Dec  9 17:45:57 2023
    13 // Update Count     : 249
     12// Last Modified On : Thu Dec 14 18:44:43 2023
     13// Update Count     : 251
    1414//
    1515
     
    632632                                                maybe_accept( mutDecl->init.get(), res );
    633633                                                if ( !res.core.result ) {
    634                                                         SemanticError( mutDecl, "Cannot include designations in the initializer for a managed Object. If this is really what you want, then initialize with @=.\n" );
     634                                                        SemanticError( mutDecl, "Cannot include designations in the initializer for a managed Object.\n"
     635                                                                                   "If this is really what you want, initialize with @=." );
    635636                                                }
    636637                                        }
  • src/Validate/ReplaceTypedef.cpp

    r21ad568 rca9d65e  
    1010// Created On       : Tue Jun 29 14:59:00 2022
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Nov 27 08:55:06 2023
    13 // Update Count     : 3
     12// Last Modified On : Thu Dec 14 16:11:51 2023
     13// Update Count     : 4
    1414//
    1515
     
    152152                                || ast::Pass<VarLenChecker>::read( t0 )
    153153                                || ast::Pass<VarLenChecker>::read( t1 ) ) {
    154                         SemanticError( decl->location, "Cannot redefine typedef: " + decl->name );
     154                        SemanticError( decl->location, "Cannot redefine typedef %s", decl->name.c_str() );
    155155                }
    156156        } else {
  • tests/.expect/typedefRedef-ERR1.txt

    r21ad568 rca9d65e  
    11typedefRedef.cfa:75:25: warning: Compiled
    2 typedefRedef.cfa:4:1 error: Cannot redefine typedef: Foo
    3 typedefRedef.cfa:31:1 error: Cannot redefine typedef: ARR
    4 typedefRedef.cfa:65:1 error: Cannot redefine typedef: ARR
     2typedefRedef.cfa:4:1 error: Cannot redefine typedef Foo
     3typedefRedef.cfa:31:1 error: Cannot redefine typedef ARR
     4typedefRedef.cfa:65:1 error: Cannot redefine typedef ARR
  • tests/concurrency/.expect/ctor-check.txt

    r21ad568 rca9d65e  
    1 concurrency/ctor-check.cfa:11:1 error: constructors cannot have mutex parameters
    2 ?{}: function
     1concurrency/ctor-check.cfa:11:1 error: constructors cannot have mutex parameters ?{}: function
    32... with parameters
    43  this: mutex reference to instance of struct Empty with body
  • tests/exceptions/.expect/try-ctrl-flow.txt

    r21ad568 rca9d65e  
    1 exceptions/try-ctrl-flow.cfa:7:1 error: 'break' outside a loop, 'switch', or labelled block
    2 exceptions/try-ctrl-flow.cfa:15:1 error: 'break' outside a loop, 'switch', or labelled block
    3 exceptions/try-ctrl-flow.cfa:23:1 error: 'break' outside a loop, 'switch', or labelled block
    4 exceptions/try-ctrl-flow.cfa:31:1 error: 'continue' target must be an enclosing loop:
    5 exceptions/try-ctrl-flow.cfa:48:1 error: 'break' target must be an enclosing control structure: mainLoop
    6 exceptions/try-ctrl-flow.cfa:56:1 error: 'continue' target must be an enclosing loop: mainLoop
    7 exceptions/try-ctrl-flow.cfa:65:1 error: 'break' outside a loop, 'switch', or labelled block
    8 exceptions/try-ctrl-flow.cfa:76:1 error: 'break' outside a loop, 'switch', or labelled block
    9 exceptions/try-ctrl-flow.cfa:87:1 error: 'fallthrough' must be enclosed in a 'switch' or 'choose'
    10 exceptions/try-ctrl-flow.cfa:98:1 error: 'break' target must be an enclosing control structure: mainBlock
    11 exceptions/try-ctrl-flow.cfa:111:1 error: 'fallthrough' must be enclosed in a 'switch' or 'choose'
    12 exceptions/try-ctrl-flow.cfa:124:1 error: 'fallthrough' must be enclosed in a 'switch' or 'choose'
    13 exceptions/try-ctrl-flow.cfa:133:1 error: 'return' may not appear in a finally clause
    14 exceptions/try-ctrl-flow.cfa:139:1 error: 'return' may not appear in a finally clause
    15 exceptions/try-ctrl-flow.cfa:148:1 error: 'break' outside a loop, 'switch', or labelled block
    16 exceptions/try-ctrl-flow.cfa:159:1 error: 'return' may not appear in a try statement with a catch clause
    17 exceptions/try-ctrl-flow.cfa:187:1 error: 'return' may not appear in a catch clause
    18 exceptions/try-ctrl-flow.cfa:195:1 error: 'return' may not appear in a catchResume clause
     1exceptions/try-ctrl-flow.cfa:7:1 error: "break" outside a loop, "switch", or labelled block
     2exceptions/try-ctrl-flow.cfa:15:1 error: "break" outside a loop, "switch", or labelled block
     3exceptions/try-ctrl-flow.cfa:23:1 error: "break" outside a loop, "switch", or labelled block
     4exceptions/try-ctrl-flow.cfa:31:1 error: "continue" target must be an enclosing loop:
     5exceptions/try-ctrl-flow.cfa:48:1 error: "break" target must be an enclosing control structure: mainLoop
     6exceptions/try-ctrl-flow.cfa:56:1 error: "continue" target must be an enclosing loop: mainLoop
     7exceptions/try-ctrl-flow.cfa:65:1 error: "break" outside a loop, "switch", or labelled block
     8exceptions/try-ctrl-flow.cfa:76:1 error: "break" outside a loop, "switch", or labelled block
     9exceptions/try-ctrl-flow.cfa:87:1 error: "fallthrough" must be enclosed in a "switch" or "choose"
     10exceptions/try-ctrl-flow.cfa:98:1 error: "break" target must be an enclosing control structure: mainBlock
     11exceptions/try-ctrl-flow.cfa:111:1 error: "fallthrough" must be enclosed in a "switch" or "choose"
     12exceptions/try-ctrl-flow.cfa:124:1 error: "fallthrough" must be enclosed in a "switch" or "choose"
     13exceptions/try-ctrl-flow.cfa:133:1 error: "return" may not appear in a finally clause
     14exceptions/try-ctrl-flow.cfa:139:1 error: "return" may not appear in a finally clause
     15exceptions/try-ctrl-flow.cfa:148:1 error: "break" outside a loop, "switch", or labelled block
     16exceptions/try-ctrl-flow.cfa:159:1 error: "return" may not appear in a try statement with a catch clause
     17exceptions/try-ctrl-flow.cfa:187:1 error: "return" may not appear in a catch clause
     18exceptions/try-ctrl-flow.cfa:195:1 error: "return" may not appear in a catchResume clause
  • tests/raii/.expect/dtor-early-exit-ERR1.txt

    r21ad568 rca9d65e  
    1 raii/dtor-early-exit.cfa:150:1 error: jump to label 'L1' crosses initialization of y Branch (Goto)
    2   with target: L1
    3   with original target: L1
    4 
     1raii/dtor-early-exit.cfa:150:1 error: jump to label "L1" crosses initialization of "y".
  • tests/raii/.expect/dtor-early-exit-ERR2.txt

    r21ad568 rca9d65e  
    1 raii/dtor-early-exit.cfa:214:1 error: jump to label 'L2' crosses initialization of y Branch (Goto)
    2   with target: L2
    3   with original target: L2
    4 
     1raii/dtor-early-exit.cfa:214:1 error: jump to label "L2" crosses initialization of "y".
Note: See TracChangeset for help on using the changeset viewer.