Resolve all but two VC++ build warnings in pdfium.
pdfium builds on Win32 have about 85 warnings (250 in the XFA
branch, totaling over 480 lines!), mostly from four lines in
a header file and a warning that should be disabled. This
change resolves all but two of them and turns on
warning-as-errors. Bugs have been filed for the two
remaining warnings:
https://code.google.com/p/pdfium/issues/detail?id=100
the 64-bit warnings:
https://code.google.com/p/pdfium/issues/detail?id=101
and the Linux warnings:
https://code.google.com/p/pdfium/issues/detail?id=102
The fix to the double->float truncation bugs will also
improve code-generation.
R=bo_xu@foxitsoftware.com, scottmg@chromium.org, tsepez@chromium.org
Review URL: https://codereview.chromium.org/792953005
diff --git a/build/standalone.gypi b/build/standalone.gypi
index d335f05..0d650a3 100644
--- a/build/standalone.gypi
+++ b/build/standalone.gypi
@@ -165,6 +165,7 @@
'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)',
'CharacterSet': '1',
},
+ 'msvs_disabled_warnings': [4800, 4996],
'msvs_settings': {
'VCCLCompilerTool': {
'MinimalRebuild': 'false',
@@ -172,7 +173,6 @@
'EnableFunctionLevelLinking': 'true',
'RuntimeTypeInfo': 'false',
'WarningLevel': '3',
- 'WarnAsError': 'false',
'DebugInformationFormat': '3',
'Detect64BitPortabilityProblems': 'false',
'conditions': [
@@ -184,6 +184,13 @@
}, {
'ExceptionHandling': '0',
}],
+ ['target_arch=="x64"', {
+ # 64-bit warnings need to be resolved.
+ # https://code.google.com/p/pdfium/issues/detail?id=101
+ 'WarnAsError': 'false',
+ }, {
+ 'WarnAsError': 'true',
+ }],
],
},
'VCLibrarianTool': {
diff --git a/core/src/fpdftext/fpdf_text_int.cpp b/core/src/fpdftext/fpdf_text_int.cpp
index c9cfbdd..70178a5 100644
--- a/core/src/fpdftext/fpdf_text_int.cpp
+++ b/core/src/fpdftext/fpdf_text_int.cpp
@@ -37,13 +37,13 @@
FX_FLOAT _NormalizeThreshold(FX_FLOAT threshold)
{
if (threshold < 300) {
- return threshold / 2.0;
+ return threshold / 2.0f;
} else if (threshold < 500) {
- return threshold / 4.0;
+ return threshold / 4.0f;
} else if (threshold < 700) {
- return threshold / 5.0;
+ return threshold / 5.0f;
}
- return threshold / 6.0;
+ return threshold / 6.0f;
}
FX_FLOAT _CalculateBaseSpace(const CPDF_TextObject* pTextObj,
diff --git a/pdfium.gyp b/pdfium.gyp
index 0ac0471..f50005d 100644
--- a/pdfium.gyp
+++ b/pdfium.gyp
@@ -308,6 +308,13 @@
'include_dirs': [
],
'ldflags': [ '-L<(PRODUCT_DIR)',],
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ # Unresolved warnings in fx_codec_jpx_opj.cpp
+ # https://code.google.com/p/pdfium/issues/detail?id=100
+ 'WarnAsError': 'false',
+ },
+ },
'sources': [
'core/include/fxcodec/fx_codec.h',
'core/include/fxcodec/fx_codec_def.h',