Skip to content
GitLab
    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
    Projects Groups Snippets
  • Sign up now
  • Login
  • Sign in / Register
  • FPC Source FPC Source
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Graph
    • Compare
    • Locked Files
  • Issues 1,357
    • Issues 1,357
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 73
    • Merge requests 73
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • FPC
  • FPCFPC
  • FPC SourceFPC Source
  • Issues
  • #39931
Closed
Open
Issue created Oct 01, 2022 by bogen85@bogen85

PParser fails on an interface with type TAuto<T: class> = record

Summary

PParser fails on an interface with type TAuto<T: class> = record

System Information

  • Operating system: Linux, Arch Linux
  • Processor architecture: x86-64
  • Compiler version: 3.3.1-11938-g88cf633b
  • Device: Computer

Steps to reproduce

See attached program. lazforum-60775.tar.gz

make clean
make x_parse_pas0

Got:

+ /home/shared-development/lazforum/60775/bin/parse_pas smartptrs.pas
An unhandled exception occurred at $0000000000461E52:
EParserError: Expected "=" at token "<" in file smartptrs.pas at line 6 column 8
  $0000000000461E52
  $0000000000462033
  $00000000004027A7  main,  line 122 of parse_pas.pas
  $0000000000402BDE  $main,Goodbye TSimpleEngine
TObjectWrapC<T>.destroy
release ptr: 0000000000000000
  line 127 of parse_pas.pas

Example Project

What is the current bug behavior?

See steps to reproduce. PParser fails on an interface with type TAuto<T: class> = record

What is the expected (correct) behavior?

For PParser to parse the line in question...

And the program that uses that unit and PParser compiled and ran...

As the following works:

make clean
make x_parse_pas2
Edited Oct 01, 2022 by bogen85
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking