Commit Graph
199 Commits
Author SHA1 Message Date
José Valim fb19dec15c Include lines in == Compilation error in file ... == slogans (#14538)
Closes #14535.
2025-05-27 10:31:17 +02:00
José Valim b9129130f5 Allow verification to be disabled with MIX_DEBUG=1 2025-04-28 18:30:29 +02:00
José Valim 041d59b4f8 Add each_long_verification_threshold, closes #14336 2025-04-28 13:56:06 +02:00
José Valim f7f82b2c21 Support debugging the PID in slow compilation 2025-04-28 13:18:27 +02:00
José Valim 64a387da82 Load modules lazily and only if needed (#14453) 2025-04-28 12:45:25 +02:00
José Valim aca578bb88 Add a note about native code in mix releases, closes #14386 2025-04-01 18:49:54 +02:00
Jonatan Männchen 980500551c Inline Licence Info & Copyright for non-test files (#14256) 2025-02-07 21:11:09 +01:00
José Valim 591e97a49f Merge compile.protocols into compile.elixir (#14109) 2024-12-24 10:05:07 +01:00
José Valim f9f61bbb20 Do not recompile if compilation fails due to --warnings-as-errors 2024-12-23 18:25:42 +01:00
José Valim 098c01a7ee Introduce deprecations scheduled for v1.19 2024-12-11 11:59:36 +01:00
José Valim bb028b951f Always consider Elixir modules on inference (#14000) 2024-11-19 13:40:16 +01:00
José Valim 485ca72ae2 Infer types and use them across remote calls (#13981)
This also unifies handling of deterministic builds with Erlang/OTP
as well as warnings_as_errors.
2024-11-09 18:00:27 +01:00
José Valim 705407b61a Share profiling code in ParallelCompiler 2024-10-30 20:05:34 +01:00
André Albuquerque 63aa5703de Measure each_cycle callback + deadlock detection (#13941) 2024-10-30 19:45:32 +01:00
Steffen Deusch c28a4eb040 Add max_concurrency to Kernel.ParallelCompiler (#13634) 2024-06-04 16:04:15 +02:00
José Valim de74ea5d52 Remove duplicate purge compiler modules call 2024-02-15 17:24:11 +01:00
José Valim 04e2724591 Do not purge compiler modules during compilation, only after (#13346)
The compiler freezing is mostly caused by a bug upstream,
but it may be speed up compilation to avoid purging as
we compile, as purging blocks the code server.

A potential downside is higher memory usage during
compilation.

Closes #13264.
2024-02-15 12:48:53 +01:00
José Valim 0da0b2899e Ensure the compiler is notified immediately after async 2024-01-18 15:52:58 +01:00
José Valim e4a71032d5 Always log errors at the end 2024-01-17 23:14:20 +01:00
José Valim af2b21d67d Do not crash parallel compiler on external reports, closes #13224 2024-01-10 10:16:49 +01:00
José Valim 4a14c03135 Remove unecessary @doc false function 2023-12-31 18:04:18 +01:00
José Valim 3a52c2d729 Add source field to diagnostics 2023-12-21 17:05:47 +01:00
José Valim a818ee3dd0 Normalize exception handling in diagnostics 2023-12-17 11:41:02 +01:00
José Valim 4d712b25ea Normalize token missing and mismatched delimiter exceptions
Closes #13183.
Closes #13185.
Closes #13186.
Closes #13187.
2023-12-14 17:02:15 +01:00
José Valim ed2bbe5b37 Pass original exception down to details in diagnostic, closes #13142 2023-12-10 03:23:45 +11:00
Vinícius Müller 7e9006988d Add span field to diagnostics (#12843) 2023-09-03 21:14:51 +02:00
José Valim 22dcba75d2 Introduce Kernel.ParallelCompiler.pmap/2 (#12899) 2023-08-30 14:59:48 +02:00
sabiwara 4fc5b77c40 Code.with_diagnostics/2 formats paths as relative (#12590)
* Code.with_diagnostics/2 formats paths as relative

* Fix in :elixir_errors instead

* Fix it in parallel checker too
2023-05-25 20:07:09 +09:00
José Valim e9f305c56b Fix typespecs and code comments 2023-05-16 14:21:41 +02:00
José Valim a0f0f75ee8 Add Code.with_diagnostics/2, closes #12276 2023-05-16 11:52:59 +02:00
José Valim 6476355246 Keep stacktrace in diagnostics 2023-05-15 23:35:07 +02:00
José Valim 48e2efd2d9 Return diagnostics from Kernel.ParallelCompiler 2023-05-10 12:32:25 +02:00
John Bampton d6ba278b31 Fix some typos here and there (#12396) 2023-02-13 21:41:57 +01:00
José Valim 6b078a21fe Track compile and runtime warnings separately, closes #12372 2023-02-13 15:18:42 +01:00
Greg Mefford f8540ab193 Add details about waiting information in --profile time compiler output (#12310) 2023-01-04 23:31:21 +01:00
José Valim c6bce1b115 Precompile runtime module paths 2022-12-08 07:02:56 +01:00
José Valim 2b1efdea7a Revert "Ensure all runtime_modules loaded before mapping their paths (#12287)"
We don't want to load all modules because some may have specified
`@compile {:autoload, false}`.

This reverts commit 28e22d090c.
2022-12-08 06:39:31 +01:00
Alex NaserandAlex Naser 28e22d090c Ensure all runtime_modules loaded before mapping their paths (#12287)
Co-authored-by: Alex Naser <alex.naser@remote.com>
2022-12-05 20:45:41 +01:00
José Valim b24869687b Introduce mechanism to collect several errors in a module (#12275) 2022-11-28 15:40:30 +01:00
José Valim 4a20f87a71 Assert there are no files if waiting/spawn are empty 2022-11-06 20:41:11 +01:00
José Valim 5b4956fe5f Use the result mapping to track waiting processes 2022-08-19 12:38:01 +02:00
José Valim 5af48aaab8 Keep waiting in parallel compiler as a map for faster lookups 2022-08-19 11:26:15 +02:00
José Valim 4ce0376e76 Only consume DOWN messages dedicated to the parallel compiler, closes #12087 2022-08-19 09:49:03 +02:00
sabiwara 29bf449f3f Evaluate formating charlists as ~c sigils (#12064) 2022-08-10 06:47:00 +02:00
José Valim ed82538f9a Simplify passing of values to the checker 2022-07-12 12:55:48 +02:00
José Valim 5f0454d27d Start checker processes lazily 2022-07-12 12:13:04 +02:00
José Valim 390fab4495 Include column information on error diagnostics when possible, closes #11964 2022-07-05 22:49:53 +02:00
Łukasz Samson bd89d5fbbc Improve diagnostic and compile typespec (#11962) 2022-07-05 12:10:15 +02:00
Eksperimental 37d18271d3 Replace misspelt helper nillify with nilify (#11919) 2022-06-11 18:06:46 +02:00
sabiwara d509be1b6f Add line in diagnostic for invalid struct key (#11701) 2022-03-13 09:06:06 +01:00