getting a handle on build warnings

Kelly O'Hair Kelly.Ohair at Sun.COM
Mon Jul 14 17:52:09 UTC 2008


FYI...

I dug up my old wstats ksh script and ran it over a concatenation of the
latest jdk7 build 30 logs for all 8 of builds done by Java Release Engineering
(solaris-i586, solaris-x64, solaris-sparc, solaris-sparcv9, linux-i586,
linux-x64, windows-i586, and windows-x64).
Granted, these are OLD Linux systems with gcc 3.2, and lots of duplicates
here.

The problems with dealing with the C/C++ warnings is that the different compilers
and different releases of the compilers create a bit of an unknown when trying
to fix warnings. Fixing a warning from gcc4 might just trigger a new warning
for some other reason from the Sun Studio compiler, can be frustrating.
And using just a slightly newer or patched gcc or Sun Studio compiler might
generate new warnings you haven't seen before.
This has gotten better over time but continues to be an issue.

A danger also lies in how a warning is fixed in native code that needs to work on
all platforms and with different compilers, for example, adding a cast like
'(long)' might shut up a warning, but could break Windows X64 where a long
is 32bits not 64bits. People need to be very careful in the native code.

At least with the javac warnings, fixing them is more concrete, and probably
less risky ;^)

I'm all in favor of fixing the warnings, just trying to make sure it's done
safely. ;^)

-kto

-------------------------------------


Warning Message Counts:
----------------------
15790 ld warnings (contains 'ld:')
  6686 C warnings (contains '[.]c[":]')
  1616 C Include file warnings (contains '[.]h[":]')
  9700 C++ warnings (contains '[.]cpp[":]')
     0 C++ Include file warnings (contains '[.]hpp[":]')
  4432 Java warnings (contains '.java:' or 'Note:' )
     0 VM warnings (contains 'VM warning:' )
   600 Javadoc warnings (contains ': warning -')
   250 Compiler driver warnings (contains cc: or CC: or 'cl :')
    59 GNU make warnings (contains '.gmk:' or 'akefile:' or '(ignored)' or starts with 'gnumake')
   276 Shell warnings (contains ': not found' or 'awk:')
   187 Build warnings (contains WARNING:)
   312 Font warnings (contains 'entry is missing')
-----
39908 Total of above warnings

29252 Messages that appear to be duplicates
    18 Remaining errors not counted
warning: package com.sun.java.swing.plaf does not exist
warning: package com.sun.java.swing.plaf does not exist
warning: package com.sun.java.swing.plaf does not exist
warning: package com.sun.java.swing.plaf does not exist
warning: package com.sun.java.swing.plaf does not exist
warning: package com.sun.java.swing.plaf does not exist
/usr/ccs/bin/as: "/export2/BUILD_AREA/jdk7/hotspot/src/os_cpu/solaris_sparc/vm/solaris_sparc.s", line 86: warning: label 
in delay slot (follows CTI)
warning: package com.sun.java.swing.plaf does not exist
/usr/ccs/bin/as: "/export2/BUILD_AREA/jdk7/hotspot/src/os_cpu/solaris_sparc/vm/solaris_sparc.s", line 86: warning: label 
in delay slot (follows CTI)
warning: package com.sun.java.swing.plaf does not exist
warning: package com.sun.java.swing.plaf does not exist
warning: package com.sun.java.swing.plaf.gtk does not exist
warning: package com.sun.java.swing.plaf does not exist
warning: package com.sun.java.swing.plaf.gtk does not exist
warning: package com.sun.java.swing.plaf does not exist
warning: package com.sun.java.swing.plaf.gtk does not exist
warning: package com.sun.java.swing.plaf does not exist
warning: package com.sun.java.swing.plaf.gtk does not exist

Top 20 'src/' files mentioned in warning messages:
-------------------------------------------------
7972 src/share/native/com/sun/java/util/jar/pack/coding.cpp
2062 src/closed/share/classes/sun/jdbc/odbc/JdbcOdbc.c
1278 src/share/native/com/sun/java/util/jar/pack/unpack.cpp
1188 src/share/classes/sun/corba/Bridge.java
1096 src/solaris/native/sun/awt/gtk2_interface.c
  888 src/closed/share/native/sun/java2d/cmm/kcms/evalth13.c
  720 src/share/native/com/sun/java/util/jar/pack/bands.h
  276 src/share/native/com/sun/java/util/jar/pack/unpack.h
  276 src/build/tools/javazic/Gen.java
  272 src/closed/share/native/sun/java2d/cmm/kcms/evalth14.c
  252 src/share/classes/sun/nio/ch/FileChannelImpl.java
  204 src/share/native/com/sun/java/util/jar/pack/bytes.h
  204 src/share/classes/org/omg/CORBA/ORB.java
  192 src/share/classes/com/sun/corba/se/impl/presentation/rmi/ExceptionHandlerImpl.java
  170 src/share/native/sun/security/jgss/wrapper/GSSLibStub.c
  140 src/share/native/com/sun/java/util/jar/pack/zip.cpp
  136 src/share/native/sun/awt/medialib/mlib_ImageAffineEdge.c
  128 src/share/native/sun/font/layout/LEGlyphStorage.h
  114 src/share/classes/javax/sql/rowset/BaseRowSet.java
  108 src/share/classes/javax/rmi/CORBA/GetORBPropertiesFileAction.java



