Browse Source

Dropped GCC 4.7 support.

Interesting that many of the annoyances still apply to 4.8.
simd
Vladimír Vondruš 8 years ago
parent
commit
00b0a814e0
  1. 4
      doc/building.dox
  2. 5
      doc/changelog.dox
  3. 74
      package/archlinux/PKGBUILD-gcc47
  4. 6
      src/Magnum/DebugTools/CompareImage.cpp
  5. 2
      src/Magnum/GL/Context.cpp
  6. 4
      src/Magnum/GL/Test/AbstractShaderProgramTest.cpp
  7. 16
      src/Magnum/Image.h
  8. 2
      src/Magnum/Math/Frustum.h
  9. 3
      src/Magnum/Platform/gl-info.cpp
  10. 5
      src/Magnum/SceneGraph/TranslationRotationScalingTransformation2D.h
  11. 5
      src/Magnum/SceneGraph/TranslationRotationScalingTransformation3D.h
  12. 2
      src/Magnum/Text/Test/AbstractFontConverterTest.cpp
  13. 16
      src/Magnum/Trade/AnimationData.h
  14. 16
      src/Magnum/Trade/ImageData.h
  15. 4
      src/Magnum/Trade/MeshData2D.h
  16. 4
      src/Magnum/Trade/MeshData3D.h
  17. 4
      src/Magnum/Trade/MeshObjectData2D.h
  18. 4
      src/Magnum/Trade/MeshObjectData3D.h
  19. 4
      src/Magnum/Trade/ObjectData2D.h
  20. 4
      src/Magnum/Trade/ObjectData3D.h
  21. 4
      src/Magnum/Trade/SceneData.h
  22. 2
      src/MagnumPlugins/AnyImageImporter/Test/AnyImageImporterTest.cpp

4
doc/building.dox

@ -268,8 +268,8 @@ There are also Homebrew packages for @ref building-plugins-packages-brew "Magnum
Minimal set of tools and libraries required for building is: Minimal set of tools and libraries required for building is:
- C++ compiler with good C++11 support. Compilers which are tested to have - C++ compiler with good C++11 support. Compilers which are tested to have
everything needed are **GCC** >= 4.7, **Clang** >= 3.1 and **MSVC** >= 2015. everything needed are **GCC** >= 4.8.1, **Clang** >= 3.1 and **MSVC**
On Windows you can also use **MinGW-w64**. >= 2015. On Windows you can also use **MinGW-w64**.
- **CMake** >= 2.8.12 - **CMake** >= 2.8.12
- **Corrade** --- Plugin management and utility library. See - **Corrade** --- Plugin management and utility library. See
@ref building-corrade "Corrade download and installation guide" for more @ref building-corrade "Corrade download and installation guide" for more

5
doc/changelog.dox

@ -38,6 +38,11 @@ See also:
@section changelog-latest Changes since 2018.10 @section changelog-latest Changes since 2018.10
@subsection changelog-latest-dependencies Dependency changes
- Minimal supported GCC version is now 4.8.1, GCC 4.7 is not supported
anymore.
@subsection changelog-latest-new New features @subsection changelog-latest-new New features
@subsubsection changelog-latest-new-animation Animation library @subsubsection changelog-latest-new-animation Animation library

74
package/archlinux/PKGBUILD-gcc47

@ -1,74 +0,0 @@
# Author: mosra <mosra@centrum.cz>
pkgname=magnum
pkgver=dev.gcc47
pkgrel=1
pkgdesc="C++11/C++14 graphics middleware for games and data visualization (built with GCC 4.7)"
arch=('i686' 'x86_64')
url="https://magnum.graphics"
license=('MIT')
depends=('corrade' 'openal' 'freeglut' 'sdl2' 'glfw')
makedepends=('cmake' 'ninja' 'gcc47')
options=('!strip')
provides=('magnum-git')
_rootdir=$startdir/../../
build() {
# Disable flags unknown to GCC 4.7
newcxxflags=$(echo $CXXFLAGS | sed s/-fstack-protector-strong.//g)
export CXXFLAGS="$newcxxflags"
if [ ! -d "$_rootdir/build-gcc47" ] ; then
mkdir "$_rootdir/build-gcc47"
cd "$_rootdir/build-gcc47"
cmake .. \
-DCMAKE_CXX_COMPILER=g++-4.7 \
-G Ninja
fi
cd "$_rootdir/build-gcc47"
cmake .. \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_PREFIX=/usr \
-DWITH_AUDIO=ON \
-DWITH_SHAPES=ON \
-DWITH_GLFWAPPLICATION=ON \
-DWITH_GLUTAPPLICATION=ON \
-DWITH_GLXAPPLICATION=ON \
-DWITH_SDL2APPLICATION=ON \
-DWITH_XEGLAPPLICATION=ON \
-DWITH_WINDOWLESSGLXAPPLICATION=ON \
-DWITH_EGLCONTEXT=ON \
-DWITH_GLXCONTEXT=ON \
-DWITH_OPENGLTESTER=ON \
-DWITH_ANYAUDIOIMPORTER=ON \
-DWITH_ANYIMAGECONVERTER=ON \
-DWITH_ANYIMAGEIMPORTER=ON \
-DWITH_ANYSCENEIMPORTER=ON \
-DWITH_MAGNUMFONT=ON \
-DWITH_MAGNUMFONTCONVERTER=ON \
-DWITH_OBJIMPORTER=ON \
-DWITH_TGAIMAGECONVERTER=ON \
-DWITH_TGAIMPORTER=ON \
-DWITH_WAVAUDIOIMPORTER=ON \
-DWITH_DISTANCEFIELDCONVERTER=ON \
-DWITH_FONTCONVERTER=ON \
-DWITH_IMAGECONVERTER=ON \
-DWITH_GL_INFO=ON \
-DWITH_AL_INFO=ON \
-DBUILD_TESTS=ON \
-DBUILD_GL_TESTS=ON
ninja
}
check() {
cd "$_rootdir/build-gcc47"
CORRADE_TEST_COLOR=ON ctest --output-on-failure -j5
}
package() {
cd "$_rootdir/build-gcc47"
DESTDIR="$pkgdir/" ninja install
}

6
src/Magnum/DebugTools/CompareImage.cpp

@ -375,10 +375,8 @@ void printPixelDeltas(Debug& out, const std::vector<Float>& delta, const ImageVi
/* Find first maxCount values above mean threshold and put them into a /* Find first maxCount values above mean threshold and put them into a
sorted map */ sorted map */
std::multimap<Float, std::size_t> large; std::multimap<Float, std::size_t> large;
for(std::size_t i = 0; i != delta.size(); ++i) { for(std::size_t i = 0; i != delta.size(); ++i)
/* GCC 4.7 std::multimap doesn't have emplace() */ if(delta[i] > meanThreshold) large.emplace(delta[i], i);
if(delta[i] > meanThreshold) large.insert({delta[i], i});
}
CORRADE_INTERNAL_ASSERT(!large.empty()); CORRADE_INTERNAL_ASSERT(!large.empty());

2
src/Magnum/GL/Context.cpp

@ -433,7 +433,7 @@ const std::vector<Extension>& Extension::extensions(Version version) {
namespace { namespace {
#ifdef MAGNUM_BUILD_MULTITHREADED #ifdef MAGNUM_BUILD_MULTITHREADED
#if !defined(CORRADE_GCC47_COMPATIBILITY) && !defined(CORRADE_TARGET_APPLE) #ifndef CORRADE_TARGET_APPLE
thread_local thread_local
#else #else
__thread __thread

4
src/Magnum/GL/Test/AbstractShaderProgramTest.cpp

@ -44,11 +44,7 @@ AbstractShaderProgramTest::AbstractShaderProgramTest() {
void AbstractShaderProgramTest::constructNoCreate() { void AbstractShaderProgramTest::constructNoCreate() {
{ {
struct Shader: AbstractShaderProgram { struct Shader: AbstractShaderProgram {
#ifndef CORRADE_GCC47_COMPATIBILITY
using AbstractShaderProgram::AbstractShaderProgram; using AbstractShaderProgram::AbstractShaderProgram;
#else
explicit Shader(NoCreateT) noexcept: AbstractShaderProgram{NoCreate} {}
#endif
} shader{NoCreate}; } shader{NoCreate};
CORRADE_COMPARE(shader.id(), 0); CORRADE_COMPARE(shader.id(), 0);

16
src/Magnum/Image.h

@ -334,24 +334,12 @@ template<UnsignedInt dimensions> class Image {
* *
* @see @ref release() * @see @ref release()
*/ */
Containers::ArrayView<char> data() Containers::ArrayView<char> data() & { return _data; }
#ifndef CORRADE_GCC47_COMPATIBILITY
&
#endif
{ return _data; }
#ifndef CORRADE_GCC47_COMPATIBILITY
Containers::ArrayView<char> data() && = delete; /**< @overload */ Containers::ArrayView<char> data() && = delete; /**< @overload */
#endif
/** @overload */ /** @overload */
Containers::ArrayView<const char> data() const Containers::ArrayView<const char> data() const & { return _data; }
#ifndef CORRADE_GCC47_COMPATIBILITY
&
#endif
{ return _data; }
#ifndef CORRADE_GCC47_COMPATIBILITY
Containers::ArrayView<const char> data() const && = delete; /**< @overload */ Containers::ArrayView<const char> data() const && = delete; /**< @overload */
#endif
/** @overload */ /** @overload */
template<class T = char> T* data() { template<class T = char> T* data() {

2
src/Magnum/Math/Frustum.h

@ -116,7 +116,7 @@ template<class T> class Frustum {
/** @brief Frustum planes */ /** @brief Frustum planes */
constexpr Corrade::Containers::StaticArrayView<6, const Vector4<T>> planes() const { constexpr Corrade::Containers::StaticArrayView<6, const Vector4<T>> planes() const {
/* GCC 4.7 needs explicit construction */ /* GCC 4.8 needs explicit construction */
return Corrade::Containers::StaticArrayView<6, const Vector4<T>>{_data}; return Corrade::Containers::StaticArrayView<6, const Vector4<T>>{_data};
} }

3
src/Magnum/Platform/gl-info.cpp

@ -231,9 +231,6 @@ MagnumInfo::MagnumInfo(const Arguments& arguments): Platform::WindowlessApplicat
#error no windowless application available on this platform #error no windowless application available on this platform
#endif #endif
Debug() << "Compilation flags:"; Debug() << "Compilation flags:";
#ifdef CORRADE_GCC47_COMPATIBILITY
Debug() << " CORRADE_GCC47_COMPATIBILITY";
#endif
#ifdef CORRADE_BUILD_DEPRECATED #ifdef CORRADE_BUILD_DEPRECATED
Debug() << " CORRADE_BUILD_DEPRECATED"; Debug() << " CORRADE_BUILD_DEPRECATED";
#endif #endif

5
src/Magnum/SceneGraph/TranslationRotationScalingTransformation2D.h

@ -224,8 +224,9 @@ template<class T> class BasicTranslationRotationScalingTransformation2D: public
Math::Vector2<T> _translation; Math::Vector2<T> _translation;
Math::Complex<T> _rotation; Math::Complex<T> _rotation;
/* Can't {} on GCC 4.7, _scaling(T(1)) fails on the most vexing parse /* Can't {} on GCC 4.8 because it complains about the constructor being
(what the ... eh???) */ explicit, _scaling(T(1)) fails on the most vexing parse (what the
... eh???) */
Math::Vector2<T> _scaling = Math::Vector2<T>(T(1)); Math::Vector2<T> _scaling = Math::Vector2<T>(T(1));
}; };

5
src/Magnum/SceneGraph/TranslationRotationScalingTransformation3D.h

@ -314,8 +314,9 @@ template<class T> class BasicTranslationRotationScalingTransformation3D: public
Math::Vector3<T> _translation; Math::Vector3<T> _translation;
Math::Quaternion<T> _rotation; Math::Quaternion<T> _rotation;
/* Can't {} on GCC 4.7, _scaling(T(1)) fails on the most vexing parse /* Can't {} on GCC 4.8 because it complains about the constructor being
(what the ... eh???) */ explicit, _scaling(T(1)) fails on the most vexing parse (what the
... eh???) */
Math::Vector3<T> _scaling = Math::Vector3<T>(T(1)); Math::Vector3<T> _scaling = Math::Vector3<T>(T(1));
}; };

2
src/Magnum/Text/Test/AbstractFontConverterTest.cpp

@ -77,7 +77,7 @@ namespace {
void AbstractFontConverterTest::convertGlyphs() { void AbstractFontConverterTest::convertGlyphs() {
class GlyphExporter: public AbstractFontConverter { class GlyphExporter: public AbstractFontConverter {
public: public:
/* GCC 4.7 apparently can't handle {} here */ /* GCC 4.8 apparently can't handle {} here */
GlyphExporter(std::u32string& characters): _characters(characters) {} GlyphExporter(std::u32string& characters): _characters(characters) {}
private: private:

16
src/Magnum/Trade/AnimationData.h

@ -328,24 +328,12 @@ class MAGNUM_TRADE_EXPORT AnimationData {
* Contains data for all tracks contained in this clip. * Contains data for all tracks contained in this clip.
* @see @ref release() * @see @ref release()
*/ */
Containers::ArrayView<char> data() Containers::ArrayView<char> data() & { return _data; }
#ifndef CORRADE_GCC47_COMPATIBILITY
&
#endif
{ return _data; }
#ifndef CORRADE_GCC47_COMPATIBILITY
Containers::ArrayView<char> data() && = delete; /**< @overload */ Containers::ArrayView<char> data() && = delete; /**< @overload */
#endif
/** @overload */ /** @overload */
Containers::ArrayView<const char> data() const Containers::ArrayView<const char> data() const & { return _data; }
#ifndef CORRADE_GCC47_COMPATIBILITY
&
#endif
{ return _data; }
#ifndef CORRADE_GCC47_COMPATIBILITY
Containers::ArrayView<const char> data() const && = delete; /**< @overload */ Containers::ArrayView<const char> data() const && = delete; /**< @overload */
#endif
/** @brief Duration */ /** @brief Duration */
Range1D duration() const { return _duration; } Range1D duration() const { return _duration; }

16
src/Magnum/Trade/ImageData.h

@ -357,24 +357,12 @@ template<UnsignedInt dimensions> class ImageData {
* *
* @see @ref release() * @see @ref release()
*/ */
Containers::ArrayView<char> data() Containers::ArrayView<char> data() & { return _data; }
#ifndef CORRADE_GCC47_COMPATIBILITY
&
#endif
{ return _data; }
#ifndef CORRADE_GCC47_COMPATIBILITY
Containers::ArrayView<char> data() && = delete; /**< @overload */ Containers::ArrayView<char> data() && = delete; /**< @overload */
#endif
/** @overload */ /** @overload */
Containers::ArrayView<const char> data() const Containers::ArrayView<const char> data() const & { return _data; }
#ifndef CORRADE_GCC47_COMPATIBILITY
&
#endif
{ return _data; }
#ifndef CORRADE_GCC47_COMPATIBILITY
Containers::ArrayView<const char> data() const && = delete; /**< @overload */ Containers::ArrayView<const char> data() const && = delete; /**< @overload */
#endif
/** @overload */ /** @overload */
template<class T> T* data() { template<class T> T* data() {

4
src/Magnum/Trade/MeshData2D.h

@ -81,7 +81,7 @@ class MAGNUM_TRADE_EXPORT MeshData2D {
/** @brief Move constructor */ /** @brief Move constructor */
MeshData2D(MeshData2D&&) MeshData2D(MeshData2D&&)
/* GCC 4.9.0 (the one from Android NDK) thinks this does not match /* GCC 4.9.0 (the one from Android NDK) thinks this does not match
the implicit signature so it can't be defaulted. Works on 4.7, the implicit signature so it can't be defaulted. Works on 4.8,
5.0 and everywhere else, so I don't bother. */ 5.0 and everywhere else, so I don't bother. */
#if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409 #if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409
noexcept noexcept
@ -96,7 +96,7 @@ class MAGNUM_TRADE_EXPORT MeshData2D {
/** @brief Move assignment */ /** @brief Move assignment */
MeshData2D& operator=(MeshData2D&&) MeshData2D& operator=(MeshData2D&&)
/* GCC 4.9.0 (the one from Android NDK) thinks this does not match /* GCC 4.9.0 (the one from Android NDK) thinks this does not match
the implicit signature so it can't be defaulted. Works on 4.7, the implicit signature so it can't be defaulted. Works on 4.8,
5.0 and everywhere else, so I don't bother. */ 5.0 and everywhere else, so I don't bother. */
#if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409 #if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409
noexcept noexcept

4
src/Magnum/Trade/MeshData3D.h

@ -82,7 +82,7 @@ class MAGNUM_TRADE_EXPORT MeshData3D {
/** @brief Move constructor */ /** @brief Move constructor */
MeshData3D(MeshData3D&&) MeshData3D(MeshData3D&&)
/* GCC 4.9.0 (the one from Android NDK) thinks this does not match /* GCC 4.9.0 (the one from Android NDK) thinks this does not match
the implicit signature so it can't be defaulted. Works on 4.7, the implicit signature so it can't be defaulted. Works on 4.8,
5.0 and everywhere else, so I don't bother. */ 5.0 and everywhere else, so I don't bother. */
#if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409 #if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409
noexcept noexcept
@ -97,7 +97,7 @@ class MAGNUM_TRADE_EXPORT MeshData3D {
/** @brief Move assignment */ /** @brief Move assignment */
MeshData3D& operator=(MeshData3D&&) MeshData3D& operator=(MeshData3D&&)
/* GCC 4.9.0 (the one from Android NDK) thinks this does not match /* GCC 4.9.0 (the one from Android NDK) thinks this does not match
the implicit signature so it can't be defaulted. Works on 4.7, the implicit signature so it can't be defaulted. Works on 4.8,
5.0 and everywhere else, so I don't bother. */ 5.0 and everywhere else, so I don't bother. */
#if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409 #if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409
noexcept noexcept

4
src/Magnum/Trade/MeshObjectData2D.h

@ -73,7 +73,7 @@ class MAGNUM_TRADE_EXPORT MeshObjectData2D: public ObjectData2D {
/** @brief Move constructor */ /** @brief Move constructor */
MeshObjectData2D(MeshObjectData2D&&) MeshObjectData2D(MeshObjectData2D&&)
/* GCC 4.9.0 (the one from Android NDK) thinks this does not match /* GCC 4.9.0 (the one from Android NDK) thinks this does not match
the implicit signature so it can't be defaulted. Works on 4.7, the implicit signature so it can't be defaulted. Works on 4.8,
5.0 and everywhere else, so I don't bother. */ 5.0 and everywhere else, so I don't bother. */
#if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409 #if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409
noexcept noexcept
@ -86,7 +86,7 @@ class MAGNUM_TRADE_EXPORT MeshObjectData2D: public ObjectData2D {
/** @brief Move assignment */ /** @brief Move assignment */
MeshObjectData2D& operator=(MeshObjectData2D&&) MeshObjectData2D& operator=(MeshObjectData2D&&)
/* GCC 4.9.0 (the one from Android NDK) thinks this does not match /* GCC 4.9.0 (the one from Android NDK) thinks this does not match
the implicit signature so it can't be defaulted. Works on 4.7, the implicit signature so it can't be defaulted. Works on 4.8,
5.0 and everywhere else, so I don't bother. */ 5.0 and everywhere else, so I don't bother. */
#if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409 #if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409
noexcept noexcept

4
src/Magnum/Trade/MeshObjectData3D.h

@ -73,7 +73,7 @@ class MAGNUM_TRADE_EXPORT MeshObjectData3D: public ObjectData3D {
/** @brief Move constructor */ /** @brief Move constructor */
MeshObjectData3D(MeshObjectData3D&&) MeshObjectData3D(MeshObjectData3D&&)
/* GCC 4.9.0 (the one from Android NDK) thinks this does not match /* GCC 4.9.0 (the one from Android NDK) thinks this does not match
the implicit signature so it can't be defaulted. Works on 4.7, the implicit signature so it can't be defaulted. Works on 4.8,
5.0 and everywhere else, so I don't bother. */ 5.0 and everywhere else, so I don't bother. */
#if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409 #if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409
noexcept noexcept
@ -86,7 +86,7 @@ class MAGNUM_TRADE_EXPORT MeshObjectData3D: public ObjectData3D {
/** @brief Move assignment */ /** @brief Move assignment */
MeshObjectData3D& operator=(MeshObjectData3D&&) MeshObjectData3D& operator=(MeshObjectData3D&&)
/* GCC 4.9.0 (the one from Android NDK) thinks this does not match /* GCC 4.9.0 (the one from Android NDK) thinks this does not match
the implicit signature so it can't be defaulted. Works on 4.7, the implicit signature so it can't be defaulted. Works on 4.8,
5.0 and everywhere else, so I don't bother. */ 5.0 and everywhere else, so I don't bother. */
#if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409 #if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409
noexcept noexcept

4
src/Magnum/Trade/ObjectData2D.h

@ -135,7 +135,7 @@ class MAGNUM_TRADE_EXPORT ObjectData2D {
/** @brief Move constructor */ /** @brief Move constructor */
ObjectData2D(ObjectData2D&&) ObjectData2D(ObjectData2D&&)
/* GCC 4.9.0 (the one from Android NDK) thinks this does not match /* GCC 4.9.0 (the one from Android NDK) thinks this does not match
the implicit signature so it can't be defaulted. Works on 4.7, the implicit signature so it can't be defaulted. Works on 4.8,
5.0 and everywhere else, so I don't bother. */ 5.0 and everywhere else, so I don't bother. */
#if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409 #if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409
noexcept noexcept
@ -151,7 +151,7 @@ class MAGNUM_TRADE_EXPORT ObjectData2D {
/** @brief Move assignment */ /** @brief Move assignment */
ObjectData2D& operator=(ObjectData2D&&) ObjectData2D& operator=(ObjectData2D&&)
/* GCC 4.9.0 (the one from Android NDK) thinks this does not match /* GCC 4.9.0 (the one from Android NDK) thinks this does not match
the implicit signature so it can't be defaulted. Works on 4.7, the implicit signature so it can't be defaulted. Works on 4.8,
5.0 and everywhere else, so I don't bother. */ 5.0 and everywhere else, so I don't bother. */
#if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409 #if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409
noexcept noexcept

4
src/Magnum/Trade/ObjectData3D.h

@ -136,7 +136,7 @@ class MAGNUM_TRADE_EXPORT ObjectData3D {
/** @brief Move constructor */ /** @brief Move constructor */
ObjectData3D(ObjectData3D&&) ObjectData3D(ObjectData3D&&)
/* GCC 4.9.0 (the one from Android NDK) thinks this does not match /* GCC 4.9.0 (the one from Android NDK) thinks this does not match
the implicit signature so it can't be defaulted. Works on 4.7, the implicit signature so it can't be defaulted. Works on 4.8,
5.0 and everywhere else, so I don't bother. */ 5.0 and everywhere else, so I don't bother. */
#if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409 #if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409
noexcept noexcept
@ -152,7 +152,7 @@ class MAGNUM_TRADE_EXPORT ObjectData3D {
/** @brief Move assignment */ /** @brief Move assignment */
ObjectData3D& operator=(ObjectData3D&&) ObjectData3D& operator=(ObjectData3D&&)
/* GCC 4.9.0 (the one from Android NDK) thinks this does not match /* GCC 4.9.0 (the one from Android NDK) thinks this does not match
the implicit signature so it can't be defaulted. Works on 4.7, the implicit signature so it can't be defaulted. Works on 4.8,
5.0 and everywhere else, so I don't bother. */ 5.0 and everywhere else, so I don't bother. */
#if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409 #if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409
noexcept noexcept

4
src/Magnum/Trade/SceneData.h

@ -58,7 +58,7 @@ class MAGNUM_TRADE_EXPORT SceneData {
/** @brief Move constructor */ /** @brief Move constructor */
SceneData(SceneData&&) SceneData(SceneData&&)
/* GCC 4.9.0 (the one from Android NDK) thinks this does not match /* GCC 4.9.0 (the one from Android NDK) thinks this does not match
the implicit signature so it can't be defaulted. Works on 4.7, the implicit signature so it can't be defaulted. Works on 4.8,
5.0 and everywhere else, so I don't bother. */ 5.0 and everywhere else, so I don't bother. */
#if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409 #if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409
noexcept noexcept
@ -71,7 +71,7 @@ class MAGNUM_TRADE_EXPORT SceneData {
/** @brief Move assignment */ /** @brief Move assignment */
SceneData& operator=(SceneData&&) SceneData& operator=(SceneData&&)
/* GCC 4.9.0 (the one from Android NDK) thinks this does not match /* GCC 4.9.0 (the one from Android NDK) thinks this does not match
the implicit signature so it can't be defaulted. Works on 4.7, the implicit signature so it can't be defaulted. Works on 4.8,
5.0 and everywhere else, so I don't bother. */ 5.0 and everywhere else, so I don't bother. */
#if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409 #if !defined(__GNUC__) || __GNUC__*100 + __GNUC_MINOR__ != 409
noexcept noexcept

2
src/MagnumPlugins/AnyImageImporter/Test/AnyImageImporterTest.cpp

@ -150,7 +150,7 @@ void AnyImageImporterTest::detect() {
std::ostringstream out; std::ostringstream out;
Error redirectError{&out}; Error redirectError{&out};
CORRADE_VERIFY(!importer->openFile(Utility::Directory::join(TEST_FILE_DIR, data.filename))); CORRADE_VERIFY(!importer->openFile(Utility::Directory::join(TEST_FILE_DIR, data.filename)));
/* Can't use raw string literals in macros on GCC 4.7 */ /* Can't use raw string literals in macros on GCC 4.8 */
#ifndef CORRADE_PLUGINMANAGER_NO_DYNAMIC_PLUGIN_SUPPORT #ifndef CORRADE_PLUGINMANAGER_NO_DYNAMIC_PLUGIN_SUPPORT
CORRADE_COMPARE(out.str(), Utility::formatString( CORRADE_COMPARE(out.str(), Utility::formatString(
"PluginManager::Manager::load(): plugin {0} is not static and was not found in nonexistent\nTrade::AnyImageImporter::{1}(): cannot load {0} plugin\n", data.plugin, data.callback ? "openData" : "openFile")); "PluginManager::Manager::load(): plugin {0} is not static and was not found in nonexistent\nTrade::AnyImageImporter::{1}(): cannot load {0} plugin\n", data.plugin, data.callback ? "openData" : "openFile"));

Loading…
Cancel
Save