https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71143
Bug ID: 71143 Summary: [7 Regression] bogus error: ‘A’ is not a base of ‘B<<anonymous> >’ Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: trippels at gcc dot gnu.org CC: jason at gcc dot gnu.org Target Milestone: --- trippels@gcc2-power8 llvm_build % cat LockFileManager.ii struct A; template <int> struct B { void m_fn1() { this->A::assign; } }; trippels@gcc2-power8 llvm_build % clang++ -std=c++14 -c LockFileManager.ii trippels@gcc2-power8 llvm_build % /home/trippels/gcc_5/usr/local/bin/g++ -std=c++14 -c LockFileManager.ii trippels@gcc2-power8 llvm_build % /home/trippels/gcc_6/usr/local/bin/g++ -c LockFileManager.ii trippels@gcc2-power8 llvm_build % /home/trippels/gcc_test/usr/local/bin/g++ -c LockFileManager.ii LockFileManager.ii: In member function ‘void B<<anonymous> >::m_fn1()’: LockFileManager.ii:3:27: error: ‘A’ is not a base of ‘B<<anonymous> >’ void m_fn1() { this->A::assign; } ^~~~~~