Ignore:
Timestamp:
Nov 14, 2022, 11:52:44 AM (3 years ago)
Author:
caparson <caparson@…>
Branches:
ADT, ast-experimental, master
Children:
7d9598d8
Parents:
b77f0e1 (diff), 19a8c40 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Convert.cpp

    rb77f0e1 r63be3387  
    234234                }
    235235                return declWithTypePostamble( decl, node );
     236        }
     237
     238        // InlineMemberDecl vanish after EnumAndPointerDecay pass so no necessary to implement NewToOld
     239        const ast::DeclWithType * visit( const ast::InlineMemberDecl * node ) override final { 
     240                assert( false );
     241                (void) node;
     242                return nullptr;
    236243        }
    237244
     
    16141621                        { old->get_funcSpec().val }
    16151622                );
    1616                 decl->enumInLine = old->enumInLine;
    16171623                cache.emplace(old, decl);
    16181624                assert(cache.find( old ) != cache.end());
     
    18591865                decl->uniqueId   = old->uniqueId;
    18601866                decl->storage    = { old->storageClasses.val };
     1867
     1868                this->node = decl;
     1869        }
     1870
     1871        virtual void visit( const InlineMemberDecl * old ) override final {
     1872                if ( inCache( old ) ) {
     1873                        return;
     1874                }
     1875                auto&& type = GET_ACCEPT_1(type, Type);
     1876                auto&& attr = GET_ACCEPT_V(attributes, Attribute);
     1877
     1878                auto decl = new ast::InlineMemberDecl(
     1879                        old->location,
     1880                        old->name,
     1881                        type,
     1882                        { old->get_storageClasses().val },
     1883                        { old->linkage.val },
     1884                        std::move(attr),
     1885                        { old->get_funcSpec().val }
     1886                );
     1887                cache.emplace(old, decl);
     1888                assert(cache.find( old ) != cache.end());
     1889                decl->scopeLevel = old->scopeLevel;
     1890                decl->mangleName = old->mangleName;
     1891                decl->isDeleted  = old->isDeleted;
     1892                decl->asmName    = GET_ACCEPT_1(asmName, Expr);
     1893                decl->uniqueId   = old->uniqueId;
     1894                decl->extension  = old->extension;
    18611895
    18621896                this->node = decl;
Note: See TracChangeset for help on using the changeset viewer.