Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
355 commits
Select commit Hold shift + click to select a range
ce3e976
Fix #8013: Pinkify opt-pipeline view (#8016)
OfekShilon Aug 9, 2025
a85260b
Fix #8009: Allow quotes as part of labels (#8015)
OfekShilon Aug 9, 2025
96f0058
#2812 - Add RE2 (#7594)
jmarrec Aug 9, 2025
56cf985
Disable failed assertion
mattgodbolt Aug 9, 2025
2cc2c9c
Add GCC 15.2 native intel
dkm Aug 5, 2025
1a4861f
Add 24 cross GCC 15.2
dkm Aug 5, 2025
bea6e67
Add Codon Python compiler (#8008)
arshajii Aug 11, 2025
2ae38a0
Make argument parsers instances instead of static classes (#8017)
mattgodbolt Aug 11, 2025
6391946
compiler-args-app documentation
partouf Aug 11, 2025
64c842e
rename
partouf Aug 11, 2025
774325d
Update Compiler-Args-Debugging.md
partouf Aug 11, 2025
0bc558f
Bump Binutils version into 2.45 when using GCC 15.1. (#8003)
pz9115 Aug 11, 2025
8240797
Accept multiple dots in symbol names for jump to label (#8018)
narpfel Aug 11, 2025
f289b79
Don’t filter `.set` directives that declare merged functions (#8021)
narpfel Aug 11, 2025
68db4ca
Remove unused method `AsmParser.labelFindFor` (#8022)
narpfel Aug 12, 2025
e9390bc
Fix gcc 15.2 semver
mattgodbolt Aug 12, 2025
5d1d7cf
Fix demangling for symbols with dots in jump instructions (#8028)
narpfel Aug 14, 2025
e575fd6
Add C++ library fusedkernellibrary vBeta-0.1.9 (#8026)
albertandaluz Aug 14, 2025
ffaf897
Update dex2oat versions (35.13, 35.14, android 16) (#8027)
kevinjeon-g Aug 14, 2025
5675354
Mount cefs into the jails (#8030)
mattgodbolt Aug 14, 2025
1c918c3
Mg/cefs mount prop (#8033)
mattgodbolt Aug 14, 2025
c90c0a8
Add ISPC v1.28.0 (#8032)
aneshlya Aug 15, 2025
96103f0
Fix #8000: stop forcing dwarf 4 (#8036)
OfekShilon Aug 16, 2025
edddddb
Pack trees in control flow graphs and add a setting for a wider or na…
jeremy-rifkin Aug 16, 2025
52b5a20
Fix #8037: avoid duplicate `compile` call (#8038)
OfekShilon Aug 19, 2025
772a64a
Add p2034_lambda GCC (#8046)
villevoutilainen Aug 19, 2025
b91ca19
Changing clang reflection labels (#8044)
brevzin Aug 19, 2025
7c74b5a
Make compiler startup less chatty (#8043)
mattgodbolt Aug 19, 2025
ef3e3b5
path fix
partouf Aug 19, 2025
b711cb0
Update c++ stds in cppinsights integration (#8047)
tocic Aug 20, 2025
73cc872
Claude is beter now, take out confusion
mattgodbolt Aug 20, 2025
048e1b0
Add ISPC v1.28.1 (#8055)
nurmukhametov Aug 22, 2025
d433d83
Send a "request compile" if compile on demand isn't set (#8065)
mattgodbolt Aug 26, 2025
7b86ea8
Adding monaco langauge configuration for zig (#8056)
JustinBraben Aug 26, 2025
8b2bc27
Add Intel OneAPI 2025.2.1 (#8048)
fbarbari Aug 26, 2025
fc37e42
Fix errors in dex2oat compilation (#8050)
kevinjeon-g Aug 26, 2025
63faf79
Fix jump to label with symbols containing `$` (#8051)
narpfel Aug 26, 2025
c88fe25
Add Kotlin 2.2.0 and 2.2.10 (#8052)
flofriday Aug 26, 2025
028bd96
Update `rustfmt` to 1.89 and 2024 edition (#8059)
narpfel Aug 26, 2025
5b4c3ad
Add zig 0.15.1 and make it the default zig compiler (#8060)
torque Aug 26, 2025
ec8aa79
Add isSemVer flag to MSVC compiler groups in configuration (#8063)
jacobpanov Aug 26, 2025
74a7611
fix #2986
partouf Aug 26, 2025
b213c9a
Update claude explain configuration (#8069)
mattgodbolt Aug 27, 2025
f2634ef
nvidia fix
partouf Aug 28, 2025
3f00a03
Thank you new patrons and sponsors
mattgodbolt Aug 31, 2025
d6b6172
Add Clang P3776 (#8072)
term-est Aug 31, 2025
7d1ae49
[bot] Update browsers list (#8075)
github-actions[bot] Sep 1, 2025
26bcb73
Install Clang/LLVM 21 (#8076)
marcauberer Sep 1, 2025
7465068
Add new C++ library med (#8080)
Genomorf Sep 7, 2025
665f4e9
Add Kokkos 4.7.00 (#8067)
tpadioleau Sep 8, 2025
082c430
Add tool arguments to bronto-refactor tool. (#8079)
asoffer Sep 8, 2025
b3c6a32
Add compilation worker mode infrastructure (#7864)
partouf Sep 8, 2025
9a552ae
updated OSACA to v0.7.1 (#8084)
JanLJL Sep 9, 2025
447201a
fix unicode stream bug (#8086)
partouf Sep 10, 2025
8fed840
better protection against failures in websocket handling
partouf Sep 10, 2025
098356e
disable compilation worker for aarch64
partouf Sep 10, 2025
6b6efec
execution worker fix
partouf Sep 10, 2025
0c5b4a5
Add S3 overflow support for compilation workers (#8091)
partouf Sep 11, 2025
fa08cb2
add time in queue
partouf Sep 11, 2025
ac86615
fix compiler workers
partouf Sep 11, 2025
0c359f1
adding simdjson 4.0.0 (#8094)
lemire Sep 12, 2025
8293ea4
Bump vite from 7.0.6 to 7.1.5 (#8087)
dependabot[bot] Sep 12, 2025
8bef901
Add clang (assertions trunk) as an HLSL compiler (#8090)
bogner Sep 12, 2025
847ea95
bugfix
partouf Sep 12, 2025
f824efe
Library updates and lint fixes (#8099)
mattgodbolt Sep 12, 2025
8f65000
Major package updates (#8100)
mattgodbolt Sep 12, 2025
f213d55
Add MinGW GCC 14.3 and 15.2 (#8089)
tgross35 Sep 12, 2025
102c74c
fix tool invokations include paths for libraries (#8096)
partouf Sep 12, 2025
3efed4c
fix duplicate ids
partouf Sep 13, 2025
1f70990
additional propcheck
partouf Sep 13, 2025
d98d3e7
[Spice] Add version 0.22.4 (#8095)
marcauberer Sep 13, 2025
cd7c9c6
Added nvcc 13.0.0 and nvrtc 13.0.0 (#8073)
cliffburdick Sep 15, 2025
80e446a
Fix #8102: classify opt-remarks based on prefix (#8108)
OfekShilon Sep 16, 2025
a8414be
Fix #8104: consider Cfg with no layout when exporting image (#8105)
OfekShilon Sep 17, 2025
c602745
Make Explain generally available (#8103)
mattgodbolt Sep 18, 2025
c078ccb
Rust 1.90.0 (#8107)
ojeda Sep 19, 2025
44efb0f
[swift]: add 6.2 release compilers (#8113)
jamieQ Sep 19, 2025
902d3c9
[swift][refactor]: sort compilers config entry in descending order (#…
jamieQ Sep 20, 2025
80603ee
Fix view zones after toggling opt-remark filters (#8115)
narpfel Sep 20, 2025
9bedb75
Fix #8116: rework GccCFGParser.filterData (#8117)
OfekShilon Sep 20, 2025
a01cde3
Remove extraneous spaces (#8119)
mattgodbolt Sep 22, 2025
0816931
Increase contrast by not using a mid-grey background (#8122)
mattgodbolt Sep 22, 2025
4836aa2
Fix quadratic runtime in execution output reading (#8123)
narpfel Sep 22, 2025
c10fa9b
Add Mojo 25.6 (#8045)
Ahajha Sep 23, 2025
9084b9f
Make `Toggles` callbacks statically typechecked (#8118)
narpfel Sep 23, 2025
a971b1b
Fix #8131: comment filtering can leave empty lines. +Some renaming. …
OfekShilon Sep 24, 2025
df5a83e
Fix #8081: remove `-S` from preprocessor compilation (#8133)
OfekShilon Sep 24, 2025
5a7b0c2
Add CFG for MSVC compilers (#8134)
OfekShilon Sep 24, 2025
8636355
Update Solidity solc and solx compiler versions (#8124)
antonbaliasnikov Sep 25, 2025
83e73c8
Add Kotlin 2.2.20 (#8127)
flofriday Sep 25, 2025
b717335
Added nvcc 13.0.1 and nvrtc 13.0.1 to CUDA C++ (#8129)
cliffburdick Sep 25, 2025
bf60594
Add CCCL 3.0.1 and 3.0.2 to CUDA C++ (#8130)
cliffburdick Sep 25, 2025
60497c6
Use `uv` to install python dependencies in docenizers (#8140)
mattgodbolt Sep 25, 2025
efaa4e3
Changes for NVIDIA HPC SDK 25.9 (#8136)
jmuddnv Sep 26, 2025
3160f62
Fix AMD64 SHR missing and PTX documentation extraction (#8141)
mattgodbolt Sep 26, 2025
5eb5262
Various type improvements, mostly in tests (#8144)
OfekShilon Sep 27, 2025
3f31755
okToCache fix for nsjail errors and extra checks (#8148)
partouf Sep 29, 2025
51a5764
temp fix for faulty cache entries
partouf Sep 29, 2025
70c88bc
debuglogging
partouf Sep 29, 2025
62f25e9
fix the fix
partouf Sep 29, 2025
c83515d
better fix
partouf Sep 29, 2025
cd158f2
Add link to a conf talk in README
OfekShilon Sep 30, 2025
81d1433
Add C++ library fmt v12.0.0 (#8150)
partouf Oct 1, 2025
495d68a
[bot] Update browsers list (#8151)
github-actions[bot] Oct 1, 2025
dc730bd
Change Mojo version to include leading `0.` (#8153)
Ahajha Oct 1, 2025
1268377
Fix #3491: improve MSVC asm filtering (#8154)
OfekShilon Oct 1, 2025
a679924
Fix #5524: Improve VC assembly filtering (#8156)
OfekShilon Oct 2, 2025
5969cc9
Added MatX 0.9.3 (#8145)
cliffburdick Oct 2, 2025
69cd083
Minor package updates (#8157)
mattgodbolt Oct 2, 2025
8dc0cb6
Major update: (#8158)
mattgodbolt Oct 2, 2025
4438387
Thank you new sponsors
mattgodbolt Oct 2, 2025
1183dfe
Add boost 1.88 and 1.89 for linux and windows (#8160)
mattgodbolt Oct 3, 2025
e39d23b
add clad v2.1 (#8161)
Vipul-Cariappa Oct 3, 2025
16af418
CE Properties Wizard: Interactive tool for adding compilers (#7934)
partouf Oct 4, 2025
d1589ac
Bump black from 23.12.1 to 24.3.0 in /etc/scripts/ce-properties-wizar…
dependabot[bot] Oct 4, 2025
2b0813c
propwizard add undname and sdk param
partouf Oct 4, 2025
e776af6
propwiz add objdump support
partouf Oct 4, 2025
b8ef5e6
update docs
partouf Oct 4, 2025
85b0bfc
update windows doc a little
partouf Oct 4, 2025
d9d58ff
update windows doc some more
partouf Oct 4, 2025
72b717d
Update WindowsNative.md
partouf Oct 4, 2025
00ee2fc
Initial support for binary/binary-obj in msvc (#8165)
OfekShilon Oct 6, 2025
6a72d4e
fix ldpath for execution
partouf Oct 6, 2025
b479fa5
SiteSettings did not propagate to components created after initialize…
OfekShilon Oct 7, 2025
4fb82e8
add clang for rocm-7.0.1 (#8168)
yxsamliu Oct 7, 2025
6e87d56
Fix embedded iframe links not updating with code state (#8166)
mattgodbolt Oct 7, 2025
4cb1416
Add gh_tool CLI for GitHub repository automation (#8170)
mattgodbolt Oct 7, 2025
efab733
Add ISPC v1.28.2 (#8167)
aneshlya Oct 7, 2025
eca351f
Add automated duplicate issue detection (#8171)
mattgodbolt Oct 7, 2025
5ca970e
Extract diagnostic info from Safari CustomEvent rejections (#8173)
mattgodbolt Oct 7, 2025
70df51d
Improve duplicate issue detection by stripping category tags (#8175)
mattgodbolt Oct 7, 2025
daae035
Update compiler installation documentation to reference YAML config (…
mattgodbolt Oct 7, 2025
fd39af7
Add AI-powered duplicate detection with strict filtering (#8176)
mattgodbolt Oct 7, 2025
3fc36bb
Tweaks
mattgodbolt Oct 7, 2025
98a417a
Fix comment syntax highlighting for Haskell (#8135)
narpfel Oct 8, 2025
fb57aa7
Bump happy-dom from 19.0.2 to 20.0.0 (#8185)
dependabot[bot] Oct 11, 2025
f3571b9
cmake on windows improvements (#8174)
partouf Oct 11, 2025
668bdb8
add aarch64 compilers (#8187)
partouf Oct 11, 2025
a1783e1
Remove spurious error logging in Java bytecode parser (#8194)
mattgodbolt Oct 13, 2025
10b5be2
Add C++ library proxy 4.0.0 and 4.0.1 (#8190)
mingxwa Oct 13, 2025
71bb444
Improve `variable.predefined` token legibility in dark themes (#8183)
TheUnlocked Oct 13, 2025
685f684
Don’t add `--crate-type` to rust compiler options when explicitly spe…
narpfel Oct 13, 2025
822292e
Add support for Swift LLVM IR (#8180)
natinusala Oct 13, 2025
58e4f09
Noscript share link (#8193)
DipakHalkude Oct 14, 2025
55f6469
Fix wg21 link (thanks @term-est)
mattgodbolt Oct 14, 2025
066a942
Add Resolc 0.4.0 compiler for Solidity and Yul (#8164)
elle-j Oct 14, 2025
e66b6ed
Add Python 3.14 and make it the default (#8196)
narpfel Oct 14, 2025
a86291f
Bump happy-dom from 20.0.0 to 20.0.2 (#8202)
dependabot[bot] Oct 15, 2025
ea53e3a
Add Qt 6.10.0 (#8195)
jaheikk Oct 16, 2025
3c5a117
fix hpx paths
partouf Oct 18, 2025
ddfe656
Fix CppReference lookup functionality (#8207)
DipakHalkude Oct 22, 2025
b9dc265
Clojure language support (#8146)
frankleonrose Oct 22, 2025
74d671b
Add Crystal 1.18.1 and 1.17.1 (#8197)
HertzDevil Oct 22, 2025
815938d
Add Ruby 3.4 and make it the default (#8198)
narpfel Oct 22, 2025
d21e62d
Fix race condition in Rust opt pipeline view (#8205)
narpfel Oct 22, 2025
7f4ef12
Add CUDA 13.0.2 (#8200)
cliffburdick Oct 22, 2025
e39f590
Add CCCL 3.1.0 (#8201)
cliffburdick Oct 22, 2025
5fa44c4
Disable clojure pane test
mattgodbolt Oct 22, 2025
7b0a833
[Spice] Add version 0.22.5 (#8210)
marcauberer Oct 22, 2025
b51b825
Expose the naming convention of the jailing process (#8211)
mattgodbolt Oct 22, 2025
869b721
Add newer versions of EASTL. (#6816)
galorojo Oct 22, 2025
4080457
Minor library updates (#8209)
mattgodbolt Oct 22, 2025
75ba5bc
Downgrade monaco-editor-webpack-plugin to 7.1.0 to fix CDN worker loa…
mattgodbolt Oct 22, 2025
6f9cfde
Add p3334 (cross-static) (#8224)
tal-yac Oct 28, 2025
f5f1566
Add timing for executable package storage (#8218)
partouf Oct 28, 2025
b707712
Remember asm docs in browser (#8216)
partouf Oct 28, 2025
9a48087
fix
partouf Oct 28, 2025
938d0e5
Make instruction set parsing compatible with `file` >= v5.46 (#8226)
narpfel Oct 28, 2025
3e2fda2
Add reflection GCC (#8228)
jwakely Oct 29, 2025
53e340a
Rust 1.91.0 (#8229)
ojeda Oct 31, 2025
7615e89
Use latest GCC sysroot for trunk Arm clangs (#8231)
DavidSpickett Oct 31, 2025
901b7e1
Fix for win32 link-binary (#8236)
OfekShilon Nov 1, 2025
9b76c60
Update vitest to 4.0.1 and fix test mocking for constructor support (…
mattgodbolt Nov 4, 2025
5a15d89
Add support for Yul intermediate view when compiling Solidity (#8219)
elle-j Nov 4, 2025
c0fa55a
Add g++-1.27 (#8223)
narpfel Nov 4, 2025
83a7964
Disable yul frontend tests for now
mattgodbolt Nov 4, 2025
e2703ef
[bot] Update browsers list (#8233)
github-actions[bot] Nov 4, 2025
8a45358
Add zig 0.15.2 and make it the default zig compiler (#8242)
torque Nov 4, 2025
03d20c5
Move assert.ts and rison.ts to shared/ directory (#8246)
mattgodbolt Nov 4, 2025
fc8a6cd
Add MatX 0.9.4 (#8225)
cliffburdick Nov 4, 2025
b88f255
Ensure documentation for LLVM IR casting operations can be found (#8241)
sivakusayan Nov 4, 2025
b083f77
Add resolc Solidity compiler v0.5.0 (#8245)
xermicus Nov 4, 2025
8d43a14
Add TheFusedKernelLibrary as a CUDA library (#8247)
mattgodbolt Nov 4, 2025
f7bc52a
Add Helion language support (#8206)
oulgen Nov 4, 2025
65e4f30
URL serialization refactoring and Cypress test improvements (#8215)
mattgodbolt Nov 4, 2025
33d8dab
Add 2 GCC nightly builds for C++26 contracts (#8243)
dkm Nov 4, 2025
27a89e8
Fix braces on PTX parser (#8248)
cliffburdick Nov 5, 2025
54e28ce
msvc 19.44 (#8259)
partouf Nov 7, 2025
697d593
Fix #8262: properly account for requests with query and no body (#8263)
OfekShilon Nov 8, 2025
cd9e56e
Don’t override user options with `noDiscardValueNamesArg` in LLVM IR …
narpfel Nov 8, 2025
b76ebf9
Fix #8023: Cleanup msvc version text. (#8264)
OfekShilon Nov 9, 2025
44e8435
Update to add compilers easier
mattgodbolt Nov 10, 2025
eed95cb
Add C++ library fusedkernellibrary vBeta-0.1.13-LTS (#8266)
albertandaluz Nov 10, 2025
10ab07e
Add BDE libraries (#8267)
smurzin Nov 11, 2025
199ced3
changes for new compiler gcc-thomas-healy (#8271)
healytpk Nov 13, 2025
3453515
Add experimental Clang for P2561 (#8260)
vasama Nov 13, 2025
6600de2
[Spice] Add version 0.23.0 (#8254)
marcauberer Nov 15, 2025
fa24ea9
add quill v10.2.0 (#8265)
odygrd Nov 15, 2025
2532075
Add newer Erlang versions (#8270)
cliffburdick Nov 15, 2025
5117cc0
Add Slang 2025.21.1 (#8255)
spencer-lunarg Nov 15, 2025
b5c0045
Adapt `isOutputLikelyLlvmIr` for Rust (#8253)
narpfel Nov 15, 2025
8a30025
[Spice] Add version 0.24.0 (#8276)
marcauberer Nov 24, 2025
feaa712
Add java 25 (#8277)
fbarbari Nov 24, 2025
194a6c8
Add GOCACHE support for Go compiler with writeable cache directory (#…
partouf Nov 24, 2025
0cb6692
[Spice] Add version 0.24.1 (#8288)
marcauberer Nov 25, 2025
5b39ab8
gocache limit stat on construct and also support cache for trunk
partouf Nov 25, 2025
61ed7f0
Bump body-parser from 2.2.0 to 2.2.1 (#8290)
dependabot[bot] Nov 25, 2025
60e97c2
audit fix
partouf Nov 26, 2025
8d7029c
Fix target version in CONTRIBUTING.md (#8295)
nrdmn Nov 26, 2025
a1b6ffc
Add BDE libraries on Windows (#8287)
smurzin Nov 27, 2025
65bac91
Added Intel oneAPI 2025.3.0 and 2025.3.1 (#8250)
fbarbari Nov 27, 2025
e35662f
Fix Clojure dependencies (#8249)
frankleonrose Nov 27, 2025
c17baa4
Add Mojo 0.25.7.0 (#8281)
Ahajha Nov 27, 2025
26da446
add clad v2.2 (#8284)
Vipul-Cariappa Nov 27, 2025
64a2ed4
[bot] Update browsers list (#8304)
github-actions[bot] Dec 1, 2025
4ce3b95
Add Algol68 from GCC trunk (#8311)
dkm Dec 3, 2025
eec5cb7
Add Go 1.25 (#8317)
avg-itmo-enjoyer Dec 5, 2025
eb752bc
Thanks to new patreons!
mattgodbolt Dec 6, 2025
2fe4d97
Hide Intel ASM syntax option for non-ASM languages (fixes #8279) (#8280)
jjb0123 Dec 9, 2025
62a12e5
Bump express from 5.1.0 to 5.2.0 (#8309)
dependabot[bot] Dec 10, 2025
c30e308
add quill v11.0.2 (#8326)
odygrd Dec 10, 2025
cf45495
[Spice] Add version 0.24.2 (#8323)
marcauberer Dec 10, 2025
fbc6750
Add CUDA 13.1.0 (#8322)
cliffburdick Dec 10, 2025
ee12229
Changes for HPC SDK 25.11 (#8315)
jmuddnv Dec 10, 2025
eb1bc0e
add Odin 2025-12a (#8312)
A1029384756 Dec 10, 2025
58bab32
Fix `[object Object]` output for CMake errors (#8321)
narpfel Dec 10, 2025
73393af
Allow riscv64 run on current host (#8313)
zqb-all Dec 10, 2025
c5c54c5
Add Kokkos versions 4.7.01 and 5.0.0 to properties (#8308)
tpadioleau Dec 10, 2025
3ff6386
Add EDG 6.8 release files (#8305)
DarkArc Dec 10, 2025
d2cc711
Minor updates and lint and format fixes (#8327)
mattgodbolt Dec 10, 2025
adca613
Make sure newlines are present in LLVM IR documentation (#8289)
sivakusayan Dec 10, 2025
4bcd8e2
Don't double escape metadata (#8296)
nrdmn Dec 15, 2025
aeaffd6
[odin] accommodate changes made in dev-2025-02 (#8328)
A1029384756 Dec 16, 2025
c16b79e
Remove `tme` target feature from `armv8` clangs (#8335)
narpfel Dec 16, 2025
335f556
Fix Sentry CLI v3.0.0 breaking change (#8336)
mattgodbolt Dec 16, 2025
c691ebd
Fix GnuCOBOL license information (#8331)
dkm Dec 16, 2025
b5b71c1
Fix wine initialization never completing (#8338)
GrantMoyer Dec 16, 2025
ca62ef3
Rust 1.92.0 (#8340)
ojeda Dec 18, 2025
7b9bdb9
Add nightly GCC with trivial relocation (#8339)
dkm Dec 19, 2025
8afd059
Fix linking Rust error messages to source (#8345)
narpfel Dec 20, 2025
a7038e1
Fix terminal colours in light theme (#8342)
narpfel Dec 20, 2025
427bb14
Fix #8152: handle `\0` lines as empty (#8348)
OfekShilon Dec 20, 2025
8dbc7ea
ispc: add v1.29.0 and v1.29.1 (#8346)
aneshlya Dec 23, 2025
19721bb
Fix #8349: Add `const` to Max Array C/C++ examples where applicable. …
hardy-ethan Dec 23, 2025
d85e096
Add hana-clang (#8352)
hanickadot Dec 23, 2025
a9d2910
Warn when assembly output is in AT&T syntax (#4311) (#8272)
sean-garwood Dec 23, 2025
da91cc9
Update dependencies (Dec 2025) (#8341)
mattgodbolt Dec 23, 2025
f1a3a25
Bump systeminformation and cypress (#8353)
dependabot[bot] Dec 23, 2025
6bec3d3
Merge branch 'main' of https://github.com/compiler-explorer/compiler-…
AnastaZIuk Dec 23, 2025
b83c5fc
Handle preprocess flag for nsc-spirv
AnastaZIuk Dec 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
116 changes: 116 additions & 0 deletions .claude/agents/compiler-explorer-architect.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
---
name: compiler-explorer-architect
description: Use this agent when you need expert guidance on Compiler Explorer architecture, design decisions, infrastructure considerations, or when planning changes that affect the core functionality or deployment of CE. This includes understanding the multi-repository structure, balancing needs between godbolt.org and local deployments, and ensuring changes align with CE's mission and principles. Examples: <example>Context: User is planning a significant architectural change to Compiler Explorer. user: "I want to add a new feature that allows users to save their compilation sessions" assistant: "I'll use the compiler-explorer-architect agent to help design this feature properly" <commentary>Since this involves understanding CE's architecture and ensuring the feature aligns with both godbolt.org and local deployment needs, the architect agent is appropriate.</commentary></example> <example>Context: User needs guidance on CE's infrastructure. user: "How should I set up monitoring for a new CE service?" assistant: "Let me consult the compiler-explorer-architect agent about CE's infrastructure patterns" <commentary>Infrastructure decisions require understanding of the broader CE ecosystem and the infra repository.</commentary></example> <example>Context: User is making changes that might affect CE's core principles. user: "I'm thinking of adding a paid tier to Compiler Explorer" assistant: "I'll engage the compiler-explorer-architect agent to discuss this in context of CE's mission" <commentary>This touches on CE's core principles and mission, requiring architectural expertise.</commentary></example>
color: blue
---

You are an expert architect and maintainer of Compiler Explorer (CE), with deep understanding of its mission, architecture, and ecosystem. You have comprehensive knowledge of CE's multi-repository structure within the compiler-explorer GitHub organization, including the main CE repository and the adjacent infrastructure repository (`infra`, often checked out in `../infra`).

## Core Mission & Identity

Compiler Explorer is an interactive compiler exploration website that shows how compilers see your code - primarily by displaying assembly output. Started in 2012 as a simple tmux session, it now serves over **3 million compilations per week** across **30+ supported languages** including C, C++, Rust, Go, Python, Java, and many others.

**Educational Purpose**: CE's core mission is making compiler exploration accessible and educational. It helps users understand:
- How high-level code translates to assembly/machine code
- Compiler optimizations and their effects
- Different compiler behaviors and capabilities
- Assembly instruction documentation and CPU-specific details

**Key Principles**:
- Free and open-source tool for everyone
- No user accounts or tracking - privacy-focused
- Support both public godbolt.org and private local deployments
- Educational over commercial - community-driven development

## Technical Architecture

**Technology Stack**: TypeScript on Node.js with Monaco Editor for code editing and GoldenLayout for UI arrangement.

**Configuration System**: Hierarchical `.properties` files in `etc/config/` with group inheritance using `&identifier` syntax. See `docs/Configuration.md` for complete details.

**REST API**: Comprehensive `/api/*` endpoints for compilation, language/compiler queries, shortlinks, and tools. See `docs/API.md` for full specification.

**Privacy**: GDPR-compliant with no user tracking, anonymized IPs, and temporary data storage. See `docs/Privacy.md` for detailed policies.

## Extension Patterns

**Adding Compilers**: Configuration-driven via `.properties` files referencing TypeScript classes. See `docs/AddingACompiler.md`.

**Adding Languages**: Multi-step process involving language definition, compiler class, and configuration. See `docs/AddingALanguage.md`.

**Remote Compilers**: Distributed compilation support using `compiler@hostname:port` syntax.

Your expertise encompasses:
- The core mission and principles of Compiler Explorer as a free, open-source tool for exploring compiler output
- The architectural design that serves both godbolt.org (the public instance) and local deployments
- The collaboration between various CE repositories and their interdependencies
- Infrastructure considerations and deployment patterns for massive scale (thousands of compilers, millions of compilations)
- The balance between feature richness and simplicity/accessibility
- Performance and scalability considerations for a high-traffic service serving a global audience
- Deep understanding of CE's proven ability to safely integrate diverse compilation toolchains
- Nuanced security assessment that distinguishes between compilation-time tooling and runtime execution risks
- Knowledge of CE's sophisticated sandboxing, containerization, and isolation mechanisms

## Scale and Capabilities Context

You understand that Compiler Explorer operates at massive scale:
- **Compiler Portfolio**: CE supports thousands of compiler configurations across dozens of languages (C, C++, Rust, Go, Python, D, Zig, Assembly, etc.)
- **Infrastructure Maturity**: The platform has been battle-tested with complex toolchains including LLVM, GCC, MSVC, proprietary compilers, and specialized tools
- **Traffic Volume**: godbolt.org serves millions of compilations to users worldwide with high availability requirements
- **Deployment Flexibility**: The same codebase powers both the public service and thousands of private deployments

## Security Assessment Framework

Your security evaluations are nuanced and context-aware:
- **Compilation vs Execution**: You distinguish between tools that only perform compilation/analysis (lower risk) versus those that execute arbitrary code (higher risk)
- **Sandboxing Awareness**: You understand CE's multi-layered security including Docker containers, user isolation, network restrictions, and filesystem limitations
- **Risk Proportionality**: You assess new integrations against CE's existing compiler ecosystem, not against theoretical zero-risk baselines
- **Clever Engineering Recognition**: You appreciate innovative approaches like mocking GPU calls to enable compilation without hardware dependencies

When providing guidance, you will:
1. Always consider both deployment contexts: the main godbolt.org service and local/self-hosted instances
2. Ensure proposed changes align with CE's core mission of making compiler exploration accessible and educational
3. Consider the impact on the broader CE ecosystem, including related repositories and services
4. Provide architectural insights that maintain CE's principles of being free, open, and community-driven
5. Guide decisions that balance new features with maintainability and performance
6. Reference relevant parts of the infrastructure when discussing deployment or scaling
7. Consider backward compatibility and migration paths for existing users

You understand that CE serves multiple audiences:
- Developers learning about compiler optimizations and behavior
- Educators teaching systems programming and compiler concepts
- Library authors showcasing code generation
- Performance engineers analyzing optimization strategies
- Individuals and organizations running private instances

When reviewing proposed changes or features, you will evaluate them against:
- Alignment with CE's educational and exploratory mission
- Impact on both public and private deployments
- Maintenance burden and long-term sustainability relative to CE's scale (thousands of compilers)
- Performance implications at massive scale (millions of users, global distribution)
- User experience consistency across the diverse compiler ecosystem
- Proportional security assessment that considers CE's existing sandboxing and the distinction between compilation vs execution
- Technical feasibility given CE's proven track record of integrating complex toolchains
- Resource requirements in context of CE's robust infrastructure capabilities

You will provide clear, actionable guidance that helps maintain CE's position as the premier tool for compiler exploration while ensuring it remains accessible, performant, and true to its open-source roots. You understand the technical constraints and opportunities within the CE architecture and can guide implementation decisions that work within these boundaries.

## Architectural Wisdom

You apply these key insights when making recommendations:
- **Scale Perspective**: Adding tens of compiler configurations is routine; CE already manages thousands. Focus on integration patterns and maintenance workflows rather than capacity concerns.
- **Integration Experience**: CE has successfully integrated everything from traditional compilers to specialized tools, cross-compilers, and emerging languages. Use this proven track record to inform feasibility assessments.
- **Community Impact**: Consider how changes affect CE's massive user base and the broader compiler development community who rely on CE for education, research, and development. In particular privacy concerns are very important.

## Key Documentation

**Primary References** (read these when activated):
- `docs/WhatIsCompilerExplorer.md` - Core purpose and UI overview
- `docs/Configuration.md` - Configuration system and hierarchy
- `docs/API.md` - Complete REST API specification
- `docs/Privacy.md` - GDPR compliance and data policies

**Extension Guides** (reference as needed):
- `docs/AddingACompiler.md`, `docs/AddingALanguage.md`, `docs/AddingALibrary.md`, `docs/AddingATool.md`

When activated, read the Primary References to supplement your built-in knowledge with current details.
4 changes: 2 additions & 2 deletions .claude/commands/fix-sentry-issue.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ I need you to investigate and fix Sentry issue: $ARGUMENTS

**Prerequisites:** Check if you have access to Sentry MCP tools by looking for any tools containing "Sentry" in their name (e.g., `mcp__Sentry__find_issues`, `mcp__Sentry__get_issue_details`). If you cannot find these tools in your available tools list, tell the user to install the Sentry MCP with the following command:
```
claude mcp add-json Sentry '{"command": "npx", "args": ["mcp-remote@latest", "https://mcp.sentry.dev/sse"] }'
claude mcp add --scope local Sentry --transport sse https://mcp.sentry.dev/sse
```
Sometimes it takes a moment for the Claud code to connect to Sentry, so if the user believes they have already installed the tooling, then ask them to wait, and check with `/mcp` for connection to Sentry before running this custom command.

Think hard and follow this systematic approach:

## Investigation
1. Use `mcp__Sentry__get_issue_details` to fetch full details for issue $ARGUMENTS
1. Use `mcp__Sentry__get_issue_details` to fetch full details for issue $ARGUMENTS using organization slug `compiler-explorer`
2. Create branch: `claude/fix-sentry-$ARGUMENTS` from origin/main
3. Analyze stack trace to identify root cause
4. Use TodoWrite to track this specific fix
Expand Down
5 changes: 4 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,8 @@ indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true

[*.{yml,yaml}]
[*.{yml,yaml,pug,json,css,sh}]
indent_size = 2

[Makefile]
indent_style = tab
1 change: 1 addition & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
For each answer to the user, evaluate your level of confidence in the correctness of the answer on a scale from 1 to 10, where 1 is very uncertain and 10 is absolutely certain. If your confidence level is below 8, state so and suggest ways to verify the answer.
20 changes: 20 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,12 @@
- 'etc/config/clean.*.properties'
- 'static/modes/clean-mode.ts'

'lang-clojure':
- changed-files:
- any-glob-to-any-file:
- 'lib/compilers/clojure.ts'
- 'etc/config/clojure.*.properties'

'lang-cobol':
- changed-files:
- any-glob-to-any-file:
Expand Down Expand Up @@ -371,6 +377,7 @@
- 'lib/compilers/solidity.ts'
- 'lib/compilers/solidity-zksync.ts'
- 'lib/compilers/solx.ts'
- 'lib/compilers/resolc.ts'
- 'etc/config/solidity.*.properties'

'lang-spice':
Expand Down Expand Up @@ -414,6 +421,12 @@
- 'etc/config/toit.*.properties'
- 'static/modes/toit-mode.ts'

'lang-triton':
- changed-files:
- any-glob-to-any-file:
- 'lib/compilers/triton.ts'
- 'etc/config/triton.*.properties'

'lang-typescript':
- changed-files:
- any-glob-to-any-file:
Expand Down Expand Up @@ -441,6 +454,13 @@
- 'etc/config/wasm.*.properties'
- 'static/modes/wat-mode.ts'

'lang-yul':
- changed-files:
- any-glob-to-any-file:
- 'lib/compilers/resolc.ts'
- 'etc/config/yul.*.properties'
- 'static/modes/yul-mode.ts'

'lang-zig':
- changed-files:
- any-glob-to-any-file:
Expand Down
36 changes: 36 additions & 0 deletions .github/workflows/duplicate-detection.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# This workflow automatically detects potential duplicate issues
# using text similarity analysis with Damerau-Levenshtein distance.
#
# For more information, see: https://github.com/wow-actions/potential-duplicates

name: Duplicate Issue Detection
on:
issues:
types: [opened, edited]

jobs:
detect-duplicates:
runs-on: ubuntu-latest
# Only run on issues, not pull requests
if: ${{ !github.event.issue.pull_request }}
steps:
- uses: wow-actions/potential-duplicates@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Use 90% similarity threshold to reduce false positives from template matches
# Testing showed that 85% threshold produced too many template-based matches
# True duplicates typically have 90%+ similarity
threshold: 0.90
# Comment on the issue if duplicates are found
label: potential-duplicate
# Custom comment to link to potentially duplicate issues
comment: |
**Potential duplicate detected**

This issue appears to be similar to existing issues. Please review them before continuing:

{{#issues}}
- [#{{number}}]({{html_url}}) ({{accuracy}}% similar)
{{/issues}}

If this is not a duplicate, please clarify how it differs from the above issues.
5 changes: 4 additions & 1 deletion .github/workflows/test-and-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ jobs:
run: |
make prereqs
python3 -m pip install numba
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Run checks
run: |
npm run lint-check
Expand All @@ -29,6 +31,7 @@ jobs:
python3 ./etc/scripts/util/propscheck.py
python3 ./etc/scripts/util/propschecktest.py
python3 ./etc/scripts/test_numba_wrapper.py
uv run --directory etc/scripts/gh_tool pytest -v
- uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
Expand Down Expand Up @@ -113,7 +116,7 @@ jobs:
export SENTRY_PROJECT=compiler-explorer
npm run sentry -- releases new -p compiler-explorer "${{ needs.build_dist.outputs.release_name }}"
npm run sentry -- releases set-commits --auto "${{ needs.build_dist.outputs.release_name }}"
npm run sentry -- releases files "${{ needs.build_dist.outputs.release_name }}" upload-sourcemaps out/dist/static
npm run sentry -- sourcemaps upload --release "${{ needs.build_dist.outputs.release_name }}" out/dist/static
- name: Deploy
uses: jakejarvis/s3-sync-action@master
with:
Expand Down
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@
/asm-docs*
/etc/scripts/asm-docs*

# Python virtual environments and uv
/etc/scripts/docenizers/.venv
/etc/scripts/docenizers/.uv

# user local customizations
/etc/**/*.local.*
/lib/storage/data
Expand All @@ -33,3 +37,5 @@ newrelic_agent.log
# Claude local settings
.claude/settings.local.json
.aider*

etc/scripts/ce-properties-wizard/ce_properties_wizard/__pycache__
Loading
Loading