NameDateSize

..10-Sep-201996

acinclude.m406-Nov-201217.3 KiB

aclocal.m406-Nov-20124.3 KiB

addresses.h06-Nov-20122.7 KiB

alias.c06-Nov-201277.5 KiB

alias.h06-Nov-20121.3 KiB

alloc-pool.c06-Nov-20129.6 KiB

alloc-pool.h06-Nov-20121.6 KiB

attribs.c05-Jan-201410.5 KiB

BASE-VER06-Nov-20126

basic-block.h06-Nov-201242.5 KiB

bb-reorder.c06-Nov-201265.9 KiB

bitmap.c06-Nov-201234.2 KiB

bitmap.h06-Nov-201217.4 KiB

bt-load.c06-Nov-201247 KiB

builtin-attrs.def06-Nov-20127.1 KiB

builtin-types.def22-Nov-201321.4 KiB

builtins.c30-Nov-2013332.2 KiB

builtins.def22-Nov-201361.9 KiB

c-aux-info.c06-Nov-201220.8 KiB

c-common.c05-Jan-2014213.9 KiB

c-common.def06-Nov-20121.5 KiB

c-common.h05-Jan-201440.4 KiB

c-config-lang.in06-Nov-20121.3 KiB

c-convert.c05-Jan-20144.1 KiB

c-cppbuiltin.c30-Jul-201525.7 KiB

c-decl.c27-May-2016286.6 KiB

c-dump.c06-Nov-20121.6 KiB

c-errors.c06-Nov-20121.9 KiB

c-format.c06-Nov-201297.6 KiB

c-format.h06-Nov-201212 KiB

c-gimplify.c06-Nov-20126.9 KiB

c-incpath.c23-Dec-201312 KiB

c-incpath.h06-Nov-20121.4 KiB

c-lang.c06-Nov-20122.5 KiB

c-lex.c14-May-201323.4 KiB

c-objc-common.c06-Nov-20126.6 KiB

c-objc-common.h05-Jan-20146 KiB

c-omp.c06-Nov-201212 KiB

c-opts.c05-Jan-201440.5 KiB

c-parser.c05-Jan-2014279 KiB

c-pch.c06-Nov-201213 KiB

c-ppoutput.c23-Nov-201313.6 KiB

c-pragma.c06-Nov-201224.2 KiB

c-pragma.h06-Nov-20123.5 KiB

c-pretty-print.c05-Jan-201449.8 KiB

c-pretty-print.h05-Jan-20148.8 KiB

c-semantics.c06-Nov-20124.3 KiB

c-tree.h05-Jan-201423.7 KiB

c-typeck.c21-May-2016277.1 KiB

c.opt27-Jan-201421.5 KiB

caller-save.c06-Nov-201226.8 KiB

calls.c05-Jan-2014141.3 KiB

cfg.c23-Dec-201328.7 KiB

cfganal.c06-Nov-201228.4 KiB

cfgbuild.c06-Nov-201222.5 KiB

cfgcleanup.c06-Nov-201267.9 KiB

cfgexpand.c30-Jul-201551.6 KiB

cfghooks.c06-Nov-201223.5 KiB

cfghooks.h06-Nov-20127.5 KiB

cfglayout.c06-Nov-201233.1 KiB

cfglayout.h06-Nov-20121.4 KiB

cfgloop.c06-Nov-201230.4 KiB

cfgloop.h06-Nov-201212.5 KiB

cfgloopanal.c06-Nov-201214.1 KiB

cfgloopmanip.c06-Nov-201243.6 KiB

cfgrtl.c06-Nov-201284.6 KiB

cgraph.c06-Nov-201235.1 KiB

cgraph.h05-Jan-201412.2 KiB

cgraphunit.c05-Jan-201457.8 KiB

ChangeLog06-Nov-201268.4 KiB

ChangeLog-199706-Nov-2012140.5 KiB

ChangeLog-199806-Nov-2012638.4 KiB

ChangeLog-199906-Nov-2012783.2 KiB

ChangeLog-200006-Nov-20121.1 MiB

ChangeLog-200106-Nov-20121.2 MiB

ChangeLog-200206-Nov-20121.2 MiB

ChangeLog-200306-Nov-20121.3 MiB

ChangeLog-200406-Nov-20121.8 MiB

ChangeLog-200506-Nov-20121.3 MiB

ChangeLog-200606-Nov-2012604.5 KiB

