We're trying to use global on our source code, and I found a case where a tag was not being created for a function. It looks like it has something to do with a #define being on a line above the function. Here's the version we are using,
/testprogs/global_test>gtags --version
gtags - GNU GLOBAL 5.7.3
Copyright (c) 2008 Tama Communications Corporation
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
This is also commercial (for-profit) software based on BOKIN model.
And here's the source file that is giving us problems, I narrowed it down to 2 functions and a #define. Also, this is a .cpp file.
file.cpp
---------------------
#define IS_SF_BLOCK(block) (utStrcmp(gmi_type_string((block)),"SF")==0)
bool BlockIsSF(const slBlock *block) {
return(true);
}
bool BlockIsChannel(const slBlock *block) {
return(true);
}
--------------------------------
If you run gtags, and then "global BlockIsSF", it says that the tag is not found. If I comment out the #define, it finds both functions.
Let me know if you need any more info.
Mike