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

            Bug ID: 94116
           Summary: GCC regression - unexpected AST of kind lrotate_expr
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: antonio.di.monaco at sap dot com
  Target Milestone: ---

Since commit aaa26bf496a646778ac861aed124d960b5bf549f, "c++: Use constexpr to
avoid wrong -Wsign-compare (PR90691)", GCC 10 fails to compile the following
code:

main.cpp:
#pragma GCC diagnostic error "-Wfloat-conversion"

int main() {
  unsigned long a;
  ((a >> 50| a << 14) * 0xDEADBEEFDEADBEEFULL;
}


g++ -std=c++17 -Werror -Wall -o main.o -c main.cpp

main.cpp: In function ‘int main()’:
main.cpp:5:25: sorry, unimplemented: unexpected AST of kind lrotate_expr
    5 |   ((a >> 50| a << 14) * 0xDEADBEEFDEADBEEFULL;
      |                         ^~~~~~~~~~~~~~~~~~~~~
main.cpp:5: confused by earlier errors, bailing out

Reply via email to