Edit source code to remove compilation warnings, to allow -Werror (easy)
— at Version 9
This is a generalized ticket to expose an area to contribute.
Several portions of Haiku's code is not compiled with -Werror. Those portions can be found in build/jam/ArchitectureRules.
Some of them only fail on GCC 2 vs. both GCC's. Take care to test with both compilers. As of hrev45297 these are those directories:
# EnableWerror src add-ons accelerants intel_extreme ;
# EnableWerror src add-ons accelerants matrox ;
# EnableWerror src add-ons accelerants nvidia ;
# EnableWerror src add-ons accelerants radeon ;
# EnableWerror src add-ons accelerants radeon_hd ;
# EnableWerror src add-ons input_server filters ;
# EnableWerror src add-ons input_server methods ;
# EnableWerror src add-ons kernel bus_managers acpi ;
# EnableWerror src add-ons kernel bus_managers firewire ;
# EnableWerror src add-ons kernel bus_managers ps2 ; # gcc2
# EnableWerror src add-ons kernel debugger ; # gcc2
# EnableWerror src add-ons kernel drivers audio ;
# EnableWerror src add-ons kernel drivers graphics ;
# EnableWerror src add-ons kernel drivers input ;
# EnableWerror src add-ons kernel drivers network ;
# EnableWerror src add-ons kernel drivers power ;
# EnableWerror src add-ons kernel file_systems ext2 ;
# EnableWerror src add-ons kernel file_systems fat ;
# EnableWerror src add-ons kernel file_systems googlefs ;
# EnableWerror src add-ons kernel file_systems ntfs ;
# EnableWerror src add-ons kernel file_systems reiserfs ;
# EnableWerror src add-ons kernel network datalink_protocols ;
# EnableWerror src add-ons kernel network stack ;
# EnableWerror src add-ons media media-add-ons usb_webcam ;
# EnableWerror src add-ons media media-add-ons video_producer_demo ;
# EnableWerror src add-ons media plugins asf_reader ;
# EnableWerror src add-ons media plugins avi_reader ;
# EnableWerror src add-ons media plugins ffmpeg ;
# EnableWerror src add-ons media plugins matroska ;
# EnableWerror src add-ons media plugins mov_reader ;
# EnableWerror src add-ons media plugins mp3_reader ;
# EnableWerror src add-ons media plugins ogg ;
# EnableWerror src add-ons media plugins raw_decoder ;
# EnableWerror src add-ons media plugins speex ;
# EnableWerror src add-ons media plugins wav_reader ;
# EnableWerror src add-ons translators exr ;
# EnableWerror src add-ons translators hpgs ;
# EnableWerror src add-ons translators jpeg ; # gcc2
# EnableWerror src add-ons translators png ; # gcc2
# EnableWerror src add-ons translators stxt ;
# EnableWerror src add-ons translators wonderbrush ;
The process would be:
- Uncomment one of these lines in the ArchitectureRules file,
- Build Haiku
- Compilation will fail because of a compiler warning now being considered an error
- Alter the code to fix the warning
- Submit your change to Gerrit for code review
Mention this ticket in the commit message of your changes (include a line saying "Fixes: #9640") to help us find what your work is related to.
Eventually, all warnings will be fixed and we can enable Werror globally on all our sourcecode.
I think this makes a good easy task and could be added to the next run of Google Code-In.