Open Bug 187528 (buildwarning) Opened 22 years ago Updated 10 months ago

[META] Fix compiler 'Build Warnings'

Categories

(Firefox Build System :: General, defect)

defect

Tracking

(Not tracked)

People

(Reporter: mozilla-bugs, Unassigned)

References

(Depends on 28 open bugs)

Details

(Keywords: meta)

There were some duplicated efforts (see bug 179775) with different people
creating conflicting patches aiming at reducing the number of warning in
Mozilla, so a general anti-warning tracking bug might be useful.

Right now brad TBox lists 1269 warning. If we count duplicates (a header file
warning replicated for every C/C++ file that include the header) only once,
there are about 688 warnings. The current distribution by "kind" is roughly
following:

    184 Unused variable `...'
    125 `...' might be used uninitialized in this function
     62 `...' defined but not used
     58 Choosing `...' over `...' For conversion from `...' to `...' Because
conversion sequence for the argument is better
     54 Comparison between signed and unsigned
     44 ...was hidden by `...'
     32 ANSI C forbids braced-groups within expressions
     14 Return of negative value `...' to `...' Negative integer implicitly
converted to unsigned type
     10 Multi-character character constant
      8 Value computed is not used
      8 Suggest parentheses around assignment used as truth value
      8 `...' is usually a function
      6 ANSI does not permit the keyword `...'
      5 Will be re-ordered to match declaration order
      5 Using synthesized `...' for copy assignment
      5 Missing initializer (near initialization for `...')
      5 Member initializers for `...'
      5 Enumeration value `...' not handled in switch
      5 Converting NULL to non-pointer type
      5 Assignment of negative value `...' to `...' Negative integer implicitly
converted to unsigned type
      5 And `...'
      4 `...' has virtual functions but non-virtual destructor
      3 Assignment to `...' from `...'
      2 `...' within comment
      2 Where cfront would use `...'
      2 Left shift count >= width of type
      2 Label `...' defined but not used
      2 Converting of negative value `...' to `...' Negative integer implicitly
converted to unsigned type
      1 ...was hidden by `...' ...was hidden by `...'
      1 String constant runs past end of line
      1 Precision used with `...' format
      1 Passing arg 1 of `...' discards qualifiers from pointer target type
      1 Negative integer implicitly converted to unsigned type
      1 Long unsigned int format, PRUint32 arg (arg 3)
      1 Initialization to `...' from `...'
      1 Initialization of negative value `...' to `...' Negative integer
