media-gfx/exact-image: Fix building with GCC-6 #5275
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Bug: https://bugs.gentoo.org/show_bug.cgi?id=600380
Package-Manager: Portage-2.3.6, Repoman-2.3.2
This fixes GCC-6 porting issues related to narrowing conversions in brace initialization and invalid implicit conversion from stream object to `bool.
There was also the problem of
static const
in-class initialization of non-integral types. This is relaxed for floating-point types with GCC using C++98 but not C++11/14. The dialect-neutral way of handling this is to declare such variables asstatic const
in-class in the header but define and initialize them asconst
in a relevant source file. All attempts as such failed with ODR violations at link-time. Resorting toconstexpr
with conditional dialect-dependent#define
s sufficed.Upstream doesn't provide any official means of commit or patch submission. Furthermore, having tested later versions, the GCC-6/GCC-5 related bugs become more egregious (eg., use of
goto
s leading to errors of the typeerror: jump to label 'foo' from here crosses initialization of 'bar x'
).