Ignore:
Timestamp:
Apr 18, 2002, 3:38:47 PM (23 years ago)
Author:
darin
Message:
  • Makefile.am: Pass the -f flag to ln so it doesn't fail when 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.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj

    r1024 r1045  
    127127                                PRODUCT_NAME = JavaScriptCore;
    128128                                SECTORDER_FLAGS = "";
    129                                 WARNING_CFLAGS = "-Werror -Wall -Wno-format-y2k -Wcast-align -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wreorder -Wsign-compare";
     129                                USE_GCC3 = YES;
     130                                WARNING_CFLAGS = "-Werror -Wall -W -Wbad-function-cast -Wcast-align -Wchar-subscripts -Wformat-security -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wstrict-prototypes -Wwrite-strings -Wno-format-y2k -Wno-unused-parameter";
    130131                                WRAPPER_EXTENSION = framework;
    131132                        };
Note: See TracChangeset for help on using the changeset viewer.