Changeset 791028a


Ignore:
Timestamp:
Jul 15, 2020, 6:43:57 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:
20f5eb8
Parents:
fe68bdf
Message:

formatting, fix warning for usage of uninitialized variable val

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/ExpressionNode.cc

    rfe68bdf r791028a  
    1010// Created On       : Sat May 16 13:17:07 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jul 13 21:12:02 2020
    13 // Update Count     : 1043
     12// Last Modified On : Wed Jul 15 08:24:08 2020
     13// Update Count     : 1046
    1414//
    1515
     
    222222                        } else {                                                                        // octal int128 constant
    223223                                unsigned int len = str.length();
    224                                 char buf[32];
    225                                 __int128 val = v;
    226                                
    227224                                if ( len > 1 + 43 || (len == 1 + 43 && str[0] > '3') ) SemanticError( yylloc, "128-bit octal constant to large " + str );
    228225                                if ( len <= 1 + 21 ) {                                  // value < 21 octal digitis
     
    230227                                } else {
    231228                                        sscanf( &str[len - 21], "%llo", &v );
    232                                         val = v;                                                        // store bits
     229                                        __int128 val = v;                                       // accumulate bits
    233230                                        str[len - 21] ='\0';                            // shorten string
    234231                                        sscanf( &str[len == 43 ? 1 : 0], "%llo", &v );
     
    240237                                        } // if
    241238                                        v = val >> 64; v2 = (uint64_t)val;      // replace octal constant with 2 hex constants
     239                                        char buf[32];
    242240                                        sprintf( buf, "%#llx", v2 );
    243241                                        str2 = buf;
     
    256254                        #define P10_UINT64 10'000'000'000'000'000'000ULL // 19 zeroes
    257255                        unsigned int len = str.length();
    258                         char buf[32];
    259                         __int128 val = v;
    260 
    261256                        if ( str.length() == 39 && str > (Unsigned ? "340282366920938463463374607431768211455" : "170141183460469231731687303715884105727") )
    262257                                SemanticError( yylloc, "128-bit decimal constant to large " + str );
     
    265260                        } else {
    266261                                sscanf( &str[len - 19], "%llu", &v );
    267                                 val = v;                                                                // store bits
     262                                __int128 val = v;                                               // accumulate bits
    268263                                str[len - 19] ='\0';                                    // shorten string
    269264                                sscanf( &str[len == 39 ? 1 : 0], "%llu", &v );
     
    275270                                } // if
    276271                                v = val >> 64; v2 = (uint64_t)val;              // replace decimal constant with 2 hex constants
     272                                char buf[32];
    277273                                sprintf( buf, "%#llx", v2 );
    278274                                str2 = buf;
Note: See TracChangeset for help on using the changeset viewer.