summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Dawson <brucedawson@google.com>2015-01-06 13:12:09 -0800
committerBruce Dawson <brucedawson@google.com>2015-01-06 13:12:09 -0800
commitd12a4f465a0bcc8b233079ccd54bf7882f3532d5 (patch)
treee8af22a574ddc9c4790f4d062b809999d5840f42
parent256ef88a26cff56fc7c23119d2d9e1b41468bd1a (diff)
downloadpdfium-d12a4f465a0bcc8b233079ccd54bf7882f3532d5.tar.xz
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
-rw-r--r--build/standalone.gypi9
-rw-r--r--core/src/fpdftext/fpdf_text_int.cpp8
-rw-r--r--pdfium.gyp7
3 files changed, 19 insertions, 5 deletions
diff --git a/build/standalone.gypi b/build/standalone.gypi
index d335f05e49..0d650a3bdc 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 c9cfbdda2d..70178a54b0 100644
--- a/core/src/fpdftext/fpdf_text_int.cpp
+++ b/core/src/fpdftext/fpdf_text_int.cpp
@@ -37,13 +37,13 @@ FX_BOOL _IsIgnoreSpaceCharacter(FX_WCHAR curChar)
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 0ac04715e4..f50005d10f 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',