Hi,
Note:
I can generate the fpGUI documentation without problems using fpdoc from the v2.6.0 release.
Last night I implemented displaying a class hierarchy in the linear documentation. Initially for the IPF output writer only. I developed with FPC 2.6.0 and fpdoc worked perfectly.
Today I got to work, pulled the latest FPC 2.7.1 and merging my changes into fpdoc. It compiled fine but gave AV's when run. I then reverted my changes and thought I would first test fpdoc from Trunk as-is (none of my modifications).
I still got AV's while trying to build the fpGUI documentation.
Then I though, maybe the latest fpdoc in Trunk has broken the IPF writer. So I switched to the TXT output writer. I still get AV's. I then reduced the parameters of fpdoc to only processing a single unit in fpGUI. I still got AV's! :-(
Here is what I get when I run it via GDB using the TXT output writer. Using FPC 2.7.1 trunk under 64-bit Linux (Ubuntu 10.04).
---------------------------------------------
[docs (master)]$ gdb /opt/fpc-2.7.1/src/utils/fpdoc/fpdoc GNU gdb (GDB) 7.1-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /opt/git/fpc_argon/utils/fpdoc/fpdoc...done. (gdb) set args --format=txt --package=fpgui --input='-Fucorelib /home/graemeg/programming/fpgui/src/corelib/fpg_base.pas' --descr=xml/corelib/fpg_base.xml --output=test.txt (gdb) run
Starting program: /opt/git/fpc_argon/utils/fpdoc/fpdoc --format=txt --package=fpgui --input='-Fucorelib
/home/graemeg/programming/fpgui/src/corelib/fpg_base.pas' --descr=xml/corelib/fpg_base.xml --output=test.txt FPDoc - Free Pascal Documentation Tool
Version 2.7.1 [2012/02/23]
(c) 2000 - 2003 Areca Systems GmbH / Sebastian Guenther,
Program received signal SIGSEGV, Segmentation fault. 0x000000000047541a in WRITETYPES (this=0x7ffff7f6e040, ASECTION=0x7ffff7fc76c0) at dwlinear.pp:896
896 ConvertNotes(TypeDecl,DocNode.Notes);
(gdb) bt
#0 0x000000000047541a in WRITETYPES (this=0x7ffff7f6e040, ASECTION=0x7ffff7fc76c0) at dwlinear.pp:896
#1 0x0000000000474317 in WRITEVARSCONSTSTYPES (this=0x7ffff7f6e040, ASECTION=0x7ffff7fc76c0) at dwlinear.pp:662
#2 0x00000000004741f7 in PROCESSSECTION (this=0x7ffff7f6e040, ASECTION=0x7ffff7fc76c0) at dwlinear.pp:647
#3 0x0000000000474079 in WRITEDOC (this=0x7ffff7f6e040) at dwlinear.pp:614 #4 0x00000000004a241c in CREATEOUTPUT (this=0x7ffff7fc6040, APACKAGE=0x7ffff7fe62e0, ENGINE=0x7ffff7fc60e0)
at mkfpdoc.pp:175
#5 0x00000000004a2ae3 in CREATEDOCUMENTATION (this=0x7ffff7fc6040, APACKAGE=0x7ffff7fe62e0, PARSEONLY=false)
at mkfpdoc.pp:228
#6 0x0000000000402396 in DORUN (this=0x7ffff7fce040) at fpdoc.pp:359 #7 0x0000000000465d00 in CUSTAPP$_$TCUSTOMAPPLICATION_$__$$_RUN () #8 0x0000000000402618 in main () at fpdoc.pp:375
(gdb)
---------------------------------------------
I get the exact same when I use the IPF writer. I don't use the new Notes then decided to use a much simpler unit, the fpGUI constants unit. Still no luck! I attached both the constants unit and the description file for that unit. Below is the output GDB have me.
---------------------------------------------
[docs (master)]$ gdb /opt/fpc-2.7.1/src/utils/fpdoc/fpdoc GNU gdb (GDB) 7.1-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /opt/git/fpc_argon/utils/fpdoc/fpdoc...done. (gdb) break fpc_raiseexception
Breakpoint 1 at 0x412ba0
(gdb) set args --format=ipf --package=fpgui --input='-Fucorelib /home/graemeg/programming/fpgui/src/corelib/fpg_constants.pas' --descr=xml/corelib/fpg_constants.xml --output=test.ipf (gdb) run
Starting program: /opt/git/fpc_argon/utils/fpdoc/fpdoc --format=ipf --package=fpgui --input='-Fucorelib
/home/graemeg/programming/fpgui/src/corelib/fpg_constants.pas' --descr=xml/corelib/fpg_constants.xml --output=test.ipf
Breakpoint 1, 0x0000000000412ba0 in fpc_raiseexception () (gdb) bt
#0 0x0000000000412ba0 in fpc_raiseexception ()
#1 0x0000000000444378 in
CLASSES$_$TFILESTREAM_$__$$_CREATE$ANSISTRING$WORD$LONGWORD$$TFILESTREAM ()
#2 0x0000000000444129 in
CLASSES$_$TFILESTREAM_$__$$_CREATE$ANSISTRING$WORD$$TFILESTREAM () #3 0x00000000004646c7 in GETTEXT$_$TMOFILE_$__$$_CREATE$ANSISTRING$$TMOFILE () #4 0x000000000046503e in GETTEXT_$$_TRANSLATERESOURCESTRINGS$ANSISTRING () #5 0x0000000000402230 in DORUN (this=0x7ffff7fce040) at fpdoc.pp:347 #6 0x0000000000465d00 in CUSTAPP$_$TCUSTOMAPPLICATION_$__$$_RUN () #7 0x0000000000402618 in main () at fpdoc.pp:375
(gdb)
---------------------------------------------
Anybody else have better luck with fpdoc in Trunk?
