Skip to content

Commit 73715b8

Browse files
authored
Merge pull request scp-fs2open#7317 from Goober5000/coverity/siof
Suppress Coverity GLOBAL_INIT_ORDER false positives for safe globals
2 parents 10ff64e + fa86575 commit 73715b8

27 files changed

Lines changed: 73 additions & 2 deletions

code/camera/camera.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ static void parse_fov_func()
7373
fov_default = value;
7474
}
7575

76+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
7677
auto FovOption = options::OptionBuilder<float>("Graphics.FOV",
7778
std::pair<const char*, int>{"Field Of View", 1703},
7879
std::pair<const char*, int>{"The vertical field of view", 1704})
@@ -91,6 +92,7 @@ auto FovOption = options::OptionBuilder<float>("Graphics.FOV",
9192

9293
bool Use_cockpit_fov = false;
9394

95+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
9496
auto CockpitFOVToggleOption = options::OptionBuilder<bool>("Graphics.CockpitFOVToggle",
9597
std::pair<const char*, int>{"Cockpit FOV Toggle", 1838},
9698
std::pair<const char*, int>{"Whether or not to use a different FOV for cockpit rendering from normal rendering", 1839})
@@ -107,6 +109,7 @@ auto CockpitFOVToggleOption = options::OptionBuilder<bool>("Graphics.CockpitFOVT
107109
.importance(61)
108110
.finish();
109111

112+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
110113
auto CockpitFovOption = options::OptionBuilder<float>("Graphics.CockpitFOV",
111114
std::pair<const char*, int>{"Cockpit Field Of View", 1840},
112115
std::pair<const char*, int>{"The vertical field of view for cockpit rendering. Only works if cockpits are active and cockpit FOV toggle is turned on.", 1841})

code/controlconfig/controlsconfigcommon.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ int Failed_key_index;
4545
// Joystick configuration
4646
int Joy_dead_zone_size = 10;
4747

48+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
4849
auto DeadZoneOption = options::OptionBuilder<int>("Input.JoystickDeadZone",
4950
std::pair<const char*, int>{"Deadzone", 1377},
5051
std::pair<const char*, int>{"The deadzone used for all joysticks", 1744})
@@ -59,6 +60,7 @@ auto DeadZoneOption = options::OptionBuilder<int>("Input.JoystickDeadZone",
5960

6061
int Joy_sensitivity = 9;
6162

63+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
6264
auto SensitivityOption = options::OptionBuilder<int>("Input.JoystickSensitivity",
6365
std::pair<const char*, int>{"Sensitivity", 1745},
6466
std::pair<const char*, int>{"The sensitivity used for all joysticks", 1746})

code/gamesnd/eventmusic.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ static void parse_music_volume_func()
5353
Default_music_volume = volume;
5454
}
5555

56+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
5657
static auto MusicVolumeOption __UNUSED = options::OptionBuilder<float>("Audio.Music",
5758
std::pair<const char*, int>{"Music", 1371},
5859
std::pair<const char*, int>{"Volume used for playing music", 1760})

code/globalincs/systemvars.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,7 @@ static void parse_model_detail_func()
256256
}
257257
}
258258

259+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
259260
const auto ModelDetailOption __UNUSED = options::OptionBuilder<int>("Graphics.Detail",
260261
std::pair<const char*, int>{"Model Detail", 1739},
261262
std::pair<const char*, int>{"Detail level of models", 1740})
@@ -287,6 +288,7 @@ static void parse_texture_detail_func()
287288
}
288289
}
289290

291+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
290292
const auto TexturesOption __UNUSED = options::OptionBuilder<int>("Graphics.Texture",
291293
std::pair<const char*, int>{"3D Hardware Textures", 1362},
292294
std::pair<const char*, int>{"Level of detail of textures", 1720})
@@ -318,6 +320,7 @@ static void parse_particles_detail_func()
318320
}
319321
}
320322

323+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
321324
const auto ParticlesOption __UNUSED = options::OptionBuilder<int>("Graphics.Particles",
322325
std::pair<const char*, int>{"Particles", 1363},
323326
std::pair<const char*, int>{"Level of detail for particles", 1717})
@@ -349,7 +352,8 @@ static void parse_debris_detail_func()
349352
}
350353
}
351354

352-
const auto SmallDebrisOption __UNUSED = options::OptionBuilder<int>("Graphics.SmallDebris",
355+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
356+
const auto SmallDebrisOption __UNUSED = options::OptionBuilder<int>("Graphics.SmallDebris",
353357
std::pair<const char*, int>{"Impact Effects", 1364},
354358
std::pair<const char*, int>{"Level of detail of impact effects", 1743})
355359
.category(std::make_pair("Graphics", 1825))
@@ -380,6 +384,7 @@ static void parse_shield_detail_func()
380384
}
381385
}
382386

