https://llvm.org/bugs/show_bug.cgi?id=27009
Bug ID: 27009 Summary: [ms] no matching member function for call when argument has a __restrict qualifier Product: clang Version: trunk Hardware: PC OS: Windows NT Status: NEW Severity: normal Priority: P Component: Frontend Assignee: unassignedclangb...@nondot.org Reporter: andrey.kules...@intel.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified !- In this case clang cannot find matching function for a call, when an argument that is passed to a function call is declared with a __restrict qualifier. This problem appears only with template classes. MSVC can compile such code without any errors. -! ========Environment========= OS: Win Language: c++ Version: trunk ========Reproducer========== template< class T > class C{ public: void foo(); void foo(const T& src); }; struct B{ int a; }; class A { C<B *> m_t; void bar(){ B * #ifndef OK // use "clang-cl -DOK test.cpp" to remove an error __restrict #endif p; m_t.foo(p); } }; ==========Error============ >>>clang: test.cpp(20,10) : error: no matching member function for call to 'foo' m_t.foo(p); >>>msvc: <no diagnostics> Andrey Kuleshov ====== Software Engineer Intel Compiler Team -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs