#2584: Carpet defines globally visible functions without a "Carpet" prefix in their names
Reporter: Roland Haas
Status: open
Milestone:
Version: development version
Type: bug
Priority: minor
Component: Carpet
Changes (by Roland Haas):
status: open (was new)
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2584/carpet-defines-gl…
#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
Comment (by Roland Haas):
Pull request is here: [https://bitbucket.org/eschnett/carpet/pull-requests/48/carpet-prefix-public…
For C code this should be source code compatible since it uses a couple of `#define` to map `CallScheduleGroup` to `CarpetCallScheduleGroup` but the Fortran interface defined using `CCTK_FNAME(CallScheduleGroup)` cannot be fixed that way since Fortran code does not \(tend to\) include any header file.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2584/carpet-defines-gl…
#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-gl…
#2512: Enable detection of `attribute(pure)`
Reporter: Erik Schnetter
Status: open
Milestone:
Version: development version
Type: proposal
Priority: minor
Component: Cactus
Changes (by Roland Haas):
status: open (was new)
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2512/enable-detection-…