summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@digia.com>2014-04-23 13:02:27 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-04-23 13:17:33 +0200
commitc426b31a6c9e39b8a857a0590dae6c21738c7184 (patch)
treeb57d102977f09218376ff9691df4f1dbf9aba3d8
parentaf08647638cffab31b22e7c2528dc89065756d15 (diff)
downloadqtwebkit-c426b31a6c9e39b8a857a0590dae6c21738c7184.tar.gz
Fix build with clang on linux
Fixes a few issues with clang builds using libstdc++ Change-Id: I68d3af2c48bce42e2c5319c517e9b57bed2b729a Reviewed-by: Michael Bruning <michael.bruning@digia.com>
-rw-r--r--Source/ThirdParty/leveldb/util/arena.h2
-rw-r--r--Source/WTF/wtf/NullPtr.h3
-rw-r--r--Source/WebCore/platform/graphics/filters/FEConvolveMatrix.h6
-rw-r--r--Source/WebCore/platform/graphics/filters/FEGaussianBlur.h6
-rw-r--r--Source/WebCore/platform/graphics/filters/FELighting.h6
-rw-r--r--Source/WebCore/platform/graphics/filters/FEMorphology.cpp2
-rw-r--r--Source/WebCore/platform/graphics/filters/FETurbulence.h6
-rw-r--r--Tools/qmake/mkspecs/features/unix/default_post.prf16
8 files changed, 30 insertions, 17 deletions
diff --git a/Source/ThirdParty/leveldb/util/arena.h b/Source/ThirdParty/leveldb/util/arena.h
index 8f7dde226..73bbf1cb9 100644
--- a/Source/ThirdParty/leveldb/util/arena.h
+++ b/Source/ThirdParty/leveldb/util/arena.h
@@ -5,9 +5,9 @@
#ifndef STORAGE_LEVELDB_UTIL_ARENA_H_
#define STORAGE_LEVELDB_UTIL_ARENA_H_
-#include <cstddef>
#include <vector>
#include <assert.h>
+#include <stddef.h>
#include <stdint.h>
namespace leveldb {
diff --git a/Source/WTF/wtf/NullPtr.h b/Source/WTF/wtf/NullPtr.h
index 98c05140d..050461243 100644
--- a/Source/WTF/wtf/NullPtr.h
+++ b/Source/WTF/wtf/NullPtr.h
@@ -34,8 +34,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <ciso646>
#if COMPILER_SUPPORTS(CXX_NULLPTR) || defined(_LIBCPP_VERSION)
-
-#include <cstddef>
+#include <stddef.h>
// libstdc++ supports nullptr_t starting with gcc 4.6.
#if defined(__GLIBCXX__) && __GLIBCXX__ < 20110325
diff --git a/Source/WebCore/platform/graphics/filters/FEConvolveMatrix.h b/Source/WebCore/platform/graphics/filters/FEConvolveMatrix.h
index 846e24497..9a287ccab 100644
--- a/Source/WebCore/platform/graphics/filters/FEConvolveMatrix.h
+++ b/Source/WebCore/platform/graphics/filters/FEConvolveMatrix.h
@@ -30,6 +30,10 @@
#include "Filter.h"
#include <wtf/Vector.h>
+namespace WTF {
+template<typename Type> class ParallelJobs;
+}
+
namespace WebCore {
enum EdgeModeType {
@@ -105,7 +109,7 @@ private:
static const int s_minimalRectDimension = (100 * 100); // Empirical data limit for parallel jobs
template<typename Type>
- friend class ParallelJobs;
+ friend class WTF::ParallelJobs;
struct InteriorPixelParameters {
FEConvolveMatrix* filter;
diff --git a/Source/WebCore/platform/graphics/filters/FEGaussianBlur.h b/Source/WebCore/platform/graphics/filters/FEGaussianBlur.h
index f554ef841..105102fe0 100644
--- a/Source/WebCore/platform/graphics/filters/FEGaussianBlur.h
+++ b/Source/WebCore/platform/graphics/filters/FEGaussianBlur.h
@@ -26,6 +26,10 @@
#include "FilterEffect.h"
#include "Filter.h"
+namespace WTF {
+template<typename Type> class ParallelJobs;
+}
+
namespace WebCore {
class FEGaussianBlur : public FilterEffect {
@@ -53,7 +57,7 @@ private:
static const int s_minimalRectDimension = 100 * 100; // Empirical data limit for parallel jobs
template<typename Type>
- friend class ParallelJobs;
+ friend class WTF::ParallelJobs;
struct PlatformApplyParameters {
FEGaussianBlur* filter;
diff --git a/Source/WebCore/platform/graphics/filters/FELighting.h b/Source/WebCore/platform/graphics/filters/FELighting.h
index b40bb1309..212d31aa0 100644
--- a/Source/WebCore/platform/graphics/filters/FELighting.h
+++ b/Source/WebCore/platform/graphics/filters/FELighting.h
@@ -36,6 +36,10 @@
#include "SpotLightSource.h"
#include <wtf/Uint8ClampedArray.h>
+namespace WTF {
+template<typename Type> class ParallelJobs;
+}
+
// Common base class for FEDiffuseLighting and FESpecularLighting
namespace WebCore {
@@ -76,7 +80,7 @@ protected:
};
template<typename Type>
- friend class ParallelJobs;
+ friend class WTF::ParallelJobs;
struct PlatformApplyGenericParameters {
FELighting* filter;
diff --git a/Source/WebCore/platform/graphics/filters/FEMorphology.cpp b/Source/WebCore/platform/graphics/filters/FEMorphology.cpp
index 9e720f74a..cae3d9f3d 100644
--- a/Source/WebCore/platform/graphics/filters/FEMorphology.cpp
+++ b/Source/WebCore/platform/graphics/filters/FEMorphology.cpp
@@ -170,7 +170,7 @@ void FEMorphology::platformApply(PaintingData* paintingData)
{
int optimalThreadNumber = (paintingData->width * paintingData->height) / s_minimalArea;
if (optimalThreadNumber > 1) {
- ParallelJobs<PlatformApplyParameters> parallelJobs(&WebCore::FEMorphology::platformApplyWorker, optimalThreadNumber);
+ WTF::ParallelJobs<PlatformApplyParameters> parallelJobs(&WebCore::FEMorphology::platformApplyWorker, optimalThreadNumber);
int numOfThreads = parallelJobs.numberOfJobs();
if (numOfThreads > 1) {
// Split the job into "jobSize"-sized jobs but there a few jobs that need to be slightly larger since
diff --git a/Source/WebCore/platform/graphics/filters/FETurbulence.h b/Source/WebCore/platform/graphics/filters/FETurbulence.h
index 84ff11261..ab7e7d03c 100644
--- a/Source/WebCore/platform/graphics/filters/FETurbulence.h
+++ b/Source/WebCore/platform/graphics/filters/FETurbulence.h
@@ -28,6 +28,10 @@
#include "FilterEffect.h"
#include "Filter.h"
+namespace WTF {
+template<typename Type> class ParallelJobs;
+}
+
namespace WebCore {
enum TurbulenceType {
@@ -107,7 +111,7 @@ private:
};
template<typename Type>
- friend class ParallelJobs;
+ friend class WTF::ParallelJobs;
struct FillRegionParameters {
FETurbulence* filter;
diff --git a/Tools/qmake/mkspecs/features/unix/default_post.prf b/Tools/qmake/mkspecs/features/unix/default_post.prf
index f11333347..75df1c550 100644
--- a/Tools/qmake/mkspecs/features/unix/default_post.prf
+++ b/Tools/qmake/mkspecs/features/unix/default_post.prf
@@ -42,9 +42,13 @@ linux-*g++* {
}
}
-*-g++*:!intel_icc {
- greaterThan(QT_GCC_MAJOR_VERSION, 3):greaterThan(QT_GCC_MINOR_VERSION, 5) {
- !contains(QMAKE_CXXFLAGS, -std=(c|gnu)\\+\\+(0x|11)) {
+!c++11:!intel_icc {
+ # Don't warn about OVERRIDE and FINAL, since they are feature-checked anyways
+ clang {
+ QMAKE_CXXFLAGS += -Wno-c++11-extensions -Wno-c++0x-extensions
+ QMAKE_OBJECTIVE_CFLAGS += -Wno-c++11-extensions -Wno-c++0x-extensions
+ } else: gcc {
+ greaterThan(QT_GCC_MAJOR_VERSION, 4)|greaterThan(QT_GCC_MINOR_VERSION, 5) {
# We need to deactivate those warnings because some names conflicts with upcoming c++0x types (e.g.nullptr).
QMAKE_CXXFLAGS_WARN_ON += -Wno-c++0x-compat
QMAKE_CXXFLAGS += -Wno-c++0x-compat
@@ -52,12 +56,6 @@ linux-*g++* {
}
}
-# Don't warn about OVERRIDE and FINAL, since they are feature-checked anyways
-*clang:!intel_icc:!contains(QMAKE_CXXFLAGS, -std=c++11) {
- QMAKE_CXXFLAGS += -Wno-c++11-extensions -Wno-c++0x-extensions
- QMAKE_OBJECTIVE_CFLAGS += -Wno-c++11-extensions -Wno-c++0x-extensions
-}
-
contains(TEMPLATE, app): CONFIG += rpath
CONFIG(debug, debug|release)|force_debug_info|separate_debug_info {