Hi,
I have multiple arrays of function pointers (say arr1[] and arr2[]) in a module (say mod1).
Some functions in arr1[] is calling a function (say func_a()), which is calling some functions using arr2[].
So the call hierarchy is like following: arr1[]() -> func_a() -> arr2[]()
It is clear this is not a recursive call, but the compiler reports it as a potential recursive call, since it's putting both arrays in segment ?CO?MOD1. And with this, it concludes that func_a() is called from ?CO?MOD1 and calling ?CO?MOD1.
Is there a way to fix this, without having seperate modules for each function pointer array? Maybe something like being able to say the compile which segment to put the constants.
Any comments?
Thanks in advance,
What's so bad about putting those tables in a file to themselves, that you want to avoid it so inconditionally?
Other than that, open your manuals and look up the OVERLAY and NOINDIRECTCALL linker directives.