[PATCH] D148330: [clang] Do not crash on undefined template partial specialization
Mariya Podchishchaeva via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 14 06:51:16 PDT 2023
Fznamznon marked an inline comment as not done.
Fznamznon added inline comments.
================
Comment at: clang/test/SemaCXX/undefined-partial-specialization.cpp:12
+template<typename T>
+void boo<T, true>::foo(){} // expected-error{{nested name specifier 'boo<T, true>::' for declaration does not refer into a class, class template or class template partial specialization}}
+
----------------
erichkeane wrote:
> I don't think this is correct. The diagnostic is inaccurate, it DOES refer to a class template partial specialization (I can see it on line 9!), but the problem is that it is incomplete.
Huh, it seems it was my change that made this diagnostic inaccurate. I was under impression that it shouldn't have done this.
For c++17 it used to say "error: out-of-line definition of 'foo' from class 'boo<type-parameter-0-0, true>' without definition" without crash. Now it is inaccurate for both c++17 and c++20. I'll look into this more.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D148330/new/
https://reviews.llvm.org/D148330
More information about the cfe-commits
mailing list