Changes in tools/autotool.py [85369b1:dc0b964] in mainline


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • tools/autotool.py

    r85369b1 rdc0b964  
    271271                                                unsigned_sizes[name] = value_int
    272272                                                unsigned_tags[tag] = value_int
    273                                                 unsigned_strcs[strc] = value_int
    274                                                 unsigned_concs[conc] = value_int
     273                                                if (strc != ""):
     274                                                        unsigned_strcs[strc] = value_int
     275                                                if (conc != ""):
     276                                                        unsigned_concs[conc] = value_int
    275277                                        elif (subcategory == "signed"):
    276278                                                signed_sizes[name] = value_int
    277279                                                signed_tags[tag] = value_int
    278                                                 signed_strcs[strc] = value_int
    279                                                 signed_concs[conc] = value_int
     280                                                if (strc != ""):
     281                                                        signed_strcs[strc] = value_int
     282                                                if (conc != ""):
     283                                                        signed_concs[conc] = value_int
    280284                                        else:
    281285                                                print_error(["Unexpected keyword \"%s\" in \"%s\" on line %s." % (subcategory, PROBE_OUTPUT, j), COMPILER_FAIL])
     
    325329               
    326330                if (not fnd):
    327                         print_error(['Unable to find appropriate unsigned printf formatter for %u bytes' % b,
    328                                      COMPILER_FAIL])
     331                        macros.append({'oldmacro': "\"o\"", 'newmacro': "PRIo%u" % (b * 8)})
     332                        macros.append({'oldmacro': "\"u\"", 'newmacro': "PRIu%u" % (b * 8)})
     333                        macros.append({'oldmacro': "\"x\"", 'newmacro': "PRIx%u" % (b * 8)})
     334                        macros.append({'oldmacro': "\"X\"", 'newmacro': "PRIX%u" % (b * 8)})
    329335               
    330336               
     
    337343               
    338344                if (not fnd):
    339                         print_error(['Unable to find appropriate signed printf formatter for %u bytes' % b,
    340                                      COMPILER_FAIL])
     345                        macros.append({'oldmacro': "\"d\"", 'newmacro': "PRId%u" % (b * 8)})
    341346               
    342347               
     
    344349                for name, value in probe['unsigned_concs'].items():
    345350                        if (value == b):
    346                                 if ((name.startswith('@')) or (name == "")):
    347                                         macros.append({'oldmacro': "c ## U", 'newmacro': "UINT%u_C(c)" % (b * 8)})
    348                                 else:
    349                                         macros.append({'oldmacro': "c ## U%s" % name, 'newmacro': "UINT%u_C(c)" % (b * 8)})
    350                                 fnd = True
    351                                 break
    352                
    353                 if (not fnd):
    354                         print_error(['Unable to find appropriate unsigned literal macro for %u bytes' % b,
    355                                      COMPILER_FAIL])
     351                                macros.append({'oldmacro': "c ## U%s" % name, 'newmacro': "UINT%u_C(c)" % (b * 8)})
     352                                fnd = True
     353                                break
     354               
     355                if (not fnd):
     356                        macros.append({'oldmacro': "c ## U", 'newmacro': "UINT%u_C(c)" % (b * 8)})
    356357               
    357358               
     
    359360                for name, value in probe['signed_concs'].items():
    360361                        if (value == b):
    361                                 if ((name.startswith('@')) or (name == "")):
    362                                         macros.append({'oldmacro': "c", 'newmacro': "INT%u_C(c)" % (b * 8)})
    363                                 else:
    364                                         macros.append({'oldmacro': "c ## %s" % name, 'newmacro': "INT%u_C(c)" % (b * 8)})
    365                                 fnd = True
    366                                 break
    367                
    368                 if (not fnd):
    369                         print_error(['Unable to find appropriate unsigned literal macro for %u bytes' % b,
    370                                      COMPILER_FAIL])
     362                                macros.append({'oldmacro': "c ## %s" % name, 'newmacro': "INT%u_C(c)" % (b * 8)})
     363                                fnd = True
     364                                break
     365               
     366                if (not fnd):
     367                        macros.append({'oldmacro': "c", 'newmacro': "INT%u_C(c)" % (b * 8)})
    371368       
    372369        for tag in ['CHAR', 'SHORT', 'INT', 'LONG', 'LLONG']:
     
    571568                probe = probe_compiler(common,
    572569                        [
    573                                 {'type': 'char', 'tag': 'CHAR', 'strc': '"hh"', 'conc': '"@@"'},
    574                                 {'type': 'short int', 'tag': 'SHORT', 'strc': '"h"', 'conc': '"@"'},
     570                                {'type': 'char', 'tag': 'CHAR', 'strc': '"hh"', 'conc': '""'},
     571                                {'type': 'short int', 'tag': 'SHORT', 'strc': '"h"', 'conc': '""'},
    575572                                {'type': 'int', 'tag': 'INT', 'strc': '""', 'conc': '""'},
    576573                                {'type': 'long int', 'tag': 'LONG', 'strc': '"l"', 'conc': '"L"'},
Note: See TracChangeset for help on using the changeset viewer.