Ignore:
Timestamp:
Sep 30, 2014, 2:44:40 PM (5 years ago)
Author:
nmedfort
Message:

Replaced dynamic_cast with llvm::dyn_cast in pablo code; implemented make functions for pablo constructors. Disabled RTTI.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/pablo/pe_sel.h

    r4199 r4200  
    1212namespace pablo {
    1313
    14 class Sel : public PabloE
    15 {
     14class Sel : public PabloE {
     15    friend PabloE * make_sel(PabloE *, PabloE *, PabloE *);
    1616public:
    17     Sel(PabloE* if_expr, PabloE* t_expr, PabloE* f_expr)
    18     : PabloE(ClassTypeId::Sel)
    19     , mIf_expr(if_expr)
    20     , mT_expr(t_expr)
    21     , mF_expr(f_expr)
    22     {
    23 
     17    static inline bool classof(const PabloE * e) {
     18        return e->getClassTypeId() == ClassTypeId::Sel;
    2419    }
    25 
     20    static inline bool classof(const void *) {
     21        return false;
     22    }
    2623    virtual ~Sel() {
    2724        delete mIf_expr;
     
    4138        return mF_expr;
    4239    }
     40protected:
     41    Sel(PabloE* if_expr, PabloE* t_expr, PabloE* f_expr)
     42    : PabloE(ClassTypeId::Sel)
     43    , mIf_expr(if_expr)
     44    , mT_expr(t_expr)
     45    , mF_expr(f_expr)
     46    {
    4347
     48    }
    4449private:
    45     PabloE* mIf_expr;
    46     PabloE* mT_expr;
    47     PabloE* mF_expr;
     50    PabloE * const mIf_expr;
     51    PabloE * const mT_expr;
     52    PabloE * const mF_expr;
    4853};
     54
     55PabloE * make_sel(PabloE * if_expr, PabloE * t_expr, PabloE * f_expr);
    4956
    5057}
Note: See TracChangeset for help on using the changeset viewer.