gcc/gcc
Mikael Morin 393713f9c0 Correction régression char_length_23.f90 2025-10-17 15:00:55 +02:00
..
ada Daily bump. 2025-09-24 00:21:37 +00:00
analyzer Daily bump. 2025-09-16 00:20:53 +00:00
c c: Give permerror for excess braces in scalar initializers [PR88642] 2025-09-26 11:12:12 +00:00
c-family gimple-simulate: Add a gimple IR interpreter/simulator 2025-09-26 20:25:57 +02:00
cobol Daily bump. 2025-09-06 00:20:34 +00:00
common RISC-V: Configure Profiles definitions in the definition file. 2025-09-15 21:54:32 -06:00
config amdgcn: Remove vector alignment restrictions 2025-09-26 11:23:06 +00:00
cp Daily bump. 2025-09-26 00:20:03 +00:00
d Daily bump. 2025-08-19 00:20:02 +00:00
diagnostics sarif output: add descriptions to fix-it hints (§3.55.2) [PR121986] 2025-09-23 16:45:12 -04:00
doc doc: Standardize on "bitwise" and "elementwise" 2025-09-26 00:09:32 +02:00
fortran Correction régression char_length_23.f90 2025-10-17 15:00:55 +02:00
ginclude
go
jit Daily bump. 2025-08-14 00:20:55 +00:00
lto
m2 Daily bump. 2025-09-22 00:18:39 +00:00
objc
objcp
po Daily bump. 2025-08-25 00:17:39 +00:00
rtl-ssa rtl-ssa: Maintain clobber_group invariant [PR121757] 2025-09-05 18:38:13 +01:00
rust Daily bump. 2025-08-06 00:21:26 +00:00
sym-exec
testsuite Mise à jour dump c_loc_test_22.f90 2025-10-07 12:10:49 +02:00
text-art
ABOUT-GCC-NLS
BASE-VER
COPYING
COPYING.LIB
COPYING3
COPYING3.LIB
ChangeLog Daily bump. 2025-09-26 00:20:03 +00:00
ChangeLog-1997
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-2017
ChangeLog-2018
ChangeLog-2019
ChangeLog-2020
ChangeLog-2021
ChangeLog-2022
ChangeLog-2023
ChangeLog-2024
ChangeLog.dataflow
ChangeLog.gimple-classes
ChangeLog.graphite
ChangeLog.jit
ChangeLog.lib
ChangeLog.ptr
ChangeLog.tree-ssa
ChangeLog.tuples
DATESTAMP Daily bump. 2025-09-26 00:20:03 +00:00
DEV-PHASE
FSFChangeLog
FSFChangeLog.10
FSFChangeLog.11
LANGUAGES
Makefile.in gimple-simulate: Add a gimple IR interpreter/simulator 2025-09-26 20:25:57 +02:00
ONEWS
README.Portability
acinclude.m4 [gcn] gcc/configure.ac + install.texi - changes to detect HAVE_AS_LEB128 [PR119367] 2025-08-28 11:01:56 +02:00
aclocal.m4
addresses.h
adjust-alignment.cc
alias.cc
alias.h
align.h
alloc-pool.cc
alloc-pool.h
array-traits.h
asan.cc
asan.h targhooks: i386: rename TAG_SIZE to TAG_BITSIZE 2025-08-25 14:17:32 +03:00
attr-fnspec.h
attr-urls.def
attribs.cc fmv: Support mixing of target_clones and target_version. 2025-09-23 09:47:44 +00:00
attribs.h c++: Refactor FMV frontend conflict and merging logic and hooks. 2025-09-23 09:47:44 +00:00
auto-inc-dec.cc
auto-obstack.h
auto-profile.cc Fix precise 0 handling in afdo_propagate_edge 2025-09-26 15:57:31 +02:00
auto-profile.h
avoid-store-forwarding.cc asf: Fix null pointer dereference in is_store_forwarding [PR121303] 2025-08-04 15:34:03 +02:00
avoid-store-forwarding.h
backend.h
basic-block.h
bb-reorder.cc
bb-reorder.h
bbitmap.h
bitmap.cc
bitmap.h
btfout.cc
builtin-attrs.def
builtin-types.def
builtins.cc fab/gimple-fold: Move __builtin_constant_p folding to gimple-fold [PR121762] 2025-09-22 08:44:40 -07:00
builtins.def c: Rename uimaxabs to umaxabs 2025-09-01 21:55:17 +02:00
builtins.h fab/gimple-fold: Move __builtin_constant_p folding to gimple-fold [PR121762] 2025-09-22 08:44:40 -07:00
caller-save.cc
calls.cc middle-end: Fix malloc like functions when calling with void "return" [PR120024] 2025-08-19 08:55:14 -07:00
calls.h
ccmp.cc
ccmp.h
cfg-flags.def
cfg.cc
cfg.h
cfganal.cc tree-optimization/114480 - speedup IDF compute 2025-08-20 13:34:11 +02:00
cfganal.h
cfgbuild.cc
cfgbuild.h
cfgcleanup.cc
cfgcleanup.h
cfgexpand.cc
cfgexpand.h
cfghooks.cc
cfghooks.h
cfgloop.cc
cfgloop.h
cfgloopanal.cc
cfgloopmanip.cc tree-optimization/121829 - bogus CFG with asm goto 2025-09-11 11:16:58 +02:00
cfgloopmanip.h
cfgrtl.cc
cfgrtl.h
cgraph.cc fmv: c++: Change target_version semantics to follow ACLE specification. 2025-09-23 09:47:43 +00:00
cgraph.h fmv: Support mixing of target_clones and target_version. 2025-09-23 09:47:44 +00:00
cgraphbuild.cc
cgraphclones.cc cgraph: Add clone_identifier function. 2025-09-23 09:47:42 +00:00
cgraphunit.cc gimple-simulate: Add a gimple IR interpreter/simulator 2025-09-26 20:25:57 +02:00
cif-code.def
collect-utils.cc
collect-utils.h
collect2-aix.cc
collect2-aix.h
collect2.cc
collect2.h
color-macros.h
combine-stack-adj.cc
combine.cc
common.md
common.opt gcc: introduce the dep_fusion pass 2025-09-06 15:07:27 -06:00
common.opt.urls gcc: regenerate common.opt.urls 2025-09-08 01:30:42 +01:00
compare-elim.cc
conditions.h
config.build
config.gcc AArch64: Implement target hooks for dispatch scheduling. 2025-09-24 16:18:28 +02:00
config.host
config.in Darwin: Handle linker '-no_deduplicate' option. 2025-08-13 18:26:14 +01:00
configure [ppc] adjust configure test for large TOC support 2025-09-15 20:14:32 -03:00
configure.ac [ppc] adjust configure test for large TOC support 2025-09-15 20:14:32 -03:00
context.cc
context.h
convert.cc
convert.h
coretypes.h
coroutine-builtins.def
coroutine-passes.cc
coverage.cc
coverage.h
cppbuiltin.cc
cppbuiltin.h
cppdefault.cc
cppdefault.h
cprop.cc cprop: Allow jump bypassing for single set insns 2025-07-30 15:25:54 +02:00
crc-verification.cc
crc-verification.h
cse.cc
cselib.cc
cselib.h
cstamp-h.in
ctfc.cc ctf: Fix struct size truncation in 32-bit hosts [PR121903,PR121411] 2025-09-15 15:14:59 -07:00
ctfc.h ctf: Fix struct size truncation in 32-bit hosts [PR121903,PR121411] 2025-09-15 15:14:59 -07:00
ctfout.cc
data-streamer-in.cc
data-streamer-out.cc
data-streamer.cc
data-streamer.h
dbgcnt.cc
dbgcnt.def
dbgcnt.h
dce.cc
dce.h
ddg.cc
ddg.h
debug.cc
debug.h
defaults.h defaults.h: Default MAX_FIXED_MODE_SIZE to MAX (BITS_PER_WORD * 2, 64) 2025-08-04 18:02:50 +02:00
dep-fusion.cc gcc: introduce the dep_fusion pass 2025-09-07 12:28:23 -06:00
df-core.cc
df-problems.cc
df-scan.cc
df.h
dfp.cc
dfp.h
diagnostic-context-rich-location.cc Provide new option -fdiagnostics-show-context=N for -Warray-bounds, -Wstringop-* warnings [PR109071,PR85788,PR88771,PR106762,PR108770,PR115274,PR117179] 2025-08-20 15:57:10 +00:00
diagnostic-context-rich-location.h Provide new option -fdiagnostics-show-context=N for -Warray-bounds, -Wstringop-* warnings [PR109071,PR85788,PR88771,PR106762,PR108770,PR115274,PR117179] 2025-08-20 15:57:10 +00:00
diagnostic-core.h
diagnostic-global-context.cc diagnostics: add GCC_DIAGNOSTICS_LOG 2025-08-29 14:39:37 -04:00
diagnostic-highlight-colors.h
diagnostic.h diagnostics: minor cleanups 2025-08-08 16:55:45 -04:00
digraph.cc
digraph.h
dojump.cc
dojump.h
dominance.cc
dominance.h
domwalk.cc
domwalk.h
double-int.cc
double-int.h
dse.cc
dump-context.h optinfo: use enum class 2025-08-04 10:45:31 -04:00
dumpfile.cc optinfo: use enum class 2025-08-04 10:45:31 -04:00
dumpfile.h
dwarf2asm.cc opts: use sanitize_code_type for sanitizer flags 2025-08-18 18:09:07 +03:00
dwarf2asm.h
dwarf2cfi.cc
dwarf2codeview.cc Fix assertion when trying to represent Ada arrays in CodeView 2025-09-01 21:58:44 +01:00
dwarf2codeview.h
dwarf2ctf.cc ctf: fix integer truncations in very large structs [PR121411] 2025-09-09 08:56:54 -07:00
dwarf2ctf.h
dwarf2out.cc dwarf2out: Use DW_LNS_advance_pc instead of DW_LNS_fixed_advance_pc if possible [PR119367] 2025-08-28 10:09:14 +02:00
dwarf2out.h
early-remat.cc
emit-rtl.cc
emit-rtl.h
errors.cc
errors.h
escaped_string.h
et-forest.cc
et-forest.h
except.cc
except.h
exec-tool.in
explow.cc bitint: Allow mode promotion of _BitInt types 2025-08-05 12:52:27 +02:00
explow.h
expmed.cc
expmed.h
expr.cc expr, tree: Ensure get_range_pos_neg is called only on scalar integral types [PR121904] 2025-09-15 10:34:33 +02:00
expr.h expand: Reduce unneeded _BitInt extensions 2025-08-05 12:57:27 +02:00
ext-dce.cc
fibonacci_heap.cc
fibonacci_heap.h
file-find.cc
file-find.h
file-prefix-map.cc
file-prefix-map.h
final.cc
fixed-value.cc
fixed-value.h
flag-types.h opts: use sanitize_code_type for sanitizer flags 2025-08-18 18:09:07 +03:00
flags.h
fold-const-call.cc
fold-const-call.h
fold-const.cc fold: Unwrap MEM_REF after get_inner_reference in split_address_to_core_and_offset [PR121355] 2025-09-03 00:01:26 -07:00
fold-const.h
fold-mem-offsets.cc
fp-test.cc
function-abi.cc
function-abi.h gcse: Fix handling of partial clobbers [PR97497] 2025-08-18 11:12:57 +01:00
function-tests.cc
function.cc expand: Reduce unneeded _BitInt extensions 2025-08-05 12:57:27 +02:00
function.h
fwprop.cc fwprop: Don't propagate asms [PR121253] 2025-08-12 10:21:47 +01:00
gcc-ar.cc
gcc-attribute-urlifier.cc
gcc-diagnostic-spec.cc
gcc-diagnostic-spec.h
gcc-main.cc
gcc-plugin.h
gcc-rich-location.cc
gcc-rich-location.h
gcc-symtab.h
gcc-urlifier.cc
gcc-urlifier.def
gcc-urlifier.h
gcc.cc Fix uninitialized variable in frontend [PR121806] 2025-09-05 23:01:48 +01:00
gcc.h
gcov-counter.def
gcov-dump.cc
gcov-io.cc Report read errors when reading auto-profile 2025-07-30 16:09:35 +02:00
gcov-io.h Report read errors when reading auto-profile 2025-07-30 16:09:35 +02:00
gcov-tool.cc
gcov.cc
gcse-common.cc gcse: Fix handling of partial clobbers [PR97497] 2025-08-18 11:12:57 +01:00
gcse-common.h
gcse.cc
gcse.h
gdbasan.in
gdbhooks.py
gdbinit.in
gen-pass-instances.awk
genattr-common.cc
genattr.cc
genattrtab.cc
genautomata.cc
gencfn-macros.cc
gencheck.cc
genchecksum.cc
gencodes.cc
genconditions.cc
genconfig.cc
genconstants.cc
genemit.cc
genenums.cc
generic-match-head.cc
generic-match.h
genextract.cc
genflags.cc
gengenrtl.cc
gengtype-lex.l gengtype: Include system.h earlier in gengtype-lex.cc [PR121386] 2025-08-06 11:27:00 +02:00
gengtype-parse.cc
gengtype-state.cc
gengtype.cc
gengtype.h
genhooks.cc
genmatch.cc
genmddeps.cc
genmddump.cc
genmodes.cc
genmultilib
genopinit.cc
genoutput.cc
genpeep.cc
genpreds.cc
genrecog.cc
gensupport.cc
gensupport.h
gentarget-def.cc
genversion.cc
ggc-common.cc
ggc-internal.h
ggc-none.cc
ggc-page.cc
ggc-tests.cc
ggc.h
gimple-array-bounds.cc Provide new option -fdiagnostics-show-context=N for -Warray-bounds, -Wstringop-* warnings [PR109071,PR85788,PR88771,PR106762,PR108770,PR115274,PR117179] 2025-08-20 15:57:10 +00:00
gimple-array-bounds.h Provide new option -fdiagnostics-show-context=N for -Warray-bounds, -Wstringop-* warnings [PR109071,PR85788,PR88771,PR106762,PR108770,PR115274,PR117179] 2025-08-20 15:57:10 +00:00
gimple-builder.cc
gimple-builder.h
gimple-crc-optimization.cc
gimple-expr.cc
gimple-expr.h
gimple-fold.cc gimple-fold/fab: Move ASSUME_ALIGNED handling to gimple-fold [PR121762] 2025-09-24 10:45:31 -07:00
gimple-fold.h tree-optimization/111494 - reduction vectorization with signed UB 2025-08-21 13:53:02 +02:00
gimple-harden-conditionals.cc
gimple-harden-control-flow.cc
gimple-if-to-switch.cc
gimple-isel.cc
gimple-iterator.cc
gimple-iterator.h
gimple-laddress.cc
gimple-loop-interchange.cc
gimple-loop-jam.cc
gimple-loop-versioning.cc Correction régression loop_versioning_6.f90 2025-10-06 15:27:49 +02:00
gimple-low.cc
gimple-low.h
gimple-lower-bitint.cc bitint: Fix up lowering optimization of .*_OVERFLOW ifns [PR121828] 2025-09-10 12:34:50 +02:00
gimple-lower-bitint.h
gimple-match-exports.cc
gimple-match-head.cc
gimple-match.h
gimple-predicate-analysis.cc
gimple-predicate-analysis.h
gimple-predict.h
gimple-pretty-print.cc openmp: Add support for iterators in map clauses (C/C++) 2025-08-06 01:37:10 +01:00
gimple-pretty-print.h
gimple-range-cache.cc
gimple-range-cache.h
gimple-range-edge.cc
gimple-range-edge.h
gimple-range-fold.cc
gimple-range-fold.h
gimple-range-gori.cc
gimple-range-gori.h
gimple-range-infer.cc
gimple-range-infer.h
gimple-range-op.cc
gimple-range-op.h
gimple-range-path.cc
gimple-range-path.h
gimple-range-phi.cc
gimple-range-phi.h
gimple-range-tests.cc
gimple-range-trace.cc
gimple-range-trace.h
gimple-range.cc
gimple-range.h
gimple-simulate.cc gimple-simulate: Correction évaluation adresses 2025-10-11 14:09:31 +02:00
gimple-simulate.h gimple-simulate: Add a gimple IR interpreter/simulator 2025-09-26 20:25:57 +02:00
gimple-ssa-backprop.cc
gimple-ssa-isolate-paths.cc
gimple-ssa-nonnull-compare.cc
gimple-ssa-sccopy.cc
gimple-ssa-split-paths.cc
gimple-ssa-sprintf.cc
gimple-ssa-store-merging.cc bswap: Fix up ubsan detected UB in find_bswap_or_nop [PR121322] 2025-08-01 08:41:54 +02:00
gimple-ssa-strength-reduction.cc
gimple-ssa-warn-access.cc Provide new option -fdiagnostics-show-context=N for -Warray-bounds, -Wstringop-* warnings [PR109071,PR85788,PR88771,PR106762,PR108770,PR115274,PR117179] 2025-08-20 15:57:10 +00:00
gimple-ssa-warn-access.h
gimple-ssa-warn-alloca.cc
gimple-ssa-warn-restrict.cc Provide new option -fdiagnostics-show-context=N for -Warray-bounds, -Wstringop-* warnings [PR109071,PR85788,PR88771,PR106762,PR108770,PR115274,PR117179] 2025-08-20 15:57:10 +00:00
gimple-ssa-warn-restrict.h
gimple-ssa.h
gimple-streamer-in.cc
gimple-streamer-out.cc
gimple-streamer.h
gimple-walk.cc
gimple-walk.h
gimple-warn-recursion.cc gimple-warn-recursion.cc: add missing auto_diagnostic_group 2025-08-04 10:45:29 -04:00
gimple.cc openmp: Add support for iterators in map clauses (C/C++) 2025-08-06 01:37:10 +01:00
gimple.def openmp: Add support for iterators in map clauses (C/C++) 2025-08-06 01:37:10 +01:00
gimple.h openmp: Add support for iterators in map clauses (C/C++) 2025-08-06 01:37:10 +01:00
gimplify-me.cc
gimplify-me.h
gimplify.cc Interdiction non-lvalue as lhs 2025-09-26 20:26:51 +02:00
gimplify.h openmp: Add support for iterators in map clauses (C/C++) 2025-08-06 01:37:10 +01:00
gimplify_reg_info.h
glimits.h
godump.cc
graph.cc
graph.h
graphds.cc
graphds.h
graphite-dependences.cc
graphite-isl-ast-to-gimple.cc
graphite-optimize-isl.cc
graphite-poly.cc
graphite-scop-detection.cc
graphite-sese-to-poly.cc
graphite.cc
graphite.h
graphviz.cc
graphviz.h
gsstruct.def openmp: Add support for iterators in map clauses (C/C++) 2025-08-06 01:37:10 +01:00
gsyms.h
gsyslimits.h
gtm-builtins.def
haifa-sched.cc
hard-reg-set.h
hash-map-tests.cc
hash-map-traits.h
hash-map.h
hash-set-tests.cc
hash-set.h
hash-table.cc
hash-table.h
hash-traits.h
highlev-plugin-common.h
hooks.cc c++: Refactor FMV frontend conflict and merging logic and hooks. 2025-09-23 09:47:44 +00:00
hooks.h c++: Refactor FMV frontend conflict and merging logic and hooks. 2025-09-23 09:47:44 +00:00
host-default.cc
hosthooks-def.h
hosthooks.h
hw-doloop.cc
hw-doloop.h
hwint.cc
hwint.h
ifcvt.cc ifcvt: Clarify if_info.original_cost. 2025-09-11 10:20:14 +02:00
ifcvt.h
inchash.cc
inchash.h
incpath.cc
incpath.h
init-regs.cc
input.cc diagnostics/libcpp: convert enum location_aspect to enum class 2025-09-18 16:07:04 -04:00
input.h diagnostics/libcpp: convert enum location_aspect to enum class 2025-09-18 16:07:04 -04:00
insn-addr.h
insn-notes.def
int-vector-builder.h
internal-fn.cc
internal-fn.def middle-end: Use addhn for compression instead of inclusive OR when reducing comparison values 2025-09-12 08:30:55 +01:00
internal-fn.h
intl.cc
intl.h
ipa-comdats.cc
ipa-cp.cc Improve ipa-cp devirtualization costing 2025-09-19 19:05:34 +02:00
ipa-cp.h
ipa-devirt.cc Add --param max-devirt-targets 2025-09-20 15:12:26 +02:00
ipa-fnsummary.cc Improve costing of speculative calls in ipa-fnsummary 2025-09-19 19:09:00 +02:00
ipa-fnsummary.h
ipa-free-lang-data.cc lto/121935 - visit all DECL_ARGUMENTS in free-lang-data 2025-09-14 13:24:48 +02:00
ipa-icf-gimple.cc
ipa-icf-gimple.h
ipa-icf.cc
ipa-icf.h
ipa-inline-analysis.cc
ipa-inline-transform.cc Make inliner more careful about profile inconsistencies 2025-09-21 12:28:45 +02:00
ipa-inline.cc Make inliner more careful about profile inconsistencies 2025-09-21 12:28:45 +02:00
ipa-inline.h Make inliner more careful about profile inconsistencies 2025-09-21 12:28:45 +02:00
ipa-locality-cloning.cc
ipa-locality-cloning.h
ipa-modref-tree.cc
ipa-modref-tree.h
ipa-modref.cc
ipa-modref.h
ipa-param-manipulation.cc
ipa-param-manipulation.h
ipa-polymorphic-call.cc
ipa-predicate.cc
ipa-predicate.h
ipa-profile.cc Dump profile_info in ipa-profile dump 2025-09-03 18:00:42 +02:00
ipa-prop.cc
ipa-prop.h sra: Make build_ref_for_offset static [PR121568] 2025-08-20 05:41:15 -07:00
ipa-pure-const.cc Minor tweaks to ipa-pure-const.cc 2025-09-12 11:31:27 +02:00
ipa-ref.cc
ipa-ref.h
ipa-reference.cc
ipa-reference.h
ipa-split.cc
ipa-sra.cc
ipa-strub.cc
ipa-strub.h
ipa-utils.cc
ipa-utils.h
ipa-visibility.cc
ipa.cc fmv: c++: Change target_version semantics to follow ACLE specification. 2025-09-23 09:47:43 +00:00
ira-build.cc
ira-color.cc ira: Remove soft conflict related code in improve_allocation. [PR117838] 2025-09-01 14:35:59 +08:00
ira-conflicts.cc ira: tie output allocnos for fused instruction pairs 2025-08-16 20:40:28 -06:00
ira-costs.cc
ira-emit.cc
ira-int.h
ira-lives.cc
ira.cc [ira] avoid resetting ira_reg_equiv for function invariants 2025-09-19 16:45:19 -03:00
ira.h
is-a.h
iterator-utils.h
json-parsing.cc
json-parsing.h
json.cc
json.h
jump.cc
langhooks-def.h
langhooks.cc
langhooks.h
late-combine.cc Merge aarch64-cc-fusion into late-combine 2025-08-20 13:20:02 +01:00
lazily-created.h
lcm.cc
lcm.h
libfuncs.h
libgdiagnostics++.h diagnostics: improve support for nesting levels [PR116253] 2025-08-04 10:45:31 -04:00
libgdiagnostics-private.h diagnostics: improve support for nesting levels [PR116253] 2025-08-04 10:45:31 -04:00
libgdiagnostics.cc diagnostics: add dump methods to client_data_hooks and logical_location_manager 2025-09-18 16:07:09 -04:00
libgdiagnostics.h diagnostics: improve support for nesting levels [PR116253] 2025-08-04 10:45:31 -04:00
libgdiagnostics.map diagnostics: improve support for nesting levels [PR116253] 2025-08-04 10:45:31 -04:00
libsarifreplay.cc diagnostics: improve support for nesting levels [PR116253] 2025-08-04 10:45:31 -04:00
libsarifreplay.h diagnostics: improve support for nesting levels [PR116253] 2025-08-04 10:45:31 -04:00
limitx.h
limity.h
lists.cc
lock-and-run.sh
lockfile.cc
lockfile.h
loop-doloop.cc
loop-init.cc
loop-invariant.cc
loop-iv.cc
loop-unroll.cc
loop-unroll.h
lower-subreg.cc
lower-subreg.h
lra-assigns.cc
lra-coalesce.cc
lra-constraints.cc lra: Stop constraint processing on error [PR121205] 2025-09-13 05:19:10 -07:00
lra-eliminations.cc
lra-int.h
lra-lives.cc
lra-remat.cc
lra-spills.cc
lra.cc
lra.h
lto-cgraph.cc
lto-compress.cc
lto-compress.h
lto-ltrans-cache.cc
lto-ltrans-cache.h
lto-opts.cc
lto-section-in.cc
lto-section-names.h
lto-section-out.cc
lto-streamer-in.cc
lto-streamer-out.cc
lto-streamer.cc
lto-streamer.h
lto-wrapper.cc diagnostics: enable nested diagnostics by default [PR116253] 2025-08-08 16:55:46 -04:00
machmode.def
machmode.h change get_best_mode args int -> HOST_WIDE_INT [PR121264] 2025-07-31 12:10:45 +02:00
main.cc
match.pd Match: Add form 5 of unsigned SAT_MUL for mul 2025-09-24 10:35:07 +08:00
mcf.cc
mem-stats-traits.h
mem-stats.h
memmodel.h
memory-block.cc
memory-block.h
mkconfig.sh
mode-classes.def
mode-switching.cc
modulo-sched.cc
multiple_target.cc fmv: Support mixing of target_clones and target_version. 2025-09-23 09:47:44 +00:00
mux-utils.h
obstack-utils.h
omp-api.h
omp-builtins.def
omp-expand.cc omp-expand: Initialize fd->loop.n2 if needed for the zero iter case [PR121453] 2025-08-26 00:28:10 +02:00
omp-expand.h
omp-general.cc OpenMP: Unshare expr in context-selector condition [PR121922] 2025-09-18 11:07:50 +02:00
omp-general.h
omp-low.cc openmp: Fix up ICE in lower_omp_regimplify_operands_p [PR121977] 2025-09-18 16:41:32 +02:00
omp-low.h
omp-oacc-kernels-decompose.cc
omp-oacc-neuter-broadcast.cc
omp-offload.cc
omp-offload.h
omp-selectors.h
omp-simd-clone.cc
omp-simd-clone.h
opt-functions.awk
opt-gather.awk
opt-include.awk
opt-problem.cc optinfo: use enum class 2025-08-04 10:45:31 -04:00
opt-problem.h
opt-read.awk
opt-suggestions.cc
opt-suggestions.h
optabs-libfuncs.cc
optabs-libfuncs.h
optabs-query.cc
optabs-query.h
optabs-tree.cc
optabs-tree.h
optabs.cc
optabs.def middle-end: Use addhn for compression instead of inclusive OR when reducing comparison values 2025-09-12 08:30:55 +01:00
optabs.h
optc-gen.awk
optc-save-gen.awk Don't pass vector params through to offload targets 2025-07-30 12:47:32 +00:00
opth-gen.awk
optinfo-emit-json.cc optinfo: use enum class 2025-08-04 10:45:31 -04:00
optinfo-emit-json.h
optinfo.cc optinfo: use enum class 2025-08-04 10:45:31 -04:00
optinfo.h optinfo: use enum class 2025-08-04 10:45:31 -04:00
options-urls-cc-gen.awk
opts-common.cc diagnostics: enable nested diagnostics by default [PR116253] 2025-08-08 16:55:46 -04:00
opts-diagnostic.cc diagnostics: add GCC_DIAGNOSTICS_LOG 2025-08-29 14:39:37 -04:00
opts-diagnostic.h diagnostics: rename option_manager to option_id_manager and split out from context.h 2025-08-04 10:45:30 -04:00
opts-global.cc
opts-jobserver.h
opts.cc gcc: introduce the dep_fusion pass 2025-09-06 15:07:27 -06:00
opts.h opts: use sanitize_code_type for sanitizer flags 2025-08-18 18:09:07 +03:00
ordered-hash-map-tests.cc
ordered-hash-map.h
output.h varasm: Redo mergeable section support [PR121438] 2025-08-10 09:36:48 -07:00
pair-fusion.cc
pair-fusion.h
params.opt Add --param max-devirt-targets 2025-09-20 15:12:26 +02:00
params.opt.urls
pass_manager.h
passes.cc
passes.def fmv: c++: Change target_version semantics to follow ACLE specification. 2025-09-23 09:47:43 +00:00
path-coverage.cc
pex.cc
pex.h
plugin.cc
plugin.def
plugin.h
pointer-query.cc
pointer-query.h
poly-int-types.h
poly-int.h
postreload-gcse.cc
postreload.cc
predict.cc Fix fasle profile insonsistency error 2025-07-30 15:05:18 +02:00
predict.def
predict.h
prefix.cc
prefix.h
pretty-print-format-impl.h
pretty-print-markup.h
pretty-print-urlifier.h
pretty-print.cc diagnostics: fix build on hosts where unsigned == size_t 2025-08-09 09:15:04 -04:00
pretty-print.h
prime-paths.cc
print-rtl-function.cc
print-rtl.cc
print-rtl.h
print-tree.cc
print-tree.h
profile-count.cc
profile-count.h Fix integer overflow in profile_count::probability_in 2025-09-26 12:39:44 +02:00
profile.cc
profile.h
pta-andersen.cc
pta-andersen.h
range-op-float.cc
range-op-mixed.h
range-op-ptr.cc
range-op.cc
range-op.h
range.cc
range.h
read-md.cc
read-md.h
read-rtl-function.cc
read-rtl-function.h
read-rtl.cc
real.cc real: Eliminate access to uninitialized memory. 2025-08-15 15:40:07 -04:00
real.h
realmpfr.cc
realmpfr.h
recog.cc
recog.h
ree.cc
reg-notes.def
reg-stack.cc
regcprop.cc
regcprop.h
regenerate-attr-urls.py
regenerate-opt-urls.py
reginfo.cc
regrename.cc regrename: treat writes as reads for fused instruction pairs 2025-08-17 08:08:29 -06:00
regrename.h
regs.h
regset.h
regstat.cc
reload.cc
reload.h
reload1.cc
reorg.cc
resource.cc
resource.h
rtl-error.cc
rtl-error.h
rtl-iter.h
rtl-ssa.h
rtl-tests.cc
rtl.cc
rtl.def
rtl.h ira: tie output allocnos for fused instruction pairs 2025-08-16 20:40:28 -06:00
rtlanal.cc Merge aarch64-cc-fusion into late-combine 2025-08-20 13:20:02 +01:00
rtlanal.h
rtlhash.cc
rtlhash.h
rtlhooks-def.h
rtlhooks.cc
rtx-vector-builder.cc
rtx-vector-builder.h
run-rtl-passes.cc
run-rtl-passes.h
sancov.cc
sanitizer.def
sanopt.cc
sarif-replay.cc sarif-replay: fix uninitialized m_debug_physical_locations 2025-09-17 16:39:31 -04:00
sarif-spec-urls.def
sbitmap.cc
sbitmap.h
sched-deps.cc
sched-ebb.cc
sched-int.h
sched-rgn.cc
sel-sched-dump.cc
sel-sched-dump.h
sel-sched-ir.cc
sel-sched-ir.h
sel-sched.cc
sel-sched.h
selftest-json.cc
selftest-json.h
selftest-rtl.cc
selftest-rtl.h
selftest-run-tests.cc Prise en charge affichage TARGET_MEM_REF 2025-09-26 20:25:57 +02:00
selftest-tree.h
selftest-xml.h
selftest.cc
selftest.h Prise en charge affichage TARGET_MEM_REF 2025-09-26 20:25:57 +02:00
sese.cc
sese.h
shortest-paths.h
shrink-wrap.cc
shrink-wrap.h
signop.h
simple-diagnostic-path.cc
simple-diagnostic-path.h
simplify-rtx.cc [PR tree-optimization/58727] Don't over-simplify constants` 2025-09-17 07:43:48 -06:00
sort.cc
sparseset.cc
sparseset.h
spellcheck-tree.cc
spellcheck-tree.h
spellcheck.cc
spellcheck.h
splay-tree-utils.cc
splay-tree-utils.h
splay-tree-utils.tcc
sreal.cc
sreal.h
ssa-iterators.h
ssa.h
stack-ptr-mod.cc
statistics.cc
statistics.h
stmt.cc
stmt.h
stor-layout.cc change get_best_mode args int -> HOST_WIDE_INT [PR121264] 2025-07-31 12:10:45 +02:00
stor-layout.h
store-motion.cc
streamer-hooks.cc
streamer-hooks.h
stringpool.cc
stringpool.h
substring-locations.cc
substring-locations.h
symbol-summary.h
symtab-clones.cc
symtab-clones.h
symtab-thunks.cc
symtab-thunks.h
symtab.cc Fix symbol_table::change_decl_assembler_name when DECL_RTL is already computed 2025-07-30 15:05:44 +02:00
sync-builtins.def
system.h
target-def.h
target-globals.cc
target-globals.h
target-hooks-macros.h
target-insns.def
target.def c++: Refactor FMV frontend conflict and merging logic and hooks. 2025-09-23 09:47:44 +00:00
target.h
targhooks.cc targhooks: i386: rename TAG_SIZE to TAG_BITSIZE 2025-08-25 14:17:32 +03:00
targhooks.h targhooks: i386: rename TAG_SIZE to TAG_BITSIZE 2025-08-25 14:17:32 +03:00
text-range-label.h
timevar.cc
timevar.def
timevar.h
toplev.cc diagnostics: enable nested diagnostics by default [PR116253] 2025-08-08 16:55:46 -04:00
toplev.h
tracer.cc
tracer.h
trans-mem.cc
trans-mem.h
tree-affine.cc
tree-affine.h
tree-assume.cc
tree-call-cdce.cc
tree-cfg.cc tree-cfg: Fix up assign_discriminator ICE with too large #line [PR121663] 2025-09-02 12:18:52 +02:00
tree-cfg.h
tree-cfgcleanup.cc
tree-cfgcleanup.h
tree-chrec.cc
tree-chrec.h
tree-complex.cc
tree-core.h
tree-data-ref.cc
tree-data-ref.h
tree-dfa.cc gimple-simulate: Correction ICE évaluation adresse 2025-09-26 20:26:00 +02:00
tree-dfa.h
tree-diagnostic-client-data-hooks.cc
tree-diagnostic.cc diagnostics: update signature of some callbacks 2025-08-08 16:55:44 -04:00
tree-diagnostic.h
tree-dump.cc
tree-dump.h
tree-eh.cc tree-optimization/121685 - accesses to *this are not trapping 2025-09-04 12:36:30 +02:00
tree-eh.h
tree-emutls.cc
tree-hash-traits.h
tree-hasher.h
tree-if-conv.cc ifcvt: fix factor_out_operators (again) [PR121695] 2025-08-27 12:04:56 -07:00
tree-if-conv.h
tree-inline.cc Preserve TREE_THIS_NOTRAP during inlining in more cases 2025-09-17 11:38:26 +02:00
tree-inline.h
tree-into-ssa.cc
tree-into-ssa.h
tree-iterator.cc
tree-iterator.h
tree-logical-location.cc diagnostics: add dump methods to client_data_hooks and logical_location_manager 2025-09-18 16:07:09 -04:00
tree-logical-location.h diagnostics: add dump methods to client_data_hooks and logical_location_manager 2025-09-18 16:07:09 -04:00
tree-loop-distribution.cc
tree-nested.cc openmp: Add support for iterators in map clauses (C/C++) 2025-08-06 01:37:10 +01:00
tree-nested.h
tree-nrv.cc Use gimple_call_fntype rather than gimple_call_fndecl in pass_return_slot::execute 2025-08-15 14:35:32 +08:00
tree-object-size.cc
tree-object-size.h
tree-outof-ssa.cc
tree-outof-ssa.h
tree-parloops.cc Decouple parloops from vect reduction infra some more 2025-08-22 12:30:18 +02:00
tree-parloops.h
tree-pass.h gcc: introduce the dep_fusion pass 2025-09-06 15:07:27 -06:00
tree-phinodes.cc
tree-phinodes.h
tree-predcom.cc
tree-pretty-print-markup.h
tree-pretty-print.cc openmp: Add support for iterators in 'target update' clauses (C/C++) 2025-08-06 01:37:10 +01:00
tree-pretty-print.h
tree-profile.cc
tree-scalar-evolution.cc tree-optimization/61247 - handle peeled converted IV in SCEV 2025-09-04 10:14:26 +02:00
tree-scalar-evolution.h
tree-sra.cc Fix SRA issue with -ftrivial-auto-var-init= [PR121894] 2025-09-18 18:31:33 +00:00
tree-sra.h
tree-ssa-address.cc
tree-ssa-address.h
tree-ssa-alias-compare.h
tree-ssa-alias.cc tree-optimization/121323 - UBSAN error in ao_ref_init_from_ptr_and_range 2025-07-31 14:12:50 +02:00
tree-ssa-alias.h
tree-ssa-ccp.cc gimple-fold/fab: Move ASSUME_ALIGNED handling to gimple-fold [PR121762] 2025-09-24 10:45:31 -07:00
tree-ssa-ccp.h
tree-ssa-coalesce.cc
tree-ssa-coalesce.h
tree-ssa-copy.cc
tree-ssa-dce.cc
tree-ssa-dce.h
tree-ssa-dom.cc
tree-ssa-dom.h
tree-ssa-dse.cc
tree-ssa-dse.h
tree-ssa-forwprop.cc forwprop: change optimize_aggr_zeroprop and optimize_agr_copyprop to take stmt instead of gsi 2025-09-19 11:50:13 -07:00
tree-ssa-ifcombine.cc
tree-ssa-live.cc
tree-ssa-live.h
tree-ssa-loop-ch.cc
tree-ssa-loop-im.cc LIM: Manually put uninit decl into ssa 2025-08-25 08:26:34 -07:00
tree-ssa-loop-ivcanon.cc
tree-ssa-loop-ivopts.cc Correction régression dependency_19.f90 2025-10-03 19:49:57 +02:00
tree-ssa-loop-ivopts.h
tree-ssa-loop-manip.cc
tree-ssa-loop-manip.h
tree-ssa-loop-niter.cc
tree-ssa-loop-niter.h
tree-ssa-loop-prefetch.cc
tree-ssa-loop-split.cc
tree-ssa-loop-unswitch.cc
tree-ssa-loop.cc
tree-ssa-loop.h
tree-ssa-math-opts.cc Widen-Mul: Fix typo assignment in build_and_insert_cast [PR122031] 2025-09-23 18:51:32 +08:00
tree-ssa-math-opts.h
tree-ssa-operands.cc
tree-ssa-operands.h
tree-ssa-phiopt.cc phiopt: Improve locations for factor out conditional operation [PR108466] 2025-09-06 09:19:00 -07:00
tree-ssa-phiprop.cc
tree-ssa-pre.cc Remove accidentially left if (0) block 2025-09-19 12:19:18 +02:00
tree-ssa-propagate.cc Deal with prior EH/abormal cleanup when fixing up noreturn calls 2025-09-11 11:12:13 +02:00
tree-ssa-propagate.h
tree-ssa-reassoc.cc tree-optimization/120687 - avoid disturbing reduction chains in reassoc 2025-07-29 12:13:00 +02:00
tree-ssa-reassoc.h
tree-ssa-sccvn.cc tree-optimization/122016 - PRE insertion breaks abnormal coalescing 2025-09-22 11:42:28 +02:00
tree-ssa-sccvn.h
tree-ssa-scopedtables.cc
tree-ssa-scopedtables.h
tree-ssa-sink.cc tree-optimization/121756 - handle irreducible regions when sinking 2025-09-03 14:33:36 +02:00
tree-ssa-strlen.cc strlen: Handle empty constructor as memset for combining with malloc to calloc [PR87900] 2025-09-07 23:56:59 -07:00
tree-ssa-strlen.h
tree-ssa-structalias.cc
tree-ssa-structalias.h
tree-ssa-tail-merge.cc
tree-ssa-ter.cc
tree-ssa-ter.h
tree-ssa-threadbackward.cc
tree-ssa-threadedge.cc
tree-ssa-threadedge.h
tree-ssa-threadupdate.cc
tree-ssa-threadupdate.h
tree-ssa-uncprop.cc
tree-ssa-uninit.cc
tree-ssa.cc
tree-ssa.h
tree-ssanames.cc
tree-ssanames.h
tree-stdarg.cc
tree-stdarg.h
tree-streamer-in.cc
tree-streamer-out.cc
tree-streamer.cc
tree-streamer.h
tree-switch-conversion.cc varasm: Redo mergeable section support [PR121438] 2025-08-10 09:36:48 -07:00
tree-switch-conversion.h
tree-tailcall.cc tailc: Handle other forms of finally_tmp.N conditional cleanups after musttail [PR121389] 2025-08-08 09:20:51 +02:00
tree-vect-data-refs.cc tree-optimization/121802 - fix vect_setup_realignment 2025-09-05 12:35:00 +02:00
tree-vect-generic.cc
tree-vect-loop-manip.cc Revert "tree-optimization/121829 - bogus CFG with asm goto" 2025-09-09 13:51:37 +01:00
tree-vect-loop.cc Cleanup vect_get_num_copies API 2025-09-19 09:35:02 +02:00
tree-vect-patterns.cc tree-optimization/122023 - rotate pattern with reductions 2025-09-22 11:42:28 +02:00
tree-vect-slp-patterns.cc Introduce SLP_TREE_PERMUTE_P 2025-08-13 15:18:39 +02:00
tree-vect-slp.cc Remove SLP_TREE_NUMBER_OF_VEC_STMTS 2025-09-19 09:35:01 +02:00
tree-vect-stmts.cc tree-optimization/116816 - improve VMAT_ELEMENTWISE with SLP 2025-09-24 13:33:02 +02:00
tree-vector-builder.cc
tree-vector-builder.h
tree-vectorizer.cc Introduce abstraction for vect reduction info, tracked from SLP nodes 2025-09-01 14:04:24 +02:00
tree-vectorizer.h Remove DR_GROUP_STORE_COUNT 2025-09-19 11:14:03 +02:00
tree-vrp.cc
tree-vrp.h
tree.cc c++: Refactor FMV frontend conflict and merging logic and hooks. 2025-09-23 09:47:44 +00:00
tree.def
tree.h c++: Refactor FMV frontend conflict and merging logic and hooks. 2025-09-23 09:47:44 +00:00
treestruct.def
tristate.cc
tristate.h
tsan.cc
tsan.h
tsystem.h
typeclass.h
typed-splay-tree.cc
typed-splay-tree.h
ubsan.cc
ubsan.h
unique-argv.h
valtrack.cc
valtrack.h
value-pointer-equiv.cc
value-pointer-equiv.h
value-prof.cc
value-prof.h
value-query.cc
value-query.h
value-range-pretty-print.cc
value-range-pretty-print.h
value-range-storage.cc
value-range-storage.h
value-range.cc
value-range.h
value-relation.cc
value-relation.h
var-tracking.cc
varasm.cc varasm: Redo mergeable section support [PR121438] 2025-08-10 09:36:48 -07:00
varasm.h
varpool.cc
vec-perm-indices.cc
vec-perm-indices.h
vec.cc
vec.h Fix UB in string_slice::operator== (PR 121261) 2025-07-29 08:25:45 +00:00
vector-builder.h
vmsdbg.h
vmsdbgout.cc
vr-values.cc
vr-values.h
vtable-verify.cc
vtable-verify.h
warning-control.cc
web.cc
wide-int-bitmask.h
wide-int-print.cc
wide-int-print.h
wide-int.cc
wide-int.h
xcoff.h
xml-printer.h
xml.cc
xml.h

