| Summary: | runetype.h doesn't have C++ 'extern "C"' wrapper | ||
|---|---|---|---|
| Product: | Base System | Reporter: | patl <patl> |
| Component: | misc | Assignee: | freebsd-bugs (Nobody) <bugs> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | 4.3-STABLE | ||
| Hardware: | Any | ||
| OS: | Any | ||
State Changed From-To: open->closed rune(3) is in deprecation mode in 5.x. There's not much point in supporting C++ for deprecated interfaces. |
/usr/include/runetype.h contains declarations for two global variables. But it doesn't have the 'extern "C" { ... }' wrapper for C++; so if a C++ file includes (something which includes...) runetype.h, those two variable names will be mangled and produce 'Undefined symbol' errors at link time. Fix: Add standard C++ 'extern "C" { ... }' wrapper to runetype.h How-To-Repeat: Add '#include <runetype.h>' to any simple C++ program and try to link it