implicitly converted to unsigned type
      1 Ignoring pragma:
      1 `...' declared `...' but never defined
      1 Decimal integer constant is so large that it is unsigned
      1 Control reaches end of non-void function `...'
      1 Control reaches end of non-void function
      1 Char format, void arg (arg 2)
      1 Argument `...' might be clobbered by `...' or `...'
      1 ANSI C does not support the `...' length modifier
      1 ANSI C does not allow extra `...' outside of a function
      1 Aggregate has a partly bracketed initializer

P.S. To simplify things, for those classes of warnings that have their own
tracking bugs (such as bug 59652 for "uninitialized" warnings and 179028 for
"hides" warnings), I only list the tracking bug as a dependency (see the
dependency tree if you want the complete list).
Depends on: 187530
*** Bug 228464 has been marked as a duplicate of this bug. ***
No longer depends on: 211231
No longer depends on: 114937
Severity: normal → trivial
Depends on: 90906, 114937, 211231, 217089
Summary: Get rid of compilation warnings in Mozilla → [META] Fix compiler 'Build Warnings'
Depends on: 205358
No longer depends on: 189712
Depends on: 219982
Depends on: 221128
Depends on: 214199
No longer depends on: 211231
No longer depends on: 114937
Depends on: 82151
Depends on: 228780
No longer depends on: 228780
No longer depends on: 90906
No longer depends on: 219982, 221128
No longer depends on: 214199
Blocks: 187015
No longer depends on: 187015
Depends on: 132141
No longer depends on: 132141
Depends on: 194240
No longer depends on: 195731
Depends on: 49640, 49641
Depends on: 229182
Depends on: 229456
Depends on: 229540
Depends on: 229631
Depends on: 229730
Depends on: 229874
Depends on: 229866
Depends on: 229897
Depends on: 229969
Depends on: 230001
Depends on: 230030
Depends on: 230397
No longer depends on: 230397
Depends on: 231716
No longer depends on: 230001
Depends on: 287540
Depends on: 300068
Depends on: 305715
No longer depends on: 138188
Depends on: 468781
Depends on: 508531
Depends on: 499995
Back in 2003 it was written:
> Right now brad TBox lists 1269 warning. If we count duplicates (a header file
> warning replicated for every C/C++ file that include the header) only once,
> there are about 688 warnings. The current distribution by "kind" is roughly
> following:

After fixing about 100 warnings on my own, I was guided to this bug entry.
Today there are 1676 on my own compilation of TB3 using comm-central
 under linux, and unique warnings are 847.
There were about 50-60 warnings of the nature as follows. These are newcomers
which were not in the list above.
$MOZSRC/mozilla/editor/libeditor/html/nsHTMLEditor.cpp:5878:25: warning: invoking macro NS_ENSURE_SUCCESS argument 2: empty macro arguments are undefined in ISO C90 and ISO C++98

$MOZSRC/mozilla/editor/libeditor/html/nsHTMLEditor.cpp:5879:32: warning: invoking macro NS_ENSURE_TRUE argument 2: empty macro arguments are undefined in ISO C90 and ISO C++98

These have been fixed and be posted to either Bug 609210 or
by creating additional bug entry. (I added 609210 in the Depends list.)
Depends on: 609210
Depends on: 665359
Depends on: 665387
Depends on: 665388
Depends on: 665389
Depends on: 665390
Depends on: 665391
Depends on: 659234
Depends on: 665532
Depends on: 665534
Depends on: 665541
Depends on: 665546
Depends on: 665549
Depends on: 665582
Depends on: 665595
Depends on: 665610
Depends on: 665622
Depends on: 665686
Depends on: 665723
Depends on: 458491
Depends on: 513503
Depends on: 604850
Apologies for the bugspam to all the newly added dependant bugs, but I feel that the current level of build warnings (eg 3100+ lines on win debug m-c tip, let alone other platforms) is beyond belief, so am starting on a crusade to eliminate them. 

Not only do the sheer number of existing warnings make it hard for contributors to work out if a patch has added more, but a proportion of them are potentially hiding real bugs (eg bug 659234).

Once the count is down to a more sensible number, I'm hoping that bugs like bug 187015, bug 604850 or bug 513503 will be able to keep them more under control - and mean that people are no longer able to unknowingly add a bunch of warnings with each commit, instead having to fix them as they go.
Alias: buildwarning
Depends on: 662258
Depends on: 669438
In lieu of an automatic build warnings count on tinderbox/TBPL (a la bug 187015); for now I'm manually downloading build logs from various platforms (from try to ensure they get a clobber) and running through a script (based on one sent to me by Chiaki Ishikawa) to scan/summarise the warnings.

The warning breakdown counts in the script are still a WIP (the compilers on each platform seem to like outputting the warnings in slightly different formats, so I'll need to work out the least false-positive regex), so for now, here's the summary. 

First figure is total build warning count, with the unique line count in parentheses.

linux-debug:    1106  (700)
linux-opt:      2785 (1023)
linux64-debug:  1228  (785)
linux64-opt:    3027 (1151)
osx-debug:       647  (540)
osx64-debug:     587  (483)
osx64-opt:      2462 (1482)
win-debug:      3149 (1660)
win-opt:        3312 (1752)

[Taken from a try job based on m-c 72331:821b5076d2c0 ~2011-07-05]

I'll update this every now and again, to show the progress made by this meta.
Depends on: 586113
Depends on: 669727
Depends on: 670025
Depends on: 670111
Depends on: 669522
Depends on: 670338
Depends on: 554348
Depends on: 350380
Depends on: 440619
Depends on: 265368
Depends on: 488993
Depends on: 505181
Depends on: 431354
Depends on: 413226
Depends on: 297146
Depends on: 549766
Depends on: 301775
Depends on: 535861
Depends on: 263952
Depends on: 556886
Depends on: 331299
Depends on: 564324
Depends on: 219688
Depends on: 545972
Depends on: 343456
Depends on: 486774
Depends on: 670461
Depends on: 631155
Depends on: 670794
Depends on: 671341
Depends on: 672444
Depends on: 90906
Depends on: 228780
Depends on: 677993
Depends on: 678256
Depends on: 678768
Depends on: 678845
Depends on: 678573
Depends on: 679832
Depends on: 682139
Depends on: 682946
Depends on: 683729
Depends on: 677952
Depends on: 683946
Depends on: 683998
Depends on: 685234
Depends on: 686257
Depends on: 679091
Depends on: 687070
Depends on: 687342
Depends on: 687121
Depends on: 687166
Depends on: 686601
Depends on: 687389
Depends on: 458726
Depends on: 458728
Depends on: 689195
Depends on: 689204
Depends on: 689367
Depends on: 691041
Depends on: 691959
Depends on: 693155
Depends on: 697490
Depends on: 697496
Depends on: 698933
Depends on: 131390
Depends on: 699228
Depends on: 699731
Depends on: 700712
Depends on: 700992
Depends on: 703178
Depends on: 703411
Depends on: 708430
Depends on: 709603
Depends on: 711799
Depends on: 711908
Depends on: 711727
Depends on: 713632
Depends on: 714258
Depends on: 716702
Depends on: 717004
Depends on: 717010
Depends on: 717015
Depends on: 717025
Depends on: 717034
Depends on: 716904
Depends on: 719698
Depends on: 720804
Depends on: 720815
Depends on: 721502
Depends on: 721804
Depends on: 722046
Depends on: 722424
Depends on: 617819
Depends on: 723754
Depends on: 723809
Depends on: 726246
Depends on: 726416
Depends on: 726417
Depends on: 726961
Depends on: 726964
Depends on: 726968
Depends on: 727163
Depends on: 727686
Depends on: 727156
Depends on: 727212
Depends on: 727970
Depends on: 728423
Depends on: 728462
Depends on: 729781
Depends on: 730074
Depends on: 731393
Depends on: 732877
Depends on: 733598
Depends on: 734306
Depends on: 736541
Depends on: 716278, 733448
Depends on: 737667
Depends on: 737754
Depends on: 739632
Depends on: 739635
Depends on: 739958
Depends on: 739962
Depends on: 740122
Depends on: 740515
Depends on: 741223
Depends on: 742438
Depends on: 742565
Depends on: 742788
Depends on: 743404
Depends on: 743573
Depends on: 743783
Depends on: 743785
Depends on: 744464
Depends on: 745266
Depends on: 745272
Depends on: 745287
Depends on: 745291
Depends on: 745296
Depends on: 745568
Depends on: 745991
Depends on: 729759
Depends on: 746646
Depends on: 747469
Depends on: 749229
Depends on: 749774
Depends on: 750356
Depends on: 750370
Depends on: 751314
Depends on: 754488
Depends on: 754643
Depends on: 755048
Depends on: 756397
Depends on: 756523
Depends on: 757177
Depends on: 757644
Depends on: 757949
Depends on: 757960
Depends on: 758735
Depends on: 759535
Depends on: 762182
Depends on: 763451
Depends on: 763580
Depends on: 758992
Depends on: 764367
Depends on: 764616
Depends on: 765041
Depends on: 765799
Depends on: 766666
Depends on: 768924
Depends on: 769377
Depends on: 769437
Depends on: 770268
Depends on: 770287
Depends on: 770299
Depends on: 771638
Depends on: 771819
Depends on: 773626
Depends on: 759434
Depends on: 774066
Depends on: 774071
Depends on: 774077
Depends on: 774344
Depends on: 776300
Depends on: 776879
Depends on: 778980
Depends on: 780680
Depends on: 780728
Depends on: 780965
Depends on: 781058
Depends on: 783351
Depends on: 783840
Depends on: 688055
Depends on: 785422
Depends on: 786031
Depends on: 786372
Depends on: 786375
Depends on: 787040
Depends on: 787523
Depends on: 755031
Depends on: 787971
Depends on: 788729
Depends on: 788792
Depends on: 790043
Depends on: 791138
Depends on: 791565
Depends on: 791566
Depends on: 791801
Depends on: 792090
Depends on: 792634
Depends on: 793498
Depends on: 795433
Depends on: 795655
Depends on: 795726
Depends on: 797111
Depends on: 797117
Depends on: 796085
Depends on: 797666
Depends on: 797893
Depends on: 798828
Depends on: 798954
Depends on: 697810
Depends on: 800535
Depends on: 799407
Depends on: 801210
Depends on: 801212
Depends on: 802458
Depends on: 802484
Depends on: 803236
Depends on: 803641
Depends on: 803695
Depends on: 805456
Depends on: 805470
Depends on: 805527
Depends on: 805552
Depends on: 805555
Depends on: 805606
Depends on: 805883
Depends on: 806442
Depends on: 806578
Depends on: 808036
Depends on: 808146
Depends on: 808175
Depends on: 810668
Depends on: 811057
Depends on: 811448
Depends on: 812278
Depends on: 812275
Depends on: 813830
Depends on: 814671
Depends on: 815056
Depends on: 815058
Depends on: 815065
Depends on: 815367
Depends on: 815450
Depends on: 816885
Depends on: 816888
Depends on: 817176
Depends on: 817734
Depends on: 817404
Depends on: 817913
Depends on: 818611
Depends on: 818629
Depends on: 818817
Depends on: 820791
Depends on: 820864
Depends on: 821392
Depends on: 821528
Depends on: 821843
Depends on: 821396
Depends on: 822804
Depends on: 823187
Depends on: 824140
Depends on: 824397
Depends on: 824648
Depends on: 824829
Depends on: 824840
Depends on: 824817
Depends on: 824879
Depends on: 824885
Depends on: 824883
Depends on: 824886
Depends on: 824891
Depends on: 825079
Depends on: 825105
Depends on: 825107
Depends on: 825467
Depends on: 825627
Depends on: 825647
Depends on: 825807
Depends on: 826052
Depends on: 825818
Depends on: 826158
Depends on: 826613
Depends on: 826983
Depends on: 827032
Depends on: 819559
Depends on: 827436
Depends on: 827961
Depends on: 828838
Depends on: 829112
Depends on: 829288
Depends on: 829327
Depends on: 829369
Depends on: 829975
Depends on: 829993
Depends on: 830439
Depends on: 830549
Depends on: 831023
Depends on: 394311
Depends on: 831205
Depends on: 832440
Depends on: 832453
Depends on: 832456
Depends on: 832486
Depends on: 832554
Depends on: 833066
Depends on: 833073
Depends on: 833447
Depends on: 821901
Depends on: 833505
Depends on: 833931
Depends on: 834072
Depends on: 834762
Depends on: 834768
Depends on: 835446
Depends on: 835473
Depends on: 835635
Depends on: 835686
Depends on: 835692
Depends on: 835715
Depends on: 835915
Depends on: 836088
Depends on: 836126
Depends on: 836182
Depends on: 836185
Depends on: 836196
Depends on: 836303
Depends on: 836345
Depends on: 836418
Depends on: 836455
Depends on: 836500
Depends on: 836892
Depends on: 837253
Depends on: 837801
Depends on: 837955
Depends on: 838753
Depends on: 838756
Depends on: 839257
Depends on: 839265
Depends on: 839383
Depends on: 839384
Depends on: 839393
Depends on: 840179
Depends on: 840209
Depends on: 840339
Depends on: 841132
Depends on: 841146
Depends on: 842752
Depends on: 842886
Depends on: 843288
Depends on: 843363
Depends on: 843433
Depends on: 843929
Depends on: 845021
Depends on: 845222
Depends on: 845226
Depends on: 845429
Depends on: 845503
Depends on: 845527
Depends on: 845868
Depends on: 846552
Depends on: 846556
Depends on: 847709
Depends on: 848159
Depends on: 849866
Depends on: 849980
Depends on: 850928
Depends on: 823356
Depends on: 851169
Depends on: 851237
Depends on: 851306
Depends on: 851556
Depends on: 851954
Depends on: 851981
No longer depends on: 849980
Depends on: 849980
Depends on: 853111
Depends on: 853190
Depends on: 853212
Depends on: 853777
Depends on: 854096
Depends on: 854481
Depends on: 857076
Depends on: 857250
Depends on: 857740
Depends on: 858274
Depends on: 858304
I submitted a following comment 
https://bugzilla.mozilla.org/show_bug.cgi?id=563195#c43

--- begin quote ---
> (In reply to :Ehsan Akhgari (needinfo? me!) from comment #18)
> 
> > At this point, I think I agree that it's not worth anybody's time to get
> > this fully working.  Something that I've wanted for a long time, though, is
> > enabling the build system to tell you which warnings you have introduced
> > compared to the previous build.  I think that goes a long way to help using
> > compiler warnings locally when writing code.
> 
> Can someone introduce this to feature to TryBuilder for FF and TB?

I submitted a bugzilla entry 
Bug 858543 - Creating "Warning Line Police" to reduce compile-time warning
to discuss this.

I think it is important for a long time health of the source base.

TIA
--- end quote ---

Please check out 
Bug 858543 - Creating "Warning Line Police" to reduce compile-time warning

I wonder if I should make 858543 block this bug entry?

TIA
Depends on: 859446
Depends on: 859482
Depends on: 859491
Depends on: 859517
Depends on: 860913
Depends on: 862621
Depends on: 862933
Depends on: 863043
Depends on: 857669
Depends on: 864342
Depends on: 864411
Depends on: 864899
Depends on: 865396
Depends on: 865766
Depends on: 865774
Depends on: 866317
Depends on: 866358
Depends on: 866784
Depends on: 866833
Depends on: 866947
Depends on: 867420
Depends on: 867636
Depends on: 869238
Depends on: 869750
Depends on: 870051
Depends on: 870064
Depends on: 872557
Depends on: 872558
Depends on: 872709
Depends on: 874736
Depends on: 876766
Depends on: 877444
Depends on: 877706
Depends on: 879029
Depends on: 880078
Depends on: 880662
Depends on: 881358
Depends on: 882616
Depends on: 883501
Depends on: 883729
Depends on: 885014
Depends on: 888352
Depends on: 889088
Depends on: 889136
Depends on: 755049
Depends on: 893904
Depends on: 896018
Depends on: 896026
Depends on: 896032
Depends on: 886184
Depends on: 898232
Depends on: 899240
Depends on: 900209
Depends on: 900246
Depends on: 900260
Depends on: 900277
Depends on: 900839
Depends on: 901529
Depends on: 901645
Depends on: 901799
Depends on: 903065
Depends on: 903071
Depends on: 903112
Depends on: 904148
Depends on: 904184
Depends on: 905542
Depends on: 911425
Depends on: 911428
Depends on: 883727
Depends on: 913124
Depends on: 908514
Depends on: 885596
Depends on: 866800
Depends on: 839347
Depends on: 836149
Depends on: 788862
Depends on: 915344
Depends on: 918156
Depends on: 918176
Depends on: 918603
Depends on: 918882
Depends on: 919022
Depends on: 919403
Depends on: 919825
Depends on: 919844
Depends on: 921584
Depends on: 920033
Depends on: 922727
Depends on: 923486
Depends on: 923894
Depends on: 924608
Depends on: 924444
No longer depends on: 858274
Depends on: 924749
Depends on: 924768
No longer depends on: 666614
Depends on: 786118
Depends on: 925541
Depends on: 926583
Depends on: 927209
Depends on: 925195
Depends on: 928541
Depends on: 921871
Depends on: 929466
Depends on: 930532
Depends on: 931664
Depends on: 931669
Depends on: 933124
Depends on: 933597
Depends on: 934262
Depends on: 934666
Depends on: 934779
Depends on: 935395
Depends on: 936336
Depends on: 936989
Depends on: 937459
Depends on: 940329
Depends on: 940330
Depends on: 940332
Depends on: 940336
Depends on: 940337
Depends on: 942535
Depends on: 942980
Depends on: 942399
Depends on: 942400
Depends on: 943235
Depends on: 943391
Depends on: 943655
Depends on: 944257
Depends on: 945025
Depends on: 945029
Depends on: 945077
Depends on: 945121
Depends on: 945148
Depends on: 945613
Depends on: 946116
Depends on: 946405
Depends on: 946998
Depends on: 947626
Depends on: 948686
Depends on: 949353
Depends on: 949324
Depends on: 950499
Depends on: 951488
Depends on: 951547
Depends on: 953145
Depends on: 956161
Depends on: 956126
Depends on: 956449
Depends on: 956470
Depends on: 957075
Depends on: 957442
Depends on: 957499
Depends on: 957783
Depends on: 957858
Depends on: 957859
Depends on: 957884
Depends on: 957904
Depends on: 959799
Depends on: 961295
Depends on: 962077
Depends on: 962080
Depends on: 964074
Depends on: 964073
Depends on: 964075
Depends on: 964852
Depends on: 965994
Depends on: 967871
Depends on: 967006
Depends on: 967927
Depends on: 968348
Depends on: 968634
Depends on: 968635
Depends on: 970159
Depends on: 972693
Depends on: 973682
Depends on: 973795
Depends on: 973996
Depends on: 974785
Depends on: 976143
Depends on: 976750
Depends on: 977723
Depends on: 977977
Depends on: 978188
Depends on: 980169
Depends on: 980170
Depends on: 980211
Depends on: 980810
Depends on: 982315
Depends on: 982334
Depends on: 983959
Depends on: 984071
Depends on: 984073
Depends on: 984074
Depends on: 984076
Depends on: 984079
Depends on: 984080
Depends on: 984081
Depends on: 984242
Depends on: 984250
Depends on: 985858
Depends on: 985955
Depends on: 986787
Depends on: 986788
Depends on: 986789
Depends on: 986793
Depends on: 986794
Depends on: 986795
Depends on: 987300
Depends on: 989199
Depends on: 989203
Depends on: 989425
Depends on: 989676
Depends on: 989708
Depends on: 768968
Depends on: 991234
Depends on: 991451
Depends on: 993075
Depends on: 995654
Depends on: 995655
Depends on: 997026
Depends on: 997306
Depends on: 998179
Depends on: 998867
Depends on: 999717
Depends on: 777515
Depends on: 1000712
Depends on: 1000758
Depends on: 1001539
Depends on: 1002891
Depends on: 1000465
Depends on: 1003702
Depends on: 1003902
Depends on: 1003917
Depends on: 1003921
Depends on: 1005667
Depends on: 1005784
Depends on: 1006307
Depends on: 1006982
Depends on: 1006998
Depends on: 1007741
Depends on: 1008083
Depends on: 1008286
Depends on: 1008312
Depends on: 1008360
Depends on: 1008336
Depends on: 1008651
Depends on: 1009905
Depends on: 1010103
Depends on: 1010612
Depends on: 1010621
Depends on: 1010706
Depends on: 1012218
Depends on: 1012814
Depends on: 1012860
Depends on: 1013263
Depends on: 1017110
Depends on: 1018270
Depends on: 1018288
Depends on: 1018554
Depends on: 1018555
Depends on: 1018680
Depends on: 1019381
Depends on: 1019382
Depends on: 1020414
Depends on: 1020643
Depends on: 1022417
Depends on: 1023075
Depends on: 1024318
Depends on: 1026336
Depends on: 992670
Depends on: 1027486
Depends on: 1028021
Depends on: 1028420
Depends on: 1029672
Depends on: 1029702
Depends on: 1029126
No longer depends on: 1029702
Depends on: 1030599
Depends on: 1030605
Depends on: 1031978
Depends on: 1031982
Depends on: 1032635
Depends on: 1032639
Depends on: 1032640
Depends on: 1032641
Depends on: 1032644
Depends on: 624205
Depends on: 1033188
Depends on: 1033192
Depends on: 1034466
Depends on: 1035607
Depends on: 1039917
Depends on: 1039923
Depends on: 1045110
Depends on: 1047301
Depends on: 1024795
Depends on: 1049747
Depends on: 1052014
Depends on: 1052033
Depends on: 1052758
Depends on: 1056256
Depends on: 1057462
Depends on: 1057066
No longer depends on: 1057462
Depends on: 1063847
Depends on: 1066935
Depends on: 1068102
Depends on: 1068175
Depends on: 1068177
Depends on: 1068417
Depends on: 1069110
Depends on: 1072062
Depends on: 1072071
Depends on: 1072296
Depends on: 1072317
Depends on: 1072623
Depends on: 1073711
Depends on: 1073707
Depends on: 1076443
Depends on: 1078027
Depends on: 1078430
Depends on: 1079068
Depends on: 1079672
Depends on: 1081010
Depends on: 1081561
Depends on: 1082963
Depends on: 1083008
Depends on: 1083373
Depends on: 1087488
Depends on: 1087498
Depends on: 1087873
Depends on: 1089370
Depends on: 1090015
Depends on: 1091979
Depends on: 1092001
Depends on: 1092028
Depends on: 1092110
Depends on: 1092710
Depends on: 1092711
Depends on: 1092923
Depends on: 1093940
Depends on: 1095882
Depends on: 1095878
Depends on: 1095926
Depends on: 1095990
Depends on: 1098134
Depends on: 1098400
Depends on: 1102581
Depends on: 1102586
Depends on: 1102981
Depends on: 1102985
Depends on: 1103859
Depends on: 1105867
Depends on: 1105870
Depends on: 1105974
Depends on: 1106050
Depends on: 1108085
Depends on: 1107946
Depends on: 1108155
Depends on: 1108932
Depends on: 1108934
Depends on: 1108938
Depends on: 1110641
Depends on: 1111190
Depends on: 1113031
No longer depends on: 1113031
Depends on: 1113229
Depends on: 1114671
Depends on: 1114898
Depends on: 1115264
Depends on: 1115477
Depends on: 1117267
Depends on: 1117466
Depends on: 989303
Depends on: 1117635
Depends on: 1117636
Depends on: 1119499
Depends on: 1120312
Depends on: 1121451
Depends on: 1123553
Depends on: 1123844
Depends on: 1123878
Depends on: 1123890
Depends on: 1123893
Depends on: 1124029
Depends on: 1124784
Depends on: 1124979
Depends on: 1125592
Depends on: 1125632
Depends on: 1125638
Depends on: 1125665
Depends on: 1125673
Depends on: 1125690
Depends on: 1125693
Depends on: 1125698
Depends on: 1125701
Depends on: 1125947
Depends on: 1126438
Depends on: 1126447
Depends on: 1126790
Depends on: 1126923
Depends on: 1127511
Depends on: 1128576
Depends on: 1128578
Depends on: 1130244
Depends on: 1130828
Depends on: 1132679
Depends on: 1132818
Depends on: 1134931
Depends on: 1135535
Depends on: 1135825
Depends on: 1136004
Depends on: 1138198
Depends on: 1141917
Depends on: 1142860
Depends on: 1142863
Depends on: 1143244
Depends on: 1143239
Depends on: 1143336
Depends on: 1143512
Depends on: 1143994
Depends on: 1148506
Depends on: 1148708
Depends on: 1150011
Depends on: 1152122
Depends on: 1152329
No longer depends on: 1152122
Depends on: 1152845
Depends on: 1153114
Depends on: 1153122
Depends on: 1153373
Depends on: 1153378
Depends on: 1153579
Depends on: 1153730
Depends on: 1154106
Depends on: 1154776
Depends on: 1155339
Depends on: 1155393
Depends on: 1156398
Depends on: 1159124
Depends on: 1160829
Depends on: 1163364
Depends on: 1163871
Depends on: 1167025
Depends on: 1167027
Depends on: 1167249
Depends on: 1167834
Depends on: 1167995
Depends on: 1169974
Depends on: 1170059
Depends on: 1170066
Depends on: 1171358
Depends on: 1171361
Depends on: 1171368
Depends on: 1176266
Depends on: 1185422
Depends on: 1190148
Depends on: 1190149
Depends on: 1191283
Depends on: 1192070
Depends on: 1192586
Depends on: 1193470
Depends on: 1194806
Depends on: 1194951
Depends on: 1194954
Depends on: 1194955
Depends on: 1194985
Depends on: 1198128
Depends on: 1202568
Depends on: 1204400
Depends on: 1209164
Depends on: 1215774
Depends on: 1217835
Depends on: 1226907
Depends on: 1229189
Depends on: 1229196
We're now in a *much* better situation w.r.t. compiler warnings. The test machines run with --enable-warnings-as-errors and we use ALLOW_COMPILER_WARNINGS to opt out of warnings for third-party code on a directory basis, and we can also disable warnings for specific source files in moz.build files as necessary.

So I suspect that most of the warnings cited in bugs blocking this bug either no longer occur, or occur in ways that we've explicitly allowed for (either third-party code, or one-off warnings in our code that we've decided to accept).

The other bugs blocking this one that are about ways to reduce the warnings count (e.g. bug 858543) are likely no longer relevant.

So I think there's a good chance that this bug can be closed. It might be good to have someone go through the still-open blocking bugs here and close them out (if appropriate). It's possible that this process might find evidence against my hypothesis that this bug can be closed.

cpeterson, would you be interested in going through the open blockers? dholbert, do you have any opinions here?
Flags: needinfo?(dholbert)
Flags: needinfo?(cpeterson)
(In reply to Nicholas Nethercote [:njn] from comment #6)
> cpeterson, would you be interested in going through the open blockers?

Sounds good. I'll triage the open blockers soon. I agree that this particular bug is no longer useful.
Flags: needinfo?(cpeterson)
(In reply to Nicholas Nethercote [:njn] from comment #6)
> dholbert, do you have any opinions here?

tl;dr: I'm fine with this being closed, but I think we need a way to track these sorts of bugs going forward. (and for now, that's this bug)

I agree that we've *largely* solved build warnings in our codebase (the main exception being imported 3rd-party code, which we can't manageably take spot-fixes for). However, I expect we will still have compile-warning bugs in our code in the future[1], and I think there's value in having a way of tracking them as a category. This metabug is not the best way of tracking them; perhaps we should add a new bugzilla keyword for build-warnings, and just use that instead of this metabug going forward? (and maybe someone can automate an update to all dependencies of this metabug to have that keyword)

So: until we have a better alternative, in the rare case that I need to file a new build-warning bug, I'd probably still make it block this metabug.

[1] While we've basically prevented developers from checking in new code that introduces build warnings (yay!), we could still have accidents where someone copypastes a moz.build file that happens to have ALLOW_COMPILER_WARNINGS into a new directory, and some build warnings slip through as a result.  More legitimately, I fully expect that new gcc/clang/MSVC versions will create new categories of warnings (either enabled by default or useful-enough-that-we-want-to-enable-them), which will likely give us new build-warning-bugs that we'll want to file & fix (& track).

(In reply to Chris Peterson [:cpeterson] from comment #7)
> Sounds good. I'll triage the open blockers soon.

Nice, thanks! You are a hero.
Flags: needinfo?(dholbert)
Depends on: 1234130
Depends on: 1239539
Depends on: 1245099
Depends on: 1225428
Depends on: 1256452
No longer depends on: 1167027
Depends on: 1266614
Depends on: 1266615
Depends on: 1275475
Depends on: 1277428
Component: Tracking → General
QA Contact: chofmann
Assignee: chofmann → nobody
Depends on: 1304305
Depends on: 1313903
Depends on: 1313905
Depends on: 1317177
Depends on: 1320738
Depends on: 1330202
Depends on: 1333686
Depends on: 1340835
Depends on: 1341162
Depends on: 1355699
Depends on: Wcomma
Depends on: 1363555
Depends on: 1369864
Depends on: 1369837
Depends on: 1369806
Depends on: 1316159
Depends on: 1371483
No longer blocks: 1214953
Depends on: 1378412
Depends on: 1379517
Depends on: 1379520
Depends on: 1379521
No longer depends on: 1378312
Depends on: 1379523
Depends on: 1387158
Depends on: 1390214
Depends on: 1400374
Depends on: 1298144
Depends on: 1415470
Depends on: 1437599
Depends on: 1437655
Depends on: 1454848
Depends on: 1485142
Depends on: 1485161
Depends on: 1487168
Depends on: 1487163
Depends on: 1477086
Depends on: 1489696
Depends on: 1490410
Depends on: 1495892
Depends on: 1497330
Depends on: 1522203
Depends on: 1547374
Depends on: 1564298
Depends on: 1564216
Depends on: 1588921
Depends on: 1613074
No longer depends on: 1613074
Product: Core → Firefox Build System
Depends on: 1613074
Depends on: 1655367
Depends on: 1683723
Depends on: 1691121
Depends on: 1691167
Depends on: 1691170
Depends on: 1691171
Depends on: 1718564
Depends on: 1720253
Depends on: 1738107
Depends on: 1758608
No longer depends on: 999717, 1275475, 1718564
Severity: normal → S3
Depends on: 1834276
Depends on: 1834279
Depends on: 1834337
You need to log in before you can comment on or make changes to this bug.