When using private, static constants in a class declaration, and using these constants in an inline function that returns a ternary expression , gcc produces linker errors.
This seems to be a problem going back to at least 4.0, and I can reproduce it against 4.4.1. I have not tried anything earlier than 4.0 or later than 4.4.1. -- Summary: Linking failure with static constants and ternary inline function Product: gcc Version: 4.4.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dvander at alliedmods dot net GCC host triplet: x86_64-linux-gnu GCC target triplet: x86_64-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42101