<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Le 06/03/2010 17:32, José Fonseca a écrit :<br>
<span style="white-space: pre;">> <br>
>> Are you volontary trying to break everyone build (just to build<br>
>> your own project), or have you no idea of the effect of this<br>
>> change:<br>
>> <br>
>> +add_llvm_definitions( -D_SECURE_SCL=0 )<br>
>> <br>
>> While I personnaly use this flag in all my projects, it should
not<br>
>> be silently and sneakily imposed to all llvm user. You should
make<br>
>> it an option, and keep the default as it is currently. I.e.
make<br>
>> this an opt-in choice.<br>
>> <br>
>> While I may seem harsh, this flag change the ABI !!! and its<br>
>> effects are very hard to understand and debug. For me it is<br>
>> criminal to try to pass this as a "trivial" patch. (already
been<br>
>> bitten here)<br>
> <br>
> <br>
> That flag was suggested in some website to solve issues when <br>
> statically linking release LLVM libraries in a debug build. I had
no <br>
> idea of the full implications, nor can I really deduct from your<br>
> reply how deep they are, but I'll investigate it further.<br>
> </span><br>
<br>
This flag change the ABI of the M$ STL (by removing debug member
variable). So all the C++ lib linked (statically or not) must have the
same setting for this flag or must not exchange STL structure (and for
static linking, there is probably ODR problems lurking).<br>
The default is _SECURE_SCL=1 on current version of VS (they changed for
VS2010 it seems).<br>
<br>
So adding an option for adding this flag would be great but not
changing the default. (The flag is interesting because it can leads to
great performance improvement in STL heavy code (up to x10 and more on
particular code)).<br>
<br>
regards,<br>
<br>
Cédric<br>
<br>
<br>
</body>
</html>