You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
higepi 6c0debd407 projet 1 year ago
..
ada projet 1 year ago
analyzer projet 1 year ago
c projet 1 year ago
c-family projet 1 year ago
common projet 1 year ago
config projet 1 year ago
cp projet 1 year ago
d projet 1 year ago
doc projet 1 year ago
fortran projet 1 year ago
ginclude projet 1 year ago
go projet 1 year ago
jit projet 1 year ago
lto projet 1 year ago
objc projet 1 year ago
objcp projet 1 year ago
po projet 1 year ago
rtl-ssa projet 1 year ago
testsuite projet 1 year ago
ABOUT-GCC-NLS projet 1 year ago
BASE-VER projet 1 year ago
COPYING projet 1 year ago
COPYING.LIB projet 1 year ago
COPYING3 projet 1 year ago
COPYING3.LIB projet 1 year ago
ChangeLog projet 1 year ago
ChangeLog-1997 projet 1 year ago
ChangeLog-1998 projet 1 year ago
ChangeLog-1999 projet 1 year ago
ChangeLog-2000 projet 1 year ago
ChangeLog-2001 projet 1 year ago
ChangeLog-2002 projet 1 year ago
ChangeLog-2003 projet 1 year ago
ChangeLog-2004 projet 1 year ago
ChangeLog-2005 projet 1 year ago
ChangeLog-2006 projet 1 year ago
ChangeLog-2007 projet 1 year ago
ChangeLog-2008 projet 1 year ago
ChangeLog-2009 projet 1 year ago
ChangeLog-2010 projet 1 year ago
ChangeLog-2011 projet 1 year ago
ChangeLog-2012 projet 1 year ago
ChangeLog-2013 projet 1 year ago
ChangeLog-2014 projet 1 year ago
ChangeLog-2015 projet 1 year ago
ChangeLog-2016 projet 1 year ago
ChangeLog-2017 projet 1 year ago
ChangeLog-2018 projet 1 year ago
ChangeLog-2019 projet 1 year ago
ChangeLog-2020 projet 1 year ago
ChangeLog-2021 projet 1 year ago
ChangeLog.dataflow projet 1 year ago
ChangeLog.gimple-classes projet 1 year ago
ChangeLog.graphite projet 1 year ago
ChangeLog.jit projet 1 year ago
ChangeLog.lib projet 1 year ago
ChangeLog.ptr projet 1 year ago
ChangeLog.tree-ssa projet 1 year ago
ChangeLog.tuples projet 1 year ago
DATESTAMP projet 1 year ago
DEV-PHASE projet 1 year ago
FSFChangeLog projet 1 year ago
FSFChangeLog.10 projet 1 year ago
FSFChangeLog.11 projet 1 year ago
LANGUAGES projet 1 year ago
Makefile.in projet 1 year ago
ONEWS projet 1 year ago
README.Portability projet 1 year ago
acinclude.m4 projet 1 year ago
aclocal.m4 projet 1 year ago
addresses.h projet 1 year ago
adjust-alignment.cc projet 1 year ago
alias.cc projet 1 year ago
alias.h projet 1 year ago
align.h projet 1 year ago
alloc-pool.cc projet 1 year ago
alloc-pool.h projet 1 year ago
array-traits.h projet 1 year ago
asan.cc projet 1 year ago
asan.h projet 1 year ago
attr-fnspec.h projet 1 year ago
attribs.cc projet 1 year ago
attribs.h projet 1 year ago
auto-inc-dec.cc projet 1 year ago
auto-profile.cc projet 1 year ago
auto-profile.h projet 1 year ago
backend.h projet 1 year ago
basic-block.h projet 1 year ago
bb-reorder.cc projet 1 year ago
bb-reorder.h projet 1 year ago
bitmap.cc projet 1 year ago
bitmap.h projet 1 year ago
btfout.cc projet 1 year ago
builtin-attrs.def projet 1 year ago
builtin-types.def projet 1 year ago
builtins.cc projet 1 year ago
builtins.def projet 1 year ago
builtins.h projet 1 year ago
caller-save.cc projet 1 year ago
calls.cc projet 1 year ago
calls.h projet 1 year ago
ccmp.cc projet 1 year ago
ccmp.h projet 1 year ago
cfg-flags.def projet 1 year ago
cfg.cc projet 1 year ago
cfg.h projet 1 year ago
cfganal.cc projet 1 year ago
cfganal.h projet 1 year ago
cfgbuild.cc projet 1 year ago
cfgbuild.h projet 1 year ago
cfgcleanup.cc projet 1 year ago
cfgcleanup.h projet 1 year ago
cfgexpand.cc projet 1 year ago
cfgexpand.h projet 1 year ago
cfghooks.cc projet 1 year ago
cfghooks.h projet 1 year ago
cfgloop.cc projet 1 year ago
cfgloop.h projet 1 year ago
cfgloopanal.cc projet 1 year ago
cfgloopmanip.cc projet 1 year ago
cfgloopmanip.h projet 1 year ago
cfgrtl.cc projet 1 year ago
cfgrtl.h projet 1 year ago
cgraph.cc projet 1 year ago
cgraph.h projet 1 year ago
cgraphbuild.cc projet 1 year ago
cgraphclones.cc projet 1 year ago
cgraphunit.cc projet 1 year ago
cif-code.def projet 1 year ago
collect-utils.cc projet 1 year ago
collect-utils.h projet 1 year ago
collect2-aix.cc projet 1 year ago
collect2-aix.h projet 1 year ago
collect2.cc projet 1 year ago
collect2.h projet 1 year ago
color-macros.h projet 1 year ago
combine-stack-adj.cc projet 1 year ago
combine.cc projet 1 year ago
common.md projet 1 year ago
common.opt projet 1 year ago
compare-elim.cc projet 1 year ago
conditions.h projet 1 year ago
config.build projet 1 year ago
config.gcc projet 1 year ago
config.host projet 1 year ago
config.in projet 1 year ago
configure projet 1 year ago
configure.ac projet 1 year ago
context.cc projet 1 year ago
context.h projet 1 year ago
convert.cc projet 1 year ago
convert.h projet 1 year ago
coretypes.h projet 1 year ago
coroutine-builtins.def projet 1 year ago
coroutine-passes.cc projet 1 year ago
coverage.cc projet 1 year ago
coverage.h projet 1 year ago
cppbuiltin.cc projet 1 year ago
cppbuiltin.h projet 1 year ago
cppdefault.cc projet 1 year ago
cppdefault.h projet 1 year ago
cprop.cc projet 1 year ago
cse.cc projet 1 year ago
cselib.cc projet 1 year ago
cselib.h projet 1 year ago
cstamp-h.in projet 1 year ago
ctfc.cc projet 1 year ago
ctfc.h projet 1 year ago
ctfout.cc projet 1 year ago
data-streamer-in.cc projet 1 year ago
data-streamer-out.cc projet 1 year ago
data-streamer.cc projet 1 year ago
data-streamer.h projet 1 year ago
dbgcnt.cc projet 1 year ago
dbgcnt.def projet 1 year ago
dbgcnt.h projet 1 year ago
dbxout.cc projet 1 year ago
dbxout.h projet 1 year ago
dce.cc projet 1 year ago
dce.h projet 1 year ago
ddg.cc projet 1 year ago
ddg.h projet 1 year ago
debug.cc projet 1 year ago
debug.h projet 1 year ago
defaults.h projet 1 year ago
df-core.cc projet 1 year ago
df-problems.cc projet 1 year ago
df-scan.cc projet 1 year ago
df.h projet 1 year ago
dfp.cc projet 1 year ago
dfp.h projet 1 year ago
diagnostic-color.cc projet 1 year ago
diagnostic-color.h projet 1 year ago
diagnostic-core.h projet 1 year ago
diagnostic-event-id.h projet 1 year ago
diagnostic-format-json.cc projet 1 year ago
diagnostic-metadata.h projet 1 year ago
diagnostic-path.h projet 1 year ago
diagnostic-show-locus.cc projet 1 year ago
diagnostic-spec.cc projet 1 year ago
diagnostic-spec.h projet 1 year ago
diagnostic-url.h projet 1 year ago
diagnostic.cc projet 1 year ago
diagnostic.def projet 1 year ago
diagnostic.h projet 1 year ago
digraph.cc projet 1 year ago
digraph.h projet 1 year ago
dojump.cc projet 1 year ago
dojump.h projet 1 year ago
dominance.cc projet 1 year ago
dominance.h projet 1 year ago
domwalk.cc projet 1 year ago
domwalk.h projet 1 year ago
double-int.cc projet 1 year ago
double-int.h projet 1 year ago
dse.cc projet 1 year ago
dump-context.h projet 1 year ago
dumpfile.cc projet 1 year ago
dumpfile.h projet 1 year ago
dwarf2asm.cc projet 1 year ago
dwarf2asm.h projet 1 year ago
dwarf2cfi.cc projet 1 year ago
dwarf2ctf.cc projet 1 year ago
dwarf2ctf.h projet 1 year ago
dwarf2out.cc projet 1 year ago
dwarf2out.h projet 1 year ago
early-remat.cc projet 1 year ago
edit-context.cc projet 1 year ago
edit-context.h projet 1 year ago
emit-rtl.cc projet 1 year ago
emit-rtl.h projet 1 year ago
errors.cc projet 1 year ago
errors.h projet 1 year ago
escaped_string.h projet 1 year ago
et-forest.cc projet 1 year ago
et-forest.h projet 1 year ago
except.cc projet 1 year ago
except.h projet 1 year ago
exec-tool.in projet 1 year ago
explow.cc projet 1 year ago
explow.h projet 1 year ago
expmed.cc projet 1 year ago
expmed.h projet 1 year ago
expr.cc projet 1 year ago
expr.h projet 1 year ago
fibonacci_heap.cc projet 1 year ago
fibonacci_heap.h projet 1 year ago
file-find.cc projet 1 year ago
file-find.h projet 1 year ago
file-prefix-map.cc projet 1 year ago
file-prefix-map.h projet 1 year ago
final.cc projet 1 year ago
fixed-value.cc projet 1 year ago
fixed-value.h projet 1 year ago
flag-types.h projet 1 year ago
flags.h projet 1 year ago
fold-const-call.cc projet 1 year ago
fold-const-call.h projet 1 year ago
fold-const.cc projet 1 year ago
fold-const.h projet 1 year ago
fp-test.cc projet 1 year ago
function-abi.cc projet 1 year ago
function-abi.h projet 1 year ago
function-tests.cc projet 1 year ago
function.cc projet 1 year ago
function.h projet 1 year ago
fwprop.cc projet 1 year ago
gcc-ar.cc projet 1 year ago
gcc-main.cc projet 1 year ago
gcc-plugin.h projet 1 year ago
gcc-rich-location.cc projet 1 year ago
gcc-rich-location.h projet 1 year ago
gcc-symtab.h projet 1 year ago
gcc.cc projet 1 year ago
gcc.h projet 1 year ago
gcov-counter.def projet 1 year ago
gcov-dump.cc projet 1 year ago
gcov-io.cc projet 1 year ago
gcov-io.h projet 1 year ago
gcov-tool.cc projet 1 year ago
gcov.cc projet 1 year ago
gcse-common.cc projet 1 year ago
gcse-common.h projet 1 year ago
gcse.cc projet 1 year ago
gcse.h projet 1 year ago
gdbasan.in projet 1 year ago
gdbhooks.py projet 1 year ago
gdbinit.in projet 1 year ago
gen-pass-instances.awk projet 1 year ago
genattr-common.cc projet 1 year ago
genattr.cc projet 1 year ago
genattrtab.cc projet 1 year ago
genautomata.cc projet 1 year ago
gencfn-macros.cc projet 1 year ago
gencheck.cc projet 1 year ago
genchecksum.cc projet 1 year ago
gencodes.cc projet 1 year ago
genconditions.cc projet 1 year ago
genconfig.cc projet 1 year ago
genconstants.cc projet 1 year ago
genemit.cc projet 1 year ago
genenums.cc projet 1 year ago
generic-match-head.cc projet 1 year ago
generic-match.h projet 1 year ago
genextract.cc projet 1 year ago
genflags.cc projet 1 year ago
gengenrtl.cc projet 1 year ago
gengtype-lex.l projet 1 year ago
gengtype-parse.cc projet 1 year ago
gengtype-state.cc projet 1 year ago
gengtype.cc projet 1 year ago
gengtype.h projet 1 year ago
genhooks.cc projet 1 year ago
genmatch.cc projet 1 year ago
genmddeps.cc projet 1 year ago
genmddump.cc projet 1 year ago
genmodes.cc projet 1 year ago
genmultilib projet 1 year ago
genopinit.cc projet 1 year ago
genoutput.cc projet 1 year ago
genpeep.cc projet 1 year ago
genpreds.cc projet 1 year ago
genrecog.cc projet 1 year ago
gensupport.cc projet 1 year ago
gensupport.h projet 1 year ago
gentarget-def.cc projet 1 year ago
genversion.cc projet 1 year ago
ggc-common.cc projet 1 year ago
ggc-internal.h projet 1 year ago
ggc-none.cc projet 1 year ago
ggc-page.cc projet 1 year ago
ggc-tests.cc projet 1 year ago
ggc.h projet 1 year ago
gimple-array-bounds.cc projet 1 year ago
gimple-array-bounds.h projet 1 year ago
gimple-builder.cc projet 1 year ago
gimple-builder.h projet 1 year ago
gimple-expr.cc projet 1 year ago
gimple-expr.h projet 1 year ago
gimple-fold.cc projet 1 year ago
gimple-fold.h projet 1 year ago
gimple-harden-conditionals.cc projet 1 year ago
gimple-if-to-switch.cc projet 1 year ago
gimple-isel.cc projet 1 year ago
gimple-iterator.cc projet 1 year ago
gimple-iterator.h projet 1 year ago
gimple-laddress.cc projet 1 year ago
gimple-loop-interchange.cc projet 1 year ago
gimple-loop-jam.cc projet 1 year ago
gimple-loop-versioning.cc projet 1 year ago
gimple-low.cc projet 1 year ago
gimple-low.h projet 1 year ago
gimple-match-head.cc projet 1 year ago
gimple-match.h projet 1 year ago
gimple-predicate-analysis.cc projet 1 year ago
gimple-predicate-analysis.h projet 1 year ago
gimple-predict.h projet 1 year ago
gimple-pretty-print.cc projet 1 year ago
gimple-pretty-print.h projet 1 year ago
gimple-range-cache.cc projet 1 year ago
gimple-range-cache.h projet 1 year ago
gimple-range-edge.cc projet 1 year ago
gimple-range-edge.h projet 1 year ago
gimple-range-fold.cc projet 1 year ago
gimple-range-fold.h projet 1 year ago
gimple-range-gori.cc projet 1 year ago
gimple-range-gori.h projet 1 year ago
gimple-range-path.cc projet 1 year ago
gimple-range-path.h projet 1 year ago
gimple-range-tests.cc projet 1 year ago
gimple-range-trace.cc projet 1 year ago
gimple-range-trace.h projet 1 year ago
gimple-range.cc projet 1 year ago
gimple-range.h projet 1 year ago
gimple-ssa-backprop.cc projet 1 year ago
gimple-ssa-evrp-analyze.cc projet 1 year ago
gimple-ssa-evrp-analyze.h projet 1 year ago
gimple-ssa-evrp.cc projet 1 year ago
gimple-ssa-isolate-paths.cc projet 1 year ago
gimple-ssa-nonnull-compare.cc projet 1 year ago
gimple-ssa-split-paths.cc projet 1 year ago
gimple-ssa-sprintf.cc projet 1 year ago
gimple-ssa-store-merging.cc projet 1 year ago
gimple-ssa-strength-reduction.cc projet 1 year ago
gimple-ssa-warn-access.cc projet 1 year ago
gimple-ssa-warn-access.h projet 1 year ago
gimple-ssa-warn-alloca.cc projet 1 year ago
gimple-ssa-warn-restrict.cc projet 1 year ago
gimple-ssa-warn-restrict.h projet 1 year ago
gimple-ssa.h projet 1 year ago
gimple-streamer-in.cc projet 1 year ago
gimple-streamer-out.cc projet 1 year ago
gimple-streamer.h projet 1 year ago
gimple-walk.cc projet 1 year ago
gimple-walk.h projet 1 year ago
gimple-warn-recursion.cc projet 1 year ago
gimple.cc projet 1 year ago
gimple.def projet 1 year ago
gimple.h projet 1 year ago
gimplify-me.cc projet 1 year ago
gimplify-me.h projet 1 year ago
gimplify.cc projet 1 year ago
gimplify.h projet 1 year ago
glimits.h projet 1 year ago
godump.cc projet 1 year ago
graph.cc projet 1 year ago
graph.h projet 1 year ago
graphds.cc projet 1 year ago
graphds.h projet 1 year ago
graphite-dependences.cc projet 1 year ago
graphite-isl-ast-to-gimple.cc projet 1 year ago
graphite-optimize-isl.cc projet 1 year ago
graphite-poly.cc projet 1 year ago
graphite-scop-detection.cc projet 1 year ago
graphite-sese-to-poly.cc projet 1 year ago
graphite.cc projet 1 year ago
graphite.h projet 1 year ago
graphviz.cc projet 1 year ago
graphviz.h projet 1 year ago
gsstruct.def projet 1 year ago
gstab.h projet 1 year ago
gsyms.h projet 1 year ago
gsyslimits.h projet 1 year ago
gtm-builtins.def projet 1 year ago
haifa-sched.cc projet 1 year ago
hard-reg-set.h projet 1 year ago
hash-map-tests.cc projet 1 year ago
hash-map-traits.h projet 1 year ago
hash-map.h projet 1 year ago
hash-set-tests.cc projet 1 year ago
hash-set.h projet 1 year ago
hash-table.cc projet 1 year ago
hash-table.h projet 1 year ago
hash-traits.h projet 1 year ago
highlev-plugin-common.h projet 1 year ago
hooks.cc projet 1 year ago
hooks.h projet 1 year ago
host-default.cc projet 1 year ago
hosthooks-def.h projet 1 year ago
hosthooks.h projet 1 year ago
hw-doloop.cc projet 1 year ago
hw-doloop.h projet 1 year ago
hwint.cc projet 1 year ago
hwint.h projet 1 year ago
ifcvt.cc projet 1 year ago
ifcvt.h projet 1 year ago
inchash.cc projet 1 year ago
inchash.h projet 1 year ago
incpath.cc projet 1 year ago
incpath.h projet 1 year ago
init-regs.cc projet 1 year ago
input.cc projet 1 year ago
input.h projet 1 year ago
insn-addr.h projet 1 year ago
insn-notes.def projet 1 year ago
int-vector-builder.h projet 1 year ago
internal-fn.cc projet 1 year ago
internal-fn.def projet 1 year ago
internal-fn.h projet 1 year ago
intl.cc projet 1 year ago
intl.h projet 1 year ago
ipa-comdats.cc projet 1 year ago
ipa-cp.cc projet 1 year ago
ipa-devirt.cc projet 1 year ago
ipa-fnsummary.cc projet 1 year ago
ipa-fnsummary.h projet 1 year ago
ipa-free-lang-data.cc projet 1 year ago
ipa-icf-gimple.cc projet 1 year ago
ipa-icf-gimple.h projet 1 year ago
ipa-icf.cc projet 1 year ago
ipa-icf.h projet 1 year ago
ipa-inline-analysis.cc projet 1 year ago
ipa-inline-transform.cc projet 1 year ago
ipa-inline.cc projet 1 year ago
ipa-inline.h projet 1 year ago
ipa-modref-tree.cc projet 1 year ago
ipa-modref-tree.h projet 1 year ago
ipa-modref.cc projet 1 year ago
ipa-modref.h projet 1 year ago
ipa-param-manipulation.cc projet 1 year ago
ipa-param-manipulation.h projet 1 year ago
ipa-polymorphic-call.cc projet 1 year ago
ipa-predicate.cc projet 1 year ago
ipa-predicate.h projet 1 year ago
ipa-profile.cc projet 1 year ago
ipa-prop.cc projet 1 year ago
ipa-prop.h projet 1 year ago
ipa-pure-const.cc projet 1 year ago
ipa-ref.cc projet 1 year ago
ipa-ref.h projet 1 year ago
ipa-reference.cc projet 1 year ago
ipa-reference.h projet 1 year ago
ipa-split.cc projet 1 year ago
ipa-sra.cc projet 1 year ago
ipa-utils.cc projet 1 year ago
ipa-utils.h projet 1 year ago
ipa-visibility.cc projet 1 year ago
ipa.cc projet 1 year ago
ira-build.cc projet 1 year ago
ira-color.cc projet 1 year ago
ira-conflicts.cc projet 1 year ago
ira-costs.cc projet 1 year ago
ira-emit.cc projet 1 year ago
ira-int.h projet 1 year ago
ira-lives.cc projet 1 year ago
ira.cc projet 1 year ago
ira.h projet 1 year ago
is-a.h projet 1 year ago
iterator-utils.h projet 1 year ago
json.cc projet 1 year ago
json.h projet 1 year ago
jump.cc projet 1 year ago
langhooks-def.h projet 1 year ago
langhooks.cc projet 1 year ago
langhooks.h projet 1 year ago
lcm.cc projet 1 year ago
lcm.h projet 1 year ago
libfuncs.h projet 1 year ago
limitx.h projet 1 year ago
limity.h projet 1 year ago
lists.cc projet 1 year ago
lock-and-run.sh projet 1 year ago
loop-doloop.cc projet 1 year ago
loop-init.cc projet 1 year ago
loop-invariant.cc projet 1 year ago
loop-iv.cc projet 1 year ago
loop-unroll.cc projet 1 year ago
loop-unroll.h projet 1 year ago
lower-subreg.cc projet 1 year ago
lower-subreg.h projet 1 year ago
lra-assigns.cc projet 1 year ago
lra-coalesce.cc projet 1 year ago
lra-constraints.cc projet 1 year ago
lra-eliminations.cc projet 1 year ago
lra-int.h projet 1 year ago
lra-lives.cc projet 1 year ago
lra-remat.cc projet 1 year ago
lra-spills.cc projet 1 year ago
lra.cc projet 1 year ago
lra.h projet 1 year ago
lto-cgraph.cc projet 1 year ago
lto-compress.cc projet 1 year ago
lto-compress.h projet 1 year ago
lto-opts.cc projet 1 year ago
lto-section-in.cc projet 1 year ago
lto-section-names.h projet 1 year ago
lto-section-out.cc projet 1 year ago
lto-streamer-in.cc projet 1 year ago
lto-streamer-out.cc projet 1 year ago
lto-streamer.cc projet 1 year ago
lto-streamer.h projet 1 year ago
lto-wrapper.cc projet 1 year ago
machmode.def projet 1 year ago
machmode.h projet 1 year ago
main.cc projet 1 year ago
match.pd projet 1 year ago
mcf.cc projet 1 year ago
mem-stats-traits.h projet 1 year ago
mem-stats.h projet 1 year ago
memmodel.h projet 1 year ago
memory-block.cc projet 1 year ago
memory-block.h projet 1 year ago
mkconfig.sh projet 1 year ago
mode-classes.def projet 1 year ago
mode-switching.cc projet 1 year ago
modulo-sched.cc projet 1 year ago
multiple_target.cc projet 1 year ago
mux-utils.h projet 1 year ago
obstack-utils.h projet 1 year ago
omp-builtins.def projet 1 year ago
omp-expand.cc projet 1 year ago
omp-expand.h projet 1 year ago
omp-general.cc projet 1 year ago
omp-general.h projet 1 year ago
omp-low.cc projet 1 year ago
omp-low.h projet 1 year ago
omp-oacc-kernels-decompose.cc projet 1 year ago
omp-oacc-neuter-broadcast.cc projet 1 year ago
omp-offload.cc projet 1 year ago
omp-offload.h projet 1 year ago
omp-simd-clone.cc projet 1 year ago
omp-simd-clone.h projet 1 year ago
opt-functions.awk projet 1 year ago
opt-gather.awk projet 1 year ago
opt-include.awk projet 1 year ago
opt-problem.cc projet 1 year ago
opt-problem.h projet 1 year ago
opt-read.awk projet 1 year ago
opt-suggestions.cc projet 1 year ago
opt-suggestions.h projet 1 year ago
optabs-libfuncs.cc projet 1 year ago
optabs-libfuncs.h projet 1 year ago
optabs-query.cc projet 1 year ago
optabs-query.h projet 1 year ago
optabs-tree.cc projet 1 year ago
optabs-tree.h projet 1 year ago
optabs.cc projet 1 year ago
optabs.def projet 1 year ago
optabs.h projet 1 year ago
optc-gen.awk projet 1 year ago
optc-save-gen.awk projet 1 year ago
opth-gen.awk projet 1 year ago
optinfo-emit-json.cc projet 1 year ago
optinfo-emit-json.h projet 1 year ago
optinfo.cc projet 1 year ago
optinfo.h projet 1 year ago
opts-common.cc projet 1 year ago
opts-diagnostic.h projet 1 year ago
opts-global.cc projet 1 year ago
opts.cc projet 1 year ago
opts.h projet 1 year ago
ordered-hash-map-tests.cc projet 1 year ago
ordered-hash-map.h projet 1 year ago
output.h projet 1 year ago
params.opt projet 1 year ago
pass_manager.h projet 1 year ago
passes.cc projet 1 year ago
passes.def projet 1 year ago
plugin.cc projet 1 year ago
plugin.def projet 1 year ago
plugin.h projet 1 year ago
pointer-query.cc projet 1 year ago
pointer-query.h projet 1 year ago
poly-int-types.h projet 1 year ago
poly-int.h projet 1 year ago
postreload-gcse.cc projet 1 year ago
postreload.cc projet 1 year ago
predict.cc projet 1 year ago
predict.def projet 1 year ago
predict.h projet 1 year ago
prefix.cc projet 1 year ago
prefix.h projet 1 year ago
pretty-print.cc projet 1 year ago
pretty-print.h projet 1 year ago
print-rtl-function.cc projet 1 year ago
print-rtl.cc projet 1 year ago
print-rtl.h projet 1 year ago
print-tree.cc projet 1 year ago
print-tree.h projet 1 year ago
profile-count.cc projet 1 year ago
profile-count.h projet 1 year ago
profile.cc projet 1 year ago
profile.h projet 1 year ago
range-op.cc projet 1 year ago
range-op.h projet 1 year ago
range.cc projet 1 year ago
range.h projet 1 year ago
read-md.cc projet 1 year ago
read-md.h projet 1 year ago
read-rtl-function.cc projet 1 year ago
read-rtl-function.h projet 1 year ago
read-rtl.cc projet 1 year ago
real.cc projet 1 year ago
real.h projet 1 year ago
realmpfr.cc projet 1 year ago
realmpfr.h projet 1 year ago
recog.cc projet 1 year ago
recog.h projet 1 year ago
ree.cc projet 1 year ago
reg-notes.def projet 1 year ago
reg-stack.cc projet 1 year ago
regcprop.cc projet 1 year ago
regcprop.h projet 1 year ago
reginfo.cc projet 1 year ago
regrename.cc projet 1 year ago
regrename.h projet 1 year ago
regs.h projet 1 year ago
regset.h projet 1 year ago
regstat.cc projet 1 year ago
reload.cc projet 1 year ago
reload.h projet 1 year ago
reload1.cc projet 1 year ago
reorg.cc projet 1 year ago
resource.cc projet 1 year ago
resource.h projet 1 year ago
rtl-error.cc projet 1 year ago
rtl-error.h projet 1 year ago
rtl-iter.h projet 1 year ago
rtl-ssa.h projet 1 year ago
rtl-tests.cc projet 1 year ago
rtl.cc projet 1 year ago
rtl.def projet 1 year ago
rtl.h projet 1 year ago
rtlanal.cc projet 1 year ago
rtlanal.h projet 1 year ago
rtlhash.cc projet 1 year ago
rtlhash.h projet 1 year ago
rtlhooks-def.h projet 1 year ago
rtlhooks.cc projet 1 year ago
rtx-vector-builder.cc projet 1 year ago
rtx-vector-builder.h projet 1 year ago
run-rtl-passes.cc projet 1 year ago
run-rtl-passes.h projet 1 year ago
sancov.cc projet 1 year ago
sanitizer.def projet 1 year ago
sanopt.cc projet 1 year ago
sbitmap.cc projet 1 year ago
sbitmap.h projet 1 year ago
sched-deps.cc projet 1 year ago
sched-ebb.cc projet 1 year ago
sched-int.h projet 1 year ago
sched-rgn.cc projet 1 year ago
sel-sched-dump.cc projet 1 year ago
sel-sched-dump.h projet 1 year ago
sel-sched-ir.cc projet 1 year ago
sel-sched-ir.h projet 1 year ago
sel-sched.cc projet 1 year ago
sel-sched.h projet 1 year ago
selftest-diagnostic.cc projet 1 year ago
selftest-diagnostic.h projet 1 year ago
selftest-rtl.cc projet 1 year ago
selftest-rtl.h projet 1 year ago
selftest-run-tests.cc projet 1 year ago
selftest.cc projet 1 year ago
selftest.h projet 1 year ago
sese.cc projet 1 year ago
sese.h projet 1 year ago
shortest-paths.h projet 1 year ago
shrink-wrap.cc projet 1 year ago
shrink-wrap.h projet 1 year ago
signop.h projet 1 year ago
simplify-rtx.cc projet 1 year ago
sort.cc projet 1 year ago
sparseset.cc projet 1 year ago
sparseset.h projet 1 year ago
spellcheck-tree.cc projet 1 year ago
spellcheck-tree.h projet 1 year ago
spellcheck.cc projet 1 year ago
spellcheck.h projet 1 year ago
splay-tree-utils.cc projet 1 year ago
splay-tree-utils.h projet 1 year ago
splay-tree-utils.tcc projet 1 year ago
sreal.cc projet 1 year ago
sreal.h projet 1 year ago
ssa-iterators.h projet 1 year ago
ssa.h projet 1 year ago
stab.def projet 1 year ago
stack-ptr-mod.cc projet 1 year ago
statistics.cc projet 1 year ago
statistics.h projet 1 year ago
stmt.cc projet 1 year ago
stmt.h projet 1 year ago
stor-layout.cc projet 1 year ago
stor-layout.h projet 1 year ago
store-motion.cc projet 1 year ago
streamer-hooks.cc projet 1 year ago
streamer-hooks.h projet 1 year ago
stringpool.cc projet 1 year ago
stringpool.h projet 1 year ago
substring-locations.cc projet 1 year ago
substring-locations.h projet 1 year ago
symbol-summary.h projet 1 year ago
symtab-clones.cc projet 1 year ago
symtab-clones.h projet 1 year ago
symtab-thunks.cc projet 1 year ago
symtab-thunks.h projet 1 year ago
symtab.cc projet 1 year ago
sync-builtins.def projet 1 year ago
system.h projet 1 year ago
target-def.h projet 1 year ago
target-globals.cc projet 1 year ago
target-globals.h projet 1 year ago
target-hooks-macros.h projet 1 year ago
target-insns.def projet 1 year ago
target.def projet 1 year ago
target.h projet 1 year ago
targhooks.cc projet 1 year ago
targhooks.h projet 1 year ago
timevar.cc projet 1 year ago
timevar.def projet 1 year ago
timevar.h projet 1 year ago
toplev.cc projet 1 year ago
toplev.h projet 1 year ago
tracer.cc projet 1 year ago
tracer.h projet 1 year ago
trans-mem.cc projet 1 year ago
trans-mem.h projet 1 year ago
tree-affine.cc projet 1 year ago
tree-affine.h projet 1 year ago
tree-call-cdce.cc projet 1 year ago
tree-cfg.cc projet 1 year ago
tree-cfg.h projet 1 year ago
tree-cfgcleanup.cc projet 1 year ago
tree-cfgcleanup.h projet 1 year ago
tree-chrec.cc projet 1 year ago
tree-chrec.h projet 1 year ago
tree-complex.cc projet 1 year ago
tree-core.h projet 1 year ago
tree-data-ref.cc projet 1 year ago
tree-data-ref.h projet 1 year ago
tree-dfa.cc projet 1 year ago
tree-dfa.h projet 1 year ago
tree-diagnostic-path.cc projet 1 year ago
tree-diagnostic.cc projet 1 year ago
tree-diagnostic.h projet 1 year ago
tree-dump.cc projet 1 year ago
tree-dump.h projet 1 year ago
tree-eh.cc projet 1 year ago
tree-eh.h projet 1 year ago
tree-emutls.cc projet 1 year ago
tree-hash-traits.h projet 1 year ago
tree-hasher.h projet 1 year ago
tree-if-conv.cc projet 1 year ago
tree-if-conv.h projet 1 year ago
tree-inline.cc projet 1 year ago
tree-inline.h projet 1 year ago
tree-into-ssa.cc projet 1 year ago
tree-into-ssa.h projet 1 year ago
tree-iterator.cc projet 1 year ago
tree-iterator.h projet 1 year ago
tree-loop-distribution.cc projet 1 year ago
tree-nested.cc projet 1 year ago
tree-nested.h projet 1 year ago
tree-nrv.cc projet 1 year ago
tree-object-size.cc projet 1 year ago
tree-object-size.h projet 1 year ago
tree-outof-ssa.cc projet 1 year ago
tree-outof-ssa.h projet 1 year ago
tree-parloops.cc projet 1 year ago
tree-parloops.h projet 1 year ago
tree-pass.h projet 1 year ago
tree-phinodes.cc projet 1 year ago
tree-phinodes.h projet 1 year ago
tree-predcom.cc projet 1 year ago
tree-pretty-print.cc projet 1 year ago
tree-pretty-print.h projet 1 year ago
tree-profile.cc projet 1 year ago
tree-scalar-evolution.cc projet 1 year ago
tree-scalar-evolution.h projet 1 year ago
tree-sra.cc projet 1 year ago
tree-sra.h projet 1 year ago
tree-ssa-address.cc projet 1 year ago
tree-ssa-address.h projet 1 year ago
tree-ssa-alias-compare.h projet 1 year ago
tree-ssa-alias.cc projet 1 year ago
tree-ssa-alias.h projet 1 year ago
tree-ssa-ccp.cc projet 1 year ago
tree-ssa-ccp.h projet 1 year ago
tree-ssa-coalesce.cc projet 1 year ago
tree-ssa-coalesce.h projet 1 year ago
tree-ssa-copy.cc projet 1 year ago
tree-ssa-dce.cc projet 1 year ago
tree-ssa-dce.h projet 1 year ago
tree-ssa-dom.cc projet 1 year ago
tree-ssa-dom.h projet 1 year ago
tree-ssa-dse.cc projet 1 year ago
tree-ssa-dse.h projet 1 year ago
tree-ssa-forwprop.cc projet 1 year ago
tree-ssa-ifcombine.cc projet 1 year ago
tree-ssa-live.cc projet 1 year ago
tree-ssa-live.h projet 1 year ago
tree-ssa-loop-ch.cc projet 1 year ago
tree-ssa-loop-im.cc projet 1 year ago
tree-ssa-loop-ivcanon.cc projet 1 year ago
tree-ssa-loop-ivopts.cc projet 1 year ago
tree-ssa-loop-ivopts.h projet 1 year ago
tree-ssa-loop-manip.cc projet 1 year ago
tree-ssa-loop-manip.h projet 1 year ago
tree-ssa-loop-niter.cc projet 1 year ago
tree-ssa-loop-niter.h projet 1 year ago
tree-ssa-loop-prefetch.cc projet 1 year ago
tree-ssa-loop-split.cc projet 1 year ago
tree-ssa-loop-unswitch.cc projet 1 year ago
tree-ssa-loop.cc projet 1 year ago
tree-ssa-loop.h projet 1 year ago
tree-ssa-math-opts.cc projet 1 year ago
tree-ssa-math-opts.h projet 1 year ago
tree-ssa-operands.cc projet 1 year ago
tree-ssa-operands.h projet 1 year ago
tree-ssa-phiopt.cc projet 1 year ago
tree-ssa-phiprop.cc projet 1 year ago
tree-ssa-pre.cc projet 1 year ago
tree-ssa-propagate.cc projet 1 year ago
tree-ssa-propagate.h projet 1 year ago
tree-ssa-reassoc.cc projet 1 year ago
tree-ssa-reassoc.h projet 1 year ago
tree-ssa-sccvn.cc projet 1 year ago
tree-ssa-sccvn.h projet 1 year ago
tree-ssa-scopedtables.cc projet 1 year ago
tree-ssa-scopedtables.h projet 1 year ago
tree-ssa-sink.cc projet 1 year ago
tree-ssa-strlen.cc projet 1 year ago
tree-ssa-strlen.h projet 1 year ago
tree-ssa-structalias.cc projet 1 year ago
tree-ssa-tail-merge.cc projet 1 year ago
tree-ssa-ter.cc projet 1 year ago
tree-ssa-ter.h projet 1 year ago
tree-ssa-threadbackward.cc projet 1 year ago
tree-ssa-threadedge.cc projet 1 year ago
tree-ssa-threadedge.h projet 1 year ago
tree-ssa-threadupdate.cc projet 1 year ago
tree-ssa-threadupdate.h projet 1 year ago
tree-ssa-uncprop.cc projet 1 year ago
tree-ssa-uninit.cc projet 1 year ago
tree-ssa.cc projet 1 year ago
tree-ssa.h projet 1 year ago
tree-ssanames.cc projet 1 year ago
tree-ssanames.h projet 1 year ago
tree-stdarg.cc projet 1 year ago
tree-stdarg.h projet 1 year ago
tree-streamer-in.cc projet 1 year ago
tree-streamer-out.cc projet 1 year ago
tree-streamer.cc projet 1 year ago
tree-streamer.h projet 1 year ago
tree-switch-conversion.cc projet 1 year ago
tree-switch-conversion.h projet 1 year ago
tree-tailcall.cc projet 1 year ago
tree-vect-data-refs.cc projet 1 year ago
tree-vect-generic.cc projet 1 year ago
tree-vect-loop-manip.cc projet 1 year ago
tree-vect-loop.cc projet 1 year ago
tree-vect-patterns.cc projet 1 year ago
tree-vect-slp-patterns.cc projet 1 year ago
tree-vect-slp.cc projet 1 year ago
tree-vect-stmts.cc projet 1 year ago
tree-vector-builder.cc projet 1 year ago
tree-vector-builder.h projet 1 year ago
tree-vectorizer.cc projet 1 year ago
tree-vectorizer.h projet 1 year ago
tree-vrp.cc projet 1 year ago
tree-vrp.h projet 1 year ago
tree.cc projet 1 year ago
tree.def projet 1 year ago
tree.h projet 1 year ago
treestruct.def projet 1 year ago
tristate.cc projet 1 year ago
tristate.h projet 1 year ago
tsan.cc projet 1 year ago
tsan.h projet 1 year ago
tsystem.h projet 1 year ago
typeclass.h projet 1 year ago
typed-splay-tree.cc projet 1 year ago
typed-splay-tree.h projet 1 year ago
ubsan.cc projet 1 year ago
ubsan.h projet 1 year ago
valtrack.cc projet 1 year ago
valtrack.h projet 1 year ago
value-pointer-equiv.cc projet 1 year ago
value-pointer-equiv.h projet 1 year ago
value-prof.cc projet 1 year ago
value-prof.h projet 1 year ago
value-query.cc projet 1 year ago
value-query.h projet 1 year ago
value-range-equiv.cc projet 1 year ago
value-range-equiv.h projet 1 year ago
value-range.cc projet 1 year ago
value-range.h projet 1 year ago
value-relation.cc projet 1 year ago
value-relation.h projet 1 year ago
var-tracking.cc projet 1 year ago
varasm.cc projet 1 year ago
varasm.h projet 1 year ago
varpool.cc projet 1 year ago
vec-perm-indices.cc projet 1 year ago
vec-perm-indices.h projet 1 year ago
vec.cc projet 1 year ago
vec.h projet 1 year ago
vector-builder.h projet 1 year ago
vmsdbg.h projet 1 year ago
vmsdbgout.cc projet 1 year ago
vr-values.cc projet 1 year ago
vr-values.h projet 1 year ago
vtable-verify.cc projet 1 year ago
vtable-verify.h projet 1 year ago
warning-control.cc projet 1 year ago
web.cc projet 1 year ago
wide-int-bitmask.h projet 1 year ago
wide-int-print.cc projet 1 year ago
wide-int-print.h projet 1 year ago
wide-int.cc projet 1 year ago
wide-int.h projet 1 year ago
xcoff.h projet 1 year ago
xcoffout.cc projet 1 year ago
xcoffout.h projet 1 year ago

README.Portability

Copyright (C) 2000-2022 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.