README.Portability

Copyright (C) 2000-2025 Free Software Foundation, Inc.

This file is intended to contain a few notes about writing C code
within GCC so that it compiles without error on the full range of
compilers GCC needs to be able to compile on.

The problem is that many ISO-standard constructs are not accepted by
either old or buggy compilers, and we keep getting bitten by them.
This knowledge until now has been sparsely spread around, so I
thought I'd collect it in one useful place.  Please add and correct
any problems as you come across them.

I'm going to start from a base of the ISO C90 standard, since that is
probably what most people code to naturally.  Obviously using
constructs introduced after that is not a good idea.

For the complete coding style conventions used in GCC, please read
http://gcc.gnu.org/codingconventions.html


String literals
---------------

Some compilers like MSVC++ have fairly low limits on the maximum
length of a string literal; 509 is the lowest we've come across.  You
may need to break up a long printf statement into many smaller ones.


Empty macro arguments
---------------------

ISO C (6.8.3 in the 1990 standard) specifies the following:

If (before argument substitution) any argument consists of no
preprocessing tokens, the behavior is undefined.

This was relaxed by ISO C99, but some older compilers emit an error,
so code like

#define foo(x, y) x y
foo (bar, )

needs to be coded in some other way.


Avoid unnecessary test before free
----------------------------------

