浏览代码

* Raise range error exception directly to prevent note "Local variable "rcheck" is assigned but never used".

git-svn-id: trunk@9555 -
yury 17 年之前
父节点
当前提交
93e62a3c0d
共有 1 个文件被更改,包括 7 次插入6 次删除
  1. 7 6
      rtl/objpas/fmtbcd.pp

+ 7 - 6
rtl/objpas/fmtbcd.pp

@@ -823,7 +823,7 @@ INTERFACE
 IMPLEMENTATION
 IMPLEMENTATION
 
 
   USES
   USES
-    classes;
+    classes {$ifopt r+}, sysconst {$endif};
 
 
   type
   type
     TFMTBcdFactory = CLASS(TPublishableVarianttype)
     TFMTBcdFactory = CLASS(TPublishableVarianttype)
@@ -866,9 +866,10 @@ IMPLEMENTATION
     range_fracdigits = 0..pred ( MaxFmtBCDFractionSize );
     range_fracdigits = 0..pred ( MaxFmtBCDFractionSize );
 
 
 {$ifopt r+}
 {$ifopt r+}
-  var
-    rcheck : 0..0;
-    rbad : Byte = 1;
+  procedure RangeError;
+    begin
+      raise ERangeError.Create(SRangeError);
+    end;
 {$endif}
 {$endif}
 
 
 {$ifndef debug_version}
 {$ifndef debug_version}
@@ -1986,8 +1987,8 @@ IMPLEMENTATION
     begin
     begin
       NormalizeBCD := True;
       NormalizeBCD := True;
 {$ifopt r+}
 {$ifopt r+}
-      if ( Prec < 0 ) OR ( Prec > MaxFmtBCDFractionSize ) then rcheck := rbad;
-      if ( Scale < 0 ) OR ( Prec >= MaxFmtBCDFractionSize ) then rcheck := rbad;
+      if ( Prec < 0 ) OR ( Prec > MaxFmtBCDFractionSize ) then RangeError;
+      if ( Scale < 0 ) OR ( Prec >= MaxFmtBCDFractionSize ) then RangeError;
 {$endif}
 {$endif}
       if BCDScale ( InBCD ) > Scale
       if BCDScale ( InBCD ) > Scale
         then begin
         then begin