Browse Source

* do not throw an internal error if in case of an previous error the parameter class of an errordef is requested, resolves #31016

git-svn-id: trunk@34984 -
florian 8 years ago
parent
commit
7bb8873c83
3 changed files with 14 additions and 0 deletions
  1. 1 0
      .gitattributes
  2. 4 0
      compiler/x86_64/cpupara.pas
  3. 9 0
      tests/webtbf/tw31016.pp

+ 1 - 0
.gitattributes

@@ -13755,6 +13755,7 @@ tests/webtbf/tw3000.pp svneol=native#text/plain
 tests/webtbf/tw30022.pp svneol=native#text/plain
 tests/webtbf/tw3047.pp svneol=native#text/plain
 tests/webtbf/tw30494.pp svneol=native#text/pascal
+tests/webtbf/tw31016.pp svneol=native#text/pascal
 tests/webtbf/tw3114.pp svneol=native#text/plain
 tests/webtbf/tw3116.pp svneol=native#text/plain
 tests/webtbf/tw3126.pp svneol=native#text/plain

+ 4 - 0
compiler/x86_64/cpupara.pas

@@ -713,6 +713,10 @@ unit cpupara;
               since classify_argument is called during parsing, see tw27685.pp,
               we handle undefineddef here }
             result:=0;
+          errordef:
+            { error message should have been thrown already before, so avoid only
+              an internal error }
+            result:=0;
           else
             internalerror(2010021405);
         end;

+ 9 - 0
tests/webtbf/tw31016.pp

@@ -0,0 +1,9 @@
+{ %fail }
+{$asmmode intel}
+
+procedure p1(p:pbbyte);assembler;
+asm
+end;
+
+begin
+end.