ChangeLog.apple05-Jan-201434 KiB

ChangeLog.gcc4305-Jan-201431.6 KiB

ChangeLog.lib06-Nov-2012129.4 KiB

ChangeLog.tree-ssa06-Nov-2012742.4 KiB

collect2.c23-Dec-201365.7 KiB

collect2.h06-Nov-20121.6 KiB

combine.c07-Jan-2014408.9 KiB

common.opt30-Jul-201532.5 KiB

conditions.h06-Nov-20124.5 KiB

config/14-Aug-2017121

config.build06-Nov-20123.6 KiB

config.gcc19-Oct-201892.5 KiB

config.host06-Nov-20126.7 KiB

config.in06-Nov-201228.8 KiB

configure22-Nov-2013500.4 KiB

configure.ac22-Nov-2013109.5 KiB

conflict.c06-Nov-201210.2 KiB

convert.c05-Jan-201427 KiB

convert.h05-Jan-20141.1 KiB

COPYING06-Nov-201217.6 KiB

COPYING.LIB06-Nov-201225.8 KiB

coretypes.h06-Nov-20122.5 KiB

coverage.c23-Nov-201328.1 KiB

coverage.h06-Nov-20121.7 KiB

cp/04-Dec-201462

cppdefault.c29-Jun-20183.1 KiB

cppdefault.h06-Nov-20122.1 KiB

cppspec.c06-Nov-20125.2 KiB

crtstuff.c06-Nov-201220.2 KiB

cse.c06-Nov-2012241.6 KiB

cselib.c06-Nov-201240 KiB

cselib.h06-Nov-20122.4 KiB

cstamp-h.in06-Nov-201210

DATESTAMP06-Nov-20129

dbxout.c05-Jan-2014103.2 KiB

dbxout.h06-Nov-20121.3 KiB

ddg.c06-Nov-201227.4 KiB

ddg.h06-Nov-20125.4 KiB

debug.c06-Nov-20123 KiB

debug.h06-Nov-20126.8 KiB

defaults.h06-Nov-201227.1 KiB

DEV-PHASE06-Nov-20128

df-core.c06-Nov-201236.4 KiB

df-problems.c06-Nov-2012105.4 KiB

df-scan.c06-Nov-201257.8 KiB

df.h06-Nov-201227.4 KiB

dfp.c06-Nov-201217.1 KiB

dfp.h06-Nov-20122.4 KiB

diagnostic.c06-Nov-201219.2 KiB

diagnostic.def06-Nov-20121.1 KiB

diagnostic.h06-Nov-20128.1 KiB

doc/01-Sep-201647

dojump.c06-Nov-201232.5 KiB

dominance.c06-Nov-201229.9 KiB

domwalk.c06-Nov-20129.7 KiB

domwalk.h06-Nov-20124.9 KiB

double-int.c06-Nov-20129.1 KiB

double-int.h06-Nov-20126.2 KiB

dummy-checksum.c06-Nov-201253

dwarf.h06-Nov-201210 KiB

dwarf2.h19-May-201523.1 KiB

dwarf2asm.c06-Nov-201222.9 KiB

dwarf2asm.h06-Nov-20122.5 KiB

dwarf2out.c05-Jan-2014431.5 KiB

dwarf2out.h06-Nov-20121.1 KiB

emit-rtl.c30-Dec-2013139.3 KiB

emit-rtl.h06-Nov-20121.7 KiB

emutls.c06-Nov-20120

errors.c06-Nov-20123.4 KiB

errors.h06-Nov-20121.9 KiB

et-forest.c06-Nov-201214.3 KiB

et-forest.h06-Nov-20122.7 KiB

except.c06-Nov-2012106.8 KiB

except.h06-Nov-20126.7 KiB

explow.c06-Nov-201242.8 KiB

expmed.c05-Jan-2014176.6 KiB

expr.c05-Jan-2014290.9 KiB

expr.h06-Nov-201227.5 KiB

final.c30-Dec-2013110.5 KiB

fix-header.c06-Nov-201235.4 KiB

fixproto06-Nov-201210.4 KiB

flags.h30-Nov-201313.3 KiB

flow.c06-Nov-2012141.1 KiB

fold-const.c05-Jan-2014424.4 KiB

fp-test.c06-Nov-20125.4 KiB

FREEBSD-deletelist06-Nov-2012983

FREEBSD-libiberty06-Nov-2012448

FREEBSD-upgrade06-Nov-2012345

FREEBSD-Xlist06-Nov-20121.3 KiB

FSFChangeLog06-Nov-2012104.8 KiB

FSFChangeLog.1006-Nov-2012381.3 KiB

FSFChangeLog.1106-Nov-2012550 KiB

function.c05-Jan-2014173 KiB

function.h05-Jan-201421.4 KiB

gbl-ctors.h06-Nov-20123.4 KiB

gcc.c30-Jul-2015220.2 KiB

gcc.h06-Nov-20122.9 KiB

gccbug.in06-Nov-201215.5 KiB

gccspec.c06-Nov-20122.8 KiB

gcov-dump.c06-Nov-201210.8 KiB

gcov-io.c06-Nov-201212.7 KiB

gcov-io.h06-Nov-201222.6 KiB

gcov-iov.c06-Nov-20122 KiB

gcov.c23-Dec-201348.7 KiB

gcse.c06-Nov-2012190.3 KiB

gdbinit.in06-Nov-20122.8 KiB

gen-protos.c06-Nov-20124.5 KiB

genattr.c06-Nov-201210.8 KiB

genattrtab.c22-Nov-2013120.7 KiB

genautomata.c06-Nov-2012287.7 KiB

gencheck.c06-Nov-20121.9 KiB

genchecksum.c06-Nov-20121.8 KiB

gencodes.c06-Nov-20122.5 KiB

genconditions.c06-Nov-20127.1 KiB

genconfig.c06-Nov-20129.4 KiB

genconstants.c06-Nov-20122.2 KiB

genemit.c06-Nov-201223.9 KiB

genextract.c06-Nov-201212.8 KiB

genflags.c06-Nov-20126.8 KiB

gengenrtl.c06-Nov-20128.1 KiB

gengtype-lex.l06-Nov-201215.1 KiB

gengtype-yacc.y06-Nov-20127.1 KiB

gengtype.c06-Nov-201280.7 KiB

gengtype.h06-Nov-20125.2 KiB

genmddeps.c06-Nov-20121.9 KiB

genmodes.c06-Nov-201232.2 KiB

genmultilib06-Nov-201213.6 KiB

genopinit.c22-Nov-201318 KiB

genoutput.c06-Nov-201231.6 KiB

genpeep.c06-Nov-201210.9 KiB

genpreds.c06-Nov-201238 KiB

genrecog.c06-Nov-201277.2 KiB

gensupport.c06-Nov-201235 KiB

gensupport.h06-Nov-20123.3 KiB

ggc-common.c05-Jan-201428.5 KiB

ggc-none.c06-Nov-20121.6 KiB

ggc-page.c06-Nov-201264.6 KiB

ggc-zone.c06-Nov-201266.2 KiB

ggc.h05-Jan-201411.8 KiB

gimple-low.c06-Nov-201222.7 KiB

gimplify.c23-Nov-2013187.5 KiB

ginclude/06-Nov-20129

glimits.h06-Nov-20122.7 KiB

global.c06-Nov-201276.2 KiB

graph.c06-Nov-20129.6 KiB

graph.h06-Nov-20121,016

gstab.h06-Nov-2012215

gsyms.h06-Nov-20121.2 KiB

gsyslimits.h06-Nov-2012330

gthr-aix.h06-Nov-20121.4 KiB

gthr-dce.h06-Nov-201212.5 KiB

gthr-gnat.c06-Nov-20122.1 KiB

gthr-gnat.h06-Nov-20121.7 KiB

gthr-lynx.h06-Nov-20122.4 KiB

gthr-nks.h06-Nov-20129 KiB

gthr-posix.c06-Nov-20124.6 KiB

gthr-posix.h06-Nov-201217.5 KiB

gthr-posix95.h24-Jun-201316.3 KiB

gthr-rtems.h06-Nov-20124.5 KiB

gthr-single.h06-Nov-20125.7 KiB

gthr-solaris.h06-Nov-201212 KiB

gthr-tpf.h06-Nov-20125.8 KiB

gthr-vxworks.h06-Nov-20123.8 KiB

gthr-win32.h06-Nov-201218 KiB

gthr.h06-Nov-20124.1 KiB

haifa-sched.c06-Nov-2012129.8 KiB

hard-reg-set.h06-Nov-201217 KiB

hooks.c06-Nov-20126.3 KiB

hooks.h06-Nov-20123.2 KiB

host-default.c06-Nov-2012961

hosthooks-def.h06-Nov-20121.8 KiB

hosthooks.h06-Nov-20121.9 KiB

hwint.h06-Nov-20125.7 KiB

ifcvt.c06-Nov-2012110.1 KiB

input.h06-Nov-20123 KiB

insn-addr.h06-Nov-20121.7 KiB

insn-notes.def06-Nov-20123.5 KiB

integrate.c06-Nov-201210.7 KiB

integrate.h06-Nov-20121.5 KiB

intl.c06-Nov-20122.9 KiB

intl.h06-Nov-20121.6 KiB

ipa-cp.c06-Nov-201233.3 KiB

ipa-inline.c06-Nov-201237 KiB

ipa-prop.c06-Nov-201216.4 KiB

ipa-prop.h06-Nov-20126.8 KiB

ipa-pure-const.c06-Nov-201221.5 KiB

ipa-reference.c06-Nov-201237.7 KiB

ipa-reference.h06-Nov-20123 KiB

ipa-type-escape.c06-Nov-201252.7 KiB

ipa-type-escape.h06-Nov-20121.2 KiB

ipa-utils.c06-Nov-20126 KiB

ipa-utils.h06-Nov-20121.3 KiB

ipa.c06-Nov-20125.8 KiB

jump.c06-Nov-201250.8 KiB

lambda-code.c06-Nov-201282.9 KiB

lambda-mat.c06-Nov-201215.1 KiB

lambda-trans.c06-Nov-20122.2 KiB

lambda.h06-Nov-201213.4 KiB

langhooks-def.h05-Jan-201414.1 KiB

langhooks.c05-Jan-201415 KiB

langhooks.h05-Jan-201419.2 KiB

LANGUAGES06-Nov-20122 KiB

lcm.c06-Nov-201225.7 KiB

libada-mk.in06-Nov-20121.1 KiB

libfuncs.h06-Nov-20122.3 KiB

libgcc-std.ver17-Jun-20174.1 KiB

libgcc2.c18-Feb-201447 KiB

libgcc2.h18-Feb-201414.4 KiB

libgcov.c06-Nov-201223.7 KiB

limitx.h06-Nov-2012455

limity.h06-Nov-2012270

lists.c06-Nov-20126.6 KiB

local-alloc.c06-Nov-201278.9 KiB

longlong.h19-Jun-201546.8 KiB

loop-doloop.c06-Nov-201219.2 KiB

loop-init.c05-Jan-201411.1 KiB

loop-invariant.c06-Nov-201233.1 KiB

loop-iv.c06-Nov-201267.2 KiB

loop-unroll.c06-Nov-201260.7 KiB

loop-unswitch.c06-Nov-201213.4 KiB

machmode.def06-Nov-20127.6 KiB

machmode.h06-Nov-20126.2 KiB

main.c06-Nov-20121.1 KiB

Makefile.in22-Nov-2013201.7 KiB

mips-tdump.c22-Nov-201341.2 KiB

mips-tfile.c22-Nov-2013151 KiB

mkconfig.sh06-Nov-20123.4 KiB

mklibgcc.in22-Nov-201327.7 KiB

mkmap-flat.awk06-Nov-20122 KiB

mkmap-symver.awk06-Nov-20122.8 KiB

mode-classes.def06-Nov-20121.4 KiB

mode-switching.c06-Nov-201221.4 KiB

modulo-sched.c06-Nov-201273.3 KiB

omp-builtins.def06-Nov-20126.8 KiB

omp-low.c06-Nov-2012125.8 KiB

ONEWS06-Nov-201236.6 KiB

opt-functions.awk06-Nov-20124.7 KiB

opt-gather.awk06-Nov-20121.6 KiB

optabs.c22-Nov-2013190.1 KiB

optabs.h22-Nov-201319.1 KiB

optc-gen.awk06-Nov-20125.3 KiB

opth-gen.awk05-Sep-20134.7 KiB

opts-common.c06-Nov-20126.5 KiB

opts.c23-Nov-201347.7 KiB

opts.h06-Nov-20122.9 KiB

output.h06-Nov-201224.5 KiB

params.c06-Nov-20122.6 KiB

params.def06-Nov-201224 KiB

params.h06-Nov-20125.1 KiB

passes.c06-Nov-201228 KiB

pointer-set.c06-Nov-20128.4 KiB

pointer-set.h06-Nov-20121.5 KiB

