There's many cases of non-static variables in the source-code:
|
int HLEErrorString(char *bufferTemp, SymbolDatabaseList *data, uint16_t buildVersion, uint32_t index) |
|
void HLEError(SymbolDatabaseVerifyContext *context, uint16_t buildVersion, char *format, ...) |
...
This also includes all of the OOVPA, which appear to use non-static variables via OOVPA_XREF:
|
#define OOVPA_XREF(Name, Version, Count, XRefSaveIndex, XRefCount) \ |
|
LOOVPA Name##_##Version = { Count, XRefCount, (unsigned short)XRefSaveIndex, { |
|
|
|
#define OOVPA_NO_XREF(Name, Version, Count) \ |
|
OOVPA_XREF(Name, Version, Count, XRefNoSaveIndex, XRefZero) |
This pollutes the object files with many symbols with limited use-cases. It also hints to the compiler that it shouldn't optimize these functions as they could be called differently.
The project should probably only use non-static for what's found in XbSymbolDatabase.h
There's many cases of non-static variables in the source-code:
XbSymbolDatabase/XbSymbolDatabase.c
Line 1617 in 6820d3f
XbSymbolDatabase/XbSymbolDatabase.c
Line 1622 in 6820d3f
...
This also includes all of the OOVPA, which appear to use non-static variables via
OOVPA_XREF:XbSymbolDatabase/OOVPA.h
Lines 136 to 140 in 6820d3f
This pollutes the object files with many symbols with limited use-cases. It also hints to the compiler that it shouldn't optimize these functions as they could be called differently.
The project should probably only use non-static for what's found in XbSymbolDatabase.h