[pcre-dev] [Bug 991] New: PCRE generates warnings when compi…

Top Page
Delete this message
Author: Dino Chiesa
Date:  
To: pcre-dev
Subject: [pcre-dev] [Bug 991] New: PCRE generates warnings when compiled on Windows x64
------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=991
           Summary: PCRE generates warnings when compiled on Windows x64
           Product: PCRE
           Version: 8.01
          Platform: x86-64
        OS/Version: Windows
            Status: NEW
          Severity: bug
          Priority: medium
         Component: Code
        AssignedTo: ph10@???
        ReportedBy: dpchiesa@???
                CC: pcre-dev@???



I've compiled and used PCRE on Windows x86 for years, as part of IIRF, which is
an open-source URL Rewriter for IIS. Recently I tried compiling PCRE v8.02 for
Windows x64, following the same procedure as with Win32: cmake, and so on.

The compilation generates 91 warnings. All of them appear to be size
conversion warnings, about a potential loss of data converting from __int64 to
int, and other similar issues. Examples:

warning C4244: 'function' : conversion from '__int64' to 'int', possible loss
of data   c:\dinoch\dev\pcre\pcre-8.02\src\pcre_dfa_exec.c        2398


or

warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data  
c:\dinoch\dev\pcre\pcre-8.02\src\pcreposix.c    339


The basic problem is that strlen() on x86-64 returns a size_t, and in the code,
the result of strlen() is often assigned to int.

Now, I understand that in all likelihood, strings will not exceed 2^32
characters in length, and actual data loss is highly unlikely. Still it would
be nice to get a warning-free compile on x86-64.

So the request is, fixup PCRE to eliminate the compile-time warnings on Windows
x86-64.

If you need access to a Windows machine to assist in doing this, I'd be glad to
cooperate.


--
Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email