Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extern variables and functions #527

Open
jakobandersen opened this issue May 10, 2020 · 7 comments
Open

Extern variables and functions #527

jakobandersen opened this issue May 10, 2020 · 7 comments
Labels
code Source code enhancement Improvements, additions (also cosmetics) upstream Issue in external software

Comments

@jakobandersen
Copy link
Collaborator

jakobandersen commented May 10, 2020

See also #526.

I couldn't find any indication on variables/functions being extern in the Doxygen XML. Is this a too-old-doxygen problem? Tested on version Doxygen version 1.8.13.

@vermeeren vermeeren added code Source code enhancement Improvements, additions (also cosmetics) labels May 10, 2020
@vermeeren
Copy link
Collaborator

Not sure what you mean here exactly. I must admit I haven't used extern in quite a while and don't remember if it shows up correctly with Breathe/Sphinx.

@jakobandersen
Copy link
Collaborator Author

As far as I can see it doesn't show up, e.g., see the added example in #526.

@vermeeren
Copy link
Collaborator

Yeah indeed there is nothing at all in the XML regarding extern, I tried some searching in the Doxygen docs and issue tracker but can't seem to find anything about extern in context of the XML output type.

For future reference the line extern int cache_tree_matches_traversal(struct cache_tree *, struct name_entry *ent, struct traverse_info *info); with Doxygen 1.8.13 gives:

      <memberdef kind="function" id="c__file_8h_1a9d282a52f322bf17e11ae6e3aaa33761" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int cache_tree_matches_traversal</definition>
        <argsstring>(struct cache_tree *, struct name_entry *ent, struct traverse_info *info)</argsstring>
        <name>cache_tree_matches_traversal</name>
        <param>
          <type>struct <ref refid="structcache__tree" kindref="compound">cache_tree</ref> *</type>
        </param>
        <param>
          <type>struct name_entry *</type>
          <declname>ent</declname>
        </param>
        <param>
          <type>struct traverse_info *</type>
          <declname>info</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="c_file.h" line="51" column="1"/>
      </memberdef>

@vermeeren
Copy link
Collaborator

No change when it comes to extern with Doxygen 1.8.18, this should be fixed upstream first I suppose.

@michaeljones
Copy link
Collaborator

I've opened an issue with Doxygen to try to add this information: doxygen/doxygen#10163

I couldn't see any issue that raised it before. I'll update if there is any progress. The actual change doesn't seem to be hard but I'm not well informed and I don't know the release schedule for Doxygen either.

@michaeljones
Copy link
Collaborator

I made a PR and it has just been merged: doxygen/doxygen#10164

Out in the next version of doxygen but I'm not sure when that is.

@michaeljones
Copy link
Collaborator

michaeljones commented Aug 26, 2023

This seems to have been released in doxygen 1.9.8 yesterday.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code Source code enhancement Improvements, additions (also cosmetics) upstream Issue in external software
Projects
None yet
Development

No branches or pull requests

3 participants