387+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
383388
const auto ShieldEffectsOption __UNUSED = options::OptionBuilder<int>("Graphics.ShieldEffects",
384389
std::pair<const char*, int>{"Shield Hit Effects", 1718},
385390
std::pair<const char*, int>{"Level of detail of shield impacts", 1719})
@@ -411,7 +416,8 @@ static void parse_stars_detail_func()
411416
}
412417
}
413418

414-
const auto StarsOption __UNUSED = options::OptionBuilder<int>("Graphics.Stars",
419+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
420+
const auto StarsOption __UNUSED = options::OptionBuilder<int>("Graphics.Stars",
415421
std::pair<const char*, int>{"Stars", 1366},
416422
std::pair<const char*, int>{"Number of stars in the mission", 1698})
417423
.importance(2)

code/graphics/2d.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ static void parse_gamma_func()
165165
error_display(0, "%f is not a valid gamma value! (Invalid increment)", value);
166166
}
167167

168+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
168169
static auto GammaOption __UNUSED = options::OptionBuilder<float>("Graphics.Gamma",
169170
std::pair<const char*, int>{"Brightness", 1375},
170171
std::pair<const char*, int>{"The brightness value used for the game window", 1738})
@@ -199,6 +200,7 @@ const SCP_vector<std::pair<int, std::pair<const char*, int>>> DetailLevelValues
199200
{ 3, {"High", 1162}},
200201
{ 4, {"Ultra", 1721}}};
201202

203+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
202204
const auto LightingOption __UNUSED = options::OptionBuilder<int>("Graphics.Lighting",
203205
std::pair<const char*, int>{"Lighting", 1367},
204206
std::pair<const char*, int>{"Level of detail of the lighting", 1715})
@@ -252,6 +254,7 @@ static void parse_window_mode_func()
252254
}
253255
}
254256

257+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
255258
static auto WindowModeOption __UNUSED = options::OptionBuilder<os::ViewportState>("Graphics.WindowMode",
256259
std::pair<const char*, int>{"Window Mode", 1772},
257260
std::pair<const char*, int>{"Controls how the game window is created", 1773})
@@ -271,6 +274,7 @@ void removeWindowModeOption()
271274
options::OptionsManager::instance()->removeOption(WindowModeOption);
272275
}
273276

277+
// coverity[GLOBAL_INIT_ORDER] -- safe; Hook::Factory() uses Meyers singleton
274278
const std::shared_ptr<scripting::OverridableHook<>> OnFrameHook = scripting::OverridableHook<>::Factory(
275279
"On Frame", "Called every frame as the last action before showing the frame result to the user.", {}, std::nullopt, CHA_ONFRAME);
276280

@@ -354,6 +358,7 @@ static bool videodisplay_change(int display, bool initial)
354358
// Video display cannot support default settings because graphics have not been
355359
// initialized so we can't validate the setting. But also, this should probably
356360
// only ever be a user setting
361+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
357362
static auto VideoDisplayOption = options::OptionBuilder<int>("Graphics.Display",
358363
std::pair<const char*, int>{"Primary display", 1741},
359364
std::pair<const char*, int>{"The display used for rendering", 1742})
@@ -490,6 +495,7 @@ static bool resolution_vr_change(const ResolutionInfo& /*info*/, bool initial)
490495
// Resolution cannot support default settings because graphics have not been
491496
// initialized so we can't validate the setting. But also, this should probably
492497
// only ever be a user setting
498+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
493499
static auto ResolutionOption = options::OptionBuilder<ResolutionInfo>("Graphics.Resolution",
494500
std::pair<const char*, int>{"Resolution", 1748},
495501
std::pair<const char*, int>{"The rendering resolution", 1749})
@@ -509,6 +515,7 @@ void removeResolutionOption()
509515
options::OptionsManager::instance()->removeOption(ResolutionOption);
510516
}
511517

518+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
512519
static auto ResolutionVROption = options::OptionBuilder<ResolutionInfo>("Graphics.ResolutionVR",
513520
std::pair<const char*, int>{"VR Resolution", 1878},
514521
std::pair<const char*, int>{"The rendering resolution when in VR mode", 1879})
@@ -537,6 +544,7 @@ static void parse_soft_particle_func() {
537544
Gr_enable_soft_particles = value;
538545
}
539546

547+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
540548
static auto SoftParticlesOption __UNUSED = options::OptionBuilder<bool>("Graphics.SoftParticles",
541549
std::pair<const char*, int>{"Soft Particles", 1761},
542550
std::pair<const char*, int>{"Enable or disable soft particle rendering", 1762})
@@ -577,6 +585,7 @@ static void parse_framebuffer_func() {
577585
}
578586
}
579587

588+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
580589
static auto FramebufferEffectsOption __UNUSED = options::OptionBuilder<flagset<FramebufferEffects>>("Graphics.FramebufferEffects",
581590
std::pair<const char*, int>{"Framebuffer effects", 1732},
582591
std::pair<const char*, int>{"Controls which framebuffer effects will be applied to the scene", 1733})
@@ -622,6 +631,7 @@ static void parse_anti_aliasing_func() {
622631
}
623632
}
624633