Since SunOS 4 stopped being a reasonable portability target,
(which happened around 2007) there has been no need to guard
against "free (NULL)".  Thus, any guard like the following
constitutes a redundant test:

  if (P)
    free (P);

It is better to avoid the test.[*]
Instead, simply free P, regardless of whether it is NULL.

[*] However, if your profiling exposes a test like this in a
performance-critical loop, say where P is nearly always NULL, and
the cost of calling free on a NULL pointer would be prohibitively
high, consider using __builtin_expect, e.g., like this:

  if (__builtin_expect (ptr != NULL, 0))
    free (ptr);



Trigraphs
---------

You weren't going to use them anyway, but some otherwise ISO C
compliant compilers do not accept trigraphs.


Suffixes on Integer Constants
-----------------------------

You should never use a 'l' suffix on integer constants ('L' is fine),
since it can easily be confused with the number '1'.


			Common Coding Pitfalls
			======================

errno
-----

errno might be declared as a macro.


Implicit int
------------

In C, the 'int' keyword can often be omitted from type declarations.
For instance, you can write

  unsigned variable;

as shorthand for

  unsigned int variable;

There are several places where this can cause trouble.  First, suppose
'variable' is a long; then you might think

  (unsigned) variable

would convert it to unsigned long.  It does not.  It converts to
unsigned int.  This mostly causes problems on 64-bit platforms, where
long and int are not the same size.