postreload-gcse.c16-Nov-201337.2 KiB

postreload.c06-Nov-201247.5 KiB

predict.c06-Nov-201254.8 KiB

predict.def06-Nov-20125.2 KiB

predict.h06-Nov-20121.2 KiB

prefix.c06-Nov-20128.8 KiB

prefix.h06-Nov-20121.2 KiB

pretty-print.c06-Nov-201221.5 KiB

pretty-print.h06-Nov-201213.1 KiB

print-rtl.c30-Dec-201318.9 KiB

print-tree.c30-Dec-201325.4 KiB

profile.c06-Nov-201234 KiB

protoize.c06-Nov-2012137.9 KiB

read-rtl.c06-Nov-201246.2 KiB

README.Portability06-Nov-20125.9 KiB

real.c06-Nov-2012107.2 KiB

real.h06-Nov-201215 KiB

recog.c06-Nov-201296.2 KiB

recog.h06-Nov-20128.8 KiB

reg-notes.def06-Nov-20126.8 KiB

reg-stack.c06-Nov-201293.4 KiB

regclass.c06-Nov-201278.4 KiB

regmove.c06-Nov-201274 KiB

regrename.c06-Nov-201256 KiB

regs.h16-Nov-20139.7 KiB

reload.c06-Nov-2012238.6 KiB

reload.h06-Nov-201213.7 KiB

reload1.c30-Dec-2013272.5 KiB

reorg.c06-Nov-2012121.5 KiB

resource.c06-Nov-201238.6 KiB

resource.h06-Nov-20122 KiB

rtl-error.c06-Nov-20123.6 KiB

rtl-factoring.c06-Nov-201241.6 KiB

rtl.c06-Nov-201215.1 KiB

rtl.def30-Dec-201353 KiB

rtl.h30-Dec-201384.5 KiB

rtlanal.c16-Nov-2013127.2 KiB

rtlhooks-def.h06-Nov-20121.9 KiB

rtlhooks.c06-Nov-20125.1 KiB

sbitmap.c06-Nov-201217.5 KiB

sbitmap.h06-Nov-20127.6 KiB

scan-decls.c06-Nov-20126.2 KiB

scan-types.sh06-Nov-20125 KiB

scan.c06-Nov-20124.3 KiB

scan.h06-Nov-20122.5 KiB

sched-deps.c06-Nov-201266.8 KiB

sched-ebb.c06-Nov-201221 KiB

sched-int.h06-Nov-201226.3 KiB

sched-rgn.c06-Nov-201295.2 KiB

sched-vis.c23-Dec-201317.7 KiB

sdbout.c06-Nov-201248.6 KiB

sdbout.h06-Nov-2012893

see.c06-Nov-2012115 KiB

SERVICE06-Nov-2012265

simplify-rtx.c22-Nov-2013143 KiB

sort-protos06-Nov-2012293

sreal.c06-Nov-201211.6 KiB

sreal.h06-Nov-20122.2 KiB

stab.def06-Nov-20129.1 KiB

statistics.h06-Nov-20121.2 KiB

stmt.c30-Dec-201397.4 KiB

stor-layout.c05-Jan-201471.1 KiB

stringpool.c06-Nov-20126.5 KiB

struct-equiv.c06-Nov-201242.9 KiB

stub-objc.c05-Jan-201411.3 KiB

sync-builtins.def06-Nov-201212 KiB

sys-protos.h06-Nov-201275.2 KiB

sys-types.h06-Nov-20124.2 KiB

system.h06-Nov-201223.5 KiB

target-def.h23-Dec-201322.8 KiB

target.h23-Dec-201337.1 KiB

targhooks.c05-Jan-201416.3 KiB

targhooks.h06-Nov-20123.3 KiB

timevar.c06-Nov-201213.6 KiB

timevar.def06-Nov-20128.5 KiB

timevar.h06-Nov-20123.4 KiB

tlink.c23-Dec-201318.4 KiB

toplev.c05-Jan-201457.2 KiB

toplev.h30-Dec-20136.8 KiB

tracer.c06-Nov-201211.1 KiB

tree-browser.c06-Nov-201221.8 KiB

tree-browser.def06-Nov-20124.8 KiB

tree-cfg.c30-Dec-2013151.4 KiB

tree-cfgcleanup.c06-Nov-201221.7 KiB

tree-chrec.c06-Nov-201237 KiB

tree-chrec.h06-Nov-20125.9 KiB

