File 0001-Fix-break-fallthrough-in-switch-statements.patch of Package octave-forge-ocs

From 7006872a694bac06d4a00723750981c0ff30f589 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
Date: Fri, 15 Mar 2019 22:53:28 +0100
Subject: [PATCH] Fix break/fallthrough in switch statements

Octave's switch never fallthrough, and since Octave 5.1 a break inside
a switch (outside a loop) is a syntax error.

case 'Foo' <NL> case 'Bar' is an empty body for 'Foo'.
---
 inst/prs/prs_spice.m             | 34 +++++++-------------------------
 inst/sbn/Mcapacitors.m           |  6 +-----
 inst/sbn/Mcurrentsources.m       |  3 +--
 inst/sbn/Mdiode.m                |  3 ---
 inst/sbn/Minductors.m            |  2 +-
 inst/sbn/Mnmosfet.m              |  4 ----
 inst/sbn/Mpmosfet.m              |  3 ---
 inst/sbn/Mresistors.m            |  5 -----
 inst/sbn/Mshichmanhodgesmosfet.m |  7 +------
 inst/sbn/Mvoltagesources.m       |  8 ++------
 10 files changed, 13 insertions(+), 62 deletions(-)

diff --git a/inst/prs/prs_spice.m b/inst/prs/prs_spice.m
index 35e6d27..033c0ca 100644
--- a/inst/prs/prs_spice.m
+++ b/inst/prs/prs_spice.m
@@ -323,8 +323,7 @@ endfunction
 function [outstruct, count] = lineParse (line, outstruct, count)
   if length (line)
     switch (line (1))
-      case 'B'
-      case 'C'
+      case { 'B', 'C' }
         [outstruct, count] = prs_spice_C (line, outstruct, count);
       case 'D'
         [outstruct, count] = prs_spice_D (line, outstruct, count);
@@ -338,8 +337,7 @@ function [outstruct, count] = lineParse (line, outstruct, count)
         ##mspINP2H (line, lineCounter);
       case 'I'
         ##mspINP2I (line, lineCounter);
-      case 'J'
-      case 'K'
+      case { 'J', 'K' }
         ##mspINP2K (line, lineCounter);
       case 'L'
         ##mspINP2L (line, lineCounter);
@@ -349,18 +347,11 @@ function [outstruct, count] = lineParse (line, outstruct, count)
         ## case 'P'
         ## temporarily assigned to pMOS devices.
         ##[outstruct, count] = prs_spice_P (line, outstruct, count);
-      case 'Q'
-      case 'R'
+      case { 'Q', 'R' }
         [outstruct, count] = prs_spice_R (line, outstruct, count);
-      case 'S'
-      case 'T'
-      case 'U'
-      case 'V'
+      case { 'S', 'T', 'U', 'V' }
         [outstruct, count] = prs_spice_V (line, outstruct, count);
-      case 'W'
-      case 'X'
-      case 'Z'
-      case '.'
+      case { 'W', 'X', 'Z', '.' }
         [outstruct, count] = prs_spice_dot (line, outstruct, count);
       otherwise
         warn = sprintf (['prs_spice: Unsupported circuit element in line: ' line ]);
@@ -909,23 +900,12 @@ function [outstruct, count] = prs_spice_dot (line, outstruct, count)
   model = regexp (line, '.MODEL[\s]+(?<mname>[\S]+)[\s]+(?<mtype>R|C|URC|D|NPN|PNP|NJF|PJF|NMOS|PMOS|NMF|PMF|SW|CSW)[\s]*\([\s]*(?<prms>.+)[\s]*\)', 'names');
   if !isempty (model)
     switch (model.mtype)
-      case 'R'
-      case 'C'
-      case 'URC'
-      case 'D'
+      case { 'R', 'C', 'URC', 'D' }
         element = "Mdiode";
-      case 'NPN'
-      case 'PNP'
-      case 'NJF'
-      case 'PJF'
-      case 'NMOS'
+      case { 'NPN', 'PNP', 'NJF', 'PJF', 'NMOS' }
         element = "Mnmosfet";
       case 'PMOS'
         element = "Mpmosfet";
-      case 'NMF'
-      case 'PMF'
-      case 'SW'
-      case 'CSW'
       otherwise
         syntaxError (line);
     endswitch
diff --git a/inst/sbn/Mcapacitors.m b/inst/sbn/Mcapacitors.m
index fdb22b1..b3a2d4e 100644
--- a/inst/sbn/Mcapacitors.m
+++ b/inst/sbn/Mcapacitors.m
@@ -72,7 +72,6 @@ function [a,b,c] = Mcapacitors(string,parameters,parameternames,extvar,intvar,t)
       a = [0 0 1; 0 0 -1; 0 0 0];
       b = [0 0 0;0 0 0;-C C 1];
       c = [0 0 0]';
-      break
 
     case "MULTICAP"
       
@@ -82,8 +81,6 @@ function [a,b,c] = Mcapacitors(string,parameters,parameternames,extvar,intvar,t)
       a = [zeros(n) eye(n); zeros(n) zeros(n)];
       b = [zeros(n) zeros(n); -C eye(n)];
       c = [zeros(2*n,1)]';
