Opened 6 months ago
Last modified 6 months ago
#303 new defect
Static Functions Used Inside Inline Functions (socket2.h)
Reported by: | ajbeach | Owned by: | |
---|---|---|---|
Priority: | major | Component: | cfa-cc |
Version: | 1.0 | Keywords: | |
Cc: |
Description
To reproduce:
#include <concurrency/actor.hfa>
This will lead to warnings from GCC that a static function function is being used in an inline function. In particular the inline function is recvfrom
and the __SOCKADDR_ARG
constructor[1] and destructor[2].
I have not done the full investigation, so solving these two instances may actually be unrelated with similar symptoms. However, they are both instances of Cforall operations not being properly "lowered" to C. The constructor call should be converted to a C initializor (and there are cases where that happens). We should be able to omit the destructor call because it should be a no-op, but I don't know if we have any tools for that.
[1] _X12_constructorFv_U26__anonymous___SOCKADDR_ARGU26__anonymous___SOCKADDR_ARG_autogen___1
[2] _X11_destructorFv_U26__anonymous___SOCKADDR_ARG_autogen___1
These only show up on particular configurations. I primarily encountered it on the plg2 machine with architecture x64 and a no debug/release build.