634+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
625635
static auto AAOption __UNUSED = options::OptionBuilder<AntiAliasMode>("Graphics.AAMode",
626636
std::pair<const char*, int>{"Anti Aliasing", 1752},
627637
std::pair<const char*, int>{"Controls the anti aliasing mode of the engine.", 1753})
@@ -669,6 +679,7 @@ static void parse_msaa_func()
669679
}
670680
}
671681

682+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
672683
static auto MSAAOption __UNUSED = options::OptionBuilder<int>("Graphics.MSAASamples",
673684
std::pair<const char*, int>{"Multisample Anti Aliasing", 1758},
674685
std::pair<const char*, int>{"Controls whether multisample anti asliasing is enabled, and with how many samples", 1759})
@@ -701,6 +712,7 @@ static void parse_post_processing_func()
701712

702713
bool Gr_post_processing_enabled = true;
703714

715+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
704716
static auto PostProcessOption __UNUSED = options::OptionBuilder<bool>("Graphics.PostProcessing",
705717
std::pair<const char*, int>{"Post processing", 1726},
706718
std::pair<const char*, int>{"Controls whether post processing is enabled in the engine.", 1727})
@@ -722,6 +734,7 @@ static void parse_vsync_func()
722734
Gr_enable_vsync = value;
723735
}
724736

737+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
725738
static auto VSyncOption __UNUSED = options::OptionBuilder<bool>("Graphics.VSync",
726739
std::pair<const char*, int>{"Vertical Sync", 1766},
727740
std::pair<const char*, int>{"Controls how the engine does vertical synchronization", 1767})

code/graphics/opengl/gropengltexture.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ static void parse_texture_filtering_func()
7272
}
7373
}
7474

75+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
7576
static auto TextureFilteringOption __UNUSED = options::OptionBuilder<int>("Graphics.TextureFilter",
7677
std::pair<const char*, int>{"Texture Filtering", 1763},
7778
std::pair<const char*, int>{"Texture filtering option", 1764})
@@ -125,6 +126,7 @@ static float anisotropic_default()
125126
return max;
126127
}
127128

129+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
128130
static auto AnisotropyOption = options::OptionBuilder<float>("Graphics.Anisotropy",
129131
std::pair<const char*, int>{"Anistropic filtering", 1736},
130132
std::pair<const char*, int>{"Controls the amount of anistropic filtering of the textures", 1737})

code/graphics/post_processing.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ void parse_sunglare_func()
6565
Post_processing_enable_sunglare = enabled;
6666
}
6767

68+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
6869
auto LightshaftsOption = options::OptionBuilder<bool>("Graphics.Lightshafts",
6970
std::pair<const char*, int>{"Lightshafts", 1724},
7071
std::pair<const char*, int>{"Enables or disables lightshafts (requires post-processing)", 1725})
@@ -76,6 +77,7 @@ auto LightshaftsOption = options::OptionBuilder<bool>("Graphics.Lightshafts",
7677
.parser(parse_lightshafts_func)
7778
.finish();
7879

80+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
7981
auto SunglareOption = options::OptionBuilder<bool>("Graphics.Sunglare",
8082
std::pair<const char*, int>{"Sunglare", 1880},
8183
std::pair<const char*, int>{"Enables or disables glare from suns", 1881})
@@ -97,6 +99,7 @@ void parse_bloom_intensity_func()
9799
Post_processing_bloom_intensity = value;
98100
}
99101

102+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
100103
static auto BloomIntensityOption __UNUSED = options::OptionBuilder<int>("Graphics.BloomIntensity",
101104
std::pair<const char*, int>{"Bloom intensity", 1701},
102105
std::pair<const char*, int>{"Sets the bloom intensity (requires post-processing)", 1702})

code/graphics/shadows.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ static void parse_shadow_quality_func()
5959
}
6060
}
6161

62+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
6263
auto ShadowQualityOption = options::OptionBuilder<ShadowQuality>("Graphics.Shadows",
6364
std::pair<const char*, int>{"Shadow Quality", 1750},
6465
std::pair<const char*, int>{"The quality of the shadows", 1751})

code/graphics/software/FSFont.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
float Font_Scale_Factor = 1.0;
55

6+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
67
static auto FontScaleFactor __UNUSED = options::OptionBuilder<float>("Game.FontScaleFactor",
78
std::pair<const char*, int>{"Font Scale Factor", 1862},
89
std::pair<const char*, int>{

code/iff_defs/iff_defs.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ static bool AccessiblitySupported = false;
4646
// used by In-Game Options menu
4747
static bool AccessibilityEnabled = false;
4848

49+
// coverity[GLOBAL_INIT_ORDER] -- safe; OptionBuilder::finish() uses Meyers singleton
4950
static auto AccessibilityOption = options::OptionBuilder<bool>("Game.IffAccessibility",
5051
std::pair<const char*, int>{"Accessibility IFF Colors", 1855},
5152
std::pair<const char*, int>{"Enables or disables IFF Accessibility color overrides", 1856})

0 commit comments

Comments
 (0)