|
From: <and...@us...> - 2015-12-01 21:02:58
|
Revision: 6650
http://sourceforge.net/p/nsis/code/6650
Author: anders_k
Date: 2015-12-01 21:02:56 +0000 (Tue, 01 Dec 2015)
Log Message:
-----------
LogicLib: Don't add a EndSelect label when only one Case is used to avoid a unused label warning (bug #1126)
Modified Paths:
--------------
NSIS/trunk/Include/LogicLib.nsh
Modified: NSIS/trunk/Include/LogicLib.nsh
===================================================================
--- NSIS/trunk/Include/LogicLib.nsh 2015-11-30 22:27:44 UTC (rev 6649)
+++ NSIS/trunk/Include/LogicLib.nsh 2015-12-01 21:02:56 UTC (rev 6650)
@@ -98,10 +98,7 @@
!macroend
!macro _IncreaseCounter
- !define _LOGICLIB_COUNTER ${LOGICLIB_COUNTER}
- !undef LOGICLIB_COUNTER
- !define /math LOGICLIB_COUNTER ${_LOGICLIB_COUNTER} + 1
- !undef _LOGICLIB_COUNTER
+ !define /redef /math LOGICLIB_COUNTER `${LOGICLIB_COUNTER}` + 1
!macroend
!macro _PushLogic
@@ -356,7 +353,7 @@
!verbose ${LOGICLIB_VERBOSITY}
!insertmacro _PushLogic
!define ${_Logic}If
- !define ${_Logic}Else _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for the Else
+ !define ${_Logic}Else _LogicLib_ElseLabel_${LOGICLIB_COUNTER} ; Get a label for the Else
!insertmacro _IncreaseCounter
!define _c=${_c}
!ifdef _c=true ; If is true
@@ -402,12 +399,12 @@
!ifndef ${_Logic}Else
!error "Cannot use Or following an Else"
!endif
- !define _label _LogicLib_Label_${LOGICLIB_COUNTER} ; Skip this test as we already
+ !define _label _LogicLib_Label_${LOGICLIB_COUNTER} ; Skip this test as we already
!insertmacro _IncreaseCounter
Goto ${_label} ; have a successful result
${${_Logic}Else}: ; Place the Else label
!undef ${_Logic}Else ; and remove it
- !define ${_Logic}Else _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for the next Else and perform the new If
+ !define ${_Logic}Else _LogicLib_ElseLabel_${LOGICLIB_COUNTER} ; Get a label for the next Else and perform the new If
!insertmacro _IncreaseCounter
!define _c=${_c}
!ifdef _c=true ; If is true
@@ -434,7 +431,7 @@
!error "Cannot use Else following an Else"
!endif
!ifndef ${_Logic}EndIf ; First Else for this If?
- !define ${_Logic}EndIf _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for the EndIf
+ !define ${_Logic}EndIf _LogicLib_EndIfLabel_${LOGICLIB_COUNTER} ; Get a label for the EndIf
!insertmacro _IncreaseCounter
!endif
Goto ${${_Logic}EndIf} ; Go to the EndIf
@@ -448,7 +445,7 @@
!verbose push
!verbose ${LOGICLIB_VERBOSITY}
${Else} ; Perform the Else
- !define ${_Logic}Else _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for the next Else and perform the new If
+ !define ${_Logic}Else _LogicLib_ElseLabel_${LOGICLIB_COUNTER} ; Get a label for the next Else and perform the new If
!insertmacro _IncreaseCounter
!define _c=${_c}
!ifdef _c=true ; If is true
@@ -547,10 +544,10 @@
!verbose push
!verbose ${LOGICLIB_VERBOSITY}
!insertmacro _PushLogic
- !define ${_Logic}${_n} _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for the start of the loop
+ !define ${_Logic}${_n} _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for the start of the loop
!insertmacro _IncreaseCounter
${${_Logic}${_n}}:
- !insertmacro _PushScope Exit${_n} _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for the end of the loop
+ !insertmacro _PushScope Exit${_n} _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for the end of the loop
!insertmacro _IncreaseCounter
!insertmacro _PushScope Break ${_Exit${_n}} ; Break goes to the end of the loop
!ifdef _DoLoopExpression
@@ -559,7 +556,7 @@
!endif
!define _c=${_c}
!ifdef _c= ; No starting condition
- !insertmacro _PushScope Continue _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for Continue at the end of the loop
+ !insertmacro _PushScope Continue _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for Continue at the end of the loop
!insertmacro _IncreaseCounter
!else
!insertmacro _PushScope Continue ${${_Logic}${_n}} ; Continue goes to the start of the loop
@@ -609,7 +606,7 @@
!endif
!undef _c=${_c}
Goto ${_Continue} ; Just to ensure it is referenced at least once
- Goto ${_Exit${_n}} ; Just to ensure it is referenced at least once
+ Goto ${_Exit${_n}} ; Just to ensure it is referenced at least once
${_Exit${_n}}: ; Place the loop exit point
!undef ${_Logic}Condition
!insertmacro _PopScope Continue
@@ -645,11 +642,12 @@
!ifndef ${_Logic}Else
!error "Cannot use Case following a CaseElse"
!endif
- Goto ${${_Logic}EndSelect} ; Go to the EndSelect
+ Goto ${${_Logic}EndSelect} ; Go to EndSelect (Ends the previous Case)
+ !define _LogicLib_EndSelectLabelUsed
${${_Logic}Else}: ; Place the Else label
!undef ${_Logic}Else ; and remove it
!else
- !define ${_Logic}EndSelect _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for the EndSelect
+ !define ${_Logic}EndSelect _LogicLib_EndSelectLabel_${LOGICLIB_COUNTER} ; Get a label for the EndSelect
!insertmacro _IncreaseCounter
!endif
!verbose pop
@@ -662,7 +660,7 @@
!verbose push
!verbose ${LOGICLIB_VERBOSITY}
${CaseElse} ; Perform the CaseElse
- !define ${_Logic}Else _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for the next Else and perform the new Case
+ !define ${_Logic}Else _LogicLib_NextSelectCaseLabel_${LOGICLIB_COUNTER} ; Get a label for the next Else and perform the new Case
!insertmacro _IncreaseCounter
!insertmacro _== `${${_Logic}Select}` `${_a}` "" ${${_Logic}Else}
!verbose pop
@@ -673,7 +671,7 @@
!verbose push
!verbose ${LOGICLIB_VERBOSITY}
${CaseElse} ; Perform the CaseElse
- !define ${_Logic}Else _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for the next Else and perform the new Case
+ !define ${_Logic}Else _LogicLib_NextSelectCaseLabel_${LOGICLIB_COUNTER} ; Get a label for the next Else and perform the new Case
!insertmacro _IncreaseCounter
!insertmacro _== `${${_Logic}Select}` `${_a}` +2 ""
!insertmacro _== `${${_Logic}Select}` `${_b}` "" ${${_Logic}Else}
@@ -685,7 +683,7 @@
!verbose push
!verbose ${LOGICLIB_VERBOSITY}
${CaseElse} ; Perform the CaseElse
- !define ${_Logic}Else _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for the next Else and perform the new Case
+ !define ${_Logic}Else _LogicLib_NextSelectCaseLabel_${LOGICLIB_COUNTER} ; Get a label for the next Else and perform the new Case
!insertmacro _IncreaseCounter
!insertmacro _== `${${_Logic}Select}` `${_a}` +3 ""
!insertmacro _== `${${_Logic}Select}` `${_b}` +2 ""
@@ -698,7 +696,7 @@
!verbose push
!verbose ${LOGICLIB_VERBOSITY}
${CaseElse} ; Perform the CaseElse
- !define ${_Logic}Else _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for the next Else and perform the new Case
+ !define ${_Logic}Else _LogicLib_NextSelectCaseLabel_${LOGICLIB_COUNTER} ; Get a label for the next Else and perform the new Case
!insertmacro _IncreaseCounter
!insertmacro _== `${${_Logic}Select}` `${_a}` +4 ""
!insertmacro _== `${${_Logic}Select}` `${_b}` +3 ""
@@ -712,7 +710,7 @@
!verbose push
!verbose ${LOGICLIB_VERBOSITY}
${CaseElse} ; Perform the CaseElse
- !define ${_Logic}Else _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for the next Else and perform the new Case
+ !define ${_Logic}Else _LogicLib_NextSelectCaseLabel_${LOGICLIB_COUNTER} ; Get a label for the next Else and perform the new Case
!insertmacro _IncreaseCounter
!insertmacro _== `${${_Logic}Select}` `${_a}` +5 ""
!insertmacro _== `${${_Logic}Select}` `${_b}` +4 ""
@@ -734,7 +732,10 @@
!undef ${_Logic}Else ; and remove it
!endif
!ifdef ${_Logic}EndSelect ; This won't be set if there weren't any cases
- ${${_Logic}EndSelect}: ; Place the EndSelect
+ !ifdef _LogicLib_EndSelectLabelUsed ; There is no jump to ${${_Logic}EndSelect}: if there is only one Case
+ ${${_Logic}EndSelect}: ; Place the EndSelect
+ !undef _LogicLib_EndSelectLabelUsed
+ !endif
!undef ${_Logic}EndSelect ; and remove it
!endif
!undef ${_Logic}Select
@@ -748,11 +749,11 @@
!verbose ${LOGICLIB_VERBOSITY}
!insertmacro _PushLogic
!insertmacro _PushScope Switch ${_Logic} ; Keep a separate stack for switch data
- !insertmacro _PushScope Break _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a lable for beyond the end of the switch
+ !insertmacro _PushScope Break _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a lable for beyond the end of the switch
!insertmacro _IncreaseCounter
!define ${_Switch}Var `${_a}` ; Remember the left hand side of the comparison
!tempfile ${_Switch}Tmp ; Create a temporary file
- !define ${_Logic}Switch _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for the end of the switch
+ !define ${_Logic}Switch _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for the end of the switch
!insertmacro _IncreaseCounter
Goto ${${_Logic}Switch} ; and go there
!verbose pop
@@ -767,7 +768,7 @@
!else ifndef _Switch ; If not then check for an active Switch
!error "Cannot use Case without a preceding Select or Switch"
!else
- !define _label _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for this case,
+ !define _label _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for this case,
!insertmacro _IncreaseCounter
${_label}: ; place it and add it's check to the temp file
!appendfile "${${_Switch}Tmp}" `!insertmacro _== $\`${${_Switch}Var}$\` $\`${_a}$\` ${_label} ""$\n`
@@ -786,7 +787,7 @@
!else ifdef ${_Switch}Else ; Already had a default case?
!error "Cannot use CaseElse following a CaseElse"
!else
- !define ${_Switch}Else _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for the default case,
+ !define ${_Switch}Else _LogicLib_Label_${LOGICLIB_COUNTER} ; Get a label for the default case,
!insertmacro _IncreaseCounter
${${_Switch}Else}: ; and place it
!endif
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|