Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 447024 Details for
Bug 587954
media-video/vlc-2.2.x fails to build with gcc-6
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Fix-build-using-old-GCC-intrinsics.patch
Fix-build-using-old-GCC-intrinsics.patch (text/plain), 8.68 KB, created by
Peter Levine
on 2016-09-21 07:15:29 UTC
(
hide
)
Description:
Fix-build-using-old-GCC-intrinsics.patch
Filename:
MIME Type:
Creator:
Peter Levine
Created:
2016-09-21 07:15:29 UTC
Size:
8.68 KB
patch
obsolete
>From 8b0a359be21c8b66c7f7f5d34b85df3cf6689035 Mon Sep 17 00:00:00 2001 >From: Francois Cartegnie <fcvlcdev@free.fr> >Date: Sun, 24 Jul 2016 12:59:20 +0200 >Subject: [PATCH] Fix build using old GCC intrinsics > >As the 2.2 headers are still using vlc_atomics (picture) >we cannot have a way to avoid collisions with early >or late <atomic> inclusion when using GCC >= 4.7 > >Conditionals in vlc_atomic won't work. > >Happens in ProjectM and Qt5. > >Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org> >--- > modules/gui/qt4/actions_manager.cpp | 2 ++ > modules/gui/qt4/adapters/seekpoints.cpp | 4 +-- > modules/gui/qt4/adapters/seekpoints.hpp | 4 +-- > modules/gui/qt4/components/controller.cpp | 2 ++ > .../gui/qt4/components/playlist/playlist_model.hpp | 4 +-- > modules/gui/qt4/components/playlist/views.cpp | 6 ++++ > modules/gui/qt4/dialogs/messages.cpp | 2 ++ > modules/gui/qt4/dialogs/vlm.cpp | 4 --- > modules/gui/qt4/dialogs/vlm.hpp | 4 ++- > modules/gui/qt4/input_manager.cpp | 2 ++ > modules/gui/qt4/input_manager.hpp | 3 +- > modules/gui/qt4/menus.cpp | 2 ++ > modules/gui/qt4/qt4.hpp | 32 ++++++++++++++++++---- > modules/gui/qt4/util/pictureflow.cpp | 2 ++ > modules/visualization/projectm.cpp | 4 +++ > 15 files changed, 56 insertions(+), 21 deletions(-) > >diff --git a/modules/gui/qt4/actions_manager.cpp b/modules/gui/qt4/actions_manager.cpp >index eff40d9..b7ca967 100644 >--- a/modules/gui/qt4/actions_manager.cpp >+++ b/modules/gui/qt4/actions_manager.cpp >@@ -25,6 +25,8 @@ > # include "config.h" > #endif > >+#include "qt4.hpp" >+ > #include <vlc_vout.h> > #include <vlc_keys.h> > >diff --git a/modules/gui/qt4/adapters/seekpoints.cpp b/modules/gui/qt4/adapters/seekpoints.cpp >index fbf2957..a3564bb 100644 >--- a/modules/gui/qt4/adapters/seekpoints.cpp >+++ b/modules/gui/qt4/adapters/seekpoints.cpp >@@ -19,14 +19,12 @@ > * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. > *****************************************************************************/ > >+#include "seekpoints.hpp" > > #include "recents.hpp" > #include "dialogs_provider.hpp" > #include "menus.hpp" > >-#include "seekpoints.hpp" >- >-#include "qt4.hpp" > #include "input_manager.hpp" > > SeekPoints::SeekPoints( QObject *parent, intf_thread_t *p_intf_ ) : >diff --git a/modules/gui/qt4/adapters/seekpoints.hpp b/modules/gui/qt4/adapters/seekpoints.hpp >index 0083989..bbb9214 100644 >--- a/modules/gui/qt4/adapters/seekpoints.hpp >+++ b/modules/gui/qt4/adapters/seekpoints.hpp >@@ -22,9 +22,7 @@ > #ifndef SEEKPOINTS_HPP > #define SEEKPOINTS_HPP > >-#ifdef HAVE_CONFIG_H >-#include "config.h" >-#endif >+#include "qt4.hpp" > > #include <vlc_common.h> > #include <vlc_interface.h> >diff --git a/modules/gui/qt4/components/controller.cpp b/modules/gui/qt4/components/controller.cpp >index d93e0db..c43d929 100644 >--- a/modules/gui/qt4/components/controller.cpp >+++ b/modules/gui/qt4/components/controller.cpp >@@ -26,6 +26,8 @@ > # include "config.h" > #endif > >+#include "qt4.hpp" >+ > #include <vlc_vout.h> /* vout_thread_t for FSC */ > > /* Widgets */ >diff --git a/modules/gui/qt4/components/playlist/playlist_model.hpp b/modules/gui/qt4/components/playlist/playlist_model.hpp >index f9d1d0c..1f71ac9 100644 >--- a/modules/gui/qt4/components/playlist/playlist_model.hpp >+++ b/modules/gui/qt4/components/playlist/playlist_model.hpp >@@ -25,9 +25,7 @@ > #ifndef _PLAYLIST_MODEL_H_ > #define _PLAYLIST_MODEL_H_ > >-#ifdef HAVE_CONFIG_H >-# include "config.h" >-#endif >+#include "qt4.hpp" > > #include <vlc_input.h> > #include <vlc_playlist.h> >diff --git a/modules/gui/qt4/components/playlist/views.cpp b/modules/gui/qt4/components/playlist/views.cpp >index 59f6535..0066205 100644 >--- a/modules/gui/qt4/components/playlist/views.cpp >+++ b/modules/gui/qt4/components/playlist/views.cpp >@@ -21,6 +21,12 @@ > * 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. > *****************************************************************************/ > >+#ifdef HAVE_CONFIG_H >+#include "config.h" >+#endif >+ >+#include "qt4.hpp" >+ > #include "components/playlist/views.hpp" > #include "components/playlist/vlc_model.hpp" /* VLCModel */ > #include "components/playlist/sorting.h" /* Columns List */ >diff --git a/modules/gui/qt4/dialogs/messages.cpp b/modules/gui/qt4/dialogs/messages.cpp >index 30793a2..9c79c99 100644 >--- a/modules/gui/qt4/dialogs/messages.cpp >+++ b/modules/gui/qt4/dialogs/messages.cpp >@@ -24,6 +24,8 @@ > # include "config.h" > #endif > >+#include "qt4.hpp" >+ > #include "dialogs/messages.hpp" > > #include <QPlainTextEdit> >diff --git a/modules/gui/qt4/dialogs/vlm.cpp b/modules/gui/qt4/dialogs/vlm.cpp >index 0da88cc..595f015 100644 >--- a/modules/gui/qt4/dialogs/vlm.cpp >+++ b/modules/gui/qt4/dialogs/vlm.cpp >@@ -23,10 +23,6 @@ > * Foundation, Inc., 51 Franklin street, Fifth Floor, Boston MA 02110-1301, USA. > *****************************************************************************/ > >-#ifdef HAVE_CONFIG_H >-# include "config.h" >-#endif >- > #include "dialogs/vlm.hpp" > > #ifdef ENABLE_VLM >diff --git a/modules/gui/qt4/dialogs/vlm.hpp b/modules/gui/qt4/dialogs/vlm.hpp >index a3c6e5d..dcf7110 100644 >--- a/modules/gui/qt4/dialogs/vlm.hpp >+++ b/modules/gui/qt4/dialogs/vlm.hpp >@@ -25,8 +25,10 @@ > #ifndef QVLC_VLM_DIALOG_H_ > #define QVLC_VLM_DIALOG_H_ 1 > >+#include "qt4.hpp" >+ > #ifdef HAVE_CONFIG_H >-# include "config.h" >+#include "config.h" > #endif > > #ifdef ENABLE_VLM >diff --git a/modules/gui/qt4/input_manager.cpp b/modules/gui/qt4/input_manager.cpp >index fd45f4a..c50cb6c 100644 >--- a/modules/gui/qt4/input_manager.cpp >+++ b/modules/gui/qt4/input_manager.cpp >@@ -30,6 +30,8 @@ > # include "config.h" > #endif > >+#include "qt4.hpp" >+ > #include "input_manager.hpp" > #include "recents.hpp" > >diff --git a/modules/gui/qt4/input_manager.hpp b/modules/gui/qt4/input_manager.hpp >index 7d3b76a..4fbecbb 100644 >--- a/modules/gui/qt4/input_manager.hpp >+++ b/modules/gui/qt4/input_manager.hpp >@@ -29,9 +29,10 @@ > # include "config.h" > #endif > >+#include "qt4.hpp" >+ > #include <vlc_input.h> > >-#include "qt4.hpp" > #include "util/singleton.hpp" > #include "adapters/variables.hpp" > >diff --git a/modules/gui/qt4/menus.cpp b/modules/gui/qt4/menus.cpp >index 116e98c..46240b0 100644 >--- a/modules/gui/qt4/menus.cpp >+++ b/modules/gui/qt4/menus.cpp >@@ -34,6 +34,8 @@ > # include "config.h" > #endif > >+#include "qt4.hpp" >+ > #include <vlc_common.h> > #include <vlc_intf_strings.h> > #include <vlc_vout.h> /* vout_thread_t */ >diff --git a/modules/gui/qt4/qt4.hpp b/modules/gui/qt4/qt4.hpp >index 44d7db6..5aec957 100644 >--- a/modules/gui/qt4/qt4.hpp >+++ b/modules/gui/qt4/qt4.hpp >@@ -29,12 +29,7 @@ > # include "config.h" > #endif > >-#include <vlc_common.h> /* VLC_COMMON_MEMBERS for vlc_interface.h */ >-#include <vlc_interface.h> /* intf_thread_t */ >-#include <vlc_playlist.h> /* playlist_t */ >- >-#define QT_NO_CAST_TO_ASCII >-#include <QString> >+#include <QtGlobal> > > #if ( QT_VERSION < 0x040600 ) > # error Update your Qt version to at least 4.6.0 >@@ -43,6 +38,31 @@ > #define HAS_QT47 ( QT_VERSION >= 0x040700 ) > #define HAS_QT5 ( QT_VERSION >= 0x050000 ) > >+#if HAS_QT5 >+ #include <QtCore/qcompilerdetection.h> >+ #if defined(Q_COMPILER_ATOMICS) && \ >+ ( __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7 ) ) >+ #define VLC_ATOMIC_H >+ #include <atomic> >+ using namespace std; >+ # define atomic_store(object,desired) \ >+ do { \ >+ *(object) = (desired); \ >+ __sync_synchronize(); \ >+ } while (0) >+ >+ # define atomic_load(object) \ >+ (__sync_synchronize(), *(object)) >+ #endif >+#endif >+ >+#include <vlc_common.h> /* VLC_COMMON_MEMBERS for vlc_interface.h */ >+#include <vlc_interface.h> /* intf_thread_t */ >+#include <vlc_playlist.h> /* playlist_t */ >+ >+#define QT_NO_CAST_TO_ASCII >+#include <QString> >+ > enum { > DialogEventTypeOffset = 0, > IMEventTypeOffset = 100, >diff --git a/modules/gui/qt4/util/pictureflow.cpp b/modules/gui/qt4/util/pictureflow.cpp >index 9318953..a7e6a01 100644 >--- a/modules/gui/qt4/util/pictureflow.cpp >+++ b/modules/gui/qt4/util/pictureflow.cpp >@@ -29,6 +29,8 @@ > THE SOFTWARE. > */ > >+#include "qt4.hpp" >+ > #include "pictureflow.hpp" > > #include <QApplication> >diff --git a/modules/visualization/projectm.cpp b/modules/visualization/projectm.cpp >index e80fbf4..96d532d 100644 >--- a/modules/visualization/projectm.cpp >+++ b/modules/visualization/projectm.cpp >@@ -30,6 +30,10 @@ > #endif > > #include <assert.h> >+#if defined(__GNUC__) && \ >+ ( __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7 ) ) >+ #define VLC_ATOMIC_H /* Ensure C atomics wont collide with old intrinsics */ >+#endif > > #include <vlc_common.h> > #include <vlc_plugin.h> >-- >2.8.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 587954
:
439648
|
440416
|
447020
| 447024