warning: may be used uninitialized in this function
Including but not necessarily limited to: ebitmap.c: In function ebitmap_ior_into: ebitmap.c:554: warning: i may be used uninitialized in this function ebitmap.c: In function ebitmap_ior: ebitmap.c:678: warning: i may be used uninitialized in this function ebitmap.c: In function ebitmap_and_compl: ebitmap.c:876: warning: i may be used uninitialized in this function ebitmap.c: In function ebitmap_and_into: ebitmap.c:425: warning: i may be used uninitialized in this function ebitmap.c: In function ebitmap_and: ebitmap.c:479: warning: i may be used uninitialized in this function ebitmap.c: In function ebitmap_and_compl_into: ebitmap.c:796: warning: i may be used uninitialized in this function ira.c:1623: warning: a may be used uninitialized in this function ira.c:1588: warning: a may be used uninitialized in this function ira.c:1656: warning: a may be used uninitialized in this function ira-build.c: In function ira_flattening: ira-build.c:2468: warning: a may be used uninitialized in this function ira-build.c:720: warning: a may be used uninitialized in this function ira-build.c:2469: warning: cp may be used uninitialized in this function ira-build.c:347: warning: a may be used uninitialized in this function ira-build.c: In function print_copies: ira-build.c:1233: warning: cp may be used uninitialized in this function ira-build.c: In function ira_destroy: ira-build.c:1294: warning: cp may be used uninitialized in this function ira-build.c:1008: warning: a may be used uninitialized in this function ira-build.c: In function remove_unnecessary_regions: ira-build.c:2007: warning: a may be used uninitialized in this function ira-build.c: In function ira_build: ira-build.c:2119: warning: a may be used uninitialized in this function ira-build.c:2358: warning: a may be used uninitialized in this function ira-build.c:2170: warning: a may be used uninitialized in this function ira-build.c:2252: warning: a may be used uninitialized in this function ira-build.c:2797: warning: a may be used uninitialized in this function ira-build.c:2823: warning: a may be used uninitialized in this function ira-costs.c: In function ira_tune_allocno_costs_and_cover_classes: ira-costs.c:1728: warning: a may be used uninitialized in this function ira-costs.c: In function find_costs_and_classes: ira-costs.c:1181: warning: a may be used uninitialized in this function ira-costs.c:1062: warning: a may be used uninitialized in this function ira-costs.c: In function ira_costs: ira-costs.c:1537: warning: a may be used uninitialized in this function ira-conflicts.c: In function build_allocno_conflicts: ira-conflicts.c:566: warning: i may be used uninitialized in this function ira-conflicts.c: In function print_conflicts: ira-conflicts.c:698: warning: conflict_a may be used uninitialized in this function ira-conflicts.c:692: warning: a may be used uninitialized in this function ira-conflicts.c: In function ira_build_conflicts: ira-conflicts.c:73: warning: allocno may be used uninitialized in this function ira-conflicts.c:533: warning: cp may be used uninitialized in this function ira-conflicts.c:763: warning: a may be used uninitialized in this function ira-color.c: In function update_conflict_hard_regno_costs: ira-color.c:325: warning: divisor may be used uninitialized in this function ira-color.c:330: warning: allocno may be used uninitialized in this function ira-color.c: In function ira_color: ira-color.c:3334: warning: a may be used uninitialized in this function ira-color.c:2112: warning: a may be used uninitialized in this function ira-color.c:3265: warning: a may be used uninitialized in this function ira-color.c: In function push_allocno_to_stack: ira-color.c:865: warning: conflict_allocno may be used uninitialized in this function ira-color.c: In function assign_hard_reg: ira-color.c:449: warning: conflict_allocno may be used uninitialized in this function ira-color.c: In function ira_reassign_conflict_allocnos: ira-color.c:2281: warning: conflict_a may be used uninitialized in this function ira-color.c:2281: warning: a may be used uninitialized in this function ira-color.c: In function ira_reassign_pseudos: ira-color.c:2867: warning: conflict_a may be used uninitialized in this function ira-color.c: In function coalesce_allocnos: ira-color.c:1554: warning: conflict_allocno may be used uninitialized in this function ira-color.c: In function ira_sort_regnos_for_alter_reg: ira-color.c:2618: warning: a may be used uninitialized in this function ira-color.c: In function color_pass: ira-color.c:1397: warning: conflict_allocno may be used uninitialized in this function In my copy I just put " = { 0 }" after each of these. (Ignoring which particular ones needed it and just going by variable names alone, ignoring scope.) I'm using -disable-bootstrap. But I suspect it doesn't matter in this case (unlike with -Wcast-qual). Personally, I sprinkle " = { 0 }" liberally my own code. My code tends to be I/O bound, and many of these will be trivially optimized away anyway, but granted, not all. I never want to debug an uninitialized local again, and I don't trust compilers to tell me when they might occur. -- Summary: warning: may be used uninitialized in this function often building gcc Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jay dot krell at cornell dot edu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44307