repo.or.cz
/
smatch.git
/
search
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
first
·
prev
·
next
cleanup: there is no 'struct phi' to allocate
2017-02-16
L
uc Va
n
Oostenry
c
k
cleanup: there is n
o
'str
u
ct
phi' t
o
allocate
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenryck
testsuite: quieter error report
i
ng for 'known-to-f
a
il'
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc
Va
n
Ooste
n
ryck
t
e
stsuite: allow quieter error repo
r
ting
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van O
o
stenr
y
ck
tes
t
suite: get
'
check-known-
t
o
-
fai
l
' earl
i
er
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oo
s
ten
r
y
c
k
testsuite: use 'er
r
or'
i
nstead
o
f 'in
f
o' for su
c
cessful
.
.
.
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Lu
c
Van Oosten
r
yck
t
e
stsuite: check the nbr of times a
pattern should
.
.
.
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van O
o
s
t
enryck
testsuite:
ad
d
s
ome selfche
c
kin
g
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
L
u
c Van Oostenryck
t
estsu
i
te:
c
heck patte
r
ns pr
e
s
e
nce or absence in o
u
tput
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Lu
c
Van Oo
s
tenryck
allow
to launch t
h
e
t
est suite from the project ro
o
t dir
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van
O
os
t
e
n
ryck
te
s
tsu
i
te: repo
r
t as
err
o
r te
s
t
s known
t
o fail but
.
.
.
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenryck
test
s
uite:
a
dd tag
t
o ig
n
ore the output/err
o
r
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenryck
testsu
i
te: add
a s
i
m
p
le test
for -W
e
num-m
i
smatch
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oo
s
tenryck
testsuite: simplify
t
he ioc-typ
e
c
heck case
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenryck
t
estsuite: make tests known
to fail
eff
e
c
t
ively fail
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc V
a
n Oostenryck
t
estsuite:
give a
p
r
oper name
t
o
t
he 'binary-cons
t
a
n
t
.
.
.
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Lu
c
Van O
o
stenryck
expand __builtin_bswap*() with
cons
t
a
nt
a
rg
s
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
L
u
c
Va
n
O
os
t
enryck
let identical symbols share
t
h
eir evaluate/expand met
h
o
ds
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenryck
move evaluation & expa
n
sion of bu
i
ltins in
a
s
eparate
.
.
.
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oosten
r
yck
add support f
o
r LLP64 arch
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van
O
o
s
tenryck
simplify '(x
|
|
x
)' and
'
(x
&
& x)'
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc
V
a
n Oostenryc
k
simplify
comparisons f
o
llowed by an equality test a
g
a
i
ns
t
.
.
.
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van O
o
stenryck
add warning o
p
tion '-Wtautological-compa
r
e'
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc
V
an
Oostenryck
simplify '(x op x)' to '
0
', '1' or 'x'
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenryck
sim
p
lif
y
'(x || 1)' to '1'
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenryck
s
i
mp
l
ify '~(~x)' an
d
'-(-x)'
t
o 'x'
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenr
y
ck
sim
p
lify '(x % 1)' into
'
0'
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc
V
an
O
ostenryck
s
i
m
p
l
if
y
'(x / -
1
)' to '-x' (
b
ut on
l
y for s
i
g
n
ed div
i
sion)
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Lu
c
Va
n
Oostenr
y
ck
simplif
y
'(x * -1)' to '-x'
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
L
u
c
V
an Oostenryck
si
m
pli
f
y
'
(x / 1)' t
o
'x
'
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oosten
r
yck
move
O
P_MUL s
i
mpli
f
icat
i
on i
n
a
separate f
u
nction
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc
Van
O
os
t
en
r
yck
define
_
_LONG_MA
X
__ & __SIZEOF_PO
I
N
TER__
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc
Van Oostenryck
add an helper for common predefine
d
macros
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van
Oos
t
enryck
d
efine __LP64
_
_ & _LP64 if arc
h
_m64 is enabled
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc
V
an Oosten
r
yck
f
ix killing OP_SETVAL instructions
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oo
s
tenryck
remove 'Escape' from tok
e
n ch
a
racter
c
lass
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
L
u
c
V
an Oostenry
c
k
warn on
unknown escapes after preprocessing
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
L
u
c Van
O
ostenryck
add t
e
stcase for wron
g
earl
y
escape
conversion
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van
Oostenry
c
k
r
emove unused arg in u
s
es/def
s
f
uncti
o
n
s
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenryck
va
l
idate expression'
s
type in conditio
n
als
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oos
t
enryck
add help
e
r: is_sca
l
ar_t
y
pe()
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc
V
a
n
O
o
stenr
y
ck
fix conditional co
n
text test case
w
i
th void
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Va
n
Oostenryck
cleanup
k
ill_instr
u
c
t
i
o
n()
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenry
c
k
expli
c
itely ignore k
i
lling OP_ENTRY
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
L
uc Van Oo
s
tenryck
fix killing O
P
_COMPUTEDGOTO
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc
Van Oostenryck
fi
x
ki
l
ling
O
P_S
E
LECT
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oo
s
tenr
y
ck
f
i
x kill
i
ng OP_CAST & fr
i
ends
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
L
u
c V
a
n
Oo
s
t
e
nryck
fix kil
l
i
ng OP_
P
H
I
i
n
struct
i
o
n
s
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oosten
r
yck
kill uses of rep
l
aced
i
n
structio
n
s
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc V
a
n Oost
e
nryck
fix crash while te
s
t
i
ng between condit
i
onal & unconditional
.
.
.
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc
V
an Oostenryc
k
fix cast's target
type info
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Lu
c
Van Oostenryck
C
1
1:
t
each sparse about '--std={c
1
1,gnu11}'
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenryck
C
1
1
: teach sparse about '_Align
a
s(
)
'
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
L
uc Va
n
Oostenr
y
ck
C11: teach sparse a
b
o
ut '_A
l
i
gnof()'
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
L
uc Van
O
o
s
ten
r
yck
C11:
t
each sparse about
'_Noreturn'
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenryck
C11: teach sp
a
rse about '_
T
hread_local'
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc
Van Oostenryck
fix value o
f
l
abel state
m
ent
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc
Van Oostenryck
m
i
s
sing load simplification
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oosten
r
yck
fix phisrc mixu
p
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Lu
c
Van O
o
s
t
enryck
fix su
p
erfl
u
ous phisrc
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc
Van Ooste
n
ryck
volati
l
e lo
a
ds
must
n
ot
b
e simplified
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
L
u
c
V
a
n Oostenryck
unssa: upd
a
te com
m
ent about the un
n
eeded
c
opies
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc
V
an Oost
e
nryck
unssa: eliminate trivial phisrc copies
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc
Van Oost
e
nryck
u
nssa:
t
ry to a
v
oid some OP_PHI
c
opies
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Lu
c
Van Ooste
n
ryck
unssa: sim
p
l
i
f
y
rewrite of OP_PHIS
O
U
RCE
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
L
u
c Van Oost
e
nryck
unssa: do not try to upd
a
t
e liveness
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenry
c
k
f
i
x cast to bool
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenr
y
ck
l
lvm: r
e
move
unneeded
OP_COPY sup
p
ort
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oosten
r
yck
llvm: fix typ
i
ng when comparing to a constant
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oos
t
enryck
fix typi
n
g er
r
or
i
n compound assi
g
nment
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oos
t
enryck
add support for __int128
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenryck
fix missing e
l
ement in t
y
pes
d
ecl
a
ration
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van
O
ostenryc
k
rec
u
rsive phi_defines cannot
happen
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van
O
o
stenryc
k
cgcc sho
u
ld
n
ot define
n
on-rese
r
ved id
e
ntifier
s
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Lu
c
Van Oostenryck
U
p
dat
e
ma
i
ntain
e
rs in th
e
manpage
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Va
n
Oostenryck
some modi
f
ier
s
need to be preserved
by 't
y
peof()'
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Ooste
n
ryck
t
e
stsuite:
t
e
st mo
d
ifier
s
preserved by
'
t
y
p
eof()'
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc
Van Oostenryck
t
ests
u
ite: te
s
t modifiers preserved by
'&' oper
a
tor
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc V
a
n Ooste
n
r
y
ck
use a shorter name for functi
o
n-
p
ointer-modifi
e
r
-
inheritance
.
c
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenryck
t
est
s
uit
e
: sim
p
lify test funct
i
on-poin
t
er-inheritanc
e
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenryck
storage should not be inherited by pointer
s
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
L
u
c Van Oostenryck
remove unuse
d
f
i
eld 'multijump' in struct ins
t
ructi
o
n
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenryck
give comparabl
e
label'
s
names to
b
asic bloc
k
s
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
L
u
c Van Oosten
r
yck
le
t
"compile" not
c
rash on bools
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenryck
make ptr
l
ist
w
alking ag
a
i
nst robust a
g
a
i
ns
t
empty blocks
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
Tested-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenryck
add t
e
st case for builtin bsw
a
p wi
t
h constant a
r
g
s
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van
Oost
e
nryck
f
i
x discard
e
d label
s
tateme
n
t
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van
Oostenryck
Remove unnee
d
ed
variable in
i
nteger_pr
o
moti
o
n()
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van O
o
stenryck
Warn
on
unknown attri
b
ut
e
s instead of throwing
e
r
rors
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-02-13
Luc Van Oostenryck
cleanup: remov
e
evaluat
e
_argu
m
e
n
ts()'
s
unused ar
g
ument
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-01-27
Lu
c
Van Ooste
n
ryck
m
a
ke '
i
gnored_
a
ttrib
u
tes[]' st
a
t
ic
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-01-27
Luc V
a
n Oostenryc
k
add
m
i
s
s
i
ng #include "ch
a
r
.
h" to
char
.
c
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-01-27
Luc Van Oostenryck
Fi
x
type
checking of var
i
a
dic f
u
nctions
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2017-01-27
Luc Van Oostenryc
k
fix mixup
in "
H
a
n
dl
e
SForced in
storage_
m
o
di
f
iers"
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2016-02-22
Lu
c
Va
n
Oosten
r
yck
Do not dro
p
'
nocast' modifier whe
n
tak
i
ng the addr
e
ss
.
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2016-02-04
L
u
c Van Oostenryck
Fix size calc
u
lation o
f
unsiz
e
d bool array
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree
2015-02-09
Luc
V
an Oostenryck
Teach sparse
about the __COUNTER__
predefined macro
...off-by: Luc Van Oostenryck <
luc.vanoostenryck@gmail.com
>
commit
|
commitdiff
|
tree