Fix WebRtc ninja x86 build using Visual Studio 2015 (set GYP_MSVS_VERSION=2015). Visual Studio 2015 balks at the implicit truncation of values. Easily fixed with an explicit cast. Fixed redefinition of CLOCKS_PER_SEC when using Visual Studio 2015 and the Windows 10 SDK. CLOCKS_PER_SEC is also defined in "<WIN10 SDK DIR>\include\10.0.10240.0\ucrt\time.h" and also has the value of 1000 Hiding snprintf definition if building with Visual Studio 2015 Fixed C4573 compiler complaint in audio_processing_impl_locking_unittest.cc. BUG=webrtc:5183 Review URL: https://codereview.webrtc.org/1412653006 Cr-Commit-Position: refs/heads/master@{#11434}
diff --git a/webrtc/modules/audio_coding/codecs/isac/main/test/ReleaseTest-API/ReleaseTest-API.cc b/webrtc/modules/audio_coding/codecs/isac/main/test/ReleaseTest-API/ReleaseTest-API.cc index 4cef8f7..a734bb0 100644 --- a/webrtc/modules/audio_coding/codecs/isac/main/test/ReleaseTest-API/ReleaseTest-API.cc +++ b/webrtc/modules/audio_coding/codecs/isac/main/test/ReleaseTest-API/ReleaseTest-API.cc
@@ -33,8 +33,10 @@ //#define FS 16000 /* sampling frequency (Hz) */ #ifdef WIN32 +#ifndef CLOCKS_PER_SEC #define CLOCKS_PER_SEC 1000 /* Runtime statistics */ #endif +#endif using namespace std;
diff --git a/webrtc/modules/audio_coding/codecs/isac/main/test/simpleKenny.c b/webrtc/modules/audio_coding/codecs/isac/main/test/simpleKenny.c index e8116ff..1a1697f 100644 --- a/webrtc/modules/audio_coding/codecs/isac/main/test/simpleKenny.c +++ b/webrtc/modules/audio_coding/codecs/isac/main/test/simpleKenny.c
@@ -17,8 +17,10 @@ #ifdef WIN32 #include "windows.h" +#ifndef CLOCKS_PER_SEC #define CLOCKS_PER_SEC 1000 #endif +#endif #include <ctype.h> #include <math.h> @@ -218,7 +220,7 @@ _makepath(bitrateFileName, outDrive, outPath, "bitrate", ".txt"); bitrateFile = fopen(bitrateFileName, "a"); - fprintf(bitrateFile, "% %%s \n", inname); + fprintf(bitrateFile, "%% %s \n", inname); #endif printf("\n");
diff --git a/webrtc/modules/audio_processing/audio_processing_impl_locking_unittest.cc b/webrtc/modules/audio_processing/audio_processing_impl_locking_unittest.cc index 3d2c71f..2e22b2c 100644 --- a/webrtc/modules/audio_processing/audio_processing_impl_locking_unittest.cc +++ b/webrtc/modules/audio_processing/audio_processing_impl_locking_unittest.cc
@@ -198,8 +198,12 @@ AecType::BasicWebRtcAecSettingsWithDelayAgnosticAec, AecType::BasicWebRtcAecSettingsWithAecMobile}; for (auto test_config : in) { - for (auto aec_type : aec_types) { - test_config.aec_type = aec_type; + // Due to a VisualStudio 2015 compiler issue, the internal loop + // variable here cannot override a previously defined name. + // In other words "type" cannot be named "aec_type" here. + // https://connect.microsoft.com/VisualStudio/feedback/details/2291755 + for (auto type : aec_types) { + test_config.aec_type = type; out.push_back(test_config); } }
diff --git a/webrtc/modules/audio_processing/transient/file_utils_unittest.cc b/webrtc/modules/audio_processing/transient/file_utils_unittest.cc index 7fb7d2d..b8d532f 100644 --- a/webrtc/modules/audio_processing/transient/file_utils_unittest.cc +++ b/webrtc/modules/audio_processing/transient/file_utils_unittest.cc
@@ -419,9 +419,9 @@ rtc::scoped_ptr<float[]> written_buffer(new float[kBufferLength]); rtc::scoped_ptr<float[]> read_buffer(new float[kBufferLength]); - written_buffer[0] = kPi; - written_buffer[1] = kE; - written_buffer[2] = kAvogadro; + written_buffer[0] = static_cast<float>(kPi); + written_buffer[1] = static_cast<float>(kE); + written_buffer[2] = static_cast<float>(kAvogadro); EXPECT_EQ(kBufferLength, WriteFloatBufferToFile(file.get(), kBufferLength,