diff --git a/framaCIRGen_src/ACSLLexer.h b/framaCIRGen_src/ACSLLexer.h index 1f621b60a3c8d9b29c2cda8bf4d58c1d5237b882..b0743aad66675238a5c2b22d038ed305c6484521 100644 --- a/framaCIRGen_src/ACSLLexer.h +++ b/framaCIRGen_src/ACSLLexer.h @@ -29,6 +29,7 @@ #define ACSL_LexerH #include <list> +#include <stack> #include "DescentParse.h" #include "ACSLToken.h" diff --git a/framaCIRGen_src/ACSLParser.cpp b/framaCIRGen_src/ACSLParser.cpp index dec5ca8e0e6269d9faf93a07f4ce950f1f242016..ae69532f92b6274efaa021a46f7d8414268aed7f 100644 --- a/framaCIRGen_src/ACSLParser.cpp +++ b/framaCIRGen_src/ACSLParser.cpp @@ -1115,7 +1115,7 @@ Parser::Arguments::findLogicLabel(const std::string& name) const { = _clangSema->getPreprocessor().getIdentifierTable().get(name); clang::NamedDecl* foundDecl = _clangSema->LookupSingleName( _clangScope /* scope */, &identifierInfo, _clangLocation, - clang::Sema::LookupLabel, clang::Sema::NotForRedeclaration); + clang::Sema::LookupLabel); if (!foundDecl || (foundDecl->getKind() != clang::Decl::Label)) return NULL; assert(llvm::dyn_cast<clang::LabelDecl>(foundDecl)); diff --git a/framaCIRGen_src/Clang_utils.cpp b/framaCIRGen_src/Clang_utils.cpp index 2943e2a21dacb051ad42bd7c55bd956dd3c7ca3e..bce1266a9fae39bfc34c121f02f3ab6d68a2e6f5 100644 --- a/framaCIRGen_src/Clang_utils.cpp +++ b/framaCIRGen_src/Clang_utils.cpp @@ -964,14 +964,14 @@ Clang_utils::makeQualifiedName( const clang::DeclContext* Ctx, const char* name, ND = llvm::dyn_cast<clang::NamespaceDecl>(Ctx)) { if (ND->isAnonymousNamespace()) { std::map<const clang::Decl*, std::string>::iterator - found = _anonymousMap.find(ND->getOriginalNamespace()); + found = _anonymousMap.find(ND->getCanonicalDecl()); if (found == _anonymousMap.end()) { ++_anonymousIdent; std::ostringstream out; out << "anonymous_namespace_" << _anonymousIdent; found = _anonymousMap.insert( std::pair<const clang::Decl*, std::string>( - ND->getOriginalNamespace(), out.str())).first; + ND->getCanonicalDecl(), out.str())).first; }; prefix = cons_container(qualification_QNamespace( copy_string(found->second.c_str())), prefix);