GCC Newspaper
OCTOBER 6, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
middle-end

Remove deprecated ENUM_BITFIELD macro from libcpp

The deprecated ENUM_BITFIELD macro is removed from libcpp as C++14 supports enum bitfields directly.

This commit removes the deprecated ENUM_BITFIELD macro from libcpp’s header files. As C++14 and later standards directly support enum bitfields, this macro is no longer necessary and its removal simplifies the codebase. The change affects cpp_token and cpp_hashnode in cpplib.h and line_map_ordinary in line-map.h.

In Details

Removes the ENUM_BITFIELD macro from libcpp/include/cpplib.h and libcpp/include/line-map.h as part of addressing PR 125507. This macro is deprecated because C++14 and later standards provide direct support for enum bitfields, making the macro redundant. The change simplifies the internal token representation and related data structures.

For Context
libcpp
The C++ preprocessor library used by GCC.
ENUM_BITFIELD
A deprecated macro used in older versions of libcpp to represent bitfields within enumerations. Modern C++ standards handle this directly.
macro
A piece of code in a program that is expanded by a macro processor to generate source code. Macros can be used for various purposes, including code generation and defining constants.
Filed Under: middle-endlibcppC++14