Warnings Compiling openssl 1.0.2d

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 22/07/2015 01:21, Jeffrey Walton wrote:
>>> For the stragglers, I don't think its a stretch to ask C99 in 2015.
>> Visual Studio is often used on Windows, and it is not C99.
>>
> Oh my, I was not aware it was still struggling for C99 :) I guess
> Microsoft is still putting their energies into the "one-size, tablet
> interface known as Windows 8, fits all, even on desktops without a
> touchscreen".
>
> On the good side, MSVC does not need to be 100% compliant. It just
> needs to support initialization at time of declaration. That
> particular feature works.
Isn't that a C89 (or maybe even K&R) feature?

There is another problem though: Blindly initializing
every variable with dummy values (because the correct
value comes from one or more if() branches), only
achieves two things, both bad:

- It hides correct warnings in case one of those if()
  branches forgets to set the variable, before it is
  read.

- It potentially confuses less-than-halting-problem-
  solving optimizers to needlessly generate code that
  allocates and initializes the variable because they
  cannot detect (within their compile time resource
  limits) that the dummy value is (hopefully) never
  used.

The second problem is almost guaranteed to happen on
any compiler/option combination that would otherwise
falsely warn about the variable being maybe-
uninitialized.  This is because most compilers
generate that warning as a side effect of the
optimizer trying to figure out if the garbage or
dummy value will be used by the code.


Enjoy

Jakob
-- 
Jakob Bohm, CIO, Partner, WiseMo A/S.  http://www.wisemo.com
Transformervej 29, 2860 S?borg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mta.openssl.org/pipermail/openssl-users/attachments/20150722/914b967f/attachment.html>


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux