#229: Using a nonexistent header file should lead to an error message ---------------------+------------------------------------------------------ Reporter: hinder | Owner: Type: defect | Status: new Priority: major | Milestone: Component: Cactus | Version: Resolution: | Keywords: ---------------------+------------------------------------------------------
Comment (by eschnett):
Thorn LoopControl is optional. It provides a header file loopcontrol.h that overrides some flesh macros with different, potentially more efficient ones. When writing a thorn, one does not want to decide whether LoopControl is present or not.
Thus LoopControl adds to the loopcontrol.h include file if present, and if not present, this include file is empty. Thorns can unconditionally include loopcontrol.h, as long as they declare "USES INCLUDE loopcontrol.h" in their interface.ccl
This is independent of capabilities. The optional capability is there to create the correct link order (and, in general, to tell Cactus about this direct dependency between the thorns), because the macros in LoopControl.h's loopcontrol.h call some functions defined in LoopControl.h.