After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 300164 - Doxygen doesn't recognise D keywords 'extern', 'align' and 'pragma'
Doxygen doesn't recognise D keywords 'extern', 'align' and 'pragma'
Status: RESOLVED OBSOLETE
Product: doxygen
Classification: Other
Component: build
1.4.x
Other Windows
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
[moved_to_github]
Depends on:
Blocks: 173045
 
 
Reported: 2005-04-11 09:55 UTC by Stewart Gordon
Modified: 2018-07-30 10:29 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Stewart Gordon 2005-04-11 09:55:29 UTC
Version details: 1.4.2

The D language has its own syntax for declaring functions with external linkage
and for specifying struct member alignment.

This syntax looks like this:

    extern(C) void qwert();

    align(2) yuiop;

Doxygen doesn't currently understand this aspect of D, and so such declarations
do not parse correctly.

Similar in syntax is the pragma, which can also take comma-separated arguments.
 The same code could be used to handle all three keywords.


Steps to reproduce:
1. Create a D file containing these lines:

    extern(C) void qwert();

    align(2) struct Yuiop {
        char asdfg;
        int hjkl;
    }

    pragma(Zxcvb, 42) int nm;

2. Run Doxygen.


Actual results:

extern(C), align(2) and pragma(Zxcvb, 42) are misparsed as function signatures,
leading to this output (underscores denote links):

    Functions
    _extern_ (C) void qwert()
    _align_ (2) struct Yuiop
    _pragma_ (Zxcvb, 42) int nm
    ----

    Function Documentation

    align( 2 )

    extern( C )

    pragma( Zxcvb ,
            42
          )


Expected results:

Parse the whole token sequence extern(...), align(...) or pragma(...) as a
declaration attribute.

Note that align and extern are also valid attributes without the (...) portion.
Comment 1 André Klapper 2018-07-30 10:29:36 UTC
As discussed in https://github.com/doxygen/doxygen/pull/734 , Doxygen has moved its issue tracking to 

   https://github.com/doxygen/doxygen/issues

All Doxygen tickets in GNOME Bugzilla have been migrated to Github. You can subscribe and participate in the new ticket in Github. You can find the corresponding Github ticket by searching for its Bugzilla ID (number) in Github.

Hence I am closing this GNOME Bugzilla ticket.
Please use the corresponding ticket in Github instead. Thanks a lot!