Author: Hans Wennborg Date: 2020-10-20T17:18:42+02:00 New Revision: 03a5f7ce12e2111c8b7bc5a95cff4c51b516250f
URL: https://github.com/llvm/llvm-project/commit/03a5f7ce12e2111c8b7bc5a95cff4c51b516250f DIFF: https://github.com/llvm/llvm-project/commit/03a5f7ce12e2111c8b7bc5a95cff4c51b516250f.diff LOG: Try to make GCC5 happy about the CfgTraits thing It was failing with: In file included from /work/llvm.monorepo/clang/lib/Analysis/Dominators.cpp:9:0: /work/llvm.monorepo/clang/include/clang/Analysis/Analyses/Dominators.h: At global scope: /work/llvm.monorepo/clang/include/clang/Analysis/Analyses/Dominators.h:111:26: error: specialization of ‘template<class CfgRelatedTypeT> struct llvm::CfgTraitsFor’ in different namespace [-fpermissive] template <> struct llvm::CfgTraitsFor<clang::CFGBlock> { ^ In file included from /work/llvm.monorepo/clang/include/clang/Analysis/Analyses/Dominators.h:21:0, from /work/llvm.monorepo/clang/lib/Analysis/Dominators.cpp:9: /work/llvm.monorepo/llvm/include/llvm/Support/CfgTraits.h:294:44: error: from definition of ‘template<class CfgRelatedTypeT> struct llvm::CfgTraitsFor’ [-fpermissive] template <typename CfgRelatedTypeT> struct CfgTraitsFor; ^ Added: Modified: clang/include/clang/Analysis/Analyses/Dominators.h Removed: ################################################################################ diff --git a/clang/include/clang/Analysis/Analyses/Dominators.h b/clang/include/clang/Analysis/Analyses/Dominators.h index e09ff04fa95a..367f135a98ec 100644 --- a/clang/include/clang/Analysis/Analyses/Dominators.h +++ b/clang/include/clang/Analysis/Analyses/Dominators.h @@ -108,7 +108,9 @@ class CfgTraits : public llvm::CfgTraits<CfgTraitsBase, CfgTraits> { } // namespace clang -template <> struct llvm::CfgTraitsFor<clang::CFGBlock> { +namespace llvm { + +template <> struct CfgTraitsFor<clang::CFGBlock> { using CfgTraits = clang::CfgTraits; }; @@ -116,7 +118,6 @@ template <> struct llvm::CfgTraitsFor<clang::CFGBlock> { // which accepts an LLVM Module, so remove this (and the method's argument that // needs it) when that is fixed. -namespace llvm { class Module; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits