Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2012-01

New bug in building RTL docs

12 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Hans-Peter Diettrich

Today I had problems in the FPDocManager, where the scanner/parser throws an exception "String list does not allow duplicates". Reason may be duplicate include paths, definitely a duplicate -dCPU32 from both the parser and the commandline.

This error now also occurs when the RTL 2.6 docs are build from the commandline (Win7):

make rtl.chk

What happend to the Makefile, or to the PParser/Scanner?

Another parser error occurs in systemh.inc line 283 col. 30:

   UCS4Char            = type 0..$10ffff;

where the parser expects an "=" after "type". Wasn't this syntax recognized already before 2.6?

Can somebody confirm above problems, or are these due to bad modifications on my machine?

DoDi

Reply by email

Michael Van Canneyt
to Hans-Peter Diettrich
Hans-Peter Diettrich wrote
Today I had problems in the FPDocManager, where the scanner/parser throws an exception "String list does not allow duplicates". Reason may be duplicate include paths, definitely a duplicate -dCPU32 from both the parser and the commandline.

The sources have been stripped from dupError a long time ago. So I can't reproduce this.

Another parser error occurs in systemh.inc line 283 col. 30: UCS4Char = type 0..$10ffff; where the parser expects an "=" after "type". Wasn't this syntax recognized already before 2.6?

As far as I know, I have fixed this already in trunk.

Michael.

Reply by email

Hans-Peter Diettrich
to Michael Van Canneyt
Show quoted text 11 lines
On Mon, 23 Jan 2012, Hans-Peter Diettrich wrote: > Today I had problems in the FPDocManager, where the scanner/parser > throws an exception "String list does not allow duplicates". Reason > may be duplicate include paths, definitely a duplicate -dCPU32 from > both the parser and the commandline. The sources have been stripped from dupError a long time ago. So I can't reproduce this.

See pscanner.pp line 947, where FDefines is created with dupError.

Show quoted text 6 lines
> Another parser error occurs in systemh.inc line 283 col. 30: > UCS4Char = type 0..$10ffff; > where the parser expects an "=" after "type". Wasn't this syntax > recognized already before 2.6? As far as I know, I have fixed this already in trunk.

The reported problems exist since my last FPC 2.7 SVN update (yesterday), they did not exist in the last months.

DoDi

Reply by email

Unknown author
to Hans-Peter Diettrich
Hans-Peter Diettrich wrote 14 lines
Michael Van Canneyt schrieb: > > > On Mon, 23 Jan 2012, Hans-Peter Diettrich wrote: > >> Today I had problems in the FPDocManager, where the scanner/parser throws >> an exception "String list does not allow duplicates". Reason may be >> duplicate include paths, definitely a duplicate -dCPU32 from both the >> parser and the commandline. > > The sources have been stripped from dupError a long time ago. So I can't > reproduce this. See pscanner.pp line 947, where FDefines is created with dupError.

What is the problem ? Defines or include paths ?

If you think there is a problem with double defines, please state this clearly. From your report I understand you think there is a problem with include paths. I cannot reproduce this: Yesterday I built FCL and RTL with ALL include paths doubled. Everything went well, so I think the problem is on your machine.

If you think there is an additional problem with defines, then state this clearly or at the very least in a separate report.

Show quoted text 9 lines
>> Another parser error occurs in systemh.inc line 283 col. 30: >> UCS4Char = type 0..$10ffff; >> where the parser expects an "=" after "type". Wasn't this syntax >> recognized already before 2.6? > > As far as I know, I have fixed this already in trunk. The reported problems exist since my last FPC 2.7 SVN update (yesterday), they did not exist in the last months.

For this one, please file a separate bug report.

Michael.

Reply by email

Hans-Peter Diettrich
to Unknown author
Show quoted text 11 lines
>>> Today I had problems in the FPDocManager, where the scanner/parser >>> throws an exception "String list does not allow duplicates". Reason >>> may be duplicate include paths, definitely a duplicate -dCPU32 from >>> both the parser and the commandline. >> >> The sources have been stripped from dupError a long time ago. So I >> can't reproduce this. > > See pscanner.pp line 947, where FDefines is created with dupError. What is the problem ? Defines or include paths ?

The problem is at least one list which reject duplicates. Since the error message is too vague, I only can guess what may be the exact problem. Defines definitely are a problem.

> The reported problems exist since my last FPC 2.7 SVN update > (yesterday), they did not exist in the last months. For this one, please file a separate bug report.

I could find out one trouble maker: Windows Update :-( Even if I had disabled all updates, this month 2 updates have been installed - restored to preceding restorepoint and now the Makefile works again :-)

I'm still clueless about the syntax errors. They don't show up when calling fpdoc on the commandline, but they show up when using the fpdoc units in FPDocManager. I'll have to check all my installations now, which may be garbled from preceding attempts to fix the problems caused by Windows.

DoDi

Reply by email

Michael Van Canneyt
to Hans-Peter Diettrich
Hans-Peter Diettrich wrote 17 lines
schrieb: >>>> Today I had problems in the FPDocManager, where the scanner/parser >>>> throws an exception "String list does not allow duplicates". Reason may >>>> be duplicate include paths, definitely a duplicate -dCPU32 from both the >>>> parser and the commandline. >>> >>> The sources have been stripped from dupError a long time ago. So I can't >>> reproduce this. >> >> See pscanner.pp line 947, where FDefines is created with dupError. > > What is the problem ? Defines or include paths ? The problem is at least one list which reject duplicates. Since the error message is too vague, I only can guess what may be the exact problem. Defines definitely are a problem.

Not here.

There is only 1 dupError in all the sources of fcl-passrc:

home: >grep -i dupError *

pscanner.pp:580:  FStreams.Duplicates:=dupError;
And that one is on purpose. In all other code there is no dupError.

In fpdoc there is no dupError at all:

home: >grep -ni dupError *.pp
home: >

All the code is checked in, so I suggest you check your installation.

Michael.

Reply by email

Hans-Peter Diettrich
to Michael Van Canneyt
Show quoted text 23 lines
On Tue, 24 Jan 2012, Hans-Peter Diettrich wrote: > schrieb: > >>>>> Today I had problems in the FPDocManager, where the scanner/parser >>>>> throws an exception "String list does not allow duplicates". >>>>> Reason may be duplicate include paths, definitely a duplicate >>>>> -dCPU32 from both the parser and the commandline. >>>> >>>> The sources have been stripped from dupError a long time ago. So I >>>> can't reproduce this. >>> >>> See pscanner.pp line 947, where FDefines is created with dupError. >> >> What is the problem ? Defines or include paths ? > > The problem is at least one list which reject duplicates. Since the > error message is too vague, I only can guess what may be the exact > problem. Defines definitely are a problem. Not here.

Perhaps not on your platform, but perhaps on many others. The -dCPU32 in the fpdoc commandline may be inserted on a Win64 platform only...

There is only 1 dupError in all the sources of fcl-passrc:

Yes, see above where it sits.

DoDi

Reply by email

Unknown author
to Hans-Peter Diettrich
Hans-Peter Diettrich wrote 27 lines
Michael Van Canneyt schrieb: > > > On Tue, 24 Jan 2012, Hans-Peter Diettrich wrote: > >> schrieb: >> >>>>>> Today I had problems in the FPDocManager, where the scanner/parser >>>>>> throws an exception "String list does not allow duplicates". Reason >>>>>> may be duplicate include paths, definitely a duplicate -dCPU32 from >>>>>> both the parser and the commandline. >>>>> >>>>> The sources have been stripped from dupError a long time ago. So I >>>>> can't reproduce this. >>>> >>>> See pscanner.pp line 947, where FDefines is created with dupError. >>> >>> What is the problem ? Defines or include paths ? >> >> The problem is at least one list which reject duplicates. Since the >> error message is too vague, I only can guess what may be the exact >> problem. Defines definitely are a problem. > > Not here. Perhaps not on your platform, but perhaps on many others. The -dCPU32 in the fpdoc commandline may be inserted on a Win64 platform only...

Look, I tested by inserting the same define twice on the command-line, and all worked fine. Further, there is not a single piece of evidence that dupError is used in defines in the SVN sources.

> > There is only 1 dupError in all the sources of fcl-passrc: Yes, see above where it sits.

Indeed. It is not in the defines. In the TStreamResolver, and this class is currently only used in the testcases.

I'm sorry, but the problem is on your pc, not in FPC.

Michael.

Reply by email

Unknown author
to Unknown author
Show quoted text 35 lines
On Wed, 25 Jan 2012, Hans-Peter Diettrich wrote: > Michael Van Canneyt schrieb: >> >> >> On Tue, 24 Jan 2012, Hans-Peter Diettrich wrote: >> >>> schrieb: >>> >>>>>>> Today I had problems in the FPDocManager, where the scanner/parser >>>>>>> throws an exception "String list does not allow duplicates". Reason >>>>>>> may be duplicate include paths, definitely a duplicate -dCPU32 from >>>>>>> both the parser and the commandline. >>>>>> >>>>>> The sources have been stripped from dupError a long time ago. So I >>>>>> can't reproduce this. >>>>> >>>>> See pscanner.pp line 947, where FDefines is created with dupError. >>>> >>>> What is the problem ? Defines or include paths ? >>> >>> The problem is at least one list which reject duplicates. Since the >>> error message is too vague, I only can guess what may be the exact >>> problem. Defines definitely are a problem. >> >> Not here. > > Perhaps not on your platform, but perhaps on many others. The -dCPU32 in > the fpdoc commandline may be inserted on a Win64 platform only... Look, I tested by inserting the same define twice on the command-line, and all worked fine. Further, there is not a single piece of evidence that dupError is used in defines in the SVN sources.

Always doubt yourself.

I checked here at work, and here the SVN copy is different I committed a fix, please test rev. 20169.

Now I should learn to doubt and check before writing an answer.

Michael.

Reply by email

Hans-Peter Diettrich
to Unknown author
I checked here at work, and here the SVN copy is different than at home. So I committed a fix, please test rev. 20169.

Just tested: the dupes error has gone away :-)

Now remain the syntax errors, see Mantis #21148.

DoDi

Reply by email

Unknown author
to Hans-Peter Diettrich
Hans-Peter Diettrich wrote 6 lines
schrieb: > I checked here at work, and here the SVN copy is different than at home. > So I committed a fix, please test rev. 20169. Just tested: the dupes error has gone away :-)

Great.

Now remain the syntax errors, see Mantis #21148.

For those, I still need to test.

BTW. In future, please file separate reports for separate issues.

There are 2 distinct problems:
* the duplicate defines,
and
* the parsing of certain constructs.

Michael.

Reply by email

Hans-Peter Diettrich
to Unknown author
BTW. In future, please file separate reports for separate issues. There are 2 distinct problems: * the duplicate defines, and * the parsing of certain constructs.

Both kinds of errors appeared at the same time, suggesting to me that they have the same origin. Please forgive me that I couldn't spot the real bugs more precisely :-(

DoDi

Reply by email