Skip to content
  • darin's avatar
    * Makefile.am: Pass the -f flag to ln so it doesn't fail when · 8a88b319
    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