Browse Source

* don't generate a warning if a "generic" token follows while parsing procedure directives (let's hope we'll never have to add a "generic" directive :/ )
+ added test

git-svn-id: trunk@34343 -

svenbarth 9 years ago
parent
commit
8b853571c6
3 changed files with 23 additions and 1 deletions
  1. 1 0
      .gitattributes
  2. 1 1
      compiler/pdecsub.pas
  3. 21 0
      tests/test/tgenfunc16.pp

+ 1 - 0
.gitattributes

@@ -12471,6 +12471,7 @@ tests/test/tgenfunc12.pp svneol=native#text/pascal
 tests/test/tgenfunc13.pp svneol=native#text/pascal
 tests/test/tgenfunc14.pp svneol=native#text/pascal
 tests/test/tgenfunc15.pp svneol=native#text/pascal
+tests/test/tgenfunc16.pp svneol=native#text/pascal
 tests/test/tgenfunc2.pp svneol=native#text/pascal
 tests/test/tgenfunc3.pp svneol=native#text/pascal
 tests/test/tgenfunc4.pp svneol=native#text/pascal

+ 1 - 1
compiler/pdecsub.pas

@@ -2876,7 +2876,7 @@ const
             { parsing a procvar type the name can be any
               next variable !! }
             if ((pdflags * [pd_procvar,pd_object,pd_record,pd_objcclass,pd_objcprot])=[]) and
-               not(idtoken=_PROPERTY) then
+               not(idtoken in [_PROPERTY,_GENERIC]) then
               Message1(parser_w_unknown_proc_directive_ignored,pattern);
             exit;
          end;

+ 21 - 0
tests/test/tgenfunc16.pp

@@ -0,0 +1,21 @@
+{ %OPT=-vw -Sew }
+
+unit tgenfunc16;
+
+interface
+
+generic procedure Test<T>;
+generic procedure Foo<T>;
+
+implementation
+
+generic procedure Test<T>;
+begin
+
+end;
+
+generic procedure Foo<T>;
+begin
+end;
+
+end.