]> git.ipfire.org Git - thirdparty/git.git/blobdiff - compat/vcbuild/scripts/clink.pl
Merge branch 'bw/format-patch-o-create-leading-dirs'
[thirdparty/git.git] / compat / vcbuild / scripts / clink.pl
index c7b021bfac7a46bc0ee135cc5e543331839c6f7b..ec95a3b2d035293d8058d91061d4852d9a45097d 100755 (executable)
@@ -68,8 +68,54 @@ while (@ARGV) {
        } elsif ("$arg" =~ /^-L/ && "$arg" ne "-LTCG") {
                $arg =~ s/^-L/-LIBPATH:/;
                push(@lflags, $arg);
-       } elsif ("$arg" =~ /^-R/) {
+       } elsif ("$arg" =~ /^-[Rl]/) {
                # eat
+       } elsif ("$arg" eq "-Werror") {
+               push(@cflags, "-WX");
+       } elsif ("$arg" eq "-Wall") {
+               # cl.exe understands -Wall, but it is really overzealous
+               push(@cflags, "-W4");
+               # disable the "signed/unsigned mismatch" warnings; our source code violates that
+               push(@cflags, "-wd4018");
+               push(@cflags, "-wd4245");
+               push(@cflags, "-wd4389");
+               # disable the "unreferenced formal parameter" warning; our source code violates that
+               push(@cflags, "-wd4100");
+               # disable the "conditional expression is constant" warning; our source code violates that
+               push(@cflags, "-wd4127");
+               # disable the "const object should be initialized" warning; these warnings affect only objects that are `static`
+               push(@cflags, "-wd4132");
+               # disable the "function/data pointer conversion in expression" warning; our source code violates that
+               push(@cflags, "-wd4152");
+               # disable the "non-constant aggregate initializer" warning; our source code violates that
+               push(@cflags, "-wd4204");
+               # disable the "cannot be initialized using address of automatic variable" warning; our source code violates that
+               push(@cflags, "-wd4221");
+               # disable the "possible loss of data" warnings; our source code violates that
+               push(@cflags, "-wd4244");
+               push(@cflags, "-wd4267");
+               # disable the "array is too small to include a terminating null character" warning; we ab-use strings to initialize OIDs
+               push(@cflags, "-wd4295");
+               # disable the "'<<': result of 32-bit shift implicitly converted to 64 bits" warning; our source code violates that
+               push(@cflags, "-wd4334");
+               # disable the "declaration hides previous local declaration" warning; our source code violates that
+               push(@cflags, "-wd4456");
+               # disable the "declaration hides function parameter" warning; our source code violates that
+               push(@cflags, "-wd4457");
+               # disable the "declaration hides global declaration" warning; our source code violates that
+               push(@cflags, "-wd4459");
+               # disable the "potentially uninitialized local variable '<name>' used" warning; our source code violates that
+               push(@cflags, "-wd4701");
+               # disable the "unreachable code" warning; our source code violates that
+               push(@cflags, "-wd4702");
+               # disable the "potentially uninitialized local pointer variable used" warning; our source code violates that
+               push(@cflags, "-wd4703");
+               # disable the "assignment within conditional expression" warning; our source code violates that
+               push(@cflags, "-wd4706");
+               # disable the "'inet_ntoa': Use inet_ntop() or InetNtop() instead" warning; our source code violates that
+               push(@cflags, "-wd4996");
+       } elsif ("$arg" =~ /^-W[a-z]/) {
+               # let's ignore those
        } else {
                push(@args, $arg);
        }