22.05.2014, 11:50, "Christian Kandeler" <[email protected]>:

>  On 05/21/2014 09:28 PM, Jussi Pakkanen wrote:
>>   On Wed, May 21, 2014 at 10:10 PM, André Pönitz <[email protected]
>>   <mailto:[email protected]>> wrote:
>>
>>       I am not sure I understood what the unity build does. Closest I can
>>       imagine
>>       is that it concatenates some (or all?) translation units into one
>>       and tries
>>       to compile the result. Of course that would not work with normal C++
>>       projects
>>       but would impose rather harsh restriction on naming conventions and 
>> code
>>       structure, so this can't be what is meant as this interpretation
>>       conflicts
>>       with the "in theory unity builds should not require any code changes".
>>
>>   There is a more involved explanation in Meson wiki:
>>
>>   https://sourceforge.net/p/meson/wiki/Unity%20builds/
>  "There may also be some bugs in the source that need to be fixed before
>  Unity compiles work. As an example, if both src1.c and src2.c contain a
>  static function or variable of the same name, there will be a clash."
>
>  How on earth is that a bug? That's a perfectly legal and normal thing to
>  do, as the concept of translation units is well-defined. By merging them
>  all together, one can probably even introduce subtle semantic changes
>  (though admittedly that's just a gut feeling, I don't have a concrete
>  example).
>  What is the use case anyway? I guess it can only be an area where
>  incremental builds are irrelevant. CI?

For example, we use such setup to reduce binary size of embedded application,
where LTO is not available.

-- 
Regards, Konstantin
_______________________________________________
Qt-creator mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/qt-creator

Reply via email to