Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Pass.impl.hpp

    rb0d9ff7 r95e5018  
    2525#define VISIT_START( node ) \
    2626        using namespace ast; \
     27        /* back-up the last known code location */ \
     28        __attribute__((unused)) auto loc_guard = ast::__pass::make_location_guard( core, node, 0 ); \
    2729        /* back-up the visit children */ \
    2830        __attribute__((unused)) ast::__pass::visit_children_guard guard1( ast::__pass::visit_children(core, 0) ); \
     
    597599                        guard_symtab guard { *this };
    598600                        // implicit add __func__ identifier as specified in the C manual 6.4.2.2
     601                        // This is a C name and so has C linkage.
    599602                        static ast::ptr< ast::ObjectDecl > func{ new ast::ObjectDecl{
    600603                                CodeLocation{}, "__func__",
     
    602605                                        new ast::BasicType{ ast::BasicType::Char, ast::CV::Const },
    603606                                        nullptr, VariableLen, DynamicDim
    604                                 }
     607                                },
     608                                nullptr,
     609                                ast::Storage::Classes(),
     610                                ast::Linkage::C,
    605611                        } };
    606612                        __pass::symtab::addId( core, 0, func );
     
    11931199
    11941200//--------------------------------------------------------------------------
    1195 // QualifiedNameExpr
    1196 template< typename core_t >
    1197 const ast::Expr * ast::Pass< core_t >::visit( const ast::QualifiedNameExpr * node ) {
    1198         VISIT_START( node );
    1199         if ( __visit_children() ) {
    1200                 guard_symtab guard { *this };
    1201                 maybe_accept( node, &QualifiedNameExpr::var );
    1202                 maybe_accept( node, &QualifiedNameExpr::type_decl );
    1203         }
    1204         VISIT_END( Expr, node );
    1205 }
    1206 
    1207 //--------------------------------------------------------------------------
    12081201// CastExpr
    12091202template< typename core_t >
Note: See TracChangeset for help on using the changeset viewer.