@@ -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