[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kdevelop-bugs
Subject:    [Bug 118523] New: C++ parser does not pick up functions in ifdefs
From:       kdevelop-bugs-admin () barney ! cs ! uni-potsdam ! de
Date:       2005-12-17 16:33:32
Message-ID: 20051217173331.118523.cvogler2001 () yahoo ! com
[Download RAW message or body]

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=118523         
           Summary: C++ parser does not pick up functions in ifdefs
           Product: kdevelop
           Version: unspecified
          Platform: Gentoo Packages
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
        AssignedTo: kdevelop-bugs kdevelop org
        ReportedBy: cvogler2001 yahoo com


Version:           3.3 (using KDE KDE 3.4.3)
Installed from:    Gentoo Packages
Compiler:          g++ 3.4.4 
OS:                Linux

The Kdevelop 3.3 C++ parser seems to have some trouble with functions that are \
compiled conditionally. To reproduce, create a new project (the Hello World template \
will do fine), then edit and add the following to the *.cpp file:

#ifdef HAVE_OPENCV
int testfunc(int a)
{
}
#endif

With the #ifdef bracket, testfunc will not show up in the "Functions in file" \
combobox in the toolbar, even if I put "#define HAVE_OPENCV 1" in the KDevelop \
configuration/C++ parsing/Special headers field.

Removing the #ifdefs makes it appear. Alternatively, using this snippet also makes it \
appear:

#define HAVE_OPENCV 1
#ifdef HAVE_OPENCV
int testfunc(int a)
{
}
#endif

Similarly, if I add a bracketed proptotype to hello.h:

#ifdef HAVE_OPENCV
int testfunc(int a);
#endif

the function does not appear in the "Function in files" combobox, and neither does it \
appear in the class view tab. The latter is particularly aggravating, as I have a \
large project with a bunch of conditionally defined functions, and if they do not \
appear in the class browser, I have a hard time finding them and pulling them up.

All default plugins for the C++ developer profile are loaded.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic