shithub: libvpx

Download patch

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;