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);