ladybird/Userland/Libraries/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
..
Bytecode Everywhere: Warn on function definitions without prototypes 2024-07-17 21:51:29 +02:00
Contrib/Test262 LibJS: Make ParserError::to_string infallible 2024-04-05 20:01:37 -04:00
Heap LibJS: Demote VERIFY in GCPtr to ASSERT 2024-07-10 07:03:20 +02:00
Runtime LibJS: Create exception messages as Strings 2024-07-17 11:57:06 -04:00
Tests LibJS: Implement CreatePerIterationEnvironment for 'for' statements 2024-07-17 11:20:11 +02:00
AST.cpp LibJS: Skip ordinary_call_bind_this() when possible 2024-05-23 09:53:31 +02:00
AST.h LibJS: Skip ordinary_call_bind_this() when possible 2024-05-23 09:53:31 +02:00
CMakeLists.txt LibJS: Introduce the CanonicalizeKeyedCollectionKey AO 2024-07-13 19:57:31 +02:00
Console.cpp LibJS+LibWeb: Make Console, ConsoleClient & subclasses GC-allocated 2024-04-21 09:12:25 +02:00
Console.h LibJS+LibWeb: Make Console, ConsoleClient & subclasses GC-allocated 2024-04-21 09:12:25 +02:00
CyclicModule.cpp Everywhere: Write dtors for types with incomplete members out-of-line 2024-06-16 07:19:56 -04:00
CyclicModule.h Everywhere: Write dtors for types with incomplete members out-of-line 2024-06-16 07:19:56 -04:00
Forward.h LibJS/Bytecode: Make StringTableIndex be a 32-bit index 2024-05-10 15:03:24 +00:00
Lexer.cpp LibUnicode: Replace code point general categories with ICU 2024-06-22 14:56:39 +02:00
Lexer.h LibJS: Lex 1/2/3-byte tokens without HashMap lookups 2024-03-24 13:28:24 +01:00
MarkupGenerator.cpp AK+Userland: Remove some needlessly explicit conversions to StringView 2024-04-04 11:23:21 +02:00
MarkupGenerator.h LibJS: Fix redundancy-detection when printing raw values 2023-06-15 08:09:16 +02:00
Module.cpp LibJS: Add calls to JS_{DECLARE,DEFINE}_ALLOCATOR() 2024-04-09 09:13:06 +02:00
Module.h LibJS: Add calls to JS_{DECLARE,DEFINE}_ALLOCATOR() 2024-04-09 09:13:06 +02:00
ModuleLoading.h LibJS+LibWeb: Another round of bringing module loading closer to spec 2023-12-03 20:46:55 +01:00
Parser.cpp LibJS: Allow let and const to create locals in global code 2024-06-14 16:08:02 +02:00
Parser.h LibJS: Allow let and const to create locals in global code 2024-06-14 16:08:02 +02:00
ParserError.cpp LibJS: Make ParserError::to_string infallible 2024-04-05 20:01:37 -04:00
ParserError.h LibJS: Make ParserError::to_string infallible 2024-04-05 20:01:37 -04:00
Position.h LibJS: Make line-and-column resolution fast for large minified JS 2023-09-12 17:21:42 +02:00
Print.cpp LibUnicode+Everywhere: Merge LibLocale back into LibUnicode 2024-06-23 19:52:45 +02:00
Print.h Everywhere: Remove the AK:: qualifier from Stream usages 2023-02-13 00:50:07 +00:00
SafeFunction.h LibJS: Add GC graph dumper 2023-08-17 18:27:02 +02:00
Script.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Script.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
SourceCode.cpp LibJS: Make line-and-column resolution fast for large minified JS 2023-09-12 17:21:42 +02:00
SourceCode.h LibJS: Make line-and-column resolution fast for large minified JS 2023-09-12 17:21:42 +02:00
SourceRange.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
SourceTextModule.cpp Everywhere: Write dtors for types with incomplete members out-of-line 2024-06-16 07:19:56 -04:00
SourceTextModule.h Everywhere: Write dtors for types with incomplete members out-of-line 2024-06-16 07:19:56 -04:00
SyntaxHighlighter.cpp LibSyntax+Userland: Make LibSyntax not depend on LibGUI 2023-08-29 07:57:39 -04:00
SyntaxHighlighter.h LibSyntax: Teach each highlighter about it's comment syntax 2022-11-27 18:28:43 -07:00
SyntheticModule.cpp LibJS: Remove two unused members from ExecutionContext 2024-05-31 16:31:33 +02:00
SyntheticModule.h LibJS: Support LoadRequestedModule AO on SyntheticModule records 2023-12-03 20:46:55 +01:00
Token.cpp Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
Token.h Everywhere: Use east const in more places 2024-04-19 06:31:19 -04:00