Skip to content

Conversation

andreas-schwab
Copy link

The limits of char are architecture dependent, and all modern
architectures make it unsigned.

Fixes issue 253.

// only characters with value < 128 are char otherwise they are internally char32_t
static_assert(same_f(CTRE_GEN("\\x80"), ctre::character<char32_t{0x80}>()));
static_assert(same_f(CTRE_GEN("\\xFF"), ctre::character<char32_t{0xFF}>()));
static_assert(same_f(CTRE_GEN("\\x{FF}"), ctre::character<char32_t{0xFF}>()));
#endif
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#endif
#else
static_assert(same_f(CTRE_GEN("\\x80"), ctre::character<char{0x80}>()));
static_assert(same_f(CTRE_GEN("\\xFF"), ctre::character<char{0xFF}>()));
static_assert(same_f(CTRE_GEN("\\x{FF}"), ctre::character<char{0xFF}>()));
#endif

The limits of char are architecture dependent, and all modern
architectures make it unsigned.

Fixes issue 253.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants