forked from lix-project/lix
Fix gcc warning -Wmissing-field-initializers
Add the compile flag '-Wmissing-field-initializers' and adapt the code
to fix this warning.
The approach that was taken here was to add default values to the type
definitions rather than specified them whenever they were missing.
Change-Id: Ic223a964d67ab429e8da804c0721ba5e25d53012
This commit is contained in:
parent
1224476def
commit
6756a067c2
|
@ -486,6 +486,7 @@ add_project_arguments(
|
|||
# It would be nice for our headers to be idempotent instead.
|
||||
'-include', 'config.h',
|
||||
'-Wsign-compare',
|
||||
'-Wmissing-field-initializers',
|
||||
'-Wno-deprecated-declarations',
|
||||
'-Wimplicit-fallthrough',
|
||||
'-Werror=switch',
|
||||
|
|
|
@ -47,7 +47,7 @@ struct BuildResult
|
|||
* @todo This should be an entire ErrorInfo object, not just a
|
||||
* string, for richer information.
|
||||
*/
|
||||
std::string errorMsg;
|
||||
std::string errorMsg = {};
|
||||
|
||||
std::string toString() const {
|
||||
auto strStatus = [&]() {
|
||||
|
@ -90,7 +90,7 @@ struct BuildResult
|
|||
* For derivations, a mapping from the names of the wanted outputs
|
||||
* to actual paths.
|
||||
*/
|
||||
SingleDrvOutputs builtOutputs;
|
||||
SingleDrvOutputs builtOutputs = {};
|
||||
|
||||
/**
|
||||
* The start/stop times of the build (or one of the rounds, if it
|
||||
|
|
|
@ -63,7 +63,7 @@ struct InitialOutputStatus {
|
|||
struct InitialOutput {
|
||||
bool wanted;
|
||||
Hash outputHash;
|
||||
std::optional<InitialOutputStatus> known;
|
||||
std::optional<InitialOutputStatus> known = {};
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -88,8 +88,8 @@ protected:
|
|||
public:
|
||||
struct [[nodiscard]] WorkResult {
|
||||
ExitCode exitCode;
|
||||
BuildResult result;
|
||||
std::shared_ptr<Error> ex;
|
||||
BuildResult result = {};
|
||||
std::shared_ptr<Error> ex = {};
|
||||
bool permanentFailure = false;
|
||||
bool timedOut = false;
|
||||
bool hashMismatch = false;
|
||||
|
|
|
@ -20,10 +20,10 @@ struct NarMember
|
|||
file in the NAR. */
|
||||
uint64_t start = 0, size = 0;
|
||||
|
||||
std::string target;
|
||||
std::string target = {};
|
||||
|
||||
/* If this is a directory, all the children of the directory. */
|
||||
std::map<std::string, NarMember> children;
|
||||
std::map<std::string, NarMember> children = {};
|
||||
};
|
||||
|
||||
struct NarAccessor : public FSAccessor
|
||||
|
|
|
@ -17,7 +17,7 @@ namespace nix {
|
|||
struct StorePathWithOutputs
|
||||
{
|
||||
StorePath path;
|
||||
std::set<std::string> outputs;
|
||||
std::set<std::string> outputs = {};
|
||||
|
||||
std::string to_string(const Store & store) const;
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ struct Realisation {
|
|||
DrvOutput id;
|
||||
StorePath outPath;
|
||||
|
||||
StringSet signatures;
|
||||
StringSet signatures = {};
|
||||
|
||||
/**
|
||||
* The realisations that are required for the current one to be valid.
|
||||
|
@ -58,7 +58,7 @@ struct Realisation {
|
|||
* When importing this realisation, the store will first check that all its
|
||||
* dependencies exist, and map to the correct output path
|
||||
*/
|
||||
std::map<DrvOutput, StorePath> dependentRealisations;
|
||||
std::map<DrvOutput, StorePath> dependentRealisations = {};
|
||||
|
||||
nlohmann::json toJSON() const;
|
||||
static Realisation fromJSON(const nlohmann::json& json, const std::string& whence);
|
||||
|
|
|
@ -829,7 +829,7 @@ StorePathSet Store::queryValidPaths(const StorePathSet & paths, SubstituteFlag m
|
|||
{
|
||||
size_t left;
|
||||
StorePathSet valid;
|
||||
std::exception_ptr exc;
|
||||
std::exception_ptr exc = {};
|
||||
};
|
||||
|
||||
Sync<State> state_(State{paths.size(), StorePathSet()});
|
||||
|
|
|
@ -78,11 +78,11 @@ struct RunOptions
|
|||
{
|
||||
Path program;
|
||||
bool searchPath = true;
|
||||
Strings args;
|
||||
std::optional<uid_t> uid;
|
||||
std::optional<uid_t> gid;
|
||||
std::optional<Path> chdir;
|
||||
std::optional<std::map<std::string, std::string>> environment;
|
||||
Strings args = {};
|
||||
std::optional<uid_t> uid = {};
|
||||
std::optional<uid_t> gid = {};
|
||||
std::optional<Path> chdir = {};
|
||||
std::optional<std::map<std::string, std::string>> environment = {};
|
||||
bool captureStdout = false;
|
||||
bool mergeStderrToStdout = false;
|
||||
bool isInteractive = false;
|
||||
|
|
Loading…
Reference in a new issue