[opensuse-factory] GCC 7 Transition
We are in the process to prepare initial GCC 7 packages for Factory (without yet switching the default build compiler). There is a staging set up switching the default build compiler to GCC 7 at openSUSE:Factory:Staging:Gcc7. There are still numerous build failures due to (in)valid C++ code being rejected more pedantically or new warnings tripping over -Werror used in package builds. So this is a first heads-up for you in case you want to check the status of your package (or you received a bugzilla saying it won't build with GCC 7). One important thing with GCC 7 is that it no longer provides support for the Java language. For a transitional period "GCC Java" will continued to be provided by GCC 6 but that should be considered legacy. See the packaging documentation on how to build Java packages and consider dropping support for the GCJ Java "flavor" in other packages. Any help with reducing the build fails in openSUSE:Factory:Staging:Gcc7 is appreciated. Thanks, Richard. -- Richard Biener <rguenther@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Monday, 6 February 2017 15:57 Richard Biener wrote:
We are in the process to prepare initial GCC 7 packages for Factory (without yet switching the default build compiler). There is a staging set up switching the default build compiler to GCC 7 at openSUSE:Factory:Staging:Gcc7. There are still numerous build failures due to (in)valid C++ code being rejected more pedantically or new warnings tripping over -Werror used in package builds. So this is a first heads-up for you in case you want to check the status of your package (or you received a bugzilla saying it won't build with GCC 7).
I tried one of my packages and I get a lot of warnings like this warning: dynamic exception specifications are deprecated in C++11; use 'noexcept' instead I found what it's about and I understand the reasoning. But IMHO it's very confusing - and even misleading - that gcc7 adds the "use 'noexcept' instead" part even for declarations with non-empty exception list, e.g. explicit StatusVector(const IStatus* s) throw(Firebird::BadAlloc); shouldn't the compiler suggest 'noexcept' only for "throw()" and suggest omitting the throw declaration for non-empty list instead? Michal Kubecek -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Tue, 7 Feb 2017, Michal Kubecek wrote:
On Monday, 6 February 2017 15:57 Richard Biener wrote:
We are in the process to prepare initial GCC 7 packages for Factory (without yet switching the default build compiler). There is a staging set up switching the default build compiler to GCC 7 at openSUSE:Factory:Staging:Gcc7. There are still numerous build failures due to (in)valid C++ code being rejected more pedantically or new warnings tripping over -Werror used in package builds. So this is a first heads-up for you in case you want to check the status of your package (or you received a bugzilla saying it won't build with GCC 7).
I tried one of my packages and I get a lot of warnings like this
warning: dynamic exception specifications are deprecated in C++11; use 'noexcept' instead
I found what it's about and I understand the reasoning. But IMHO it's very confusing - and even misleading - that gcc7 adds the "use 'noexcept' instead" part even for declarations with non-empty exception list, e.g.
explicit StatusVector(const IStatus* s) throw(Firebird::BadAlloc);
shouldn't the compiler suggest 'noexcept' only for "throw()" and suggest omitting the throw declaration for non-empty list instead?
I agree. I filed https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79400 to track this and/or get clarification. Thanks, Richard. -- Richard Biener <rguenther@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Tuesday, 7 February 2017 8:57 Richard Biener wrote:
On Tue, 7 Feb 2017, Michal Kubecek wrote:
I tried one of my packages and I get a lot of warnings like this
warning: dynamic exception specifications are deprecated in C++11; use 'noexcept' instead
I found what it's about and I understand the reasoning. But IMHO it's very confusing - and even misleading - that gcc7 adds the "use 'noexcept' instead" part even for declarations with non-empty exception list, e.g.
explicit StatusVector(const IStatus* s) throw(Firebird::BadAlloc);
shouldn't the compiler suggest 'noexcept' only for "throw()" and suggest omitting the throw declaration for non-empty list instead?
I agree. I filed https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79400 to track this and/or get clarification.
Thanks a lot. Michal Kubecek -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (2)
-
Michal Kubecek
-
Richard Biener