Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/ExpressionNode.cc

    rbf4b4cf rd55d7a6  
    1010// Created On       : Sat May 16 13:17:07 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Sep 26 11:23:36 2017
    13 // Update Count     : 780
     12// Last Modified On : Wed Sep 27 22:51:55 2017
     13// Update Count     : 781
    1414//
    1515
     
    207207
    208208        assert( 0 <= size && size < 6 );
     209        // Constant type is correct for overload resolving.
    209210        ret = new ConstantExpr( Constant( new BasicType( noQualifiers, kind[Unsigned][size] ), str, v ) );
    210         if ( size < 2 ) {                                                                       // hh or h, less than int ?
     211        if ( Unsigned && size < 2 ) {                                           // hh or h, less than int ?
    211212                // int i = -1uh => 65535 not -1, so cast is necessary for unsigned, which unfortunately eliminates warnings for large values.
    212213                ret = new CastExpr( ret, new BasicType( Type::Qualifiers(), kind[Unsigned][size] ) );
     
    355356
    356357Expression * build_field_name_FLOATING_FRACTIONconstant( const string & str ) {
    357         if ( str.find_first_not_of( "0123456789", 1 ) != string::npos ) throw SemanticError( "invalid tuple index " + str );
     358        if ( str.find_first_not_of( "0123456789", 1 ) != string::npos ) throw SemanticError( yylloc, "invalid tuple index " + str );
    358359        Expression * ret = build_constantInteger( *new string( str.substr(1) ) );
    359360        delete &str;
     
    362363
    363364Expression * build_field_name_FLOATING_DECIMALconstant( const string & str ) {
    364         if ( str[str.size()-1] != '.' ) throw SemanticError( "invalid tuple index " + str );
     365        if ( str[str.size()-1] != '.' ) throw SemanticError( yylloc, "invalid tuple index " + str );
    365366        Expression * ret = build_constantInteger( *new string( str.substr( 0, str.size()-1 ) ) );
    366367        delete &str;
Note: See TracChangeset for help on using the changeset viewer.