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_color_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_color_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_color_types.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_color_types.h b/source/blender/makesdna/DNA_color_types.h index ff419e1794e..bcebbf32ebd 100644 --- a/source/blender/makesdna/DNA_color_types.h +++ b/source/blender/makesdna/DNA_color_types.h @@ -26,6 +26,10 @@ #include "DNA_defs.h" #include "DNA_vec_types.h" +#ifdef __cplusplus +extern "C" { +#endif + /* general defines for kernel functions */ #define CM_RESOL 32 #define CM_TABLE 256 @@ -214,3 +218,7 @@ typedef struct ColorManagedColorspaceSettings { enum { COLORMANAGE_VIEW_USE_CURVES = (1 << 0), }; + +#ifdef __cplusplus +} +#endif |