tree-complex.c06-Nov-201241.7 KiB

tree-data-ref.c06-Nov-2012134.3 KiB

tree-data-ref.h06-Nov-201210.8 KiB

tree-dfa.c06-Nov-201227.1 KiB

tree-dump.c23-Dec-201327.1 KiB

tree-dump.h06-Nov-20123.1 KiB

tree-eh.c06-Nov-201256.4 KiB

tree-flow-inline.h06-Nov-201239.9 KiB

tree-flow.h23-Nov-201336.1 KiB

tree-gimple.c06-Nov-201212.6 KiB

tree-gimple.h05-Jan-20147.7 KiB

tree-if-conv.c06-Nov-201231.8 KiB

tree-inline.c06-Nov-201286.6 KiB

tree-inline.h06-Nov-20124.2 KiB

tree-into-ssa.c06-Nov-201291.4 KiB

tree-iterator.c06-Nov-20128.2 KiB

tree-iterator.h06-Nov-20123.2 KiB

tree-loop-linear.c06-Nov-201210.6 KiB

tree-mudflap.c06-Nov-201243.9 KiB

tree-mudflap.h06-Nov-20121.2 KiB

tree-nested.c05-Jan-201457.6 KiB

tree-nomudflap.c06-Nov-20122.9 KiB

tree-nrv.c06-Nov-20129.9 KiB

tree-object-size.c06-Nov-201227.9 KiB

tree-optimize.c06-Nov-201213.7 KiB

tree-outof-ssa.c06-Nov-201268.5 KiB

tree-pass.h06-Nov-201216.5 KiB

tree-phinodes.c06-Nov-201213.7 KiB

tree-pretty-print.c06-Nov-201272 KiB

tree-profile.c06-Nov-201210.1 KiB

tree-scalar-evolution.c06-Nov-201284.5 KiB

tree-scalar-evolution.h06-Nov-20121.5 KiB

tree-sra.c06-Nov-201263.5 KiB

tree-ssa-address.c05-Jan-201419.5 KiB

tree-ssa-alias-warnings.c23-Nov-201329 KiB

tree-ssa-alias.c23-Nov-201396.8 KiB

tree-ssa-ccp.c06-Nov-201274.3 KiB

tree-ssa-copy.c06-Nov-201235.8 KiB

tree-ssa-copyrename.c06-Nov-201210.9 KiB

tree-ssa-dce.c06-Nov-201227.9 KiB

tree-ssa-dom.c06-Nov-201276.9 KiB

tree-ssa-dse.c06-Nov-201215.4 KiB

tree-ssa-forwprop.c06-Nov-201231.6 KiB

tree-ssa-live.c06-Nov-201248.2 KiB

tree-ssa-live.h06-Nov-201218.8 KiB

tree-ssa-loop-ch.c06-Nov-20127.4 KiB

tree-ssa-loop-im.c06-Nov-201240.6 KiB

tree-ssa-loop-ivcanon.c06-Nov-201215.6 KiB

tree-ssa-loop-ivopts.c06-Nov-2012144.8 KiB

tree-ssa-loop-manip.c06-Nov-201227.2 KiB

tree-ssa-loop-niter.c06-Nov-201258.9 KiB

tree-ssa-loop-prefetch.c06-Nov-201229.9 KiB

tree-ssa-loop-unswitch.c06-Nov-20127.2 KiB

tree-ssa-loop.c06-Nov-201211.9 KiB

tree-ssa-math-opts.c06-Nov-201215.4 KiB

tree-ssa-operands.c06-Nov-201271.3 KiB

tree-ssa-operands.h06-Nov-201212.4 KiB

tree-ssa-phiopt.c06-Nov-201228.5 KiB

tree-ssa-pre.c06-Nov-2012111.9 KiB

tree-ssa-propagate.c22-Nov-201334 KiB

tree-ssa-propagate.h06-Nov-20124.5 KiB

tree-ssa-reassoc.c06-Nov-201242.4 KiB

tree-ssa-sink.c06-Nov-201214.8 KiB

tree-ssa-structalias.c06-Nov-2012138 KiB

tree-ssa-structalias.h06-Nov-20123.6 KiB

tree-ssa-threadedge.c06-Nov-201217.7 KiB

tree-ssa-threadupdate.c06-Nov-201228.7 KiB

tree-ssa-uncprop.c06-Nov-201218.7 KiB

tree-ssa.c06-Nov-201235.6 KiB

tree-ssanames.c06-Nov-20129.3 KiB

tree-stdarg.c06-Nov-201223.6 KiB

tree-stdarg.h06-Nov-20121.2 KiB

tree-tailcall.c06-Nov-201228.1 KiB

tree-vect-analyze.c06-Nov-201267.3 KiB

tree-vect-generic.c06-Nov-201216.5 KiB

tree-vect-patterns.c06-Nov-201220.4 KiB

tree-vect-transform.c06-Nov-2012103.2 KiB

tree-vectorizer.c06-Nov-201264.9 KiB

tree-vectorizer.h06-Nov-201212.9 KiB

tree-vn.c06-Nov-201211.7 KiB

tree-vrp.c23-Nov-2013162.2 KiB

tree.c05-Jan-2014213.5 KiB

tree.def05-Jan-201451.5 KiB

tree.h05-Jan-2014178.1 KiB

treestruct.def06-Nov-20122.6 KiB

tsystem.h06-Nov-20123.8 KiB

typeclass.h06-Nov-20121.6 KiB

unwind-c.c06-Nov-20127.3 KiB

unwind-compat.c06-Nov-20125.9 KiB

unwind-compat.h06-Nov-20121.5 KiB

unwind-dw2-fde-compat.c06-Nov-20121.7 KiB

unwind-dw2-fde-darwin.c06-Nov-20128.2 KiB

unwind-dw2-fde-glibc.c06-Nov-201212.2 KiB

unwind-dw2-fde.c06-Nov-201226.9 KiB

unwind-dw2-fde.h06-Nov-20125.5 KiB

unwind-dw2.c16-Jan-201839.8 KiB

unwind-dw2.h06-Nov-20122.9 KiB

unwind-generic.h06-Nov-20128.9 KiB

unwind-pe.h06-Nov-20127.4 KiB

unwind-sjlj.c06-Nov-20128.1 KiB

unwind.inc06-Nov-20129.3 KiB

value-prof.c06-Nov-201226.3 KiB

value-prof.h06-Nov-20123.6 KiB

var-tracking.c06-Nov-201277.1 KiB

varasm.c05-Jan-2014175.2 KiB

varray.c06-Nov-20126.9 KiB

varray.h06-Nov-201212.5 KiB

vec.c06-Nov-20126.5 KiB

vec.h06-Nov-201241.5 KiB

vecprim.h06-Nov-2012937

version.c14-Jun-20141.2 KiB

version.h06-Nov-2012145

vmsdbg.h06-Nov-20126.5 KiB

vmsdbgout.c06-Nov-201252 KiB

web.c06-Nov-20129.2 KiB

xcoff.h06-Nov-2012427

xcoffout.c06-Nov-201213 KiB

xcoffout.h06-Nov-20126.4 KiB

README.Portability

