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_not.h

    r4199 r4200  
    1212namespace pablo {
    1313
    14 class Not : public PabloE
    15 {
     14class Not : public PabloE {
     15    friend PabloE * make_not(PabloE *);
    1616public:
    17     Not(PabloE* expr)
     17    static inline bool classof(const PabloE * e) {
     18        return e->getClassTypeId() == ClassTypeId::Not;
     19    }
     20    static inline bool classof(const void *) {
     21        return false;
     22    }
     23
     24
     25    ~Not() {
     26        delete mExpr;
     27    }
     28    PabloE * getExpr() const {
     29        return mExpr;
     30    }
     31protected:
     32    Not(PabloE * expr)
    1833    : PabloE(ClassTypeId::Not)
    1934    , mExpr(expr) {
    2035
    2136    }
     37private:
     38    PabloE * const mExpr;
     39};
    2240
    23     ~Not() {
    24         delete mExpr;
    25     }
    26 
    27     PabloE * getExpr() const {
    28         return mExpr;
    29     }
    30 
    31     void setExpr(PabloE * expr) {
    32         mExpr = expr;
    33     }
    34 
    35 private:
    36     PabloE* mExpr;
    37 };
     41PabloE * make_not(PabloE * expr);
    3842
    3943}
Note: See TracChangeset for help on using the changeset viewer.