View Issue Details

IDProjectCategoryView StatusLast Update
0030724FPCFCLpublic2017-01-29 15:42
ReporterMichalis KamburelisAssigned ToMichael Van Canneyt 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Platformx86-64OSDebian GNU/LinuxOS Version(testing)
Product Version3.1.1Product Build34702 
Target Version3.2.0Fixed in Version3.1.1 
Summary0030724: fcl-passrc fails to accept type specifiers (private etc.) in an advanced record
DescriptionIf you use advanced records ({$modeswitch advancedrecords}), this should be valid:

type
  TGLSLUniform = record
  strict private
    A: string;
  public
    Owner: Integer;
    Name: string;
    Location: Integer;
  end;

However, fcl-passrc fails to parse it:

$ fpc strict_private_in_advanced_record.pas
$ ./test_passrc strict_private_in_advanced_record.pas
An unhandled exception occurred at $0000000000477825:
EParserError: Record visibilities not allowed at this location. at token "Identifier private" in file strict_private_in_advanced_record.pas at line 9 column 16
TagsNo tags attached.
Fixed in Revision35357
FPCOldBugId
FPCTarget
Attached Files

Activities

Michalis Kamburelis

2016-10-10 02:24

reporter  

strict_private_in_advanced_record.pas (243 bytes)
{$modeswitch advancedrecords}

unit strict_private_in_advanced_record;

interface

type
  TGLSLUniform = record
  strict private
    A: string;
  public
    Owner: Integer;
    Name: string;
    Location: Integer;
  end;

implementation

end.

Michalis Kamburelis

2016-10-10 02:25

reporter  

test_passrc.lpr (2,184 bytes)

Michael Van Canneyt

2017-01-29 15:42

administrator   ~0097781

$MODESWITCH directive was not recognized at all.
It is now, but not all possible switches are effective
Advancedrecords is.

Issue History

Date Modified Username Field Change
2016-10-10 02:24 Michalis Kamburelis New Issue
2016-10-10 02:24 Michalis Kamburelis File Added: strict_private_in_advanced_record.pas
2016-10-10 02:25 Michalis Kamburelis File Added: test_passrc.lpr
2016-10-10 08:06 Michael Van Canneyt Assigned To => Michael Van Canneyt
2016-10-10 08:06 Michael Van Canneyt Status new => assigned
2017-01-29 15:42 Michael Van Canneyt Fixed in Revision => 35357
2017-01-29 15:42 Michael Van Canneyt Note Added: 0097781
2017-01-29 15:42 Michael Van Canneyt Status assigned => resolved
2017-01-29 15:42 Michael Van Canneyt Fixed in Version => 3.1.1
2017-01-29 15:42 Michael Van Canneyt Resolution open => fixed
2017-01-29 15:42 Michael Van Canneyt Target Version => 3.2.0