Skip to content

Add GCC 16.1#8642

Merged
mattgodbolt merged 6 commits intomainfrom
claude/gcc16-ce
Apr 30, 2026
Merged

Add GCC 16.1#8642
mattgodbolt merged 6 commits intomainfrom
claude/gcc16-ce

Conversation

@mattgodbolt-molty
Copy link
Copy Markdown
Contributor

@mattgodbolt-molty mattgodbolt-molty commented Apr 22, 2026

Add GCC 16.1.0 compilers across all supported languages and architectures.

Native (x86-64)

  • C++/C: g161 / g161assert, set as default
  • Ada: gnat161 / gnat161assert
  • D: gdc161 / gdc161assert
  • Fortran: gfortran161 / gfortran161assert
  • Go: gccgo161 / gccgo161assert
  • COBOL: gcccobol161 / gcccobol161assert
  • Modula-2: gm2161 / gm2161assert
  • GIMPLE: gimpleg161 / gimpleg161assert
  • ObjC / ObjC++: objcg161 / objcppg161
  • Rust (GCC): gccrs-g161
  • Algol68: ga68-g161 — GCC 16 is the first release to ship the ga68 frontend; set as default, snapshot remains for trunk

Cross-compilers (23 architectures)

arm, arm-unknown (eabi), arm64, avr, bpf, c6x, hppa, loongarch64, m68k, mips, mips64, mips64el, mipsel, powerpc, powerpc64, powerpc64le, riscv32, riscv64, s390x, sh, sparc, sparc64, sparc-leon.

Note: msp430 uses TI-specific distributions so is not added here.

Depends on: infra PR compiler-explorer/infra#2078 + S3 packages being available.

refs #7948

(I'm Molty, an AI assistant acting on behalf of @mattgodbolt)

🤖 Generated by LLM (Claude, via OpenClaw)

🤖 Generated by LLM (Claude, via OpenClaw)
GCC 16 is the first release to include the Algol68 frontend (ga68).
Add ga68-g161 pointing to gcc-16.1.0, and set it as the default
compiler, with the nightly snapshot remaining for trunk.

🤖 Generated by LLM (Claude, via OpenClaw)
23 cross-compiler architectures: arm, arm-unknown (eabi), arm64,
avr, bpf, c6x, hppa, loongarch64, m68k, mips, mips64, mips64el,
mipsel, powerpc, powerpc64, powerpc64le, riscv32, riscv64, s390x,
sh, sparc, sparc64, sparc-leon.

Note: msp430 uses TI-specific distributions, not gcc-cross-builder.
No Algol68 cross entries needed — ga68 is a native-only frontend.

🤖 Generated by LLM (Claude, via OpenClaw)
All 23 cross-compiler architectures added to c.amazon.properties,
matching the C++ equivalents already in c++.amazon.properties:
arm, arm-unknown (eabi), arm64, avr, bpf, c6x, hppa, loongarch64,
m68k, mips, mips64, mips64el, mipsel, powerpc, powerpc64,
powerpc64le, riscv32, riscv64, s390x, sh, sparc, sparc64, sparc-leon.

🤖 Generated by LLM (Claude, via OpenClaw)
Comment thread etc/config/algol68.amazon.properties Outdated
🤖 Generated by LLM (Claude, via OpenClaw)
@mattgodbolt mattgodbolt marked this pull request as ready for review April 30, 2026 19:17
Copilot AI review requested due to automatic review settings April 30, 2026 19:17
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates Compiler Explorer’s Amazon properties to add GCC 16.1.0 toolchains (native and cross) across multiple language frontends, and sets GCC 16.1-based entries as defaults where applicable.

Changes:

  • Add GCC 16.1 compiler entries (and corresponding “assertions” builds) for multiple languages (C/C++, Ada, Fortran, D, Go, Rust GCC frontend, ObjC/ObjC++).
  • Add/extend GCC 16.1 cross-compiler entries for several architectures (notably in the large C/C++ property files).
  • Update defaults and some tool paths (e.g., demangler/objdumper/linker) to point at GCC 16.1.0.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
etc/config/rust.amazon.properties Switches rust config objdumper/linker to GCC 16.1.0; adds gccrs 16.1 (+assertions) entries.
etc/config/objc.amazon.properties Adds objcg161 (+assertions) and makes it default; updates objdumper/demangler paths.
etc/config/objc++.amazon.properties Adds objcppg161 (+assertions) and makes it default; updates objdumper/demangler paths.
etc/config/modula2.amazon.properties Adds gm2161 (+assertions) and makes it default.
etc/config/go.amazon.properties Adds gccgo161 (+assertions).
etc/config/gimple.amazon.properties Adds gimpleg161 (+assertions) and makes it default; updates objdumper/demangler paths.
etc/config/fortran.amazon.properties Adds gfortran161 (+assertions) and makes it default; updates objdumper/demangler paths.
etc/config/d.amazon.properties Adds gdc161 (+assertions).
etc/config/cobol.amazon.properties Adds gcccobol161 (+assertions); updates objdumper path to GCC 16.1.0.
etc/config/c.amazon.properties Adds cg161 (+assertions) and makes it default; adds many GCC 16.1 cross-compiler entries.
etc/config/c++.amazon.properties Adds g161 (+assertions) and makes it default; adds many GCC 16.1 cross-compiler entries.
etc/config/algol68.amazon.properties Adds ga68-g161 and makes it default; keeps snapshot entry.
etc/config/ada.amazon.properties Adds gnat161 (+assertions) and makes it default.

Comment thread etc/config/c.amazon.properties Outdated

# GCC for BPF
group.cgccbpf.compilers=cbpfg1310:cbpfg1320:cbpfg1330:cbpfg1340:cbpfg1410:cbpfg1420:cbpfg1430:cbpfg1510:cbpfg1520:cbpfgtrunk
group.cgccbpf.compilers=cbpfg1310:cbpfg1320:cbpfg1330:cbpfg1340:cbpfg1410:cbpfg1420:cbpfg1430:cbpfg1510:cbpfg1520:cbpfgtrunk:cbpfg1610
Comment thread etc/config/c.amazon.properties Outdated
group.cgcc32arm.groupName=Arm 32-bit GCC
group.cgcc32arm.baseName=ARM GCC
group.cgcc32arm.compilers=carmhfg54:carmg454:carmg464:carm541:carmg630:carmg640:carm710:carmg730:carmg750:carmg820:carmce820:carm831:carmg850:carm921:carm930:carm1020:carm1021:carm1030:carm1031_07:carm1031_10:carmg1050:carm1100:carm1120:carm1121:carm1130:carmg1140:carm1210:carmg1220:carmg1230:carmg1240:carmg1250:carmg1310:carmg1320:carmug1320:carmg1330:carmug1330:carmg1340:carmug1340:carmg1410:carmug1410:carmg1420:carmug1420:carmg1430:carmug1430:carmg1510:carmug1510:carmg1520:carmug1520:carmgtrunk
group.cgcc32arm.compilers=carmhfg54:carmg454:carmg464:carm541:carmg630:carmg640:carm710:carmg730:carmg750:carmg820:carmce820:carm831:carmg850:carm921:carm930:carm1020:carm1021:carm1030:carm1031_07:carm1031_10:carmg1050:carm1100:carm1120:carm1121:carm1130:carmg1140:carm1210:carmg1220:carmg1230:carmg1240:carmg1250:carmg1310:carmg1320:carmug1320:carmg1330:carmug1330:carmg1340:carmug1340:carmg1410:carmug1410:carmg1420:carmug1420:carmg1430:carmug1430:carmg1510:carmug1510:carmg1520:carmug1520:carmgtrunk:carmg1610:carmug1610
Comment thread etc/config/c++.amazon.properties Outdated
compiler.bpfg1410.demangler=/opt/compiler-explorer/bpf/gcc-14.1.0/bpf-unknown-none/bin/bpf-unknown-none-c++filt
compiler.bpfg1610.exe=/opt/compiler-explorer/bpf/gcc-16.1.0/bpf-unknown-none/bin/bpf-unknown-none-g++
compiler.bpfg1610.semver=16.1.0
compiler.bpfg1610.objdumper=/opt/compiler-explorer/bpf/gcc-16.1.0/bpf-unknown-none/bin/bpf-unknown-none-objdump
- Fix bpfg1610 objdumper: bpf-unknown-none-objdump -> bpf-unknown-objdump
- Move cbpfgtrunk to end of cgccbpf compiler list
- Move carmgtrunk to end of cgcc32arm compiler list

🤖 Generated by LLM (Claude, via OpenClaw)
@mattgodbolt mattgodbolt merged commit f02abbe into main Apr 30, 2026
19 checks passed
@mattgodbolt mattgodbolt deleted the claude/gcc16-ce branch April 30, 2026 19:44
mattgodbolt pushed a commit that referenced this pull request Apr 30, 2026
Fixes a cosmetic bug introduced in #8642: \`armug1610\` and
\`carmug1610\` were missing the \`name\` property, causing both the
regular and unknown-eabi ARM GCC 16.1.0 compilers to appear identically
as "ARM GCC 16.1.0" in the UI.

All other \`armug*\` / \`carmug*\` entries have an explicit \`name=ARM
GCC X.Y.Z (unknown-eabi)\` property; this PR adds the same for 16.1.0.

*(I'm Molty, an AI assistant acting on behalf of @mattgodbolt)*

Co-authored-by: mattgodbolt-molty <mattgodbolt-molty@users.noreply.github.com>
@compiler-explorer-bot
Copy link
Copy Markdown

This is now live

@compiler-explorer-bot compiler-explorer-bot Bot added the live This is now live label Apr 30, 2026
mattgodbolt pushed a commit that referenced this pull request May 1, 2026
Follow-up to #8642 which added native GCC 16.1.0 and cross C/C++
compilers but missed the Ada and Fortran cross-compiler entries.

## Ada (GNAT) cross compilers added (13 architectures)
arm, arm64, hppa, loongarch64, mips, mips64, powerpc, powerpc64,
powerpc64le, riscv64, s390x, sparc, sparc64

Note: sparc-leon skipped — `CT_CC_LANG_ADA` is disabled in the 16.1.0
ct-ng config for that target. Arches with Ada disabled in ct-ng (avr,
bpf, c6x, m68k, mips64el, mipsel, msp430, riscv32) are also skipped.

## Fortran cross compilers added (17 architectures)
arm, arm64, hppa, loongarch64, mips, mips64, mips64el, mipsel, powerpc,
powerpc64, powerpc64le, riscv32, riscv64, s390x, sparc, sparc64,
sparc-leon

refs #7948

*(I'm Molty, an AI assistant acting on behalf of @mattgodbolt)*

🤖 Generated by LLM (Claude, via OpenClaw)

Co-authored-by: mattgodbolt-molty <mattgodbolt-molty@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants