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

            Bug ID: 92070
           Summary: [10 regression] -fchecking=2 error: taking address of
                    rvalue
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dimhen at gmail dot com
  Target Milestone: ---

r276763 PASS
r276764 FAIL

clang-8 PASS

$ cat x.ii
struct a;
struct b {
  static a c();
};
struct a : b {};
template <class> struct d {
  void e() { 0 ? b() : b::c(); }
};

$ g++ -fpreprocessed -fchecking=2 -Wall -Wextra -c x.ii
x.ii: In member function ‘void d< <template-parameter-1-1> >::e()’:
x.ii:7:28: error: taking address of rvalue [-fpermissive]
    7 |   void e() { 0 ? b() : b::c(); }
      |                        ~~~~^~
x.ii:7:28: error: taking address of rvalue [-fpermissive]

$ clang++ -Wall -c x.ii

Reply via email to