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
