diff --git a/.gitattributes b/.gitattributes index 85d888251f..43aa0a72c4 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5745,6 +5745,7 @@ tests/tbf/tb0195.pp svneol=native#text/plain tests/tbf/tb0196.pp svneol=native#text/plain tests/tbf/tb0197.pp svneol=native#text/plain tests/tbf/tb0198.pp svneol=native#text/plain +tests/tbf/tw8303.pp svneol=native#text/plain tests/tbf/ub0115.pp svneol=native#text/plain tests/tbf/ub0149.pp svneol=native#text/plain tests/tbf/ub0158a.pp svneol=native#text/plain diff --git a/compiler/pdecvar.pas b/compiler/pdecvar.pas index 4d06961eab..ff941bbdd4 100644 --- a/compiler/pdecvar.pas +++ b/compiler/pdecvar.pas @@ -104,6 +104,7 @@ implementation else begin Message1(parser_e_illegal_field_or_method,orgpattern); + def:=generrordef; result:=false; end; end; @@ -111,6 +112,7 @@ implementation else begin Message1(parser_e_illegal_field_or_method,orgpattern); + def:=generrordef; result:=false; end; consume(_ID); diff --git a/tests/tbf/tw8303.pp b/tests/tbf/tw8303.pp new file mode 100644 index 0000000000..ddfbc1e31a --- /dev/null +++ b/tests/tbf/tw8303.pp @@ -0,0 +1,36 @@ +{ %fail } +{$mode objfpc} +program bug8303; + +{$APPTYPE CONSOLE} + +uses + SysUtils; + +type proptype1=record + record_member:integer; + end; + +const records_array: array[0..3] of proptype1 = ((record_member:0),(record_member:0),(record_member:0),(record_member:0)); + array_idx=2; + + + +type + tsomeclass = class + procedure setprop1(p:proptype1); + property prop1: proptype1 read records_array[array_idx].record_member write setprop1; + end; + + +procedure tsomeclass.setprop1(p>proptype1); + +begin + +end; + +begin +end. + + +