From 1dc8da13fe0e2153bf69be8056873c3f50c0a4ee Mon Sep 17 00:00:00 2001 From: alk <45172705+altalk23@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:04:23 +0300 Subject: [PATCH 1/4] Add = inline for specifying all platform --- src/bind.hpp | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/src/bind.hpp b/src/bind.hpp index 67e2f36..8466b56 100644 --- a/src/bind.hpp +++ b/src/bind.hpp @@ -15,11 +15,14 @@ namespace broma { seq, opt_must< one<'='>, sep, - list, - sep, - tagged_rule> + list, + sep, + tagged_rule + >, + tagged_rule> >, one<','>>, sep >, sor>> {}; @@ -49,13 +52,29 @@ namespace broma { } }; + template <> + struct run_action> { + template + static void apply(T& input, Root* root, ScratchData* scratch) { + auto text = input.string(); + + scratch->wip_has_explicit_inline = true; + for (auto& platform : {&scratch->wip_bind.imac, &scratch->wip_bind.m1, &scratch->wip_bind.ios, + &scratch->wip_bind.win, &scratch->wip_bind.android32, &scratch->wip_bind.android64}) { + if (platform == 0) { // don't replace already specified ones + platform = -2; + } + } + } + }; + template <> struct run_action>> { template static void apply(T& input, Root* root, ScratchData* scratch) { auto text = input.string(); - std::size_t out = -1; + std::ptrdiff_t out = -1; if (text == "default") { // special internal constant used for normalization // feel free to increment if needed (it isn't exposed anywhere public) From f413ad2c7903d92041ddf66f74b59c9a82f0ab48 Mon Sep 17 00:00:00 2001 From: alk <45172705+altalk23@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:07:12 +0300 Subject: [PATCH 2/4] add deref to platform silly me --- src/bind.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bind.hpp b/src/bind.hpp index 8466b56..155822a 100644 --- a/src/bind.hpp +++ b/src/bind.hpp @@ -61,8 +61,8 @@ namespace broma { scratch->wip_has_explicit_inline = true; for (auto& platform : {&scratch->wip_bind.imac, &scratch->wip_bind.m1, &scratch->wip_bind.ios, &scratch->wip_bind.win, &scratch->wip_bind.android32, &scratch->wip_bind.android64}) { - if (platform == 0) { // don't replace already specified ones - platform = -2; + if (*platform == 0) { // don't replace already specified ones + *platform = -2; } } } From 6fb3ad55be9083abc4ac1f870afada3f8fa47db6 Mon Sep 17 00:00:00 2001 From: alk <45172705+altalk23@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:11:25 +0300 Subject: [PATCH 3/4] i hope this one works --- src/bind.hpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/bind.hpp b/src/bind.hpp index 155822a..b1fcc79 100644 --- a/src/bind.hpp +++ b/src/bind.hpp @@ -15,14 +15,13 @@ namespace broma { seq, opt_must< one<'='>, sep, - list, sep, tagged_rule - >, - tagged_rule> + >, tagged_rule >> >, one<','>>, sep >, sor>> {}; From 46bb57f02ee76ad035229762e405d189fed7cd23 Mon Sep 17 00:00:00 2001 From: alk <45172705+altalk23@users.noreply.github.com> Date: Thu, 22 Jan 2026 21:12:02 +0300 Subject: [PATCH 4/4] oops --- src/bind.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bind.hpp b/src/bind.hpp index b1fcc79..d6eb252 100644 --- a/src/bind.hpp +++ b/src/bind.hpp @@ -20,8 +20,8 @@ namespace broma { sep, tagged_platform, sep, - tagged_rule - >, tagged_rule >> + tagged_rule> + >, tagged_rule> >, one<','>>, sep >, sor>> {};