Bug 122008 - [gcc] Fix build with gcc versions < 4.8
Summary: [gcc] Fix build with gcc versions < 4.8
Status: RESOLVED DUPLICATE of bug 121999
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-09-27 00:42 PDT by Julien Brianceau
Modified: 2013-09-27 00:55 PDT (History)
7 users (show)

See Also:


Attachments
Build fix for GCC versions < 4.8 (1.35 KB, patch)
2013-09-27 00:49 PDT, Julien Brianceau
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Julien Brianceau 2013-09-27 00:42:46 PDT
Build is broken since r156507 (http://trac.webkit.org/changeset/156507) when building with GCC versions < 4.8

Seen with our sh4 bot (http://build.webkit.org/builders/Qt%20Linux%20SH4%20Release/builds/30710):
sh4-linux-g++ -c -Wall -Wextra -Wreturn-type -fno-strict-aliasing -Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self -fno-stack-protector -Wa,-isa=sh4 -fpermissive --sysroot=/opt/STM/STLinux-2.4/devkit/sh4/target -O2 -std=c++0x -fno-exceptions -fPIE -MD -DST40_CC15_1_0 -DQT_NO_LIBUDEV -DQT_NO_XCB -DQT_NO_XKBCOMMON -DBUILDING_QT__=1 -DNDEBUG -DENABLE_3D_RENDERING=1 -DENABLE_BLOB=1 -DENABLE_CANVAS_PATH=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_CSS_BOX_DECORATION_BREAK=1 -DENABLE_CSS_COMPOSITING=1 -DENABLE_CSS_EXCLUSIONS=1 -DENABLE_CSS_FILTERS=1 -DENABLE_CSS_IMAGE_SET=1 -DENABLE_CSS_REGIONS=1 -DENABLE_CSS_SHAPES=1 -DENABLE_CSS_STICKY_POSITION=1 -DENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED=1 -DENABLE_DATALIST_ELEMENT=1 -DENABLE_DETAILS_ELEMENT=1 -DENABLE_FAST_MOBILE_SCROLLING=1 -DENABLE_FILTERS=1 -DENABLE_FTPDIR=1 -DENABLE_GESTURE_EVENTS=1 -DENABLE_ICONDATABASE=1 -DENABLE_IFRAME_SEAMLESS=1 -DENABLE_INPUT_TYPE_COLOR=1 -DENABLE_INSPECTOR=1 -DENABLE_INSPECTOR_SERVER=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_LEGACY_NOTIFICATIONS=1 -DENABLE_LEGACY_VIEWPORT_ADAPTION=1 -DENABLE_LEGACY_VENDOR_PREFIXES=1 -DENABLE_LEGACY_WEB_AUDIO=1 -DENABLE_LINK_PREFETCH=1 -DENABLE_METER_ELEMENT=1 -DENABLE_MHTML=1 -DENABLE_NOTIFICATIONS=1 -DENABLE_PAGE_VISIBILITY_API=1 -DENABLE_PROGRESS_ELEMENT=1 -DENABLE_RESOLUTION_MEDIA_QUERY=1 -DENABLE_REQUEST_ANIMATION_FRAME=1 -DENABLE_SHARED_WORKERS=1 -DENABLE_SMOOTH_SCROLLING=1 -DENABLE_SQL_DATABASE=1 -DENABLE_SUBPIXEL_LAYOUT=1 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_TOUCH_ADJUSTMENT=1 -DENABLE_TOUCH_EVENTS=1 -DENABLE_VIEW_MODE_CSS_MEDIA=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_WEB_TIMING=1 -DENABLE_WORKERS=1 -DENABLE_XHR_TIMEOUT=1 -DWTF_USE_TILED_BACKING_STORE=1 -DWTF_USE_CROSS_PLATFORM_CONTEXT_MENUS=1 -DHAVE_QTPRINTSUPPORT=1 -DHAVE_QSTYLE=1 -DHAVE_QTTESTLIB=1 -DWTF_USE_LIBXML2=1 -DWTF_USE_ZLIB=1 -DPLUGIN_ARCHITECTURE_UNSUPPORTED=1 -DENABLE_TOUCH_SLIDER=1 -DHAVE_QTTESTSUPPORT=1 -DENABLE_PROMISES=1 -DENABLE_8BIT_TEXTRUN=0 -DENABLE_ACCELERATED_2D_CANVAS=0 -DENABLE_BATTERY_STATUS=0 -DENABLE_CANVAS_PROXY=0 -DENABLE_CSP_NEXT=0 -DENABLE_CSS_DEVICE_ADAPTATION=0 -DENABLE_CSS_IMAGE_ORIENTATION=0 -DENABLE_CSS_IMAGE_RESOLUTION=0 -DENABLE_CSS_SHADERS=0 -DENABLE_CSS_VARIABLES=0 -DENABLE_CSS3_CONDITIONAL_RULES=0 -DENABLE_CSS3_TEXT=0 -DENABLE_CSS3_TEXT_LINE_BREAK=0 -DENABLE_CUSTOM_SCHEME_HANDLER=0 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_DATAGRID=0 -DENABLE_DATA_TRANSFER_ITEMS=0 -DENABLE_DEVICE_ORIENTATION=0 -DENABLE_DIRECTORY_UPLOAD=0 -DENABLE_DOM4_EVENTS_CONSTRUCTOR=0 -DENABLE_DOWNLOAD_ATTRIBUTE=0 -DENABLE_FILE_SYSTEM=0 -DENABLE_FONT_LOAD_EVENTS=0 -DENABLE_FTL_JIT=0 -DENABLE_FULLSCREEN_API=0 -DENABLE_GAMEPAD=0 -DENABLE_GEOLOCATION=0 -DENABLE_HIGH_DPI_CANVAS=0 -DENABLE_INDEXED_DATABASE=0 -DENABLE_INPUT_SPEECH=0 -DENABLE_INPUT_TYPE_DATE=0 -DENABLE_INPUT_TYPE_DATETIME_INCOMPLETE=0 -DENABLE_INPUT_TYPE_DATETIMELOCAL=0 -DENABLE_INPUT_TYPE_MONTH=0 -DENABLE_INPUT_TYPE_TIME=0 -DENABLE_INPUT_TYPE_WEEK=0 -DENABLE_LEGACY_CSS_VENDOR_PREFIXES=0 -DENABLE_MATHML=0 -DENABLE_MEDIA_CAPTURE=0 -DENABLE_MEDIA_SOURCE=0 -DENABLE_MEDIA_STATISTICS=0 -DENABLE_MEDIA_STREAM=0 -DENABLE_MOUSE_CURSOR_SCALE=0 -DENABLE_NAVIGATOR_CONTENT_UTILS=0 -DENABLE_NETSCAPE_PLUGIN_API=0 -DENABLE_NETWORK_INFO=0 -DENABLE_NOSNIFF=0 -DENABLE_OPENCL=0 -DENABLE_ORIENTATION_EVENTS=0 -DENABLE_PERFORMANCE_TIMELINE=0 -DENABLE_PROXIMITY_EVENTS=0 -DENABLE_QUOTA=0 -DENABLE_RESOURCE_TIMING=0 -DENABLE_SCRIPTED_SPEECH=0 -DENABLE_SECCOMP_FILTERS=0 -DENABLE_SHADOW_DOM=0 -DENABLE_STYLE_SCOPED=0 -DENABLE_TEMPLATE_ELEMENT=0 -DENABLE_TEXT_AUTOSIZING=0 -DENABLE_THREADED_HTML_PARSER=0 -DENABLE_TOUCH_ICON_LOADING=0 -DENABLE_USER_TIMING=0 -DENABLE_VIBRATION=0 -DENABLE_VIDEO=0 -DENABLE_VIDEO_TRACK=0 -DENABLE_WEBGL=0 -DENABLE_WEB_AUDIO=0 -DENABLE_XSLT=0 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/local/wkit/build/qt5-5.1.0-xml2/qtbase/mkspecs/devices/linux-sh4-Pegasus-g++ -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore -I/local/wkit/build/libxml2/target/usr/include/libxml2 -I/local/wkit/build/qt5-5.1.0-xml2/qtbase/include -I/local/wkit/build/qt5-5.1.0-xml2/qtbase/include/QtCore -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/WTF -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/assembler -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/bytecode -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/bytecompiler -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/heap -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/dfg -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/debugger -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/disassembler -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/ftl -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/interpreter -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/jit -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/llint -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/parser -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/profiler -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/runtime -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/tools -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/yarr -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/API -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/ForwardingHeaders -Igenerated -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/WTF -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source -I/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/WebKitBuild/Release/Source/include -I. -o .obj/release-shared/llint/LLIntOffsetsExtractor.o /local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp
In file included from /local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/heap/GCIncomingRefCounted.h:30:0,
                 from /local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/runtime/ArrayBuffer.h:29,
                 from /local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/heap/Heap.h:25,
                 from /local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/runtime/WriteBarrier.h:31,
                 from /local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/runtime/PropertyStorage.h:29,
                 from /local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/runtime/IndexingHeader.h:29,
                 from /local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/runtime/ArrayConventions.h:24,
                 from /local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/runtime/JSArray.h:24,
                 from /local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/bytecode/ArrayProfile.h:30,
                 from /local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:28:
/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/WTF/wtf/Vector.h: In static member function 'static void WTF::VectorTypeOperations<T>::destruct(T*, T*)':
/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/WTF/wtf/Vector.h:214:27: error: 'is_trivially_destructible' is not a member of 'std'
/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/WTF/wtf/Vector.h:214:59: error: wrong number of template arguments (1, should be 2)
/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/WTF/wtf/Vector.h:42:8: error: provided for 'template<bool needsDestruction, class T> struct WTF::VectorDestructor'
/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/WTF/wtf/Vector.h:214:67: error: invalid type in declaration before ',' token
/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/WTF/wtf/Vector.h:214:67: error: invalid use of qualified-name '::value'
/local/wkit/slavebuildbot_LOCAL/workspace_LOCAL/qt-linux-sh4-release/build/Source/WTF/wtf/Vector.h:214:70: error: expected initializer before '>' token
make[3]: *** [.obj/release-shared/llint/LLIntOffsetsExtractor.o] Error 1
Comment 1 Julien Brianceau 2013-09-27 00:49:21 PDT
Created attachment 212790 [details]
Build fix for GCC versions < 4.8

See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52702 for further information.
Comment 2 Csaba Osztrogonác 2013-09-27 00:53:41 PDT
(In reply to comment #1)
> Created an attachment (id=212790) [details]
> Build fix for GCC versions < 4.8
> 
> See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52702 for further information.

Yes, it would work ... but Brent already landed a workaround for
MSVC - http://trac.webkit.org/changeset/156516/trunk/Source/WTF/wtf/StdLibExtras.h

It would be great to have a general fix. I'll upload what I meant in a minute.
Comment 3 Csaba Osztrogonác 2013-09-27 00:55:00 PDT
Argh, it was already fixed in http://trac.webkit.org/changeset/156529

*** This bug has been marked as a duplicate of bug 121999 ***
Comment 4 Julien Brianceau 2013-09-27 00:55:28 PDT
Comment on attachment 212790 [details]
Build fix for GCC versions < 4.8

Sure, I cancel r? and cq? for this one and wait for your fix.

Thanks!