diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/chillASTs.cc | 68 | ||||
| -rwxr-xr-x | src/ir_clang.cc | 11 | ||||
| -rw-r--r-- | src/printer/cfamily.cpp | 2 | 
3 files changed, 10 insertions, 71 deletions
| diff --git a/src/chillASTs.cc b/src/chillASTs.cc index bea2360..a632441 100644 --- a/src/chillASTs.cc +++ b/src/chillASTs.cc @@ -1683,7 +1683,6 @@ chillAST_VarDecl *chillAST_MemberExpr::multibase() {  }  chillAST_DeclRefExpr::chillAST_DeclRefExpr(const char *vartype, const char *varname, chillAST_Node *d) { -  //fprintf(stderr, "DRE::DRE2 0x%x   %s %s  0x%x\n", this, vartype, varname, d );    if (vartype) declarationType = strdup(vartype);    else declarationType = strdup("UNKNOWN");    if (varname) declarationName = strdup(varname); @@ -1691,37 +1690,20 @@ chillAST_DeclRefExpr::chillAST_DeclRefExpr(const char *vartype, const char *varn    decl = d;  } -chillAST_DeclRefExpr::chillAST_DeclRefExpr(chillAST_VarDecl *vd) { // variable def -  //fprintf(stderr, "DRE::DRE3 (VD)  0x%x   %s %s  0x%x\n", this, vd->vartype, vd->varname, vd ); - +chillAST_DeclRefExpr::chillAST_DeclRefExpr(chillAST_VarDecl *vd) {    declarationType = strdup(vd->vartype);    declarationName = strdup(vd->varname);    decl = vd; -  isFromSourceFile = true; // default -  filename = NULL;  } -chillAST_DeclRefExpr::chillAST_DeclRefExpr(chillAST_FunctionDecl *fd) { // function def +chillAST_DeclRefExpr::chillAST_DeclRefExpr(chillAST_FunctionDecl *fd) {    declarationType = strdup(fd->returnType);    declarationName = strdup(fd->functionName);    decl = fd; -  isFromSourceFile = true; // default -  filename = NULL; -} - - -chillAST_DeclRefExpr *buildDeclRefExpr(chillAST_VarDecl *vd) { -  chillAST_DeclRefExpr *dre = new chillAST_DeclRefExpr(vd); -  return dre; -} - -class chillAST_Node *chillAST_DeclRefExpr::constantFold() {  // can never do anything? -  return this;  }  class chillAST_Node *chillAST_DeclRefExpr::clone() { -  //fprintf(stderr, "chillAST_DeclRefExpr::clone()\n");    chillAST_DeclRefExpr *DRE = new chillAST_DeclRefExpr(declarationType, declarationName, decl);    DRE->setParent(parent);    DRE->isFromSourceFile = isFromSourceFile; @@ -1731,25 +1713,9 @@ class chillAST_Node *chillAST_DeclRefExpr::clone() {  void chillAST_DeclRefExpr::gatherVarDeclsMore(vector<chillAST_VarDecl *> &decls) { -  //fprintf(stderr, "chillAST_DeclRefExpr::gatherVarDeclsMore()\n");    decl->gatherVarDeclsMore(decls);  } - -void chillAST_DeclRefExpr::gatherScalarVarDecls(vector<chillAST_VarDecl *> &decls) { -  //fprintf(stderr, "chillAST_DeclRefExpr::gatherScalarVarDecls()\n"); -  decl->gatherScalarVarDecls(decls); -  //fprintf(stderr, "now %d scalar vardecls\n", decls.size()); -} - - -void chillAST_DeclRefExpr::gatherArrayVarDecls(vector<chillAST_VarDecl *> &decls) { -  //fprintf(stderr, "chillAST_DeclRefExpr::gatherArrayVarDecls()\n"); -  decl->gatherArrayVarDecls(decls); -  //fprintf(stderr, "now %d Array vardecls\n", decls.size()); -} - -  void chillAST_DeclRefExpr::gatherDeclRefExprs(vector<chillAST_DeclRefExpr *> &refs) {    refs.push_back(this);  } @@ -1759,37 +1725,30 @@ void chillAST_DeclRefExpr::gatherScalarRefs(std::vector<chillAST_DeclRefExpr *>  }  void chillAST_DeclRefExpr::gatherVarUsage(vector<chillAST_VarDecl *> &decls) { -  //fprintf(stderr, "chillAST_DeclRefExpr::gatherVarUsage()\n");    for (int i = 0; i < decls.size(); i++) {      if (decls[i] == decl) { -      //fprintf(stderr, "decl was already there\n");        return;      }      if (streq(declarationName, decls[i]->varname)) {        if (streq(declarationType, decls[i]->vartype)) { -        //fprintf(stderr, "decl was already there\n"); +        CHILL_ERROR("Deprecated\n");          return;        }      }    }    chillAST_VarDecl *vd = getVarDecl();  // null for functiondecl    if (vd) decls.push_back(vd); -  }  void chillAST_DeclRefExpr::replaceVarDecls(chillAST_VarDecl *olddecl, chillAST_VarDecl *newdecl) { -  //fprintf(stderr, "chillAST_DeclRefExpr::replaceVarDecls()\n");    if (decl == olddecl) { -    //fprintf(stderr, "replacing old %s with %s\n", olddecl->varname, newdecl->varname); -    //fprintf(stderr, "DRE was "); print();      decl = newdecl;      declarationType = strdup(newdecl->vartype);      declarationName = strdup(newdecl->varname); -    //fprintf(stderr, "\nDRE  is "); print(); fprintf(stderr, "\n\n");    } else { +    CHILL_ERROR("Deprecated\n");      if (!strcmp(olddecl->varname, declarationName)) { -      //fprintf(stderr, "uhoh, chillAST_DeclRefExpr::replaceVarDecls()\n");        decl = newdecl;        declarationType = strdup(newdecl->vartype);        declarationName = strdup(newdecl->varname); @@ -1809,15 +1768,13 @@ chillAST_VarDecl *chillAST_DeclRefExpr::multibase() {  void chillAST_VarDecl::gatherVarDecls(vector<chillAST_VarDecl *> &decls) { -  //fprintf(stderr, "chillAST_VarDecl::gatherVarDecls()\n");    for (int i = 0; i < decls.size(); i++) {      if (decls[i] == this) { -      //fprintf(stderr, "decl was already there\n");        return;      }      if (streq(decls[i]->varname, varname)) {        if (streq(decls[i]->vartype, vartype)) { -        //fprintf(stderr, "VarDecl (direct) decl was already there\n"); +        CHILL_ERROR("Wrong\n");          return;        }      } @@ -1827,53 +1784,42 @@ void chillAST_VarDecl::gatherVarDecls(vector<chillAST_VarDecl *> &decls) {  void chillAST_VarDecl::gatherScalarVarDecls(vector<chillAST_VarDecl *> &decls) { -  //fprintf(stderr, "chillAST_VarDecl::gatherScalarVarDecls(), %s numdimensions %d\n", varname, numdimensions); -    if (numdimensions != 0) return; // not a scalar    for (int i = 0; i < decls.size(); i++) {      if (decls[i] == this) { -      //fprintf(stderr, "decl was already there\n");        return;      } -      if (streq(decls[i]->varname, varname)) {      // wrong. scoping.  TODO        if (streq(decls[i]->vartype, vartype)) { -        //fprintf(stderr, "VarDecl (direct) decl was already there\n"); +        CHILL_ERROR("Wrong\n");          return;        }      }    } -  //fprintf(stderr, "adding vardecl for %s to decls\n", varname);    decls.push_back(this);  }  void chillAST_VarDecl::gatherArrayVarDecls(vector<chillAST_VarDecl *> &decls) { -  //fprintf(stderr, "chillAST_VarDecl::gatherScalarVarDecls(), %s numdimensions %d\n", varname, numdimensions); -    if (numdimensions == 0) return; // not an array    for (int i = 0; i < decls.size(); i++) {      if (decls[i] == this) { -      //fprintf(stderr, "decl was already there\n");        return;      }      if (streq(decls[i]->varname, varname)) {      // wrong. scoping.  TODO        if (streq(decls[i]->vartype, vartype)) { -        //fprintf(stderr, "VarDecl (direct) decl was already there\n"); +        CHILL_ERROR("Wrong\n");          return;        }      }    } -  //fprintf(stderr, "adding vardecl for %s to decls\n", varname);    decls.push_back(this);  } -chillAST_Node *chillAST_VarDecl::constantFold() { return this; } -  chillAST_Node *chillAST_VarDecl::clone() {    fprintf(stderr, "\nchillAST_VarDecl::clone()  cloning vardecl for %s\n", varname);    if (isAParameter) fprintf(stderr, "old vardecl IS a parameter\n"); diff --git a/src/ir_clang.cc b/src/ir_clang.cc index 61ba36c..3f70856 100755 --- a/src/ir_clang.cc +++ b/src/ir_clang.cc @@ -2265,22 +2265,15 @@ IR_clangCode::IR_clangCode(const char *fname, const char *proc_name) : IR_Code()  IR_clangCode::~IR_clangCode() {    //func_->print(llvm::outs(), 4); // printing as part of the destructor !!     CHILL_DEBUG_PRINT("\n\toutput happening as part of the destructor !!\n"); -  //chillfunc->dump();  -  //chillfunc->print();  -  //fprintf(stderr, "Constant Folding before\n");     chillfunc->constantFold(); -  //fprintf(stderr, "\nConstant Folding after\n");  -  //chillfunc->print();     chillfunc->cleanUpVarDecls(); -  //chillfunc->dump();    // TODO should output the entire file, not just the function we're working on    chillAST_SourceFile *src = chillfunc->getSourceFile(); -  //chillAST_Node *p = chillfunc->parent; // should be translationDeclUnit    if (src) { -    //src->print(); // tmp +    src->dump();      if (src->isSourceFile()) src->printToFile();    }  } @@ -2408,7 +2401,7 @@ IR_ScalarRef *IR_clangCode::CreateScalarRef(const IR_ScalarSymbol *sym) {    //DeclRefExpr *de = new (vd->getASTContext())DeclRefExpr(static_cast<ValueDecl*>(vd), vd->getType(), SourceLocation());    //fprintf(stderr, "sym 0x%x\n", sym);  -  IR_chillScalarRef *sr = new IR_chillScalarRef(this, buildDeclRefExpr( +  IR_chillScalarRef *sr = new IR_chillScalarRef(this, new chillAST_DeclRefExpr(        ((IR_chillScalarSymbol *) sym)->chillvd)); // uses VarDecl to mak a declrefexpr    //fprintf(stderr, "returning ScalarRef with dre 0x%x\n", sr->dre);     return sr; diff --git a/src/printer/cfamily.cpp b/src/printer/cfamily.cpp index d8f9057..738db47 100644 --- a/src/printer/cfamily.cpp +++ b/src/printer/cfamily.cpp @@ -322,7 +322,7 @@ void CFamily::printS(std::string ident, chillAST_Sizeof *n, std::ostream &o) {  void CFamily::printS(std::string ident, chillAST_SourceFile *n, std::ostream &o) {    o << "// this source is derived from CHILL AST originally from file '" -    << n->filename << "' as parsed by frontend compiler " << n->frontend << "\n\n"; +    << n->SourceFileName <<"' as parsed by frontend compiler " << n->frontend << "\n\n";    int nchild = n->getChildren()->size();    for (int i = 0; i < nchild; ++i) {      if (n->getChild(i)->isFromSourceFile) { | 
