Changeset f238fcc2 for src/CodeGen


Ignore:
Timestamp:
Mar 21, 2022, 3:17:37 PM (4 years ago)
Author:
JiadaL <j82liang@…>
Branches:
ADT, ast-experimental, enum, master, pthread-emulation, qualifiedEnum
Children:
4390fb6
Parents:
3e54399
Message:

Enable numeric type for typed enum

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/CodeGen/GenType.cc

    r3e54399 rf238fcc2  
    253253
    254254        void GenType::postvisit( EnumInstType * enumInst ) {
    255                 typeString = enumInst->name + " " + typeString;
    256                 if ( options.genC ) typeString = "enum " + typeString;
     255                if ( enumInst->baseEnum->base
     256                && dynamic_cast<BasicType *>(enumInst->baseEnum->base)
     257                && dynamic_cast<BasicType *>(enumInst->baseEnum->base)->kind != BasicType::Kind::SignedInt) {
     258                        typeString = genType(enumInst->baseEnum->base, "", options) + typeString;
     259                } else {
     260                        typeString = enumInst->name + " " + typeString;
     261                        if ( options.genC ) {
     262                                typeString = "enum " + typeString;
     263                        }
     264                }
    257265                handleQualifiers( enumInst );
    258266        }
Note: See TracChangeset for help on using the changeset viewer.