Răsfoiți Sursa

* throw an error if sizeof in the scanner is applied to a type having no defined size

florian 2 săptămâni în urmă
părinte
comite
980c128724
1 a modificat fișierele cu 2 adăugiri și 0 ștergeri
  1. 2 0
      compiler/scanner.pas

+ 2 - 0
compiler/scanner.pas

@@ -2081,6 +2081,8 @@ type
                                 end;
                                 end;
                               typesym:
                               typesym:
                                 begin
                                 begin
+                                  if ttypesym(srsym).typedef.typ in [errordef,abstractdef,forwarddef] then
+                                    Message(parser_e_illegal_expression);
                                   l:=ttypesym(srsym).typedef.size;
                                   l:=ttypesym(srsym).typedef.size;
                                   MarkSymbolAsUsed(srsym);
                                   MarkSymbolAsUsed(srsym);
                                 end;
                                 end;