[ET Trac] #2584: Carpet defines globally visible functions without a "Carpet" prefix in their names

Roland Haas trac-noreply at einsteintoolkit.org
Sun Dec 26 19:12:13 CST 2021


#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-globally-visible-functions
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.einsteintoolkit.org/pipermail/trac/attachments/20211227/6ff30e24/attachment.html 


More information about the Trac mailing list