Skip to content

tarantool/module.h conflict with c++23 std::unreachable #11743

@ivan2kh

Description

@ivan2kh

Bug description

tarantool/module.h conflict with c++23 std::unreachable
module.h defines unreachable macro. but it is used in c++23

  • OS: [e.g. Linux/MacOS/FreeBSD/OpenBSD]
  • OS Version: [e.g. Debian 11, FreeBSD 11]
  • Architecture: [amd64, arm]

$ tarantool --version
Tarantool 3.4.0-0-g123ed47c4fc
Target: Linux-x86_64-RelWithDebInfo
Build options: cmake . -DCMAKE_INSTALL_PREFIX=/tarantool/static-build/tarantool-prefix -DENABLE_BACKTRACE=TRUE
Compiler: GNU-8.3.1
C_FLAGS: -fexceptions -funwind-tables -fasynchronous-unwind-tables -static-libstdc++ -fno-common -msse2 -fmacro-prefix-map=/tarantool=. -std=c11 -Wall -Wextra -Wno-gnu-alignof-expression -fno-gnu89-inline -Wno-cast-function-type -O2 -g -DNDEBUG -ggdb -O2
CXX_FLAGS: -fexceptions -funwind-tables -fasynchronous-unwind-tables -static-libstdc++ -fno-common -msse2 -fmacro-prefix-map=/tarantool=. -std=c++11 -Wall -Wextra -Wno-invalid-offsetof -Wno-gnu-alignof-expression -Wno-cast-function-type -O2 -g -DNDEBUG -ggdb -O2

Steps to reproduce

g++14 -std=gnu++23 my.cpp

#include "tarantool/module.h"
#include <utility>

Actual behavior

In file included from my.cpp:1:
/usr/include/c++/14/utility:218:3: error: expected ‘)’ before ‘(’ token
  218 |   unreachable()
      |   ^~~~~~~~~~~

Expected behavior

no error

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions