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

writeMemberNavIndex template calls static fixSpaces (Origin: bugzilla #661814) #4433

doxygen opened this Issue Jul 2, 2018 · 0 comments


None yet
1 participant

doxygen commented Jul 2, 2018

status RESOLVED severity minor in component build for ---
Reported in version on platform Other
Assigned to: Dimitri van Heesch

On 2011-10-14 22:05:00 +0000, Tim Mooney wrote:

Building doxygen on x86_64-sun-solaris2.10 (Solaris 10u8, not OpenSolaris) with the no-cost Sun Workshop 12.2 compiler chain.

The C++ compiler objects to a template calling a static function; apparently that's not permitted by the C++ standard:

CC -c -m64 -xarch=generic -DYY_TYPEDEF_YY_SIZE_T -Dyy_size_t=int -errtags=yes -xO2 -I../qtools -I../libmd5 -o ../objects/index.o index.cpp
"outputlist.h", line 513: Warning, hidevf: OutputList::parseDoc hides the virtual function BaseOutputDocInterface::parseDoc(const char*, int, const char*, MemberDef*, const QCString&, bool).
"index.cpp", line 3119: Error, templ_static_ref: Reference to static fixSpaces(const QCString&) not allowed in template writeMemberNavIndex(FTextStream&, int, int, int*, MemberIndexList()[256], const CmhlInfo()(int), bool&), try using -features=tmplrefstatic.
"index.cpp", line 3213: Where, temwhileinst: While instantiating "writeMemberNavIndex(FTextStream&, int, int, int
, MemberIndexList()[256], const CmhlInfo(*)(int), bool&)".
"index.cpp", line 3213: Where, teminstend: Instantiated from non-template code.
1 Error(s) and 1 Warning(s) detected.
gmake[2]: *** [../objects/index.o] Error 2
gmake[2]: Leaving directory `/local/src/RPM/BUILD/doxygen-'

As you can see, the compiler points out that it (probably only versions of the compiler from the past couple years) has a flag that can be passed to allow this, it's -features=tmplrefstatic . With this flag, I can build doxygen successfully.

Still, it might be something you want to address in mainline, so I thought I would report it.

On 2015-07-24 16:17:08 +0000, albert wrote:

I've just pushed a proposed solution to github (pull request 370)

On 2015-07-26 10:04:38 +0000, Dimitri van Heesch wrote:

Thanks, I've merged the pull request

On 2015-12-30 10:19:15 +0000, Dimitri van Heesch wrote:

This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.11. Please verify if this is indeed the case. Reopen the
bug if you think it is not fixed and please include any additional information
that you think can be relevant (preferably in the form of a self-contained example).

@doxygen doxygen closed this Jul 2, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment