I'll commit these two in a moment.
- src/plugins/codecompletion/classbrowserbuilderthread.cpp (possible crash)
- src/src/debuggersettingscommonpanel.cpp (simple spelling fix)
The code style used to fix this looks bizarre!
- src/sdk/compileroptions.cpp (fixes bug that enabled wrong options with just linker flags. Just don't search for empty options)
[...]... that was a hot fix actually xDThe code style used to fix this looks bizarre!
- src/sdk/compileroptions.cpp (fixes bug that enabled wrong options with just linker flags. Just don't search for empty options)
[...]
[...]you're basically right... but hard to implement and it's also hard to still allow freedom. (like I say on next quote)
About the LTO stuff: For me we need a better solution. There is no need to specify the -O flag twice. It should automatically replicate it in the linker settings when -flto is specified. [...] If I haven't read your description I wouldn't be able to guess that the O flags are linked to the LTO flag.
[...]
[...]Not just "really important", they are all that counts ;) -O on compile time is (currently) useless... I guess it might be even better to not use it there as I guess it'll speed up the compile time.. what's the reason to optimize first, when that isn't used anyway?
p.s. thank you for making me read the LTO's help agian, now my LTO builds are faster (as expected) than non LTO builds. In the past they have been twice as slow. It seems that the -O flag in the linker settings is really important:)
But I'm not totally sure and don't know of reasons why someone might need also to optimize on compile time as well, so I'm allowing both.If you're linking without LTO, then you need optimized object files.
[...]that's how Code::Blocks does it ;) eg. "-s" (strip) is linker only ;) That's not the only option... you need 1 dialog for both... that's the right way actually. "-flto" for example needs to be passed on compile and link time.
But then putting linker options in the compiler options is just wrong.
[...]
Anyway.. I'm happy with the way it is now, and I'm not gonna changing it ;)BTW: Statements like this one lead to patches not been accepted ::)
@Alpha: Is it currently possible to make the -flto flag to force the -Ox flags to be passed to linker instead of the compiler or both?This cannot be done with the current implementation. Do you have any recommendations of how such an option could be specified in the XML (or elsewhere)?
This cannot be done with the current implementation. Do you have any recommendations of how such an option could be specified in the XML (or elsewhere)?Probably we can have something like a group that marks optimization flags and the -flto flag has attribute that says that groupX should be passed to the compiler.
Link-Time-Optimization (7 threads) [-flto=7]
Though we might also just drop the optimization level from the linking step... (at least in the meantime to not confuse users)
“If you do not specify an optimization level option -O at link time, then GCC uses the highest optimization level used when compiling the object files.”
- (clang) Use AddressSanitizer, a memory error detectorThese are not linker options. They should be passed to both compiler and linker.
- (clang) Use ThreadSanitizer, a data race detector
well yeah.. that's what I said in my post above... but so is -flto which can be further configured with -O# options.- (clang) Use AddressSanitizer, a memory error detectorThese are not linker options. They should be passed to both compiler and linker.
- (clang) Use ThreadSanitizer, a data race detector
[...]
I never liked CMake but if Code::Blocks includes it and manages it without any further user interaction, why not...You can use cmake to create cbp files and they build. Running and debugging is not 100% ironed out...