diff options
author | Julian Eisel <julian@blender.org> | 2020-11-19 15:41:50 +0300 |
---|---|---|
committer | Julian Eisel <julian@blender.org> | 2020-11-19 15:41:50 +0300 |
commit | ad4b7741dba45a2be210942c18af6b6e4438f129 (patch) | |
tree | ad7682ae65022145ab16c173f8ff7062df7a0192 /source/blender/makesdna/DNA_boid_types.h | |
parent | 1395ba70bf37bc0a21920416b0abbaac9af2b7e5 (diff) |
Build-system: Force C linkage for all DNA type headers
Some DNA headers already did this, most did not. Even though many of them would
be included in C++ files and thus compiled as C++. This would be confusing and
developers may think they have to add `extern "C"` too a whole lot of
(indirect) includes to be able to use a C header in C++.
However, this is a misconception.
`extern "C"` does not cause code to be compiled with C rather than C++! It only
causes the linker to not use C++ function name mangling. See
https://stackoverflow.com/a/1041880.
Because extern DNA headers don't have function declarations, using `extern "C"`
actually should not have any effect. On the other hand, adding it causes no
harm and avoids confusion. So let's just have it consistently in C header
files.
Differential Revision: https://developer.blender.org/D9578
Reviewed by: Bastien Montagne, Sybren Stüvel
Diffstat (limited to 'source/blender/makesdna/DNA_boid_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_boid_types.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_boid_types.h b/source/blender/makesdna/DNA_boid_types.h index d5aa87fc8ae..7e010f27ce6 100644 --- a/source/blender/makesdna/DNA_boid_types.h +++ b/source/blender/makesdna/DNA_boid_types.h @@ -25,6 +25,10 @@ #include "DNA_listBase.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef enum eBoidRuleType { eBoidRuleType_None = 0, /** go to goal assigned object or loudest assigned signal source */ @@ -222,3 +226,7 @@ typedef struct BoidSettings { //#define BOID_RULE_LAND (1 << 3) /* goal */ //#define BOID_RULE_WITH_BOIDS (1 << 4) /* avoid collision */ //#define BOID_RULE_WITH_DEFLECTORS (1 << 5) /* avoid collision */ + +#ifdef __cplusplus +} +#endif |