Changeset d8e2a09 for src


Ignore:
Timestamp:
Apr 10, 2022, 10:06:55 PM (2 years ago)
Author:
JiadaL <j82liang@…>
Branches:
ADT, ast-experimental, enum, master, pthread-emulation, qualifiedEnum
Children:
5bb1ac1
Parents:
92538ab
Message:

Merge with master

Location:
src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/CodeGen/CodeGenerator.cc

    r92538ab rd8e2a09  
    275275                extension( enumDecl );
    276276                std::list< Declaration* > &memb = enumDecl->get_members();
    277                 if (enumDecl->base && ! memb.empty() &&
    278                 (dynamic_cast<BasicType *>(enumDecl->base)
    279                  && !(dynamic_cast<BasicType *>(enumDecl->base)->kind == BasicType::Kind::SignedInt))) {
     277                if (enumDecl->base && ! memb.empty()) {
    280278                        ObjectDecl * last = nullptr;
    281279                        for ( std::list< Declaration* >::iterator i = memb.begin(); i != memb.end();  i++) {
  • src/CodeGen/GenType.cc

    r92538ab rd8e2a09  
    253253
    254254        void GenType::postvisit( EnumInstType * enumInst ) {
    255                 if ( enumInst->baseEnum->base
    256                 && dynamic_cast<BasicType *>(enumInst->baseEnum->base)
    257                 && dynamic_cast<BasicType *>(enumInst->baseEnum->base)->kind != BasicType::Kind::SignedInt) {
     255                if ( enumInst->baseEnum->base ) {
    258256                        typeString = genType(enumInst->baseEnum->base, "", options) + typeString;
    259257                } else {
  • src/ResolvExpr/Resolver.cc

    r92538ab rd8e2a09  
    14841484                                        const ast::Type * pointerBase = enumBaseAsPtr->base.get();
    14851485                                        if ( dynamic_cast<const ast::BasicType *>(pointerBase) ) {
    1486                                                 objectDecl = fixObjectType(objectDecl, symtab);
     1486                                                objectDecl = fixObjectType(objectDecl, context);
    14871487                                                if (dynamic_cast<const ast::BasicType *>(pointerBase)->kind == ast::BasicType::Char)
    14881488                                                currentObject = ast::CurrentObject{
     
    14911491                                                        } };
    14921492                                        } else {
    1493                                                 objectDecl = fixObjectType(objectDecl, symtab);
     1493                                                objectDecl = fixObjectType(objectDecl, context);
    14941494                                                currentObject = ast::CurrentObject{objectDecl->location, new ast::BasicType{ ast::BasicType::SignedInt } };
    14951495                                        }
    14961496                                }
    14971497                        } else {
    1498                                 objectDecl = fixObjectType(objectDecl, symtab);
     1498                                objectDecl = fixObjectType(objectDecl, context);
    14991499                                currentObject = ast::CurrentObject{
    15001500                                        objectDecl->location, new ast::BasicType{ ast::BasicType::SignedInt } };
Note: See TracChangeset for help on using the changeset viewer.