meson/test cases/vala
Eli Schwartz 5f659af870
ninja backend: don't hide all compiler warnings for transpiled languages
This was originally added for vala only, with the rationale that vala
generates bad code that has warnings. Unfortunately, the rationale was
fatally flawed. The compiler warns about a number of things, which the
user can control depending on their code (or their code generator's
code), but some of those things are absolutely critical to warn about.

In particular, GCC 14 and clang 17 are updating their defaults to warn
-- and error by default for -- invalid C code that breaks the standard,
but has been silently accepted for over 20 years "because lots of people
do it". The code in question is UB, and compilers will generate faulty
machine code that behaves erroneously and probably has a mass of CVEs
waiting to happen.

Compiler warnings are NOT safe to just... universally turn off. Compiler
warnings could be either:

- coding style lints

- threatening statements that the code is factually and behaviorally wrong

There is no magic bullet to ignore the former while respecting the
latter. And the very last thing we should ever do is pass `-w`, since
that causes ALL warnings to be disabled, even the manually added
`-Werror=XXX`.

If vala generated code creates warnings, then the vala compiler can
decrease the log level by generating better code, or by adding warning
suppression pragmas for *specific* issues, such as unused functions.
2023-12-05 19:51:56 -05:00
..
1 basic interpreter: Lower case languages before checking if 'c' is in the list 2020-08-07 23:44:31 +03:00
2 multiple files vala: Test that adding C manually isn't requiured 2021-05-20 13:27:17 -07:00
3 dep Add a test for ignoring not-found vala deps 2017-06-26 14:58:41 +05:30
4 config vala: Implement valac.find_library 2016-11-12 13:56:17 -05:00
5 target glib ninja backend: don't hide all compiler warnings for transpiled languages 2023-12-05 19:51:56 -05:00
6 static library test: merge installed_files.txt into test.json 2020-02-25 21:47:42 +01:00
7 shared library Fix crash when installing a vala library and python sources 2023-09-07 10:56:37 -04:00
8 generated sources editorconfig: add setting to trim trailing whitespace 2021-08-15 09:36:18 -04:00
9 gir editorconfig: add setting to trim trailing whitespace 2021-08-15 09:36:18 -04:00
10 mixed sources Kill tabs dead! For good! 2018-08-15 22:28:42 +03:00
11 generated vapi tests: Add a regression test for vapigen metadatadir 2022-01-15 00:38:14 +05:30
12 custom output ninja: Fix the dependency on the VAPI when 'vala_vapi' is used 2017-09-18 20:40:53 +03:00
13 find library Renamed dirs to plug holes in numbering. 2016-12-04 01:11:10 +02:00
14 target glib version and gresources test cases/vala: Fix test 14 2022-02-27 14:33:33 -05:00
15 static vapi in source tree Add a test that uses hand-written vapi files 2016-12-15 04:12:23 +05:30
16 mixed dependence Make external library no-op when used with incompatible target (#1941) 2017-06-17 12:34:26 +03:00
17 plain consumer ninja: Also include Vala headers in generated headers 2017-05-13 22:59:06 +03:00
18 vapi consumed twice ninja: Deduplicate dependent vapis 2017-05-14 11:54:42 +03:00
19 genie Add test case for compiling a Genie file 2017-06-26 13:58:07 +01:00
20 genie multiple mixed sources editorconfig: add setting to trim trailing whitespace 2021-08-15 09:36:18 -04:00
21 type module vala: Add a shared module testcase using 'GLib.TypeModule' 2017-06-30 11:16:06 -04:00
22 same target in directories Add additional directory depth tests to Vala test case 22 2017-10-03 20:43:02 +02:00
23 thread flags Fix Vala thread flag breakage (#2756) 2017-12-11 20:28:42 +02:00
24 export dynamic shared module vala: Fix shared_module linking with export_dynamic executable 2018-05-10 12:31:04 +02:00
25 extract_all_objects vala: fix extract_all_objects() result 2018-06-10 01:48:45 +00:00
26 vala and asm vala: fix extract_all_objects() result 2018-06-10 01:48:45 +00:00
27 file as command line argument interpreter: Handle BuildTarget.vala_args as Files in the interpreter 2023-10-09 17:33:48 -04:00