ladybird/Tests/LibJS
Daniel Bertalan c62240aa80 Everywhere: Warn on function definitions without prototypes
If no header includes the prototype of a function, then it cannot be
used from outside the translation unit it was defined in. In that case,
it should be marked as `static`, in order to avoid possible ODR
problems, unnecessary exported symbols, and allow the compiler to better
optimize those.

If this warning triggers in a function defined in a header, `inline`
needs to be added, otherwise if the header is included in more than one
TU, it will fail to link with a duplicate definition error.

The reason this diff got so big is that Lagom-only code wasn't built
with this flag even in Serenity times.
2024-07-17 21:51:29 +02:00
..
CMakeLists.txt Everywhere: Don't install code generators and test binaries 2024-07-10 10:13:21 -06:00
test-invalid-unicode-js.cpp Userland+Tests: Remove a few more LibJS/{AST.h,Parser.h} includes 2022-11-23 16:05:59 +00:00
test-js.cpp Tests: Use Core::Environment instead of Core::System::*env() 2024-02-27 08:33:48 +00:00
test-test262.cpp Everywhere: Remove uneeded short option argument where possible 2024-04-22 08:10:08 +02:00
test-value-js.cpp LibJS: Inline fast case for Value::to_{boolean,number,numeric,primitive} 2023-10-07 07:13:52 +02:00
test262-runner.cpp Everywhere: Warn on function definitions without prototypes 2024-07-17 21:51:29 +02:00