Jonathan Gibbons wrote:
> I've written a program to analyze the warnings in a build log, 
> containing most of
> the ideas I outlined earlier, and more.
> 
> Right now, a "warning" is defined as a line containing the string "warning"
> with false positives filtered out (e.g. a reference to a file called 
> warning.png)
> 
> It can generate a report in plain text or html, containing any/all of 
> the following:
> - comparison against a reference log, such as the log for an earlier 
> promoted build
> - a summary of the warnings, grouped by the location contained in the 
> warning
> - a summary of the warnings, grouped by the type of the warning
> The summaries are given sorted both alphabetically and by frequency.
> 
> I've attached a sample of the output. The input was the log for a build 
> on my
> laptop. For the purposes of testing, the "reference" was the same log 
> truncated
> to 25000 lines.
> 
> The big surprise: One file is responsible for nearly 72% of all the 
> warnings in this
> build: 1928 warnings out of a total of 2684!  The file in question is
>    com/sun/java/util/jar/pack/coding.cpp
> 
> The corollary is good news for everyone else; there are fewer warnings 
> through
> the rest of the build than I expected, with only 14 files having 10 or 
> more warnings.
> But, there are still over 150 files containing warnings :-(
> 
> -- Jon
> 
> 
> 
> Jonathan Gibbons wrote:
>> Well, here's an unexpected initial result.
>>
>> I just ran a build of langtools+jdk on my ubuntu laptop.   I got a 
>> whopping 2658 warnings!!  [Those who volunteered to help get rid of 
>> all the warnings, don't all step back at once!]  But surprisingly, 
>> after a quick "sort -u", only 625 of them are unique. So that means we 
>> get on average a 4x bang for the buck for each warning we fix :-)
>>
>> -- Jon
>>
>>
>> On Jul 11, 2008, at 11:02 AM, Jonathan Gibbons wrote:
>>
>>> Depending on what lint options you use, deprecation warnings are 
>>> typically reported as a single "Note:" at the end of the compilation, 
>>> rather than as individual warning messages.  Ideally, they should go 
>>> too, but for now, I'd settle for removing messages that show up as 
>>> diagnostics in IDEs, emacs, etc.
>>>
>>> For my part, I work mostly in the langtools area,  and we are having 
>>> a general background effort to clean up the code there. The goal is 
>>> to clean the code and then use -Werror to treat any reappearance of 
>>> warnings as errors.
>>>
>>> -- Jon
>>>
>>>
>>> On Jul 11, 2008, at 10:52 AM, Rob Ross wrote:
>>>
>>>> Just curious, would part of this revision process entail removing 
>>>> calls to deprecated methods and replacing them with their documented 
>>>> replacement methods?
>>>>
>>>> There are many warnings about calls to deprecated methods in the 
>>>> OpenJDK code.
>>>>
>>>>
>>>> Rob Ross, Lead Software Engineer
>>>> E! Networks
>>>>
>>>> ---------------------------------------------------
>>>> "Beware of he who would deny you access to information, for in his 
>>>> heart he dreams himself your master." -- Commissioner Pravin Lal
>>>>
>>>>
>>>>
>>>> On Jul 11, 2008, at 10:43 AM, Jonathan Gibbons wrote:
>>>>
>>>>>
>>>>> On Jul 11, 2008, at 10:00 AM, Thorbjørn Ravn Andersen wrote:
>>>>>
>>>>>> Jonathan Gibbons skrev  den 11-07-2008 13:52:
>>>>>>>
>>>>>>> Yes, that technique can work well. But either way, the next step is
>>>>>>> to try writing the code to analyze the build log, to see how far 
>>>>>>> the general
>>>>>>> idea can be taken, and how much interest there is to track/fix 
>>>>>>> warnings.
>>>>>>>
>>>>>> Personally I'd like there to be no warnings at all, and would like 
>>>>>> to contribute work to get there
>>>>>>
>>>>>
>>>>> Thank you.
>>>>>
>>>>> Getting rid of the actual warnings will require cooperation from 
>>>>> the teams who are
>>>>> responsible for the various parts of the code. In some cases, there 
>>>>> may be resistance,
>>>>> since stability is sometimes preferred over "no warnings".  That 
>>>>> being said, what I'm
>>>>> hoping to achieve with this discussion and any related effort is a 
>>>>> non-intrusive way
>>>>> of gathering information about warnings, so that we have a better 
>>>>> understanding of
>>>>> where the warnings are, in what areas of the code and in which 
>>>>> source files.  That way,
>>>>> we can work with the teams involved to see if there is interest in 
>>>>> reducing their
>>>>> warning count in as safe a way as possible.  Any assistance in 
>>>>> getting to that point
>>>>> would be welcome.
>>>>>
>>>>> (Note that anyone contributing to OpenJDK must first sign the Sun 
>>>>> Contributor Agreement;
>>>>> you can find details at http://sca.dev.java.net.)
>>>>>
>>>>> -- Jon
>>>>>
>>>>>
>>>>
>>>
>>
> 
> 
> ------------------------------------------------------------------------
> 
> 
>   JDK Build Warnings
> 
> ------------------------------------------------------------------------
> 
>     * Comparison against reference results
>           o New warnings not found in reference files <#REF_DELTA_LOCNS>
>     * Warnings categorized by location
>           o Warning counts, sorted alphabetically by location
>             <#LOCN_COUNTS_ALPHA>
>           o Warning counts, sorted by frequency of location
>             <#LOCN_COUNTS_FREQ>
>           o Warning counts, sorted alphabetically by location directory
>             <#LOCN_DIR_COUNTS_ALPHA>
>           o Warning counts, sorted by frequency of location directory
>             <#LOCN_DIR_COUNTS_FREQ>
>           o Warning counts, sorted alphabetically by location directory
>             <#LOCN_DIR_COUNTS_ALPHA>
>           o Warning counts, sorted by frequency of location directory
>             <#LOCN_DIR_COUNTS_FREQ>
>     * Warnings categorized by type
>           o Warning counts, sorted alphabetically by type
>             <#TYPE_COUNTS_ALPHA>
>           o Warning counts, sorted by frequency of type <#TYPE_COUNTS_FREQ>
>           o Warnings with unrecognized types <#TYPE_UNKNOWN>
> 
> ------------------------------------------------------------------------
> 
> 
>       Log files analyzed
> 
>     * build.log
> 
> total lines read 	28834
> total warnings found 	2648
> unique warnings found 	617
> 
> 
>       Reference files analyzed
> 
>     * build-25000.log
> 
> total lines read 	25000
> total warnings found 	2618
> unique warnings found 	590
> 
> 
>       New warnings not found in reference files
> 
> democlasses/demo/jvmti/hprof/src/hprof_init.c 	1
> democlasses/demo/jvmti/waiters/src/Agent.cpp 	1
> democlasses/demo/jvmti/waiters/src/waiters.cpp 	2
> javax/swing/JColorChooser.java 	1
> javax/swing/JComponent.java 	4
> javax/swing/JInternalFrame.java 	2
> javax/swing/JList.java 	4
> javax/swing/JPopupMenu.java 	1
> javax/swing/JTabbedPane.java 	1
> javax/swing/JTable.java 	5
> javax/swing/JTree.java 	4
> javax/swing/text/JTextComponent.java 	3
> ~NONE~ 	1
> 
> 
>       Warning counts, sorted alphabetically by location
> 
> /usr/include/X11/IntrinsicP.h 	1
> /usr/include/langinfo.h 	1
> /usr/include/sys/cdefs.h 	1
> /usr/include/sys/param.h 	2
> back/ArrayTypeImpl.c 	1
> back/inStream.c 	4
> back/outStream.c 	8
> back/stream.c 	4
> bin/jexec.c 	1
> bin/parse_manifest.c 	1
> build/tools/compilefontconfig/CompileFontConfig.java 	4
> build/tools/dtdbuilder/DTDParser.java 	2
> build/tools/fontchecker/FontChecker.java 	2
> build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java 	3
> build/tools/javazic/Gen.java 	23
> build/tools/javazic/GenDoc.java 	2
> build/tools/javazic/Time.java 	7
> com/sun/java/util/jar/pack/bands.cpp 	2
> com/sun/java/util/jar/pack/coding.cpp 	1928
> com/sun/java/util/jar/pack/main.cpp 	1
> com/sun/java/util/jar/pack/unpack.cpp 	32
> com/sun/java/util/jar/pack/unpack.h 	24
> com/sun/java/util/jar/pack/utils.cpp 	2
> com/sun/java/util/jar/pack/zip.cpp 	1
> com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiUtils.c 	1
> com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c 	5
> com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_Ports.c 	1
> common/check_code.c 	9
> common/check_format.c 	1
> demo/jvmti/hprof/hprof_init.c 	1
> democlasses/demo/jvmti/hprof/src/hprof_init.c 	1
> democlasses/demo/jvmti/waiters/src/Agent.cpp 	1
> democlasses/demo/jvmti/waiters/src/waiters.cpp 	2
> hpi/native_threads/src/sys_api_td.c 	1
> instrument/JarFacade.c 	1
> java/io/canonicalize_md.c 	2
> java/io/io_util_md.h 	8
> java/lang/Class.c 	1
> java/lang/ClassLoader.c 	2
> java/lang/fdlibm/include/fdlibm.h 	1
> java/lang/fdlibm/src/e_jn.c 	1
> java/lang/fdlibm/src/e_pow.c 	1
> java/lang/fdlibm/src/e_sqrt.c 	1
> java/lang/fdlibm/src/s_ceil.c 	1
> java/lang/fdlibm/src/s_floor.c 	1
> java/lang/fdlibm/src/s_log1p.c 	1
> java/lang/java_props_md.c 	3
> java/lang/reflect/Proxy.c 	1
> java/net/Inet4AddressImpl.c 	2
> java/net/Inet6AddressImpl.c 	3
> java/net/NetworkInterface.c 	1
> java/net/PlainDatagramSocketImpl.c 	6
> java/net/linux_close.c 	3
> java/net/net_util_md.c 	2
> java/nio/Bits.c 	8
> java/nio/MappedByteBuffer.c 	1
> java/util/zip/zip_util.c 	1
> java/util/zip/zlib-1.1.3/inftrees.c 	3
> javavm/include/typedefs.h 	8
> javax/swing/JColorChooser.java 	1
> javax/swing/JComponent.java 	4
> javax/swing/JInternalFrame.java 	2
> javax/swing/JList.java 	4
> javax/swing/JPopupMenu.java 	1
> javax/swing/JTabbedPane.java 	1
> javax/swing/JTable.java 	5
> javax/swing/JTree.java 	4
> javax/swing/text/JTextComponent.java 	3
> sun/awt/awt_DrawingSurface.c 	1
> sun/awt/awt_Font.c 	1
> sun/awt/awt_GraphicsEnv.c 	1
> sun/awt/awt_InputMethod.c 	11
> sun/awt/awt_LoadLibrary.c 	2
> sun/awt/awt_UNIXToolkit.c 	1
> sun/awt/giflib/dgif_lib.c 	16
> sun/awt/image/BufImgSurfaceData.c 	1
> sun/awt/image/jpeg/imageioJPEG.c 	19
> sun/awt/image/jpeg/jpegdecoder.c 	1
> sun/awt/java2d/loops/ByteBinary1Bit.c 	5
> sun/awt/java2d/loops/ByteBinary2Bit.c 	5
> sun/awt/java2d/loops/ByteBinary4Bit.c 	5
> sun/awt/java2d/loops/ByteGray.c 	2
> sun/awt/java2d/loops/ByteIndexed.c 	6
> sun/awt/java2d/loops/FourByteAbgr.c 	2
> sun/awt/java2d/loops/FourByteAbgrPre.c 	2
> sun/awt/java2d/loops/Index12Gray.c 	2
> sun/awt/java2d/loops/Index8Gray.c 	2
> sun/awt/java2d/loops/IntArgb.c 	6
> sun/awt/java2d/loops/IntArgbBm.c 	5
> sun/awt/java2d/loops/IntArgbPre.c 	6
> sun/awt/java2d/loops/IntBgr.c 	2
> sun/awt/java2d/loops/IntRgb.c 	2
> sun/awt/java2d/loops/IntRgbx.c 	2
> sun/awt/java2d/loops/ThreeByteBgr.c 	2
> sun/awt/java2d/loops/TransformHelper.c 	3
> sun/awt/java2d/loops/Ushort555Rgb.c 	2
> sun/awt/java2d/loops/Ushort565Rgb.c 	2
> sun/awt/java2d/loops/UshortGray.c 	2
> sun/awt/java2d/loops/UshortIndexed.c 	6
> sun/awt/java2d/pipe/Region.c 	1
> sun/awt/libpng/pngread.c 	1
> sun/awt/libpng/pngrtran.c 	1
> sun/awt/libpng/pngrutil.c 	1
> sun/awt/libpng/pngwrite.c 	1
> sun/awt/medialib/mlib_ImageAffine.c 	7
> sun/awt/medialib/mlib_ImageAffineEdge.c 	34
> sun/awt/medialib/mlib_ImageColorTrue2Index.c 	10
> sun/awt/medialib/mlib_ImageConvMxN.c 	9
> sun/awt/medialib/mlib_ImageConv_16ext.c 	4
> sun/awt/medialib/mlib_ImageConv_16nw.c 	3
> sun/awt/medialib/mlib_ImageConv_32nw.c 	2
> sun/awt/medialib/mlib_ImageConv_8ext.c 	4
> sun/awt/medialib/mlib_ImageConv_8nw.c 	3
> sun/awt/medialib/mlib_ImageConv_D64nw.c 	2
> sun/awt/medialib/mlib_ImageConv_F32nw.c 	1
> sun/awt/medialib/mlib_ImageConv_u16ext.c 	4
> sun/awt/medialib/mlib_ImageConv_u16nw.c 	3
> sun/awt/medialib/mlib_ImageCopy_Bit.c 	4
> sun/awt/medialib/mlib_ImageCreate.c 	2
> sun/awt/splashscreen/splashscreen_gfx_impl.c 	2
> sun/font/DrawGlyphList.c 	5
> sun/font/X11FontScaler.c 	7
> sun/font/layout/LEGlyphStorage.h 	32
> sun/font/layout/LEInsertionList.h 	33
> sun/font/layout/MorphTables.cpp 	1
> sun/java2d/cmm/lcms/LCMS.c 	2
> sun/java2d/cmm/lcms/cmscgats.c 	2
> sun/java2d/cmm/lcms/cmsio1.c 	2
> sun/java2d/cmm/lcms/cmslut.c 	4
> sun/java2d/cmm/lcms/cmswtpnt.c 	1
> sun/java2d/x11/X11PMBlitLoops.c 	2
> sun/java2d/x11/X11Renderer.c 	45
> sun/java2d/x11/X11SurfaceData.c 	10
> sun/java2d/x11/X11TextRenderer_md.c 	1
> sun/net/spi/DefaultProxySelector.c 	1
> sun/nio/ch/DatagramChannelImpl.c 	1
> sun/nio/ch/InheritedChannel.c 	1
> sun/nio/ch/Net.c 	2
> sun/nio/ch/ServerSocketChannelImpl.c 	1
> sun/nio/ch/SocketChannelImpl.c 	1
> sun/rmi/rmic/Main.java 	1
> sun/rmi/rmic/newrmic/Resources.java 	1
> sun/security/jgss/wrapper/GSSLibStub.c 	63
> sun/security/jgss/wrapper/NativeUtil.c 	2
> sun/security/pkcs11/j2secmod_md.c 	3
> sun/security/pkcs11/wrapper/p11_crypt.c 	6
> sun/security/pkcs11/wrapper/p11_digest.c 	1
> sun/security/pkcs11/wrapper/p11_keymgmt.c 	1
> sun/security/pkcs11/wrapper/p11_md.c 	1
> sun/security/pkcs11/wrapper/p11_sign.c 	3
> sun/security/pkcs11/wrapper/p11_util.c 	2
> sun/tools/serialver/SerialVer.java 	1
> sun/tracing/dtrace/JVM.c 	1
> sun/xawt/XToolkit.c 	2
> sun/xawt/XWindow.c 	4
> sun/xawt/awt_Desktop.c 	1
> transport/socket/socket_md.c 	3
> unpack.cpp 	1
> ~NONE~ 	5
> 
> 
>       Warning counts, sorted by frequency of location
> 
> 1928 	com/sun/java/util/jar/pack/coding.cpp
> 63 	sun/security/jgss/wrapper/GSSLibStub.c
> 45 	sun/java2d/x11/X11Renderer.c
> 34 	sun/awt/medialib/mlib_ImageAffineEdge.c
> 33 	sun/font/layout/LEInsertionList.h
> 32 	com/sun/java/util/jar/pack/unpack.cpp
> 32 	sun/font/layout/LEGlyphStorage.h
> 24 	com/sun/java/util/jar/pack/unpack.h
> 23 	build/tools/javazic/Gen.java
> 19 	sun/awt/image/jpeg/imageioJPEG.c
> 16 	sun/awt/giflib/dgif_lib.c
> 11 	sun/awt/awt_InputMethod.c
> 10 	sun/awt/medialib/mlib_ImageColorTrue2Index.c
> 10 	sun/java2d/x11/X11SurfaceData.c
> 9 	common/check_code.c
> 9 	sun/awt/medialib/mlib_ImageConvMxN.c
> 8 	back/outStream.c
> 8 	java/io/io_util_md.h
> 8 	java/nio/Bits.c
> 8 	javavm/include/typedefs.h
> 7 	build/tools/javazic/Time.java
> 7 	sun/awt/medialib/mlib_ImageAffine.c
> 7 	sun/font/X11FontScaler.c
> 6 	java/net/PlainDatagramSocketImpl.c
> 6 	sun/awt/java2d/loops/ByteIndexed.c
> 6 	sun/awt/java2d/loops/IntArgb.c
> 6 	sun/awt/java2d/loops/IntArgbPre.c
> 6 	sun/awt/java2d/loops/UshortIndexed.c
> 6 	sun/security/pkcs11/wrapper/p11_crypt.c
> 5 	com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c
> 5 	javax/swing/JTable.java
> 5 	sun/awt/java2d/loops/ByteBinary1Bit.c
> 5 	sun/awt/java2d/loops/ByteBinary2Bit.c
> 5 	sun/awt/java2d/loops/ByteBinary4Bit.c
> 5 	sun/awt/java2d/loops/IntArgbBm.c
> 5 	sun/font/DrawGlyphList.c
> 5 	~NONE~
> 4 	back/inStream.c
> 4 	back/stream.c
> 4 	build/tools/compilefontconfig/CompileFontConfig.java
> 4 	javax/swing/JComponent.java
> 4 	javax/swing/JList.java
> 4 	javax/swing/JTree.java
> 4 	sun/awt/medialib/mlib_ImageConv_16ext.c
> 4 	sun/awt/medialib/mlib_ImageConv_8ext.c
> 4 	sun/awt/medialib/mlib_ImageConv_u16ext.c
> 4 	sun/awt/medialib/mlib_ImageCopy_Bit.c
> 4 	sun/java2d/cmm/lcms/cmslut.c
> 4 	sun/xawt/XWindow.c
> 3 	build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java
> 3 	java/lang/java_props_md.c
> 3 	java/net/Inet6AddressImpl.c
> 3 	java/net/linux_close.c
> 3 	java/util/zip/zlib-1.1.3/inftrees.c
> 3 	javax/swing/text/JTextComponent.java
> 3 	sun/awt/java2d/loops/TransformHelper.c
> 3 	sun/awt/medialib/mlib_ImageConv_16nw.c
> 3 	sun/awt/medialib/mlib_ImageConv_8nw.c
> 3 	sun/awt/medialib/mlib_ImageConv_u16nw.c
> 3 	sun/security/pkcs11/j2secmod_md.c
> 3 	sun/security/pkcs11/wrapper/p11_sign.c
> 3 	transport/socket/socket_md.c
> 2 	/usr/include/sys/param.h
> 2 	build/tools/dtdbuilder/DTDParser.java
> 2 	build/tools/fontchecker/FontChecker.java
> 2 	build/tools/javazic/GenDoc.java
> 2 	com/sun/java/util/jar/pack/bands.cpp
> 2 	com/sun/java/util/jar/pack/utils.cpp
> 2 	democlasses/demo/jvmti/waiters/src/waiters.cpp
> 2 	java/io/canonicalize_md.c
> 2 	java/lang/ClassLoader.c
> 2 	java/net/Inet4AddressImpl.c
> 2 	java/net/net_util_md.c
> 2 	javax/swing/JInternalFrame.java
> 2 	sun/awt/awt_LoadLibrary.c
> 2 	sun/awt/java2d/loops/ByteGray.c
> 2 	sun/awt/java2d/loops/FourByteAbgr.c
> 2 	sun/awt/java2d/loops/FourByteAbgrPre.c
> 2 	sun/awt/java2d/loops/Index12Gray.c
> 2 	sun/awt/java2d/loops/Index8Gray.c
> 2 	sun/awt/java2d/loops/IntBgr.c
> 2 	sun/awt/java2d/loops/IntRgb.c
> 2 	sun/awt/java2d/loops/IntRgbx.c
> 2 	sun/awt/java2d/loops/ThreeByteBgr.c
> 2 	sun/awt/java2d/loops/Ushort555Rgb.c
> 2 	sun/awt/java2d/loops/Ushort565Rgb.c
> 2 	sun/awt/java2d/loops/UshortGray.c
> 2 	sun/awt/medialib/mlib_ImageConv_32nw.c
> 2 	sun/awt/medialib/mlib_ImageConv_D64nw.c
> 2 	sun/awt/medialib/mlib_ImageCreate.c
> 2 	sun/awt/splashscreen/splashscreen_gfx_impl.c
> 2 	sun/java2d/cmm/lcms/LCMS.c
> 2 	sun/java2d/cmm/lcms/cmscgats.c
> 2 	sun/java2d/cmm/lcms/cmsio1.c
> 2 	sun/java2d/x11/X11PMBlitLoops.c
> 2 	sun/nio/ch/Net.c
> 2 	sun/security/jgss/wrapper/NativeUtil.c
> 2 	sun/security/pkcs11/wrapper/p11_util.c
> 2 	sun/xawt/XToolkit.c
> 1 	/usr/include/X11/IntrinsicP.h
> 1 	/usr/include/langinfo.h
> 1 	/usr/include/sys/cdefs.h
> 1 	back/ArrayTypeImpl.c
> 1 	bin/jexec.c
> 1 	bin/parse_manifest.c
> 1 	com/sun/java/util/jar/pack/main.cpp
> 1 	com/sun/java/util/jar/pack/zip.cpp
> 1 	com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiUtils.c
> 1 	com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_Ports.c
> 1 	common/check_format.c
> 1 	demo/jvmti/hprof/hprof_init.c
> 1 	democlasses/demo/jvmti/hprof/src/hprof_init.c
> 1 	democlasses/demo/jvmti/waiters/src/Agent.cpp
> 1 	hpi/native_threads/src/sys_api_td.c
> 1 	instrument/JarFacade.c
> 1 	java/lang/Class.c
> 1 	java/lang/fdlibm/include/fdlibm.h
> 1 	java/lang/fdlibm/src/e_jn.c
> 1 	java/lang/fdlibm/src/e_pow.c
> 1 	java/lang/fdlibm/src/e_sqrt.c
> 1 	java/lang/fdlibm/src/s_ceil.c
> 1 	java/lang/fdlibm/src/s_floor.c
> 1 	java/lang/fdlibm/src/s_log1p.c
> 1 	java/lang/reflect/Proxy.c
> 1 	java/net/NetworkInterface.c
> 1 	java/nio/MappedByteBuffer.c
> 1 	java/util/zip/zip_util.c
> 1 	javax/swing/JColorChooser.java
> 1 	javax/swing/JPopupMenu.java
> 1 	javax/swing/JTabbedPane.java
> 1 	sun/awt/awt_DrawingSurface.c
> 1 	sun/awt/awt_Font.c
> 1 	sun/awt/awt_GraphicsEnv.c
> 1 	sun/awt/awt_UNIXToolkit.c
> 1 	sun/awt/image/BufImgSurfaceData.c
> 1 	sun/awt/image/jpeg/jpegdecoder.c
> 1 	sun/awt/java2d/pipe/Region.c
> 1 	sun/awt/libpng/pngread.c
> 1 	sun/awt/libpng/pngrtran.c
> 1 	sun/awt/libpng/pngrutil.c
> 1 	sun/awt/libpng/pngwrite.c
> 1 	sun/awt/medialib/mlib_ImageConv_F32nw.c
> 1 	sun/font/layout/MorphTables.cpp
> 1 	sun/java2d/cmm/lcms/cmswtpnt.c
> 1 	sun/java2d/x11/X11TextRenderer_md.c
> 1 	sun/net/spi/DefaultProxySelector.c
> 1 	sun/nio/ch/DatagramChannelImpl.c
> 1 	sun/nio/ch/InheritedChannel.c
> 1 	sun/nio/ch/ServerSocketChannelImpl.c
> 1 	sun/nio/ch/SocketChannelImpl.c
> 1 	sun/rmi/rmic/Main.java
> 1 	sun/rmi/rmic/newrmic/Resources.java
> 1 	sun/security/pkcs11/wrapper/p11_digest.c
> 1 	sun/security/pkcs11/wrapper/p11_keymgmt.c
> 1 	sun/security/pkcs11/wrapper/p11_md.c
> 1 	sun/tools/serialver/SerialVer.java
> 1 	sun/tracing/dtrace/JVM.c
> 1 	sun/xawt/awt_Desktop.c
> 1 	unpack.cpp
> 
> 
>       Warning counts, sorted alphabetically by location directory
> 
> /usr/include 	1
> /usr/include/X11 	1
> /usr/include/sys 	3
> back 	17
> bin 	2
> build/tools/compilefontconfig 	4
> build/tools/dtdbuilder 	2
> build/tools/fontchecker 	2
> build/tools/generatebreakiteratordata 	3
> build/tools/javazic 	32
> com/sun/java/util/jar/pack 	1990
> com/sun/media/sound 	7
> common 	10
> demo/jvmti/hprof 	1
> democlasses/demo/jvmti/hprof/src 	1
> democlasses/demo/jvmti/waiters/src 	3
> hpi/native_threads/src 	1
> instrument 	1
> java/io 	10
> java/lang 	6
> java/lang/fdlibm/include 	1
> java/lang/fdlibm/src 	6
> java/lang/reflect 	1
> java/net 	17
> java/nio 	9
> java/util/zip 	1
> java/util/zip/zlib-1.1.3 	3
> javavm/include 	8
> javax/swing 	22
> javax/swing/text 	3
> sun/awt 	17
> sun/awt/giflib 	16
> sun/awt/image 	1
> sun/awt/image/jpeg 	20
> sun/awt/java2d/loops 	71
> sun/awt/java2d/pipe 	1
> sun/awt/libpng 	4
> sun/awt/medialib 	92
> sun/awt/splashscreen 	2
> sun/font 	12
> sun/font/layout 	66
> sun/java2d/cmm/lcms 	11
> sun/java2d/x11 	58
> sun/net/spi 	1
> sun/nio/ch 	6
> sun/rmi/rmic 	1
> sun/rmi/rmic/newrmic 	1
> sun/security/jgss/wrapper 	65
> sun/security/pkcs11 	3
> sun/security/pkcs11/wrapper 	14
> sun/tools/serialver 	1
> sun/tracing/dtrace 	1
> sun/xawt 	7
> transport/socket 	3
> unpack.cpp 	1
> ~NONE~ 	5
> 
> 
>       Warning counts, sorted by frequency of location
> 
> 1990 	com/sun/java/util/jar/pack
> 92 	sun/awt/medialib
> 71 	sun/awt/java2d/loops
> 66 	sun/font/layout
> 65 	sun/security/jgss/wrapper
> 58 	sun/java2d/x11
> 32 	build/tools/javazic
> 22 	javax/swing
> 20 	sun/awt/image/jpeg
> 17 	back
> 17 	java/net
> 17 	sun/awt
> 16 	sun/awt/giflib
> 14 	sun/security/pkcs11/wrapper
> 12 	sun/font
> 11 	sun/java2d/cmm/lcms
> 10 	common
> 10 	java/io
> 9 	java/nio
> 8 	javavm/include
> 7 	com/sun/media/sound
> 7 	sun/xawt
> 6 	java/lang
> 6 	java/lang/fdlibm/src
> 6 	sun/nio/ch
> 5 	~NONE~
> 4 	build/tools/compilefontconfig
> 4 	sun/awt/libpng
> 3 	/usr/include/sys
> 3 	build/tools/generatebreakiteratordata
> 3 	democlasses/demo/jvmti/waiters/src
> 3 	java/util/zip/zlib-1.1.3
> 3 	javax/swing/text
> 3 	sun/security/pkcs11
> 3 	transport/socket
> 2 	bin
> 2 	build/tools/dtdbuilder
> 2 	build/tools/fontchecker
> 2 	sun/awt/splashscreen
> 1 	/usr/include
> 1 	/usr/include/X11
> 1 	demo/jvmti/hprof
> 1 	democlasses/demo/jvmti/hprof/src
> 1 	hpi/native_threads/src
> 1 	instrument
> 1 	java/lang/fdlibm/include
> 1 	java/lang/reflect
> 1 	java/util/zip
> 1 	sun/awt/image
> 1 	sun/awt/java2d/pipe
> 1 	sun/net/spi
> 1 	sun/rmi/rmic
> 1 	sun/rmi/rmic/newrmic
> 1 	sun/tools/serialver
> 1 	sun/tracing/dtrace
> 1 	unpack.cpp
> 
> 
>       Warning counts, sorted alphabetically by location extension
> 
> .c 	474
> .cpp 	61
> .h 	12
> .java 	68
> ~NONE~ 	2
> 
> 
>       Warning counts, sorted by frequency of location extension
> 
> 474 	.c
> 68 	.java
> 61 	.cpp
> 12 	.h
> 2 	~NONE~
> 
> 
>       Warning counts, sorted alphabetically by type
> 
> "*" redefined 	13
> '*' may be used uninitialized in this function 	126
> 'class *' has virtual functions but non-virtual destructor 	65
> 'static' is not at beginning of declaration 	2
> argument '*' might be clobbered by '*' 	1
> assignment from incompatible pointer type 	1
> assignment makes integer from pointer without a cast 	1
> cast from pointer to integer of different size 	22
> cast to java.lang.Object[] for a non-varargs call and to suppress this 
> warning 	4
> cast to pointer from integer of different size 	137
> comparison between pointer and integer 	3
> comparison between signed and unsigned 	106
> comparison is always false due to limited range of data type 	2
> constant is too large for*type 	18
> control reaches end of non-void function 	1
> dereferencing type-punned pointer will break strict-aliasing rules 	4
> enumeration value * not handled in switch 	101
> format '*' expects type '*', but argument * has type '*' 	12
> implicit declaration of function 	3
> is Sun proprietary API and may be removed in a future release 	67
> missing braces around initializer 	2
> missing initializer 	1
> missing initializer for member 	1874
> non-varargs call of varargs method with inexact argument type for last 
> parameter 	4
> package * does not exist 	1
> passing * from incompatible pointer type 	3
> pointer targets * differ in signedness 	32
> return makes integer from pointer without a cast 	5
> signed and unsigned type in conditional expression 	16
> the use of `*' is dangerous 	1
> this is the location of the previous definition 	13
> type defaults to * in declaration 	2
> variable '*' might be clobbered by '*' 	4
> ~UNKNOWN~ 	1
> 
> 
>       Warning counts, sorted by frequency of type
> 
> 1874 	missing initializer for member
> 137 	cast to pointer from integer of different size
> 126 	'*' may be used uninitialized in this function
> 106 	comparison between signed and unsigned
> 101 	enumeration value * not handled in switch
> 67 	is Sun proprietary API and may be removed in a future release
> 65 	'class *' has virtual functions but non-virtual destructor
> 32 	pointer targets * differ in signedness
> 22 	cast from pointer to integer of different size
> 18 	constant is too large for*type
> 16 	signed and unsigned type in conditional expression
> 13 	"*" redefined
> 13 	this is the location of the previous definition
> 12 	format '*' expects type '*', but argument * has type '*'
> 5 	return makes integer from pointer without a cast
> 4 	cast to java.lang.Object[] for a non-varargs call and to suppress 
> this warning
> 4 	dereferencing type-punned pointer will break strict-aliasing rules
> 4 	non-varargs call of varargs method with inexact argument type for 
> last parameter
> 4 	variable '*' might be clobbered by '*'
> 3 	comparison between pointer and integer
> 3 	implicit declaration of function
> 3 	passing * from incompatible pointer type
> 2 	'static' is not at beginning of declaration
> 2 	comparison is always false due to limited range of data type
> 2 	missing braces around initializer
> 2 	type defaults to * in declaration
> 1 	argument '*' might be clobbered by '*'
> 1 	assignment from incompatible pointer type
> 1 	assignment makes integer from pointer without a cast
> 1 	control reaches end of non-void function
> 1 	missing initializer
> 1 	package * does not exist
> 1 	the use of `*' is dangerous
> 1 	~UNKNOWN~
> 
> 
>       Warnings with unrecognized types
> 
>     * ../../../src/solaris/native/java/lang/java_props_md.c:124:
>       warning: (near initialization for 'sprops.os_version')
> 
> ------------------------------------------------------------------------
> Generated on Sun Jul 13 17:36:12 PDT 2008



More information about the build-dev mailing list