Changes in src/Parser/ExpressionNode.cc [bf4b4cf:d55d7a6]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/ExpressionNode.cc
rbf4b4cf rd55d7a6 10 10 // Created On : Sat May 16 13:17:07 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Sep 26 11:23:36201713 // Update Count : 78 012 // Last Modified On : Wed Sep 27 22:51:55 2017 13 // Update Count : 781 14 14 // 15 15 … … 207 207 208 208 assert( 0 <= size && size < 6 ); 209 // Constant type is correct for overload resolving. 209 210 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 ? 211 212 // int i = -1uh => 65535 not -1, so cast is necessary for unsigned, which unfortunately eliminates warnings for large values. 212 213 ret = new CastExpr( ret, new BasicType( Type::Qualifiers(), kind[Unsigned][size] ) ); … … 355 356 356 357 Expression * 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 ); 358 359 Expression * ret = build_constantInteger( *new string( str.substr(1) ) ); 359 360 delete &str; … … 362 363 363 364 Expression * 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 ); 365 366 Expression * ret = build_constantInteger( *new string( str.substr( 0, str.size()-1 ) ) ); 366 367 delete &str;
Note:
See TracChangeset
for help on using the changeset viewer.