mirror of
https://https.git.savannah.gnu.org/git/guix.git/
synced 2025-07-12 01:50:46 +02:00
This includes a patch to add support for a <runpath> element to mono's *.dll.config and *.exe.config files. See mono-6.12.0-add-runpath.patch for details. * gnu/packages/dotnet.scm (mono-6.12.0-external-repo-specs, mono-6.12.0): New variable. * gnu/packages/patches/mono-6.12.0-add-runpath.patch, gnu/packages/patches/mono-6.12.0-fix-AssemblyResolver.patch, gnu/packages/patches/mono-6.12.0-fix-ConditionParser.patch: New patches. * gnu/local.mk (dist_patch_DATA): Register new patches. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Change-Id: I937715ad00df17b92137b8cd364652e7d445e22e
46 lines
2 KiB
Diff
46 lines
2 KiB
Diff
diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionParser.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionParser.cs
|
|
index b5e2e809ae4..757492d15e4 100644
|
|
--- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionParser.cs
|
|
+++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConditionParser.cs
|
|
@@ -205,19 +205,30 @@ ConditionExpression ParseFunctionExpression (string function_name)
|
|
{
|
|
List <ConditionFactorExpression> list = new List <ConditionFactorExpression> ();
|
|
ConditionFactorExpression e;
|
|
-
|
|
+
|
|
+ /* starts looking at the open paren, move past it */
|
|
+ tokenizer.GetNextToken ();
|
|
+ if (tokenizer.Token.Type == TokenType.RightParen) {
|
|
+ /* leave us looking past the end of the argument list */
|
|
+ tokenizer.GetNextToken ();
|
|
+ return list;
|
|
+ }
|
|
while (true) {
|
|
- tokenizer.GetNextToken ();
|
|
- if (tokenizer.Token.Type == TokenType.RightParen) {
|
|
- tokenizer.GetNextToken ();
|
|
- break;
|
|
- }
|
|
- if (tokenizer.Token.Type == TokenType.Comma)
|
|
+ e = (ConditionFactorExpression) ParseFactorExpression ();
|
|
+ list.Add (e);
|
|
+ /* ParseFactorExpression leaves us looking at what follows the
|
|
+ * expression */
|
|
+ if (tokenizer.Token.Type == TokenType.RightParen) {
|
|
+ /* leave us looking past the end of the argument list */
|
|
+ tokenizer.GetNextToken ();
|
|
+ break;
|
|
+ }
|
|
+ if (tokenizer.Token.Type == TokenType.Comma) {
|
|
+ tokenizer.GetNextToken ();
|
|
continue;
|
|
-
|
|
- tokenizer.Putback (tokenizer.Token);
|
|
- e = (ConditionFactorExpression) ParseFactorExpression ();
|
|
- list.Add (e);
|
|
+ }
|
|
+
|
|
+ throw new ExpressionParseException (String.Format ("Unexpected token {0} in argument list while parsing condition \"{1}\"", tokenizer.Token, conditionStr));
|
|
}
|
|
|
|
return list;
|