Skip to content

Commit edcc60e

Browse files
committed
[ELF] Simplify readAssignment
After #100493, the `=` support from fe0de25 can be simplified.
1 parent 745de9e commit edcc60e

File tree

1 file changed

+14
-15
lines changed

1 file changed

+14
-15
lines changed

lld/ELF/ScriptParser.cpp

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1126,22 +1126,21 @@ SymbolAssignment *ScriptParser::readAssignment(StringRef tok) {
11261126
SymbolAssignment *cmd = nullptr;
11271127
bool savedSeenRelroEnd = script->seenRelroEnd;
11281128
const StringRef op = peek();
1129-
if (op.starts_with("=")) {
1130-
// Support = followed by an expression without whitespace.
1129+
{
11311130
SaveAndRestore saved(inExpr, true);
1132-
cmd = readSymbolAssignment(tok);
1133-
} else if ((op.size() == 2 && op[1] == '=' && strchr("*/+-&^|", op[0])) ||
1134-
op == "<<=" || op == ">>=") {
1135-
cmd = readSymbolAssignment(tok);
1136-
} else if (tok == "PROVIDE") {
1137-
SaveAndRestore saved(inExpr, true);
1138-
cmd = readProvideHidden(true, false);
1139-
} else if (tok == "HIDDEN") {
1140-
SaveAndRestore saved(inExpr, true);
1141-
cmd = readProvideHidden(false, true);
1142-
} else if (tok == "PROVIDE_HIDDEN") {
1143-
SaveAndRestore saved(inExpr, true);
1144-
cmd = readProvideHidden(true, true);
1131+
if (op.starts_with("=")) {
1132+
// Support = followed by an expression without whitespace.
1133+
cmd = readSymbolAssignment(tok);
1134+
} else if ((op.size() == 2 && op[1] == '=' && strchr("+-*/&^|", op[0])) ||
1135+
op == "<<=" || op == ">>=") {
1136+
cmd = readSymbolAssignment(tok);
1137+
} else if (tok == "PROVIDE") {
1138+
cmd = readProvideHidden(true, false);
1139+
} else if (tok == "HIDDEN") {
1140+
cmd = readProvideHidden(false, true);
1141+
} else if (tok == "PROVIDE_HIDDEN") {
1142+
cmd = readProvideHidden(true, true);
1143+
}
11451144
}
11461145

11471146
if (cmd) {

0 commit comments

Comments
 (0)