Second, if you write a function definition with no return type at
all:

  operate (int a, int b)
  {
    ...
  }

that function is expected to return int, *not* void.  GCC will warn
about this.

Implicit function declarations always have return type int.  So if you
correct the above definition to

  void
  operate (int a, int b)
  ...

but operate() is called above its definition, you will get an error
about a "type mismatch with previous implicit declaration".  The cure
is to prototype all functions at the top of the file, or in an
appropriate header.

Char vs unsigned char vs int
----------------------------

In C, unqualified 'char' may be either signed or unsigned; it is the
implementation's choice.  When you are processing 7-bit ASCII, it does
not matter.  But when your program must handle arbitrary binary data,
or fully 8-bit character sets, you have a problem.  The most obvious
issue is if you have a look-up table indexed by characters.

For instance, the character '\341' in ISO Latin 1 is SMALL LETTER A
WITH ACUTE ACCENT.  In the proper locale, isalpha('\341') will be
true.  But if you read '\341' from a file and store it in a plain
char, isalpha(c) may look up character 225, or it may look up
character -31.  And the ctype table has no entry at offset -31, so
your program will crash.  (If you're lucky.)

It is wise to use unsigned char everywhere you possibly can.  This
avoids all these problems.  Unfortunately, the routines in <string.h>
take plain char arguments, so you have to remember to cast them back
and forth - or avoid the use of strxxx() functions, which is probably
a good idea anyway.

Another common mistake is to use either char or unsigned char to
receive the result of getc() or related stdio functions.  They may
return EOF, which is outside the range of values representable by
char.  If you use char, some legal character value may be confused
with EOF, such as '\377' (SMALL LETTER Y WITH UMLAUT, in Latin-1).
The correct choice is int.

A more subtle version of the same mistake might look like this:

  unsigned char pushback[NPUSHBACK];
  int pbidx;
  #define unget(c) (assert(pbidx < NPUSHBACK), pushback[pbidx++] = (c))
  #define get(c) (pbidx ? pushback[--pbidx] : getchar())
  ...
  unget(EOF);

which will mysteriously turn a pushed-back EOF into a SMALL LETTER Y
WITH UMLAUT.


Other common pitfalls
---------------------

o Expecting 'plain' char to be either sign or unsigned extending.

o Shifting an item by a negative amount or by greater than or equal to
  the number of bits in a type (expecting shifts by 32 to be sensible
  has caused quite a number of bugs at least in the early days).

o Expecting ints shifted right to be sign extended.

o Modifying the same value twice within one sequence point.

o Host vs. target floating point representation, including emitting NaNs
  and Infinities in a form that the assembler handles.

o qsort being an unstable sort function (unstable in the sense that
  multiple items that sort the same may be sorted in different orders
  by different qsort functions).

o Passing incorrect types to fprintf and friends.

o Adding a function declaration for a module declared in another file to
  a .c file instead of to a .h file.