Add support for '|' in expressions.
llvm-svn: 279480
diff --git a/lld/ELF/LinkerScript.cpp b/lld/ELF/LinkerScript.cpp
index ed6b39e..c00791d 100644
--- a/lld/ELF/LinkerScript.cpp
+++ b/lld/ELF/LinkerScript.cpp
@@ -826,6 +826,7 @@
.Case("==", 2)
.Case("!=", 2)
.Case("&", 1)
+ .Case("|", 1)
.Default(-1);
}
@@ -1102,6 +1103,8 @@
return [=](uint64_t Dot) { return L(Dot) != R(Dot); };
if (Op == "&")
return [=](uint64_t Dot) { return L(Dot) & R(Dot); };
+ if (Op == "|")
+ return [=](uint64_t Dot) { return L(Dot) | R(Dot); };
llvm_unreachable("invalid operator");
}