Ignore:
Timestamp:
May 22, 2019, 3:18:34 PM (5 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, cleanup-dtors, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
e9b44489
Parents:
09ab71a
Message:

Fixed errors in the pass visitor

File:
1 edited

Legend:

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

    r09ab71a rb0abc8a0  
    126126        template<typename pass_t, typename node_t>
    127127        static inline auto previsit( pass_t & pass, const node_t * & node, int ) -> decltype( pass.previsit( node ), void() ) {
     128                static_assert(
     129                        std::is_base_of<const node_t, typename std::remove_pointer<decltype( pass.previsit( node ) )>::type >::value,
     130                        "Previsit may not change the type of the node. Use postvisit instead."
     131                );
    128132                node = pass.previsit( node );
    129133                assert(node);
Note: See TracChangeset for help on using the changeset viewer.