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

[PATCH] Preprocessing of INCLUDE FILE not reflecting the contents (Origin: bugzilla #666085) #4501

Closed
doxygen opened this Issue Jul 2, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@doxygen
Copy link
Owner

doxygen commented Jul 2, 2018

status RESOLVED severity normal in component general for ---
Reported in version 1.7.6 on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2011-12-13 13:53:27 +0000, Harpreet wrote:

Hello Dimitri,

In 1.7.6 release you have added the a define manager to handle #define of files.
The problem that I am facing is that a class declared inside include file within guarded regions is not detected.

Check the attachment.

The problem is that if a file is included before it being preprocessed the defines get associated with the file when it was process as include file.
When you start preprocess the contextdefines dictionary includes the define for the same file from Define Manager. Which caused guard directive to fail and class declaration get missed from doxygen.

Following, can be one of the solution

119a120,131

void addFile(const char *fileName)
{
  if (fileName==0) return;
  //printf("DefineManager::addFile(%s)\n",fileName);
  DefinesPerFile *dpf = m_fileMap.find(fileName);
  if (dpf==0)
  {
      //printf("New file!\n");
      dpf = new DefinesPerFile;
      m_fileMap.insert(fileName,dpf);
  }
}

2779c2791
< DefineManager::instance().addFileToContext(g_yyFileName);

DefineManager::instance().addFile(g_yyFileName);

Thanks & Regards,
Harpreet Singh

On 2011-12-13 13:55:33 +0000, Harpreet wrote:

Created attachment 203338
tar ball containing doxyfile and dummy source file

On 2011-12-13 18:33:45 +0000, Dimitri van Heesch wrote:

Hi Harpreet,

This seems to be related with the comment block you put before the include guard. If you use:

#ifndef _VE_EVAL_CACHE_H
#define _VE_EVAL_CACHE_H

all seems to be fine. Can you check and let me know why you would want to document the #define of an include guard?

On 2011-12-13 20:30:22 +0000, Dimitri van Heesch wrote:

I think your fix is correct though, so I'll include it, just in case you or anyone else wants to document the include guard.

On 2012-02-25 15:37:08 +0000, Dimitri van Heesch wrote:

This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.0. 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.

@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
You can’t perform that action at this time.