1Copyright (C) 2000, 2003 Free Software Foundation, Inc.
2
3This file is intended to contain a few notes about writing C code
4within GCC so that it compiles without error on the full range of
5compilers GCC needs to be able to compile on.
6
7The problem is that many ISO-standard constructs are not accepted by
8either old or buggy compilers, and we keep getting bitten by them.
9This knowledge until know has been sparsely spread around, so I
10thought I'd collect it in one useful place.  Please add and correct
11any problems as you come across them.
12
13I'm going to start from a base of the ISO C90 standard, since that is
14probably what most people code to naturally.  Obviously using
15constructs introduced after that is not a good idea.
16
17For the complete coding style conventions used in GCC, please read
18http://gcc.gnu.org/codingconventions.html
19
20
21String literals
22---------------
23
24Irix6 "cc -n32" and OSF4 "cc" have problems with constant string
25initializers with parens around it, e.g.
26
27const char string[] = ("A string");
28
29This is unfortunate since this is what the GNU gettext macro N_
30produces.  You need to find a different way to code it.
31
32Some compilers like MSVC++ have fairly low limits on the maximum
33length of a string literal; 509 is the lowest we've come across.  You
34may need to break up a long printf statement into many smaller ones.
35
36
37Empty macro arguments
38---------------------
39
40ISO C (6.8.3 in the 1990 standard) specifies the following:
41
42If (before argument substitution) any argument consists of no
43preprocessing tokens, the behavior is undefined.
44
45This was relaxed by ISO C99, but some older compilers emit an error,
46so code like
47
48#define foo(x, y) x y
49foo (bar, )
50
51needs to be coded in some other way.
52
53
54free and realloc
55----------------
56
57Some implementations crash upon attempts to free or realloc the null
58pointer.  Thus if mem might be null, you need to write
59
60  if (mem)
61    free (mem);
62
63
64Trigraphs
65---------
66
67You weren't going to use them anyway, but some otherwise ISO C
68compliant compilers do not accept trigraphs.
69
70
71Suffixes on Integer Constants
72-----------------------------
73
74You should never use a 'l' suffix on integer constants ('L' is fine),
75since it can easily be confused with the number '1'.
76
77
78			Common Coding Pitfalls
79			======================
80
81errno
82-----
83
84errno might be declared as a macro.
85
86
87Implicit int
88------------
89
90In C, the 'int' keyword can often be omitted from type declarations.
91For instance, you can write
92
93  unsigned variable;
94
95as shorthand for
96
97  unsigned int variable;
98
99There are several places where this can cause trouble.  First, suppose
100'variable' is a long; then you might think
101
102  (unsigned) variable
103
104would convert it to unsigned long.  It does not.  It converts to
105unsigned int.  This mostly causes problems on 64-bit platforms, where
106long and int are not the same size.
107
108Second, if you write a function definition with no return type at
109all:
110
111  operate (int a, int b)
112  {
113    ...
114  }
115
116that function is expected to return int, *not* void.  GCC will warn
117about this.
118
119Implicit function declarations always have return type int.  So if you
120correct the above definition to
121
122  void
123  operate (int a, int b)
124  ...
125
126but operate() is called above its definition, you will get an error
127about a "type mismatch with previous implicit declaration".  The cure
128is to prototype all functions at the top of the file, or in an
129appropriate header.
130
131Char vs unsigned char vs int
132----------------------------
133
134In C, unqualified 'char' may be either signed or unsigned; it is the
135implementation's choice.  When you are processing 7-bit ASCII, it does
136not matter.  But when your program must handle arbitrary binary data,
137or fully 8-bit character sets, you have a problem.  The most obvious
138issue is if you have a look-up table indexed by characters.
139
140For instance, the character '\341' in ISO Latin 1 is SMALL LETTER A
141WITH ACUTE ACCENT.  In the proper locale, isalpha('\341') will be
142true.  But if you read '\341' from a file and store it in a plain
143char, isalpha(c) may look up character 225, or it may look up
144character -31.  And the ctype table has no entry at offset -31, so
145your program will crash.  (If you're lucky.)
146
147It is wise to use unsigned char everywhere you possibly can.  This
148avoids all these problems.  Unfortunately, the routines in <string.h>
149take plain char arguments, so you have to remember to cast them back
150and forth - or avoid the use of strxxx() functions, which is probably
151a good idea anyway.
152
153Another common mistake is to use either char or unsigned char to
154receive the result of getc() or related stdio functions.  They may
155return EOF, which is outside the range of values representable by
156char.  If you use char, some legal character value may be confused
157with EOF, such as '\377' (SMALL LETTER Y WITH UMLAUT, in Latin-1).
158The correct choice is int.
159
160A more subtle version of the same mistake might look like this:
161
162  unsigned char pushback[NPUSHBACK];
163  int pbidx;
164  #define unget(c) (assert(pbidx < NPUSHBACK), pushback[pbidx++] = (c))
165  #define get(c) (pbidx ? pushback[--pbidx] : getchar())
166  ...
167  unget(EOF);
168
169which will mysteriously turn a pushed-back EOF into a SMALL LETTER Y
170WITH UMLAUT.
171
172
173Other common pitfalls
174---------------------
175
176o Expecting 'plain' char to be either sign or unsigned extending.
177
178o Shifting an item by a negative amount or by greater than or equal to
179  the number of bits in a type (expecting shifts by 32 to be sensible
180  has caused quite a number of bugs at least in the early days).
181
182o Expecting ints shifted right to be sign extended.
183
184o Modifying the same value twice within one sequence point.
185
186o Host vs. target floating point representation, including emitting NaNs
187  and Infinities in a form that the assembler handles.
188
189o qsort being an unstable sort function (unstable in the sense that
190  multiple items that sort the same may be sorted in different orders
191  by different qsort functions).
192
193o Passing incorrect types to fprintf and friends.
194
195o Adding a function declaration for a module declared in another file to
196  a .c file instead of to a .h file.
197
198