[Support] Compile fix for gcc. NFC.
authorMichael Kruse <llvm@meinersbur.de>
Fri, 30 Sep 2016 16:47:43 +0000 (16:47 +0000)
committerMichael Kruse <llvm@meinersbur.de>
Fri, 30 Sep 2016 16:47:43 +0000 (16:47 +0000)
gcc 5.4 insists on template specialization to be in a namespace polly { ... }
block, instead of being prefixed with 'polly::'. Error message:

root/src/llvm/tools/polly/lib/Support/GICHelper.cpp:203:54: error: specialization of â€˜template<class T> void polly::IslPtr<T>::dump() const’ in different namespace [-fpermissive]
   template <> void polly::IslPtr<isl_##TYPE>::dump() const {                   \
                                                      ^
msvc14 and clang 3.8 did not complain.

llvm-svn: 282874

polly/lib/Support/GICHelper.cpp

index 58c3ba5..82c07ca 100644 (file)
@@ -200,13 +200,14 @@ std::string polly::getIslCompatibleName(const std::string &Prefix,
 }
 
 #define DEFINE_ISLPTR(TYPE)                                                    \
-  template <> void polly::IslPtr<isl_##TYPE>::dump() const {                   \
+  template <> void IslPtr<isl_##TYPE>::dump() const {                          \
     isl_##TYPE##_dump(Obj);                                                    \
   }                                                                            \
-  template <> void polly::NonowningIslPtr<isl_##TYPE>::dump() const {          \
+  template <> void NonowningIslPtr<isl_##TYPE>::dump() const {                 \
     isl_##TYPE##_dump(Obj);                                                    \
   }
 
+namespace polly {
 DEFINE_ISLPTR(val)
 DEFINE_ISLPTR(space)
 DEFINE_ISLPTR(basic_map)
@@ -220,6 +221,7 @@ DEFINE_ISLPTR(pw_aff)
 // DEFINE_ISLPTR(union_pw_aff) /* There is no isl_union_pw_aff_dump() */
 DEFINE_ISLPTR(multi_union_pw_aff)
 DEFINE_ISLPTR(union_pw_multi_aff)
+}
 
 void polly::foreachElt(NonowningIslPtr<isl_union_map> UMap,
                        const std::function<void(IslPtr<isl_map> Map)> &F) {