Browse Source

* more descriptive error message in case of a missing variant unit added
* variant unit uses now the math unit for ** implementation

git-svn-id: trunk@158 -

florian 20 years ago
parent
commit
9da46ff50a
3 changed files with 29 additions and 7 deletions
  1. 1 0
      .gitattributes
  2. 15 7
      rtl/inc/variant.inc
  3. 13 0
      tests/webtbs/tw4013.pp

+ 1 - 0
.gitattributes

@@ -6123,6 +6123,7 @@ tests/webtbs/tw3973.pp svneol=native#text/plain
 tests/webtbs/tw3977.pp svneol=native#text/plain
 tests/webtbs/tw3977.pp svneol=native#text/plain
 tests/webtbs/tw3977.txt svneol=native#text/plain
 tests/webtbs/tw3977.txt svneol=native#text/plain
 tests/webtbs/tw4010.pp svneol=native#text/plain
 tests/webtbs/tw4010.pp svneol=native#text/plain
+tests/webtbs/tw4013.pp svneol=native#text/plain
 tests/webtbs/ub1873.pp svneol=native#text/plain
 tests/webtbs/ub1873.pp svneol=native#text/plain
 tests/webtbs/ub1883.pp svneol=native#text/plain
 tests/webtbs/ub1883.pp svneol=native#text/plain
 tests/webtbs/uw0555.pp svneol=native#text/plain
 tests/webtbs/uw0555.pp svneol=native#text/plain

+ 15 - 7
rtl/inc/variant.inc

@@ -16,27 +16,35 @@
 
 
 var
 var
    variantmanager : tvariantmanager;
    variantmanager : tvariantmanager;
-
+   
+procedure printmissingvariantunit;
+  begin
+    writeln(stderr);
+    writeln(stderr,'Program needs probably the variants unit.');
+    writeln(stderr,'Include the variants unit in your uses statements');
+    writeln(stderr,'as one of the first units.');
+    writeln(stderr);
+  end;
+  
+  
 procedure invalidvariantop;
 procedure invalidvariantop;
   begin
   begin
+     printmissingvariantunit;
      HandleErrorFrame(221,get_frame);
      HandleErrorFrame(221,get_frame);
   end;
   end;
 
 
 
 
 procedure invalidvariantopnovariants;
 procedure invalidvariantopnovariants;
   begin
   begin
-    writeln(stderr);
-    writeln(stderr,'Program needs probably the variants unit.');
-    writeln(stderr,'Include the variants unit in your uses statements');
-    writeln(stderr,'as one of the first units.');
-    writeln(stderr);
+    printmissingvariantunit;
     HandleErrorFrame(221,get_frame);
     HandleErrorFrame(221,get_frame);
   end;
   end;
   
   
   
   
 procedure vardisperror;
 procedure vardisperror;
   begin
   begin
-     HandleErrorFrame(222,get_frame);
+    printmissingvariantunit;
+    HandleErrorFrame(222,get_frame);
   end;
   end;
 
 
 
 

+ 13 - 0
tests/webtbs/tw4013.pp

@@ -0,0 +1,13 @@
+{ Source provided for Free Pascal Bug Report 4013 }
+{ Submitted by "Miguel Garcia-Blanco" on  2005-05-25 }
+{ e-mail: [email protected] }
+PROGRAM Test;
+
+uses
+  variants;
+
+BEGIN
+
+    writeln( 2.0**5.0 );
+
+END.