#2584: Carpet defines globally visible functions without a "Carpet" prefix in their names
Reporter: Roland Haas Status: new Milestone: Version: development version Type: bug Priority: minor Component: Carpet
In `carpet_public.h` (the C header) Carpet defines a couple of helper functions that do not have the thorn name anywhere in them:
```c /* Call a schedule group */ int CallScheduleGroup(cGH *const cgh, const char *const group);
/* Call a local function */ int CallLocalFunction(cGH *const cgh, void (*const function)(cGH *const cgh)); int CallSinglemapFunction(cGH *const cgh, void (*const function)(cGH *const cgh)); int CallLevelFunction(cGH *const cgh, void (*const function)(cGH *const cgh)); int CallGlobalFunction(cGH *const cgh, void (*const function)(cGH *const cgh)); int CallMetaFunction(cGH *const cgh, void (*const function)(cGH *const cgh)); ```
which causes conflicts with CarpetX, that defines an aliased (much better) function `CallScheduleGroup` . Cactus thorn providing callable functions should prefix them by their thorn name to avoid name conflicts. Since these functions have been around for a while (and I think the one in conflict with CarpetX is used by CT_Multipole) some sort of backwards compatible solution that avoids the linker name clashes should be provided.
-- Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2584/carpet-defines-glo...