-
darin authored
there's already a link there. * configure.in: Use gcc3 and g++3 so we always get gcc 3.0, no matter how the system is configured. Besides the fact that gcc 3.0 includes more in -Wall, turned on the following additional warnings that were not on before: -W -Wbad-function-cast -Wformat-security -Wmissing-format-attribute -Wstrict-prototypes -Wwrite-strings Also removed the -fno-coalesce-static-vtables flag for C++ and removed explicit mention of C++ warnings that are part of -Wall in gcc 3.0 at least. * Tests/harness.c: (main): Const string fix. * Tests/kde/kurl-test.cpp: (testURL): Std namespace and const string fix. * Tests/libiftest/IFTestDirectory.c: (IFSetUpTestDirectory): Const string fix. * Tests/libiftest/IFTestDirectory.h: Const string fix. * Tests/qt/qarray-test.cpp: * Tests/qt/qbuffer-test.cpp: * Tests/qt/qchar-test.cpp: * Tests/qt/qcstring-test.cpp: * Tests/qt/qdate-test.cpp: * Tests/qt/qdatetime-test.cpp: * Tests/qt/qdict-test.cpp: * Tests/qt/qdir-test.cpp: * Tests/qt/qfile-test.cpp: * Tests/qt/qlist-test.cpp: * Tests/qt/qmap-test.cpp: * Tests/qt/qpoint-test.cpp: * Tests/qt/qptrdict-test.cpp: * Tests/qt/qrect-test.cpp: * Tests/qt/qregexp-test.cpp: * Tests/qt/qsize-test.cpp: * Tests/qt/qsortedlist-test.cpp: * Tests/qt/qstack-test.cpp: * Tests/qt/qstring-test.cpp: * Tests/qt/qstringlist-test.cpp: * Tests/qt/qtime-test.cpp: * Tests/qt/qvaluelist-test.cpp: * Tests/qt/qvector-test.cpp: Add "using namespace std" to each test as a simple std namespace fix. WebFoundation: Reviewed by Maciej Fixes for compiling with gcc3 and more warnings. * WebFoundation.pbproj/project.pbxproj: Turn on gcc3 and the same set of warnings as in the rest of Labyrinth (see top level ChangeLog for details). * CacheLoader.subproj/IFURLHandle.m: (-[IFURLHandle percentComplete]): Rearrange code to avoid a cast to (float) that gcc3 didn't like. * Database.subproj/IFNDBMDatabase.m: (-[IFNDBMDatabase objectForKey:]): Mark some variables volatile to make gcc3 happy about their values and the use of longjmp. Good catch on the compiler's part. * Database.subproj/IFURLFileDatabase.m: Work around bug 2905545 so we can have -W on for all the rest of WebFoundation. (URLFileReaderInit): Mark this as (void) so it's not a non-prototyped function. (-[IFURLFileReader initWithPath:]): Don't assign to self so gcc3 is not unhappy about the use of it with longjmp. (-[IFURLFileDatabase objectForKey:]): Mark some variables volatile to make gcc3 happy about their values and the use of longjmp. * Misc.subproj/IFNSObjectExtensions.m: (-[NSObject performBooleanSelector:]), (-[NSObject performBooleanSelector:withObject:]): Do a new implementation that does't make the compiler unhappy about type casts. * Misc.subproj/IFNSThreadExtensions.m: Work around bug 2905545 so we can have -W on for all the rest of WebFoundation. (InitJoinableThreads): Mark this as (void) so it's not a non-prototyped function. JavaScriptCore: Reviewed by Maciej * JavaScriptCore.pbproj/project.pbxproj: Turn on gcc3 and the same set of warnings as in the rest of Labyrinth (see top level ChangeLog for details). WebCore: Fixes for compiling with gcc3 and more warnings. * khtml/html/.cvsignore: Add kentities.c; I could have sworn I did this already. * khtml/html/Makefile.am: Remove erroneous duplicate definition of CLEAN_FILES. * libwebcore.exp: * libwebcoretests.exp: Rebuilt these lists from scratch. Almost everything in here is different since the C++ name mangling rules changed. * khtml/css/cssparser.cpp: * khtml/misc/htmlhashes.cpp: Disable inlining in part of this file as a workaround for Radar 2905890. * kwq/KWQApplication.mm: (QDesktopWidget::screenGeometry): Add casts to int needed to make gcc3 happy. * kwq/KWQArrayImpl.mm: Add missing #include of <string.h>. * kwq/KWQBitmap.mm: * kwq/KWQFrame.mm: * kwq/KWQLineEdit.mm: Removed some unused copy constructors and assignment operators to avoid warnings in them. * kwq/KWQButton.mm: (QButton::setText): * kwq/KWQListBox.mm: (QListBox::~QListBox), (QListBox::clear), (QListBox::setSelectionMode), (QListBox::currentItem), (QListBox::insertItem), (QListBox::setSelected), (QListBox::isSelected), (QListBoxItem::width), (QListBoxItem::height): * kwq/KWQScrollView.mm: (QScrollView::setContentsPos), (QScrollView::addChild), (QScrollView::resizeContents), (QScrollView::viewportToContents), Use local variables to work around Radar 2905835. * kwq/KWQCString.mm: (operator<<): * kwq/KWQPoint.mm: (operator<<): * kwq/KWQRect.mm: (operator<<): * kwq/KWQSize.mm: (operator<<): * kwq/qt/qarray.h: * kwq/qt/qcstring.h: * kwq/qt/qdatetime.h: * kwq/qt/qdict.h: * kwq/qt/qlist.h: * kwq/qt/qmap.h: * kwq/qt/qpainter.h: * kwq/qt/qpoint.h: * kwq/qt/qptrdict.h: * kwq/qt/qrect.h: * kwq/qt/qsize.h: * kwq/qt/qstack.h: * kwq/qt/qvaluelist.h: * kwq/qt/qvector.h: Say std::ostream instead of just ostream. * kwq/KWQCharsets.mm: Fix a const problem. * kwq/KWQDateTime.mm: (QTime::elapsed), (QTime::restart): Use int instead of uint, since these functions try to handle values that are less than 0. (operator<<): Say std::ostream instead of just ostream. * kwq/KWQTextArea.mm: (RangeOfParagraph): Fix an int/uint issue. * kwq/KWQFile.mm: (QFile::KWQFilePrivate::KWQFilePrivate), (QFile::KWQFilePrivate::~KWQFilePrivate): Use new/delete instead of malloc/free so we don't get void * warnings. * kwq/KWQFontMetrics.mm: (__IFFillStyleWithAttributes), (-[KWQLayoutInfo drawString:atPoint:withFont:color:]), (-[KWQLayoutInfo _initializeCaches]), (_rectForString): * kwq/KWQKURL.mm: (KURL::KWQKURLPrivate::KWQKURLPrivate), (RelativeURLKeyRetainCallBack), (RelativeURLKeyReleaseCallBack), (RelativeURLKeyEqualCallBack), (RelativeURLKeyHashCallBack), (KURL::normalizeURLString), (KURL::normalizeRelativeURLString): * kwq/KWQPainter.mm: (QPainter::save): * kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]), (-[URLLoadClient IFURLHandle:didRedirectToURL:]): Add type casts where necessary to make the stricter gcc3 happy. * kwq/KWQPixmap.mm: (QPixmap::QPixmap): Explicitly initialize the underlying QPaintDevice. (QPixmap::size), (QPixmap::rect): Add type casts where necessary to make the stricter gcc3 happy. * kwq/KWQPtrDictImpl.mm: (KWQPtrDictImpl::KWQPtrDictPrivate::KWQPtrDictPrivate): Say std::bad_alloc instead of just bad_alloc. (invokeDeleteFuncOnValue), (KWQPtrDictImpl::clear): Pass a pointer to a function pointer rather than a function pointer to avoid a warning about turning function pointers into void *. * kwq/KWQRegion.mm: (QRegion::_initialize), (QRegion::~QRegion): Use new/delete rather than calloc/free so we don't get void * warnings. (QRegion::boundingRect): Add type casts. * kwq/KWQString.mm: (QString::fromStringWithEncoding): Add cast. (QString::setNum): use %ld and %lu rather than %D and %U. (QString::fill), (QString::convertToQCString): Add casts. * kwq/KWQTextStorage.mm: (-[KWQTextStorage _buildFragmentForString:]): Add a cast to make gcc3 happy. * kwq/KWQVariant.mm: Say "friend class" instead of "friend". * kwq/KWQVectorImpl.mm: (KWQVectorImpl::KWQVectorPrivate::KWQVectorPrivate): Say std::bad_alloc instead of just bad_alloc. (KWQVectorImpl::data): Replace the old autorelease trick with a new one that doesn't require mixing malloc with NSData. * kwq/KWQView.mm: (-[KWQHTMLView mouseUp:]), (-[KWQHTMLView mouseDown:]): Add casts to make gcc3 happy. * kwq/KWQWidget.mm: (QWidget::frameGeometry), (QWidget::mapToGlobal), (QWidget::minimumSizeHint): Add casts to make gcc3 happy. Also another workaround for Radar 2905835. * kwq/WCPlugin.mm: (-[WCPlugin load]): Add tons of type casts so we don't have to mix void * with function pointer types. * kwq/WCPluginWidget.h: * kwq/WCPluginWidget.mm: (WCIFPluginMakeFunction), (WCIFNullPluginMakeFunction): Change types so we don't have to mix void * with function pointer types. This caught a mistake where WCIFNullPluginMakeFunction was returning the wrong function pointer. * kwq/external.h: Add some missing interfaces that the pickier gcc3 needed to see. * kwq/kwqdebug.mm: Don't compile the file if xNDEBUG is set. Otherwise we get a warning in here. * kwq/npapi.h: Use function pointer types for function pointers and transition vectors so we don't have to mix void * with function pointer types. * kwq/npapi.mm: (NPN_GetURLNotify), (NPN_GetURL), (NPN_PostURLNotify), (NPN_PostURL), (NPN_NewStream), (NPN_Write), (NPN_DestroyStream), (NPN_Status), (NPN_GetValue), (NPN_SetValue), (NPN_InvalidateRect), (NPN_InvalidateRegion), (NPN_ForceRedraw): Use local variables to work around Radar 2905835. (functionPointerForTVector), (tVectorForFunctionPointer): Change types around so we don't have to mix void * with function pointer types. WebKit: Fixes for compiling with gcc3 and more warnings. * WebKit.pbproj/project.pbxproj: Turn on gcc3 and the same set of warnings as in the rest of Labyrinth (see top level ChangeLog for details). * Plugins.subproj/IFPluginView.mm: Avoid warnings about malloc by not using it. (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]): Keep the arguments dictionary around instead of keeping the C format version of it around. Also don't bother keeping the C string form of the MIME type around, and simplify some other stuff in here. (-[IFPluginView dealloc]): Corresponding changes since we keep a different set of things. (-[IFPluginView newStream:mimeType:notifyData:]): Use [mimeType cString]. (-[IFPluginView start]): Build the lists of attributes and values in here. Do it using [NSString cString] for simplicity and don't keep the lists around after we're done with them. (-[IFPluginView IFURLHandleResourceDidFinishLoading:data:]): Use [filenameClassic cString]. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]), (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]), (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]), (-[IFWebDataSource _setLoading:]), (-[IFWebDataSource _setController:]), (-[IFWebDataSource _setLocationChangeHandler:]): * WebView.subproj/IFWebView.mm: (-[IFWebView provisionalDataSourceChanged:]), (-[IFWebView mouseUp:]), (-[IFWebView mouseDown:]): Add type casts required by pickier gcc3. * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebViewPrivate dealloc]): Add type cast required by pickier gcc3. (-[IFWebView _stopPlugins]): Use local variable to work around Radar 2905835. WebBrowser: Fixes for compiling with gcc3 and more warnings. * WebBrowser.pbproj/project.pbxproj: Turn on gcc3 and the same set of warnings as in the rest of Labyrinth (see top level ChangeLog for details). * InternetConfigUtilities.m: (stringValueForICKey), (setStringValue): Some const string fixes. * Preferences.subproj/TextPreferences.m: (-[TextPreferences changeFont:]): Remove a cast that makes gcc3 unhappy. * ___CFA2UC.c: (NSGiantRaise): Const string fix. (gcompg): Old-style function prototype fix. (initialguess): Remove a cast that makes gcc3 unhappy. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1045 268f45cc-cd09-0410-ab3c-d52691b4dbfc
8a88b319