This patch is from the upstream pull request https://github.com/chadaustin/sajson/pull/54. It fixes linking with GCC. diff --git a/include/sajson.h b/include/sajson.h index 8b4e05a..1bd045b 100644 --- a/include/sajson.h +++ b/include/sajson.h @@ -138,12 +138,17 @@ constexpr inline size_t make_element(tag t, size_t value) { // header. This trick courtesy of Rich Geldreich's Purple JSON parser. template struct globals_struct { + static const unsigned char parse_flags[256]; +}; +typedef globals_struct<> globals; + // clang-format off // bit 0 (1) - set if: plain ASCII string character // bit 1 (2) - set if: whitespace // bit 4 (0x10) - set if: 0-9 e E . - constexpr static const uint8_t parse_flags[256] = { + template + const unsigned char globals_struct::parse_flags[256] = { // 0 1 2 3 4 5 6 7 8 9 A B C D E F 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 2, 0, 0, // 0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1 @@ -162,15 +167,13 @@ struct globals_struct { }; // clang-format on -}; -typedef globals_struct<> globals; -constexpr inline bool is_plain_string_character(char c) { +inline bool is_plain_string_character(char c) { // return c >= 0x20 && c <= 0x7f && c != 0x22 && c != 0x5c; return (globals::parse_flags[static_cast(c)] & 1) != 0; } -constexpr inline bool is_whitespace(char c) { +inline bool is_whitespace(char c) { // return c == '\r' || c == '\n' || c == '\t' || c == ' '; return (globals::parse_flags[static_cast(c)] & 2) != 0; } ='range'>range
AgeCommit message (Expand)Author
2023-10-22gnu: patman: Apply patch for new Change-Id setting....* gnu/packages/bootloaders.scm (u-boot) [source]: Apply patch. * gnu/packages/patches/u-boot-patman-change-id.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * .patman (keep_change_id): Use it. Series-changes: 3 - New commit Change-Id: I33c03013f6a260b5f5d80212b7b6ebe8a3f97efa Maxim Cournoyer
2023-05-01.patman: Remove get_maintainer_script option....This is now handled at the level of git via its new '--header-cmd' option, which produces X-Debbugs-CC headers. * .patman (get_maintainer_script): Delete option. Maxim Cournoyer
2023-02-25.patman: Ignore bad tags....The feature is not used in Guix, and it produces extraneous warnings. * .patman (ignore_bad_tags): Set option to True. Maxim Cournoyer
2022-12-28.patman: New configuration file....* .patman: New file. Series-to: 60218@debbugs.gnu.org Series-cc: rekado@elephly.net, othacehe@gnu.org Series-version: 2 Maxim Cournoyer