Closed Bug 1581018 Opened 5 years ago Closed 3 years ago

Enable warnings on Windows builds

Categories

(Firefox Build System :: General, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1762484

People

(Reporter: tjr, Assigned: tjr)

References

Details

(Keywords: good-first-bug)

Attachments

(1 file)

We never enabled the warnings in warnings.configure for clang-cl builds. We can do so quite easily though (kinda). Gotta clean up the warnings we trigger.

https://treeherder.mozilla.org/#/jobs?repo=try&revision=11e54933ef1d87af852812c308c459a8022da211&selectedJob=266420178

I'm going to throw up a patch just so we don't lose it though.

An initial list of failures is:

INFO -  z:/build/build/src/build/win32/crashinject.cpp(29,26): error: 'nullptr' is incompatible with C++98 [-Werror,-Wc++98-compat]
INFO -  z:/build/build/src/build/win32/crashinject.cpp(34,16): error: 'nullptr' is incompatible with C++98 [-Werror,-Wc++98-compat]
INFO -  z:/build/build/src/build/win32/crashinject.cpp(43,26): error: implicit conversion changes signedness: 'int' to 'DWORD' (aka 'unsigned long') [-Werror,-Wsign-conversion]
INFO -  z:/build/build/src/build/win32/crashinject.cpp(44,21): error: 'nullptr' is incompatible with C++98 [-Werror,-Wc++98-compat]
INFO -  z:/build/build/src/build/win32/crashinject.cpp(61,49): error: 'nullptr' is incompatible with C++98 [-Werror,-Wc++98-compat]
INFO -  z:/build/build/src/build/win32/crashinject.cpp(63,21): error: 'nullptr' is incompatible with C++98 [-Werror,-Wc++98-compat]
INFO -  z:/build/build/src/build/win32/crashinject.cpp(69,51): error: use of old-style cast [-Werror,-Wold-style-cast]
INFO -  z:/build/build/src/build/win32/crashinject.cpp(70,45): error: 'nullptr' is incompatible with C++98 [-Werror,-Wc++98-compat]
INFO -  z:/build/build/src/build/win32/crashinject.cpp(78,19): error: 'nullptr' is incompatible with C++98 [-Werror,-Wc++98-compat]
INFO -  z:/build/build/src/build/win32/crashinject.cpp(79,7): error: use of old-style cast [-Werror,-Wold-style-cast]
INFO -  z:/build/build/src/build/win32/crashinject.cpp(80,22): error: 'nullptr' is incompatible with C++98 [-Werror,-Wc++98-compat]
INFO -  z:/build/build/src/build/win32/crashinject.cpp(81,18): error: 'nullptr' is incompatible with C++98 [-Werror,-Wc++98-compat]
INFO -  z:/build/build/src/build/win32/crashinjectdll/crashinjectdll.cpp(11,14): error: no previous prototype for function 'CrashingThread' [-Werror,-Wmissing-prototypes]
INFO -  z:/build/build/src/build/win32/crashinjectdll/crashinjectdll.cpp(11,36): error: unused parameter 'lpParameter' [-Werror,-Wunused-parameter]
INFO -  z:/build/build/src/build/win32/crashinjectdll/crashinjectdll.cpp(13,21): error: use of old-style cast [-Werror,-Wold-style-cast]
INFO -  z:/build/build/src/build/win32/crashinjectdll/crashinjectdll.cpp(13,27): error: zero as null pointer constant [-Werror,-Wzero-as-null-pointer-constant]
INFO -  z:/build/build/src/build/win32/crashinjectdll/crashinjectdll.cpp(18,13): error: no previous prototype for function 'DllMain' [-Werror,-Wmissing-prototypes]
INFO -  z:/build/build/src/build/win32/crashinjectdll/crashinjectdll.cpp(18,28): error: unused parameter 'hinstDLL' [-Werror,-Wunused-parameter]
INFO -  z:/build/build/src/build/win32/crashinjectdll/crashinjectdll.cpp(18,44): error: unused parameter 'dwReason' [-Werror,-Wunused-parameter]
INFO -  z:/build/build/src/build/win32/crashinjectdll/crashinjectdll.cpp(18,61): error: unused parameter 'lpvReserved' [-Werror,-Wunused-parameter]
INFO -  z:/build/build/src/build/win32/crashinjectdll/crashinjectdll.cpp(19,14): error: use of old-style cast [-Werror,-Wold-style-cast]
INFO -  z:/build/build/src/build/win32/crashinjectdll/crashinjectdll.cpp(22,18): error: 'nullptr' is incompatible with C++98 [-Werror,-Wc++98-compat]
INFO -  z:/build/build/src/build/win32/crashinjectdll/crashinjectdll.cpp(25,18): error: 'nullptr' is incompatible with C++98 [-Werror,-Wc++98-compat]
INFO -  z:/build/build/src/build/win32/crashinjectdll/crashinjectdll.cpp(9,13): error: implicit conversion changes signedness: 'int' to 'DWORD' (aka 'unsigned long') [-Werror,-Wsign-conversion]
INFO -  z:/build/build/src/build/win32/crashinjectdll/crashinjectdll.cpp(9,7): error: no previous extern declaration for non-static variable 'tid' [-Werror,-Wmissing-variable-declarations]
INFO -  z:/build/build/src/js/src\util/Windows.h(16,12): error: non-portable path to file '<Windows.h>'; specified path differs in case from file name on disk [-Werror,-Wnonportable-system-include-path]
INFO -  z:/build/build/src/js/src\vtune/ittnotify_config.h(226,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
INFO -  z:/build/build/src/js/src\vtune/ittnotify_config.h(230,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
INFO -  z:/build/build/src/js/src\vtune/ittnotify_config.h(275,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
INFO -  z:/build/build/src/js/src\vtune/ittnotify_config.h(276,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
INFO -  z:/build/build/src/js/src\vtune/ittnotify_config.h(277,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
INFO -  z:/build/build/src/js/src\vtune/ittnotify_config.h(278,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
INFO -  z:/build/build/src/js/src\vtune/ittnotify_config.h(279,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
INFO -  z:/build/build/src/js/src\vtune/ittnotify_config.h(59,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
INFO -  z:/build/build/src/mfbt/lz4.c(1567,1): error: extension used [-Werror,-Wlanguage-extension-token]
INFO -  z:/build/build/src/mfbt/lz4.c(1595,1): error: extension used [-Werror,-Wlanguage-extension-token]
INFO -  z:/build/build/src/mfbt/lz4.c(2053,1): error: extension used [-Werror,-Wlanguage-extension-token]
INFO -  z:/build/build/src/mfbt/lz4.c(2062,1): error: extension used [-Werror,-Wlanguage-extension-token]
INFO -  z:/build/build/src/mfbt/lz4.c(407,9): error: macro is not used [-Werror,-Wunused-macros]
INFO -  z:/build/build/src/mfbt/lz4.c(526,1): error: extension used [-Werror,-Wlanguage-extension-token]
INFO -  z:/build/build/src/mfbt/lz4.c(640,1): error: extension used [-Werror,-Wlanguage-extension-token]
INFO -  z:/build/build/src/mfbt/lz4.c(671,1): error: extension used [-Werror,-Wlanguage-extension-token]
INFO -  z:/build/build/src/mfbt/lz4.c(706,1): error: extension used [-Werror,-Wlanguage-extension-token]
INFO -  z:/build/build/src/mfbt/lz4.c(714,1): error: extension used [-Werror,-Wlanguage-extension-token]
INFO -  z:/build/build/src/mfbt/lz4.c(764,1): error: extension used [-Werror,-Wlanguage-extension-token]
INFO -  z:/build/build/src/mfbt/lz4.c(98,11): error: macro is not used [-Werror,-Wunused-macros]
INFO -  z:/build/build/src/obj-firefox/dist/include\gtest/internal/gtest-port.h(351,6): error: '__GXX_EXPERIMENTAL_CXX0X__' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\gtest/internal/gtest-port.h(424,7): error: 'GTEST_OS_WINDOWS_MOBILE' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\gtest/internal/gtest-port.h(429,5): error: 'GTEST_OS_WINDOWS_MINGW' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\gtest/internal/gtest-port.h(447,5): error: 'GTEST_OS_LINUX_ANDROID' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\gtest/internal/gtest-port.h(454,6): error: 'GTEST_OS_LINUX_ANDROID' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\gtest/internal/gtest-port.h(462,5): error: 'GTEST_USES_PCRE' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\gtest/internal/gtest-port.h(643,5): error: 'GTEST_OS_FREEBSD' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\gtest/internal/gtest-port.h(643,5): error: 'GTEST_OS_FUCHSIA' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\gtest/internal/gtest-port.h(643,5): error: 'GTEST_OS_HPUX' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\gtest/internal/gtest-port.h(643,5): error: 'GTEST_OS_LINUX' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\gtest/internal/gtest-port.h(643,5): error: 'GTEST_OS_MAC' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\gtest/internal/gtest-port.h(643,5): error: 'GTEST_OS_NACL' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\gtest/internal/gtest-port.h(643,5): error: 'GTEST_OS_NETBSD' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\gtest/internal/gtest-port.h(643,5): error: 'GTEST_OS_QNX' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\gtest/internal/gtest-port.h(665,6): error: 'GTEST_OS_LINUX_ANDROID' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\gtest/internal/gtest-port.h(686,6): error: 'GTEST_OS_SYMBIAN' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\gtest/internal/gtest-port.h(714,6): error: 'GTEST_ENV_HAS_TR1_TUPLE_' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\gtest/internal/gtest-port.h(789,6): error: 'GTEST_OS_LINUX' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\gtest/internal/gtest-port.h(815,6): error: 'GTEST_OS_WINDOWS_MOBILE' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\js/RequiredDefines.h(27,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
INFO -  z:/build/build/src/obj-firefox/dist/include\js/RequiredDefines.h(28,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
INFO -  z:/build/build/src/obj-firefox/dist/include\js/RequiredDefines.h(29,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
INFO -  z:/build/build/src/obj-firefox/dist/include\mozilla/Assertions.h(287,21): error: variadic macros are incompatible with C++98 [-Werror,-Wc++98-compat-pedantic]
INFO -  z:/build/build/src/obj-firefox/dist/include\mozilla/Assertions.h(335,41): error: variadic macros are incompatible with C++98 [-Werror,-Wc++98-compat-pedantic]
INFO -  z:/build/build/src/obj-firefox/dist/include\mozilla/Assertions.h(42,30): error: variadic macros are incompatible with C++98 [-Werror,-Wc++98-compat-pedantic]
INFO -  z:/build/build/src/obj-firefox/dist/include\mozilla/Assertions.h(433,40): error: variadic macros are incompatible with C++98 [-Werror,-Wc++98-compat-pedantic]
INFO -  z:/build/build/src/obj-firefox/dist/include\mozilla/Assertions.h(464,28): error: variadic macros are incompatible with C++98 [-Werror,-Wc++98-compat-pedantic]
INFO -  z:/build/build/src/obj-firefox/dist/include\mozilla/Assertions.h(470,22): error: variadic macros are incompatible with C++98 [-Werror,-Wc++98-compat-pedantic]
INFO -  z:/build/build/src/obj-firefox/dist/include\mozilla/Assertions.h(481,33): error: variadic macros are incompatible with C++98 [-Werror,-Wc++98-compat-pedantic]
INFO -  z:/build/build/src/obj-firefox/dist/include\mozilla/Assertions.h(641,34): error: variadic macros are incompatible with C++98 [-Werror,-Wc++98-compat-pedantic]
INFO -  z:/build/build/src/obj-firefox/dist/include\mozilla/Attributes.h(164,23): error: variadic macros are incompatible with C++98 [-Werror,-Wc++98-compat-pedantic]
INFO -  z:/build/build/src/obj-firefox/dist/include\mozilla/Attributes.h(935,7): error: '__GNUC__' is not defined, evaluates to 0 [-Werror,-Wundef]
INFO -  z:/build/build/src/obj-firefox/dist/include\mozilla/MacroArgs.h(39,23): error: variadic macros are incompatible with C++98 [-Werror,-Wc++98-compat-pedantic]
INFO -  z:/build/build/src/obj-firefox/dist/include\mozilla/MacroArgs.h(42,40): error: variadic macros are incompatible with C++98 [-Werror,-Wc++98-compat-pedantic]
INFO -  z:/build/build/src/obj-firefox/dist/include\mozilla/MacroArgs.h(54,30): error: variadic macros are incompatible with C++98 [-Werror,-Wc++98-compat-pedantic]
INFO -  z:/build/build/src/obj-firefox/dist/include\mozilla/MacroArgs.h(71,49): error: variadic macros are incompatible with C++98 [-Werror,-Wc++98-compat-pedantic]
INFO -  z:/build/build/src/obj-firefox/dist/include\mozilla/MacroArgs.h(81,30): error: variadic macros are incompatible with C++98 [-Werror,-Wc++98-compat-pedantic]
INFO -  z:/build/build/src/obj-firefox/dist/include\mozilla/MacroArgs.h(82,34): error: variadic macros are incompatible with C++98 [-Werror,-Wc++98-compat-pedantic]
INFO -  z:/build/build/src/obj-firefox/dist/include\mozilla/MacroArgs.h(87,23): error: variadic macros are incompatible with C++98 [-Werror,-Wc++98-compat-pedantic]
INFO -  z:/build/build/src/obj-firefox/dist/include\mozilla/MacroArgs.h(88,27): error: variadic macros are incompatible with C++98 [-Werror,-Wc++98-compat-pedantic]
INFO -  z:/build/build/src/obj-firefox/js/src/js-confdefs.h(31,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
INFO -  z:/build/build/src/obj-firefox/js/src/js-confdefs.h(32,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
INFO -  z:/build/build/src/obj-firefox/js/src/js-confdefs.h(78,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
INFO -  z:/build/build/src/obj-firefox/js/src/js-confdefs.h(79,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
INFO -  z:/build/build/src/obj-firefox/js/src/js-confdefs.h(80,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
INFO -  z:/build/build/src/obj-firefox/js/src/js-confdefs.h(81,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
INFO -  z:/build/build/src/obj-firefox/js/src/js-confdefs.h(82,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
INFO -  z:/build/build/src/obj-firefox/js/src/js-confdefs.h(83,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
INFO -  z:/build/build/src/obj-firefox/js/src/js-confdefs.h(88,9): error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro]
See Also: → 1394433

Yeah, looks like it should not be too hard to enable the warnings as error once they are all fixed!

There's a r+ patch which didn't land and no activity in this bug for 2 weeks.
:tjr, could you have a look please?
For more information, please visit auto_nag documentation.

Flags: needinfo?(tom)

Lots of deps to file and clear first

Flags: needinfo?(tom)

Is there anything left to do here after the work you recently did around Windows warning parity, glandium?

Flags: needinfo?(mh+mozilla)

No. As a matter of fact, D45780 is more or less identical to D144406

Status: NEW → RESOLVED
Closed: 3 years ago
Flags: needinfo?(mh+mozilla)
Resolution: --- → DUPLICATE
Assignee: nobody → tom
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: