aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser.cpp')
-rw-r--r--src/parser.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/parser.cpp b/src/parser.cpp
index 868291177..2ddad3b58 100644
--- a/src/parser.cpp
+++ b/src/parser.cpp
@@ -4821,16 +4821,16 @@ bool parse_build_tag(Token token_for_pos, String s) {
TargetArchKind arch = get_target_arch_from_string(p);
if (os != TargetOs_Invalid) {
GB_ASSERT(arch == TargetArch_Invalid);
- if (is_notted && os == build_context.metrics.os) {
- this_kind_correct = false;
- } else if (os != build_context.metrics.os) {
- this_kind_correct = false;
+ if (is_notted) {
+ this_kind_correct = this_kind_correct && (os != build_context.metrics.os);
+ } else {
+ this_kind_correct = this_kind_correct && (os == build_context.metrics.os);
}
} else if (arch != TargetArch_Invalid) {
- if (is_notted && arch == build_context.metrics.arch) {
- this_kind_correct = false;
- } else if (arch != build_context.metrics.arch) {
- this_kind_correct = false;
+ if (is_notted) {
+ this_kind_correct = this_kind_correct && (arch != build_context.metrics.arch);
+ } else {
+ this_kind_correct = this_kind_correct && (arch == build_context.metrics.arch);
}
}
if (os == TargetOs_Invalid && arch == TargetArch_Invalid) {