[openssl-dev] [openssl.org #4473] Compile errors when compiling with C++ compiler

Jeffrey Walton noloader at gmail.com
Thu Mar 24 05:08:19 UTC 2016


On Thu, Mar 24, 2016 at 12:52 AM, Viktor Dukhovni
<openssl-users at dukhovni.org> wrote:
>
>> On Mar 24, 2016, at 12:38 AM, noloader at gmail.com via RT <rt at openssl.org> wrote:
>>
>> I can understand lack of resources.
>>
>> Lack of interest can be dealt with in the engineering process. Place a
>> quality gate, and make the code pass through it. I'd wager folks will
>> take interest if/when it blocks a release.
>
> Lack of relevance.  C++ is NOT C.  There many subtle and not so subtle
> differences.  OpenSSL is written in C.  Use a C compiler.

'make -k' is telling me its a little more than (ir)relevance. I see
some stuff going on that's not allowed in C++, but its dodgy in C. For
example:

crypto/asn1/asn_mime.c: In function ‘ASN1_VALUE* SMIME_read_ASN1(BIO*,
BIO**, const ASN1_ITEM*)’:
crypto/asn1/asn_mime.c:432:53: warning: deprecated conversion from
string constant to ‘char*’ [-Wwrite-strings]
     if ((hdr = mime_hdr_find(headers, "content-type")) == NULL
                                                     ^
crypto/asn1/asn_mime.c:443:46: warning: deprecated conversion from
string constant to ‘char*’ [-Wwrite-strings]
         prm = mime_param_find(hdr, "boundary");
                                              ^
crypto/asn1/asn_mime.c:468:57: warning: deprecated conversion from
string constant to ‘char*’ [-Wwrite-strings]
         if ((hdr = mime_hdr_find(headers, "content-type")) == NULL

In the absence of a compensating control to catch these kinds of
mistakes, maybe the project should consider a modern C++ compiler as a
quality gate.

Jeff


More information about the openssl-dev mailing list