-      
-      break  
 
       ##NLC part
     case "PDE_NMOS"
@@ -111,7 +108,6 @@ function [a,b,c] = Mcapacitors(string,parameters,parameternames,extvar,intvar,t)
       a = [0 0 1; 0 0 -1; 0 0 0];
       b = [0 0 0;0 0 0;C -C -1];
       c = [0 0 Q-q]';
-      break  
 
     otherwise
       error (["unknown section:" string])
@@ -175,4 +171,4 @@ function [Q,C]=Mnmoscap(tbulk,tox,Area,Vg,Na,Nnodes,toll,maxit);
   C = Area*C*(q*ns*xs/Vs);
   Q = Area*Q*(q*ns*xs);
 
-endfunction
\ No newline at end of file
+endfunction
diff --git a/inst/sbn/Mcurrentsources.m b/inst/sbn/Mcurrentsources.m
index 707aa75..869c32f 100644
--- a/inst/sbn/Mcurrentsources.m
+++ b/inst/sbn/Mcurrentsources.m
@@ -71,7 +71,6 @@ function [a,b,c] = Mcurrentsources (string,parameters,parameternames,extvar,intv
       a = zeros(2);
       b = a;
       c = [I -I]';
-      break
 
     case "VCCS"
       ## Voltage controlled current source
@@ -86,6 +85,7 @@ function [a,b,c] = Mcurrentsources (string,parameters,parameternames,extvar,intv
 	   0  0  0  0;...
 	   0  0  0  0];
       c = zeros(4,1);
+
     ## NLC part
     case "sinwave"
       for ii=1:length(parameternames)
@@ -96,7 +96,6 @@ function [a,b,c] = Mcurrentsources (string,parameters,parameternames,extvar,intv
       a = zeros(2);
       b = a;
       c = [I -I]';
-      break
       
     case "VCPS"
       ## Voltage controlled power source
diff --git a/inst/sbn/Mdiode.m b/inst/sbn/Mdiode.m
index 9db5410..44a4b00 100644
--- a/inst/sbn/Mdiode.m
+++ b/inst/sbn/Mdiode.m
@@ -74,7 +74,6 @@ function [a,b,c] = Mdiode (string,parameters,parameternames,extvar,intvar,t)
       a = zeros(2);
       b = [geq -geq; -geq geq];
       c = [I ; -I] ;
-      break
 
     case "PDEsymmetric"
 
@@ -102,8 +101,6 @@ function [a,b,c] = Mdiode (string,parameters,parameternames,extvar,intvar,t)
       b = [g -g; -g g];
       c = [I ; -I] ;
       
-      break
-
     otherwise
       error(["unknown section:" string])
   endswitch
diff --git a/inst/sbn/Minductors.m b/inst/sbn/Minductors.m
index 219a922..799cf98 100644
--- a/inst/sbn/Minductors.m
+++ b/inst/sbn/Minductors.m
@@ -74,4 +74,4 @@ function [a,b,c] = Minductors (string,parameters,parameternames,extvar,intvar,t)
   endswitch
 
 endfunction
-  
\ No newline at end of file
+  
diff --git a/inst/sbn/Mnmosfet.m b/inst/sbn/Mnmosfet.m
index 5fe4962..a37bcc7 100644
--- a/inst/sbn/Mnmosfet.m
+++ b/inst/sbn/Mnmosfet.m
@@ -79,7 +79,6 @@ function [a,b,c]=Mnmosfet(string,parameters,parameternames,extvar,intvar,t)
       
       if (vgs < Vth)
 
-	
 	gm = 0;
 	gd = 1/rd;
 	id = vds*gd;
@@ -112,7 +111,6 @@ function [a,b,c]=Mnmosfet(string,parameters,parameternames,extvar,intvar,t)
 	   0    0       0  0];
       
       c = [0 -id id 0]';
-      break;
 
     case "lincap"
 
@@ -140,7 +138,6 @@ function [a,b,c]=Mnmosfet(string,parameters,parameternames,extvar,intvar,t)
         tmpstruct = prs_iff(mtdnmos);
   
       endif
-     
 
       tmpstruct.NLC.pvmatrix    = [k Vth rd];
       tmpstruct.LCR(1).pvmatrix = [Rs; Rd];
@@ -153,7 +150,6 @@ function [a,b,c]=Mnmosfet(string,parameters,parameternames,extvar,intvar,t)
       b = B+Jac;
       c = res + B*[extvar;intvar] + C;
 
-      break;
     otherwise
       error(["unknown option:" string]);
   endswitch
diff --git a/inst/sbn/Mpmosfet.m b/inst/sbn/Mpmosfet.m
index c4fbae3..58ef919 100644
--- a/inst/sbn/Mpmosfet.m
+++ b/inst/sbn/Mpmosfet.m
@@ -108,7 +108,6 @@ function [a,b,c]= Mpmosfet (string,parameters,parameternames,extvar,intvar,t)
            0    0       0   0 ];
       
       c =[0 -id id 0]';
-      break;
 
     case "lincap"
       
