------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugs.exim.org/show_bug.cgi?id=1477 Summary: 64-bit compiler warnings Product: PCRE Version: 8.35 Platform: Other OS/Version: All Status: NEW Severity: bug Priority: medium Component: Code AssignedTo: [email protected] ReportedBy: [email protected] CC: [email protected] I'm getting a few compiler warnings when I compile 8.35 for 64-bit architecture. Note that for the clang compile, I am using the -Wshorten-64-to-32 compiler flag. Using both Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn) and MSVC 2013 I see these. They all look like cases where the difference of two 64-bit pointers is stored in an int: ../../igorsrc7/PCRE/pcre_compile.c:3041:17: warning: implicit conversion loses integer precision: 'long' to 'pcre_uint32' (aka 'unsigned int') [-Wshorten-64-to-32] list[2] = end - code; ~ ~~~~^~~~~~ ../../igorsrc7/PCRE/pcre_compile.c:6011:44: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] int save_offset = save_hwm - cd->start_workspace; ~~~~~~~~~~~ ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ../../igorsrc7/PCRE/pcre_compile.c:6012:44: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] int this_offset = this_hwm - cd->start_workspace; ~~~~~~~~~~~ ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ../../igorsrc7/PCRE/pcre_compile.c:6093:40: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] int save_offset = save_hwm - cd->start_workspace; ~~~~~~~~~~~ ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ../../igorsrc7/PCRE/pcre_compile.c:6094:40: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] int this_offset = this_hwm - cd->start_workspace; ~~~~~~~~~~~ ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ I only see these using clang: ../../igorsrc7/PCRE/pcre_dfa_exec.c:3245:36: warning: implicit conversion loses integer precision: 'const unsigned long' to 'unsigned int' [-Wshorten-64-to-32] unsigned int flags = extra_data->flags; ~~~~~ ~~~~~~~~~~~~^~~~~ ../../igorsrc7/PCRE/pcre_exec.c:6522:45: warning: implicit conversion loses integer precision: 'const unsigned long' to 'unsigned int' [-Wshorten-64-to-32] register unsigned int flags = extra_data->flags; ~~~~~ ~~~~~~~~~~~~^~~~~ Using VS2013 only, I see this: C4244: '+=' : conversion from '__int64' to 'int', possible loss of data in pcre_compile.c line 4866. Thanks Adam -- Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email -- ## List details at https://lists.exim.org/mailman/listinfo/pcre-dev
