Changeset a6c5d7c


Ignore:
Timestamp:
Sep 27, 2017, 11:11:25 PM (7 years ago)
Author:
Peter A. Buhr <pabuhr@…>
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:
6e49f18
Parents:
5dc26f5
Message:

remove literal casts for signed integrals

Location:
src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/ExpressionNode.cc

    r5dc26f5 ra6c5d7c  
    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] ) );
  • src/tests/.expect/64/literals.txt

    r5dc26f5 ra6c5d7c  
    12521252    ((void)(-((long double )0x.0123456789p09)));
    12531253    ((void)__f__F_c__1('a'));
    1254     ((void)__f__F_Sc__1(((signed char )20)));
     1254    ((void)__f__F_Sc__1(20));
    12551255    ((void)__f__F_Uc__1(((unsigned char )21u)));
    1256     ((void)__f__F_s__1(((signed short int )22)));
     1256    ((void)__f__F_s__1(22));
    12571257    ((void)__f__F_Us__1(((unsigned short int )23u)));
    12581258    ((void)__f__F_Ul__1(((unsigned long int )24)));
Note: See TracChangeset for help on using the changeset viewer.