Changeset b3a0df6


Ignore:
Timestamp:
Dec 11, 2020, 3:44:02 PM (4 years ago)
Author:
Fangren Yu <f37yu@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
a6e0e4c
Parents:
3e3f236
Message:

attempt to fix sizeType in new ast

Location:
src/AST
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Convert.cpp

    r3e3f236 rb3a0df6  
    5555
    5656// these need to be accessed in new FixInit now
    57 ast::Type * sizeType = nullptr;
    58 ast::FunctionDecl * dereferenceOperator = nullptr;
    59 ast::StructDecl   * dtorStruct = nullptr;
    60 ast::FunctionDecl * dtorStructDestroy = nullptr;
     57ast::ptr<ast::Type> sizeType = nullptr;
     58const ast::FunctionDecl * dereferenceOperator = nullptr;
     59const ast::StructDecl   * dtorStruct = nullptr;
     60const ast::FunctionDecl * dtorStructDestroy = nullptr;
    6161
    6262}
     
    28042804        ConverterOldToNew c;
    28052805        ast::TranslationUnit unit;
     2806        if (Validate::SizeType) {
     2807                // this should be a BasicType.
     2808                auto old = strict_dynamic_cast<BasicType *>(Validate::SizeType);
     2809                ast::sizeType = new ast::BasicType{ (ast::BasicType::Kind)(unsigned)old->kind };
     2810        }
     2811
    28062812        for(auto d : translationUnit) {
    28072813                d->accept( c );
  • src/AST/Expr.hpp

    r3e3f236 rb3a0df6  
    112112
    113113                bool hasSlots() const { return data.resnSlots; }
     114                bool hasParams() const { return data.inferParams; }
    114115
    115116                ResnSlots& resnSlots() {
  • src/AST/Fwd.hpp

    r3e3f236 rb3a0df6  
    139139struct TranslationUnit;
    140140// TODO: Get from the TranslationUnit:
    141 extern Type * sizeType;
    142 extern FunctionDecl * dereferenceOperator;
    143 extern StructDecl   * dtorStruct;
    144 extern FunctionDecl * dtorStructDestroy;
     141extern ptr<Type> sizeType;
     142extern const FunctionDecl * dereferenceOperator;
     143extern const StructDecl   * dtorStruct;
     144extern const FunctionDecl * dtorStructDestroy;
    145145
    146146}
  • src/AST/TranslationUnit.hpp

    r3e3f236 rb3a0df6  
    2929                std::map< UniqueId, Decl * > idMap;
    3030
    31                 Type * sizeType;
    32                 FunctionDecl * dereference;
    33                 StructDecl * dtorStruct;
    34                 FunctionDecl * dtorDestroy;
     31                const Type * sizeType;
     32                const FunctionDecl * dereference;
     33                const StructDecl * dtorStruct;
     34                const FunctionDecl * dtorDestroy;
    3535        } global;
    3636};
Note: See TracChangeset for help on using the changeset viewer.