https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92049

            Bug ID: 92049
           Summary: bogus errors with -fchecking=2
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mpolacek at gcc dot gnu.org
  Target Milestone: ---

Several tests fail with bogus errors, at least

g++.dg/cpp0x/constexpr-ctor12.C g++.dg/cpp0x/constexpr-ctor13.C 
g++.dg/cpp0x/pr70538.C g++.dg/template/builtin1.C 
g++.dg/template/non-dependent14.C g++.dg/template/typeid1.C 
g++.dg/wrappers/pr83814.C

E.g.,

template<bool> struct cond;

template<int> struct S {
  void f(int i) {
    cond<__builtin_constant_p(i)>();
  }
};

S<1> s;

$ ./cc1plus -quiet builtin1.C -fchecking=2
builtin1.C: In member function ‘void S<<anonymous> >::f(int)’:
builtin1.C:7:5: error: invalid use of incomplete type ‘struct cond<false>’
    7 |     cond<__builtin_constant_p(i)>();
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
builtin1.C:3:23: note: declaration of ‘struct cond<false>’
    3 | template<bool> struct cond;
      |                       ^~~~

Reply via email to