10640 Commits

Author SHA1 Message Date
Marc Auberer
26bcb7369d Install Clang/LLVM 21 (#8076)
Install newly released LLVM 21 along with Clang 21

Infra PR: https://github.com/compiler-explorer/infra/pull/1799
gh-16153
2025-09-01 13:54:20 -05:00
github-actions[bot]
7d1ae491f1 [bot] Update browsers list (#8075)
Automatic run of `npm run-update-browerslist` which needs to
 be done periodically to keep in-date.
See
[here](https://github.com/browserslist/browserslist#browsers-data-updating)
for more details.

Co-authored-by: Compiler Explorer Bot <mattgodbolt@users.noreply.github.com>
gh-16141
2025-08-31 20:21:23 -05:00
term-est
d6b61729d2 Add Clang P3776 (#8072) gh-16140 2025-08-31 14:23:38 -05:00
Matt Godbolt
3f00a030cf Thank you new patrons and sponsors gh-16137 2025-08-31 13:59:00 -05:00
Patrick Quist
f2634ef671 nvidia fix gh-16133 2025-08-28 22:21:34 +02:00
Matt Godbolt
b213c9a781 Update claude explain configuration (#8069) gh-16132 2025-08-27 11:35:35 -05:00
Partouf
74a7611f3e fix #2986 gh-16123 2025-08-26 12:39:37 +02:00
Jacob Panov
ec8aa79156 Add isSemVer flag to MSVC compiler groups in configuration (#8063)
This change addresses the issue where Ex-WINE compilers (19.14.26423,
19.10.25017, 19.00.24210) were appearing in lexicographical order
instead of proper semantic version order.

Added \`isSemVer=true\` to 6 MSVC compiler groups across C and C++
configuration files
Enables proper semantic version sorting (newest first) for Ex-WINE
compilers

Resolves issue #8006
gh-16122
2025-08-25 21:25:11 -05:00
T
5b4c3ade31 Add zig 0.15.1 and make it the default zig compiler (#8060)
zig `0.15.1` released on 2025-08-19.

The corresponding infra PR:
https://github.com/compiler-explorer/infra/pull/1785
gh-16121
2025-08-25 21:24:21 -05:00
narpfel
028bd96400 Update rustfmt to 1.89 and 2024 edition (#8059)
Resolves #8058.
gh-16120
2025-08-25 21:23:40 -05:00
flofriday
c88fe255f8 Add Kotlin 2.2.0 and 2.2.10 (#8052) gh-16119 2025-08-25 21:22:51 -05:00
narpfel
63faf792ba Fix jump to label with symbols containing $ (#8051)
For example Rust will mangle `<` to `$LT$`:
https://godbolt.org/z/86n9M6P3f
gh-16118
2025-08-25 21:19:07 -05:00
kevinjeon-g
fc37e42d13 Fix errors in dex2oat compilation (#8050)
This fixes missing inlines (noticed on ArrayList iterators) and
incorrectly-emitted read barriers on local dex2oat.
gh-16117
2025-08-25 21:17:55 -05:00
Filippo Barbari
8b2bc27628 Add Intel OneAPI 2025.2.1 (#8048)
Sister PR [here](https://github.com/compiler-explorer/infra/pull/1777).
gh-16116
2025-08-25 21:16:45 -05:00
Justin Braben
7b86ea8d2f Adding monaco langauge configuration for zig (#8056) gh-16115 2025-08-25 21:12:48 -05:00
Matt Godbolt
d433d83856 Send a "request compile" if compile on demand isn't set (#8065)
This fixes #8064 - hitting ctrl-enter worked _if compile on demand was
set_. Otherwise the compiler ignored the editor change.

We still need to emit the change (else the compiler window and tools may
not notice any changed text), but then if compile on demand is not on,
we manually trigger a request.
gh-16114
2025-08-25 20:33:41 -05:00
Aleksei Nurmukhametov
048e1b0264 Add ISPC v1.28.1 (#8055)
ISPC v1.28.1 has been released. Related infra change:
https://github.com/compiler-explorer/infra/pull/1781
gh-16102
2025-08-22 10:14:46 -05:00
Matt Godbolt
73cc872f64 Claude is beter now, take out confusion gh-16099 2025-08-20 14:23:31 -05:00
tocic
b711cb0b92 Update c++ stds in cppinsights integration (#8047)
* support c++20, c++2b, c++23, c++2c
* set the default standard to cpp17 as it is currently the default for
both compiler-explorer and cppinsights
gh-16097
2025-08-20 11:38:01 -05:00
Patrick Quist
ef3e3b5a78 path fix gh-16092 2025-08-19 16:07:48 +02:00
Matt Godbolt
7c74b5aa0d Make compiler startup less chatty (#8043) gh-16091 2025-08-19 08:48:30 -05:00
Barry Revzin
b91ca199bb Changing clang reflection labels (#8044)
There are two clang reflection implementations:

* The one from Matúš that implements the Reflection TS
* The one from Dan that implements p2996

The latter is what will be in C++26, but that's hard to tell from the
labels since the former is labeled "reflection" while the latter is
labeled "experimental p2996". This changes the labels to "reflection -
TS" and "relfection - C++26", respectively, to make it clearer as to
which is which.
gh-16090
2025-08-19 08:21:05 -05:00
Ville Voutilainen
772a64ab56 Add p2034_lambda GCC (#8046)
<!-- THIS COMMENT IS INVISIBLE IN THE FINAL PR, BUT FEEL FREE TO REMOVE
IT
Thanks for taking the time to improve CE. We really appreciate it.
Before opening the PR, please make sure that the tests & linter pass
their checks,
  by running `make check`.
In the best case scenario, you are also adding tests to back up your
changes,
  but don't sweat it if you don't. We can discuss them at a later date.
Feel free to append your name to the CONTRIBUTORS.md file
Thanks again, we really appreciate this!
-->

---------

Co-authored-by: Patrick Quist <partouf@gmail.com>
gh-16089
2025-08-19 15:12:44 +02:00
Ofek
52b5a2042d Fix #8037: avoid duplicate compile call (#8038)
Trying to solve the root cause:

`Editor.maybeEmitChange` calls `this.eventHub.emit('editorChange')`, and
then `Compiler.onEditorChange` calls `this.compile()` .
So the idiom
```ts
  this.maybeEmitChange();
  this.requestCompilation();
```
repeated a few times in editor.ts, causes two rapid (and redundant)
invocations of `compile`, which in turn cause the race. This PR removes
all calls to `Editor.requestCompilation` and in fact removes the
function entirely.

I'm guessing `maybeEmitChange` is a late addition to solve some other
problems, and this race was an unintended side effect, but please
correct me if you have better understanding of the code and its history.
gh-16086
2025-08-19 10:40:32 +03:00
Jeremy Rifkin
edddddbc3f Pack trees in control flow graphs and add a setting for a wider or narrower layout (#7853)
Stacked on  #7850

This PR implements this aspect of the cutter layout algorithm, using
exact subtree shapes instead of the full bounding box


![image](https://github.com/user-attachments/assets/a2d90337-538d-466f-b42d-0c56f6d4e05f)

Example 1:


![image](https://github.com/user-attachments/assets/c3f321c9-58b6-4529-b35a-5f9f13e995c0)


![image](https://github.com/user-attachments/assets/e7918fe1-f145-4e39-a416-32c49a8c3100)

Example 2:


![image](https://github.com/user-attachments/assets/b8737738-8b35-40e1-ae82-cfa940827d39)



![image](https://github.com/user-attachments/assets/89a9634a-f10d-48e1-ae45-0c87c76c806c)
gh-16075
2025-08-16 09:51:18 -05:00
Ofek
96103f044f Fix #8000: stop forcing dwarf 4 (#8036) gh-16074 2025-08-16 17:39:09 +03:00
aneshlya
c90c0a8a74 Add ISPC v1.28.0 (#8032)
ISPC v1.28.0 has been released. Related infra change:
https://github.com/compiler-explorer/infra/pull/1762
gh-16070
2025-08-15 14:58:14 -05:00
Matt Godbolt
1c918c3366 Mg/cefs mount prop (#8033)
makes the root bindmount a "slave" which means it gets all host mount
point change notifications, needed for cefs automounting. Security
tradeoffs mentioned in compiler-explorer/nsjail#2
gh-16066
2025-08-14 17:09:07 -05:00
Matt Godbolt
56753543d7 Mount cefs into the jails (#8030)
This _maybe_ shows an issue - users could find _anything_ in cefs so we
need to make sure we don't ever put privileged stuff in cefs.
gh-16062
2025-08-14 10:11:33 -05:00
kevinjeon-g
ffaf897823 Update dex2oat versions (35.13, 35.14, android 16) (#8027) gh-16061 2025-08-14 10:11:11 -05:00
Albert Andaluz
e575fd6c0d Add C++ library fusedkernellibrary vBeta-0.1.9 (#8026)
This PR adds the C++ library **fusedkernellibrary** version Beta-0.1.9
to Compiler Explorer.

- GitHub URL:
https://github.com/Libraries-Openly-Fused/FusedKernelLibrary


Related PR: https://github.com/compiler-explorer/infra/pull/1755

---
_PR created with
[ce-lib-wizard](https://github.com/compiler-explorer/ce-library-wizard)_

---------

Co-authored-by: Albert Andaluz <albertandaluz@hotmail.com>
Co-authored-by: Patrick Quist <partouf@gmail.com>
gh-16060
2025-08-14 10:10:02 -05:00
narpfel
5d1d7cf77b Fix demangling for symbols with dots in jump instructions (#8028)
For example Rust on AArch64: https://godbolt.org/z/e3q9Wv7zj
gh-16059
2025-08-14 10:09:02 -05:00
Matt Godbolt
e9390bce6c Fix gcc 15.2 semver gh-16040 2025-08-12 09:00:34 -05:00
narpfel
68db4ca482 Remove unused method AsmParser.labelFindFor (#8022)
`AsmParser.labelFindFor` was only called in tests.
gh-16037
2025-08-12 08:50:53 -05:00
narpfel
f289b79f1d Don’t filter .set directives that declare merged functions (#8021)
Resolves #2409.
gh-16031
2025-08-11 14:31:44 -05:00
narpfel
82407976d1 Accept multiple dots in symbol names for jump to label (#8018)
Some compilers emit symbol names with multiple dots, e. g. Clang for
static data (like string literals) or GCC for function clones (e. g. due
to interprocedural constant propagation).

Test cases: https://godbolt.org/z/dGbGncnh8,
https://godbolt.org/z/dhrGGqrjo
gh-16030
2025-08-11 14:28:06 -05:00
Jiawei
0bc558f7e8 Bump Binutils version into 2.45 when using GCC 15.1. (#8003)
Bump Binutils version into 2.45 when using GCC 15.1.

The change form 2.44 into 2.45 includes some new assembler features, the
details please check


https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=gas/NEWS;h=2e9538bd2736b4108cc5a383802c75f5feacfbc4;hb=2bc7af1ff7732451b6a7b09462a815c3284f9613

Signed-off-by: Jiawei <jiawei@iscas.ac.cn>
gh-16029
2025-08-11 14:22:30 -05:00
Patrick Quist
774325dbd0 Update Compiler-Args-Debugging.md gh-16026 2025-08-11 20:50:04 +02:00
Patrick Quist
64c842e3f6 rename gh-16025 2025-08-11 20:45:30 +02:00
Partouf
6391946056 compiler-args-app documentation gh-16024 2025-08-11 20:42:40 +02:00
Matt Godbolt
2ae38a0c3f Make argument parsers instances instead of static classes (#8017)
- Made parsers stateful instances instead of shared static state (for
mllvm options). Fixes #8011 as this is caused by multiple clang-based
compilers being run concurrently and stomping over each others' state.
- passes `Compiler` to the constructor, which removes some param passing
- Added some missing awaits
- Tried to get things less dependent on `examples`, only `go` needs it
- Spotted that `zig` c++ might have issues in discovery
- Fly-by fixed a broken go path in ppc64le_gl122
- removed a redundant override in coccinelle
- made the mojo parser actually use the parser it defined
- canonified tablegen's special method
- 

I changed the zig parser too but as best I can tell it was broken before
(the `1` return value from the command it runs:)

```
ubuntu@ip-172-30-0-164:/infra/.deploy$ /opt/compiler-explorer/zig-0.14.1/zig c++ -mllvm --help-list-hidden /infra/.deploy/examples/c++/default.cpp -S -o /tmp/output.s
...
  --x86-use-vzeroupper                                                       - Minimize AVX to SSE transition penalty
  --xcore-max-threads=<number>                                               - Maximum number of threads (for emulation thread-local storage)
/infra/.deploy/examples/c++/default.cpp:1:1: error: FileNotFound
```
return code 1 (means it's not cached)

---------

Co-authored-by: Partouf <partouf@gmail.com>
gh-16021
2025-08-11 12:14:13 -05:00
A. R. Shajii
bea6e67715 Add Codon Python compiler (#8008) gh-16018 2025-08-11 11:14:26 -05:00
Marc Poulhiès
1a4861fd1a Add 24 cross GCC 15.2
refs https://github.com/compiler-explorer/compiler-explorer/issues/7948

Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
gh-16012 gh-16010
2025-08-10 09:15:56 +02:00
Marc Poulhiès
2cc2c9cd9a Add GCC 15.2 native intel
refs https://github.com/compiler-explorer/compiler-explorer/issues/7948

Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
2025-08-10 09:15:56 +02:00
Matt Godbolt
56cf9859c3 Disable failed assertion gh-16005 2025-08-09 14:27:40 -05:00
Julien Marrec
96f00588ca #2812 - Add RE2 (#7594) gh-15996 2025-08-09 20:31:38 +02:00
Ofek
a85260bc27 Fix #8009: Allow quotes as part of labels (#8015) gh-15993 2025-08-09 20:21:31 +02:00
Ofek
ce3e976acd Fix #8013: Pinkify opt-pipeline view (#8016) gh-15990 2025-08-09 20:59:49 +03:00
Ofek
fbfcd52dd5 Fix #8010: detection of jmp targets in python cfg (#8012) gh-15981 2025-08-09 16:53:58 +03:00
Matt Godbolt
4ff8e7917d Migrate 'wine' msvc to windows (#8005)
- Converts all "wine" compilers to be "ex wine" in Windows. uses
different IDs to avoid clashes BUT aliases in the old IDs.
- removes wine and firejail config
gh-15967
2025-08-07 15:47:23 -05:00