@@ -144,8 +143,6 @@ function [a,b,c]= Mpmosfet (string,parameters,parameternames,extvar,intvar,t)
       b = B+Jac;
       c = res + B*[extvar;intvar] + C;
 
-      break;
-
     otherwise
       error(["unknown option:" string]);
   endswitch
diff --git a/inst/sbn/Mresistors.m b/inst/sbn/Mresistors.m
index e8862b9..e0d43d4 100644
--- a/inst/sbn/Mresistors.m
+++ b/inst/sbn/Mresistors.m
@@ -75,7 +75,6 @@ function [a,b,c] = Mresistors (string, parameters, parameternames,
       b = [1 -1 ;-1 1]/R;
       c = -[0; 0];
       
-      break
       ##NLCpart
     case "THERMAL"
 
@@ -100,8 +99,6 @@ function [a,b,c] = Mresistors (string, parameters, parameternames,
 	   -2*(v1-v2)/RT -2*(v2-v1)/RT (v1-v2)^2*dRdT/RT^2];
       c = [i1 i2 P]';
       
-      break;
-      
       case "THERMAL1D"
       	 
 	 for ii=1:length(parameternames)
@@ -123,8 +120,6 @@ function [a,b,c] = Mresistors (string, parameters, parameternames,
 	 b = k*(S/h)*[B(ext,ext), B(ext,int); B(int,ext), B(int,int)];
 	 c = zeros(N+1,1);
       
-      break;
-      
       otherwise
       error (["unknown section:" string])
   endswitch
diff --git a/inst/sbn/Mshichmanhodgesmosfet.m b/inst/sbn/Mshichmanhodgesmosfet.m
index d5a2c93..893872d 100644
--- a/inst/sbn/Mshichmanhodgesmosfet.m
+++ b/inst/sbn/Mshichmanhodgesmosfet.m
@@ -140,9 +140,6 @@ function [a,b,c]= Mshichmanhodgesmosfet (string,parameters,parameternames,extvar
 	
 	c = [c1;c2];
 	
-
-	break;
-
       case "PMOS"
 	
 	rd   = 1e6;
@@ -218,8 +215,6 @@ function [a,b,c]= Mshichmanhodgesmosfet (string,parameters,parameternames,extvar
 	
 	c = [c1;c2];
 	
-	break;
-
       otherwise
 	error(["unknown option:" string]);
     endswitch
@@ -329,4 +324,4 @@ function [gm,gd,ids,didT,P,dPdT,dPdvgs,dPdvds] = pmos(extvar,mu0,Cox,W,L,Vth,rd,
   dPdvgs  = -(gm*vds);
   dPdvds  = -(gd*vds + ids);
   
-endfunction
\ No newline at end of file
+endfunction
diff --git a/inst/sbn/Mvoltagesources.m b/inst/sbn/Mvoltagesources.m
index b0a9819..e0a2408 100644
--- a/inst/sbn/Mvoltagesources.m
+++ b/inst/sbn/Mvoltagesources.m
@@ -92,7 +92,7 @@ function [a,b,c] = Mvoltagesources (string,parameters,parameternames,extvar,intv
       a = zeros(3);
       b = [0 0 1;0 0 -1;1 -1 0];
       c = [0 0 -V];
-      break
+
       ## NLC part
     case "sinwave"
       for ii=1:length(parameternames)
@@ -105,7 +105,6 @@ function [a,b,c] = Mvoltagesources (string,parameters,parameternames,extvar,intv
       a = zeros(3);
       b = [0 0 1;0 0 -1;1 -1 0];
       c = [0 0 -DV]' + b * [extvar;intvar];
-      break
     
     case "pwl"
 
@@ -118,7 +117,6 @@ function [a,b,c] = Mvoltagesources (string,parameters,parameternames,extvar,intv
       a = zeros(3);
       b = [0 0 1;0 0 -1;1 -1 0];
       c = [0 0 -DV]' + b * [extvar;intvar];
-      break
       
     case "squarewave"
       for ii=1:length(parameternames)
@@ -144,7 +142,6 @@ function [a,b,c] = Mvoltagesources (string,parameters,parameternames,extvar,intv
       a = zeros(3);
       b = [0 0 1;0 0 -1;1 -1 0];
       c = [0 0 -DV]' + b * [extvar;intvar];
-      break
 
     case "step"
       for ii=1:length(parameternames)
@@ -162,7 +159,6 @@ function [a,b,c] = Mvoltagesources (string,parameters,parameternames,extvar,intv
       a = zeros(3);
       b = [0 0 1;0 0 -1;1 -1 0];
       c = [0 0 -DV]' + b * [extvar;intvar];
-      break
       
     case "VCVS"
       K = 1;
@@ -175,7 +171,7 @@ function [a,b,c] = Mvoltagesources (string,parameters,parameternames,extvar,intv
       a = zeros(5);
       b = [0 0 0 0 1;0 0 0 0 -1;0 0 0 0 0;0 0 0 0 0;1 -1 -K K 0];
       c = zeros(5,1);
-      break
+
     otherwise
       error (["unknown section:" string])
   endswitch
-- 
2.21.0

openSUSE Build Service is sponsored by