Changeset cf5af9c for src/Parser


Ignore:
Timestamp:
Jul 13, 2020, 10:00:17 PM (4 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
2b22b5c4
Parents:
61ce214
Message:

change from SIZEOF_POINTER to SIZEOF_INT128 to determine if int128 exists

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/ExpressionNode.cc

    r61ce214 rcf5af9c  
    1010// Created On       : Sat May 16 13:17:07 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Jul 12 11:55:44 2020
    13 // Update Count     : 1040
     12// Last Modified On : Mon Jul 13 21:12:02 2020
     13// Update Count     : 1043
    1414//
    1515
     
    186186        // Cannot be just "0"/"1"; sscanf stops at the suffix, if any; value goes over the wall => always generate
    187187
    188 #if __SIZEOF_POINTER__ == 4                                                             // 32-bit mode
     188#if ! defined(__SIZEOF_INT128__)
    189189        if ( type == 5 ) SemanticError( yylloc, "int128 constant is not supported on this target " + str );
    190 #endif // 32-bit mode
     190#endif // ! __SIZEOF_INT128__
    191191       
    192192        if ( str[0] == '0' ) {                                                          // radix character ?
     
    219219                        if ( type < 5 ) {                                                       // not L128 ?
    220220                                sscanf( (char *)str.c_str(), "%llo", &v );
    221 #if __SIZEOF_POINTER__ == 8                                                             // 64-bit mode
     221#if defined(__SIZEOF_INT128__)
    222222                        } else {                                                                        // octal int128 constant
    223223                                unsigned int len = str.length();
     
    245245                                        str = buf;
    246246                                } // if
    247 #endif // 64-bit mode
     247#endif // __SIZEOF_INT128__
    248248                        } // if
    249249                        //printf( "%#llo %llu\n", v, v );
     
    252252                if ( type < 5 ) {                                                               // not L128 ?
    253253                        sscanf( (char *)str.c_str(), "%llu", &v );
    254 #if __SIZEOF_POINTER__ == 8                                                             // 64-bit mode
     254#if defined(__SIZEOF_INT128__)
    255255                } else {                                                                                // decimal int128 constant
    256256                        #define P10_UINT64 10'000'000'000'000'000'000ULL // 19 zeroes
     
    280280                                str = buf;
    281281                        } // if
    282 #endif // 64-bit mode
     282#endif // __SIZEOF_INT128__
    283283                } // if
    284284                //printf( "%llu\n", v );
Note: See TracChangeset for help on using the changeset viewer.