Ignore:
Timestamp:
Nov 30, 2015, 4:30:02 PM (4 years ago)
Author:
nmedfort
Message:

More work on n-ary operations. Unresolved bug in DistributionPass?.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/pablo/analysis/pabloverifier.cpp

    r4876 r4885  
    179179                throw std::runtime_error(str.str());
    180180            }
     181            if (isa<If>(stmt)) {
     182                for (const Assign * def : cast<If>(stmt)->getDefined()) {
     183                    if (LLVM_UNLIKELY(def == cast<If>(stmt)->getCondition())) {
     184                        std::string tmp;
     185                        raw_string_ostream str(tmp);
     186                        str << "PabloVerifier: structure error: the condition of ";
     187                        PabloPrinter::print(cast<PabloAST>(stmt), str);
     188                        str << " cannot be defined by the If node itself.";
     189                        throw std::runtime_error(str.str());
     190                    }
     191                }
     192            }
    181193            const Statement * badEscapedValue = nullptr;
    182194            if (isa<If>(stmt)) {
Note: See TracChangeset for help on using the changeset viewer.