ref: 9d3fb7553014196b3eb5aa41b3a56150cee89065
parent: 0ca6e4ac35b1bc9fec08171c7caa648db9567b89
author: James Zern <[email protected]>
date: Thu Sep 18 15:43:19 EDT 2014
rtcd: relocate 'extern "C" {' declaration Place after pulling in forward declarations from the codec. This fixes compilation of the tests under vs9. Since 10783d4 Adds high bitdepth transform functions and tests where vp9_idct.h was added to vp9_rtcd.h the tests are pulling in vp9_systemdependent.h, which under visual studio include intrin.h. With VS9 these include headers which define helper classes for intel intrinsics. When including it in the tests (via vp9_rtcd.h) __cplusplus is defined but vp9_rtcd.h would wrap declarations in 'extern "C" {' causing a mismatch in linkage which resulted in compilation failure. Change-Id: I475e50198b71320e8606bc95c9454876d8799ede
--- a/build/make/rtcd.pl
+++ b/build/make/rtcd.pl
@@ -209,14 +209,16 @@
#define RTCD_EXTERN extern
#endif
+EOF
+
+process_forward_decls();
+print <<EOF;
+
#ifdef __cplusplus
extern "C" {
#endif
EOF
-
-process_forward_decls();
-print "\n";
declare_function_pointers("c", @ALL_ARCHS);
print <<EOF;