diff --git a/scripts/specialize-patch b/scripts/specialize-patch index 55cd4f51f..edf903464 100755 --- a/scripts/specialize-patch +++ b/scripts/specialize-patch @@ -215,22 +215,22 @@ function evaluate(stmnt, pattern, arg, op, result) { sub(pattern, (op[1] != 0) && (op[2] != 0), stmnt) } - pattern="^+#if[[:blank:]]*([01])[[:blank:]]*\\&\\&[[:blank:]]*(!*[[:blank:]]*defined[[:blank:]]*\\([[:blank:]]*[A-Za-z0-9_]*[[:blank:]]*\\))$" + pattern="^+#(if|elif)[[:blank:]]*([01])[[:blank:]]*\\&\\&[[:blank:]]*(!*[[:blank:]]*defined[[:blank:]]*\\([[:blank:]]*[A-Za-z0-9_]*[[:blank:]]*\\))$" while (match(stmnt, pattern, op) != 0) { - stmnt = "+#if " (op[1] != 0 ? op[2] : op[1]) + stmnt = "+#" op[1] " " (op[2] != 0 ? op[3] : op[2]) } - pattern="^+#if[[:blank:]]*(!*[[:blank:]]*defined[[:blank:]]*\\([[:blank:]]*[A-Za-z0-9_]*[[:blank:]]*\\))\\&\\&[[:blank:]]*([01])[[:blank:]]*$" + pattern="^+#(if|elif)[[:blank:]]*(!*[[:blank:]]*defined[[:blank:]]*\\([[:blank:]]*[A-Za-z0-9_]*[[:blank:]]*\\))\\&\\&[[:blank:]]*([01])[[:blank:]]*$" while (match(stmnt, pattern, op) != 0) { - stmnt = "+#if " (op[2] != 0 ? op[1] : op[2]) + stmnt = "+#" op[1] " " (op[3] != 0 ? op[2] : op[3]) } - pattern="^+#if[[:blank:]]*(!*[[:blank:]]*[A-Za-z0-9_]*)[[:blank:]]*\\&\\&[[:blank:]]*([01])[[:blank:]]*$" + pattern="^+#(if|elif)[[:blank:]]*(!*[[:blank:]]*[A-Za-z0-9_]*)[[:blank:]]*\\&\\&[[:blank:]]*([01])[[:blank:]]*$" while (match(stmnt, pattern, op) != 0) { - stmnt = "+#if " (op[2] != 0 ? op[1] : op[2]) + stmnt = "+#" op[1] " " (op[3] != 0 ? op[2] : op[3]) } pattern="(-*[0-9]+)[[:blank:]]*\\|\\|[[:blank:]]*(-*[0-9]+)" @@ -239,10 +239,10 @@ function evaluate(stmnt, pattern, arg, op, result) { sub(pattern, (op[1] != 0) || (op[2] != 0), stmnt) } - pattern="^+#if[[:blank:]]*([01])[[:blank:]]*\\|\\|[[:blank:]]*(!*[[:blank:]]*defined[[:blank:]]*\\([[:blank:]]*[A-Za-z0-9_]*[[:blank:]]*\\))$" + pattern="^+#(if|elif)[[:blank:]]*([01])[[:blank:]]*\\|\\|[[:blank:]]*(!*[[:blank:]]*defined[[:blank:]]*\\([[:blank:]]*[A-Za-z0-9_]*[[:blank:]]*\\))$" while (match(stmnt, pattern, op) != 0) { - stmnt = "+#if " (op[1] == 0 ? op[2] : op[1]) + stmnt = "+#" op[1] " " (op[2] == 0 ? op[3] : op[2]) } pattern="\\(([01])[[:blank:]]*\\|\\|[[:blank:]]*(!*[[:blank:]]*defined[[:blank:]]*\\([[:blank:]]*[A-Za-z0-9_]*[[:blank:]]*\\))\\)"