Browse source

Changelog

Query
From:
To:
Branch:
Path:
Message:
BugID:
User: +
Format:
: 1 checkin (+3/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+6/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 2 checkins (+28/-16) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+6/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 3 checkins (+104/-24) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+5/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 3 checkins (+374/-32) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+147/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+172/-171) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+25/-15) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+27/-6) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 2 checkins (+194/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 2 checkins (+23/-10) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+11/-10) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+133/-52) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+13/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+6/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+132/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+22/-9) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+40/-15) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+9/-20) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+13/-6) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+6/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+3/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+6/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+5/-38) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+35/-33) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+40/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+120/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+33/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+9/-7) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+3/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+26/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+7/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+31/-20) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+1333/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+22/-15) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+18/-11) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+6/-3) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+12/-5) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+18/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+75/-16) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+3/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+160/-43) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+38/-34) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+32/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+3/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+1008/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+85/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+8/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+11/-45) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+85/-49) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+20/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+12/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+19/-5) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+40/-3) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+7/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+49/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+3/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+7/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+4/-6) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+54/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+9/-5) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 4 checkins (+67/-3) by 2 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+26/-42) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 2 checkins (+11/-37) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+2/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+2/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+12/-20) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 3 checkins (+16/-5) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+19/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+16/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+4/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+53/-66) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+91/-7) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+4/-6) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+31/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+1/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+17/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+66/-5) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+48/-6) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+38/-58) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+23/-17) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 2 checkins (+22/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+10/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+48/-8) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+11/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+244/-192) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+2/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+23/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+3/-5) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+7/-5) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+2/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+19/-13) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+6/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+7/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 2 checkins (+26/-11) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+18/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+5/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+15/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+4/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 2 checkins (+55/-55) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+6/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+3/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+10/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+52/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+26/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+19/-16) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+36/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+37/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+37/-36) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+5/-3) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+3/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+3/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+11/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+7/-8) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+5/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+10/-3) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+3/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+2/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+70/-10) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 2 checkins (+6/-3) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 11 checkins (+116/-102) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+5/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+37/-12) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+3/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+25/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+26/-20) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+5/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+4/-3) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+10/-8) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+10/-7) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 3 checkins (+34/-6) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+10/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+5/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 3 checkins (+11/-5) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+53/-145) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+6/-5) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 2 checkins (+6/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+5/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+34/-27) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+3/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+5/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+9/-6) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+4/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 3 checkins (+68/-5) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+9/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+10/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 5 checkins (+45/-5) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 2 checkins (+6/-4) by Marcus Comstedt <marcus@mc.pp.se> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+5/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+3/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+19/-13) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+3/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 3 checkins (+11/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+5/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 2 checkins (+19/-9) by Tobias S. Josefowitz <tobij@tobij.de> : 1 checkin (+12/-10) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+5/-94) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+8/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+23/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+15/-11) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+9/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+3/-5) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+8/-9) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+11/-5) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+21/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 2 checkins (+20/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+29/-10) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+13/-5) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+3/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+3/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+21/-7) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+1/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+4/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+6/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+56/-43) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+149/-114) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+3/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+25/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+114/-37) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+14/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+6/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+122/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+47/-34) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+3/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+17/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+6/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+22/-9) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+11/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+23/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+21/-13) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+9/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+56/-14) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+4/-3) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+5/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+42/-17) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+9/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+3/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+15/-6) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+11/-5) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+12/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+18/-24) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+12/-10) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 2 checkins (+34/-5) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+5/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+15/-9) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+16/-8) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+3/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+6/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+16/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 3 checkins (+40/-9) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+31/-10) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+15/-16) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+9/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+8/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 3 checkins (+28/-5) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 2 checkins (+13/-5) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 4 checkins (+57/-19) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 4 checkins (+101/-23) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 3 checkins (+41/-16) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+20/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 2 checkins (+87/-29) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 4 checkins (+134/-10) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+13/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+1/-435) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+6/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+8/-7) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+23/-14) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 3 checkins (+24/-9) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+4/-7) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+53/-13) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+34/-5) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+15/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+2/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+4/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+16/-3) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+32/-13) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+127/-92) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+3/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+85/-38) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+160/-12) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 3 checkins (+13/-197) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+19/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+16/-3) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+18/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+5/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+14/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+75/-58) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 1 checkin (+9/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 18 checkins (+218/-67) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+3/-2) by Tobias S. Josefowitz <tobij@tobij.de> : 0 checkins (+0/-0) by 0 people : 2 checkins (+23/-14) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+4/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+7/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+29/-18) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 3 checkins (+22/-9) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 0 checkins (+0/-0) by 0 people : 1 checkin (+20/-44) by Henrik Grubbström (Grubba) <grubba@grubba.org> Lines added/removed recently

Friday 20 May 2022

2022-05-20 11:53:33 (3 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved checking of calls of inverted functions.

Calling eg ~function(~int...:mixed) (ie "exists int") with mixed now
results in the same as calling it with int.

Fixes several testsuite failures in eg the Calendar module.

Monday 16 May 2022

2022-05-16 16:48:52 (1 week ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Add special case for T_TRANSITIVE - T_MANY.

Special case for subtracting function(:X) from a transitive type.

2022-05-16 16:25:02 (1 week ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix typo.

2022-05-16 15:40:31 (1 week ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of T_TRANSITIVE - T_MANY.

Friday 13 May 2022

2022-05-13 11:36:21 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved detection of strict mismatches.

Fixes erroneous result type from eg map("foobar"/2, reverse).

Thursday 12 May 2022

2022-05-12 15:46:53 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix erroneous strict types warning.

Calling a function that expects a function argument with a function
of type scope(function(A...:X)|function(B...:Y)) is OK if either of
function(A...:X) or function(B...:Y) is OK.

Wednesday 11 May 2022

2022-05-11 14:29:31 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Do not accept more arguments than declared.

Tuesday 10 May 2022

2022-05-10 10:28:30 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Use the correct flags in check_node_type().
Compiler [Typechecker]: Fix some special cases with T_VOID in type_binop().

Also adds some previously missing handling of markers.

Sunday 08 May 2022

2022-05-08 23:43:11 (2 weeks ago) by Tobias S. Josefowitz <tobij@tobij.de>

Compiler [Typechecker]: Fixed reference handling in store_marker()

In cases where the value passed to store_marker() was NULL but the
marker was present in the mapping, we used to overwrite the marker with
itself. By doing so, assign_svalue() (as used by low_mapping_insert())
would free the same value we were inserting. This is never great but has
especially noticeable consequences when the value only had a single
reference.

Instead, we now simply do not re-insert the value in these cases.

Saturday 07 May 2022

2022-05-07 21:59:14 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Support an alternate set of remappings.

Also makes simple_describe_remap_state() available without PIKE_DEBUG.

2022-05-07 20:59:41 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Support multiple store in store_marker().

2022-05-07 20:26:52 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added helper simple_describe_remap_state().

2022-05-07 20:09:50 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: More tracing.

2022-05-07 19:16:01 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: More tracing.

2022-05-07 18:55:07 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed another NULL-deref.

2022-05-07 18:53:01 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix some NULL-derefs.

2022-05-07 18:36:28 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Enable the cyclic check.

2022-05-07 18:33:20 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Trace binops at debug level 3+.

2022-05-07 18:18:03 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Survive cyclical types.

2022-05-07 16:42:26 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix NULL-deref.

2022-05-07 16:23:38 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Ignore the return value for functions returning void.

2022-05-07 15:45:49 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix subtraction of void.

2022-05-07 14:30:43 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Only output type flags at high debug levels.

2022-05-07 12:24:00 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix soft casting to program.

Friday 06 May 2022

2022-05-06 10:40:49 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Upgrade __unknown__ return value to mixed.

Fixes erroneous errors when calling the generic function type
(ie function(mixed...:__unknown__)).

Wednesday 04 May 2022

2022-05-04 12:40:26 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Use the marker remapper in lower_new_check_call().

Tuesday 03 May 2022

2022-05-03 14:24:27 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of markers for PIKE_T_TRANSITIVE.

Monday 02 May 2022

2022-05-02 10:13:16 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Removed inline for debug_mk_type().

Saturday 16 April 2022

2022-04-16 12:36:37 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix check_variant_overload().

Thursday 14 April 2022

2022-04-14 16:38:01 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix checking of overloading of variants.

Wednesday 13 April 2022

2022-04-13 11:44:39 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added some special cases.

Special cases for matching against function(__unknown__...:mixed).

Tuesday 12 April 2022

2022-04-12 14:27:05 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Never complain about return 0.

Do not complain about return 0 that the compiler may have
added implicitly.

2022-04-12 12:59:15 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Remove some dead code.

Removes low_and_pike_types() et al as they are no longer used.

Fixes compile-time warning about unused static function.

2022-04-12 11:26:36 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Use type_binop() to implement and_pike_types().

Monday 11 April 2022

2022-04-11 10:18:37 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Add and use {push_,}expand_transitive_remap().

Fixes some NULL-dereferences on NULL markers.

Sunday 10 April 2022

2022-04-10 14:04:48 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved BINOP_MINUS for functions.

Saturday 09 April 2022

2022-04-09 11:01:45 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix infinite loop.

Friday 08 April 2022

2022-04-08 16:10:27 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Some remapper API changes.

The remap_state now contains one mapping for each of the binop
parameters. This is to make it simple to save and restore the
state for the binop parameters separately.

lookup_marker() now supports markers set to __unknown__.

Thursday 07 April 2022

2022-04-07 10:48:06 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of markers and PT_BINOP_MINUS.

Wednesday 06 April 2022

2022-04-06 16:41:40 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added PT_FLAG_REMAP_KEEP_MARKERS.

Tuesday 05 April 2022

2022-04-05 16:32:24 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of __unknown__.

multiset(__unknown__) & multiset(mixed) ==> multiset(__unknown)
multiset(__unknown__) - multiset(mixed) ==> __unknown__

Monday 04 April 2022

2022-04-04 14:44:21 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix typo.

Sunday 03 April 2022

2022-04-03 12:16:26 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Support PIKE_T_OPERATOR in transitive types.

Saturday 02 April 2022

2022-04-02 13:18:50 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added short-hand for PIKE_T_TRANSITIVE.

transitive(__unknown__, A) is now equivalent to transitive(A, A).

Friday 01 April 2022

2022-04-01 18:40:36 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improve handling of PIKE_T_TRANSITIVE some more.

2022-04-01 12:36:42 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of PIKE_T_TRANSITIVE.

Reduces recursion on TRANSITIVE PT_BINOP_AND MANY.

Thursday 31 March 2022

2022-03-31 12:04:06 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix lots of erroneous warnings.

Wednesday 30 March 2022

2022-03-30 17:02:23 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix another typo.

2022-03-30 17:00:00 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix typo.

2022-03-30 16:04:32 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix multiple NULL-dereferences.

Tuesday 29 March 2022

2022-03-29 16:32:52 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of PIKE_T_OPERATOR.

Monday 28 March 2022

2022-03-28 11:40:40 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of mixed in int_op's.

Sunday 27 March 2022

2022-03-27 13:29:04 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix lost array nesting.

The array nesting was lost when calling transitive functions
nested in arrays.

Saturday 26 March 2022

2022-03-26 14:19:56 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix marker loss in new_check_call().

Friday 25 March 2022

2022-03-25 17:01:16 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Remove some dead code.

Thursday 24 March 2022

2022-03-24 12:24:50 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix compile-time type for negative constants.

2022-03-24 11:27:02 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Support marker expansion in cdr of PIKE_T_OPERATOR.

Wednesday 23 March 2022

2022-03-23 20:13:31 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Remove some broken DWIM in push_type_operator().

Fixes issues with PIKE_T_OPERATOR and PIKE_T_UNKNOWN.

2022-03-23 17:54:50 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: More type operator fixes.

2022-03-23 13:13:47 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Add PIKE_T_INT_OP_SUB.

This is a type operator that returns the type for the result
of subtracting two integer ranges.

Sunday 20 March 2022

2022-03-20 14:44:57 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Consider declared array range in check_splice_call().

This makes it possible to avoid warnings about array max length
restrictions when using the @-operator when using strict types.

2022-03-20 14:18:13 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix handling of mixed in get_int_type_range().

Also adds some related doc.

Friday 18 March 2022

2022-03-18 15:05:26 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix type for deep automap expressions.

Fixes the type for expressions like

({ ({ 1, 2 }), ({ 3,4 }) })[*][*] + 10;

Also updated las.cmod::is_automap_arg_list() to return the automap depth.

Fixes some testsuite failures.

Thursday 17 March 2022

2022-03-17 16:37:09 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: More fix_overloaded_type() fixes.

2022-03-17 14:48:59 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Handle some T_OR nodes in fix_overloaded_type().

Fixes the returned type for indices() and values() in some now
common cases.

Fixes some testsuite failures.

2022-03-17 11:02:17 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix result from match_types() and T_NOT.

Wednesday 16 March 2022

2022-03-16 18:12:39 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Revert "Compiler [Typechecker]: Promote type operator failure to void."

This commit broke the type checking of foreach() in Getopt.

This reverts commit 4ebedfbedd5113292b43577f1bad339bbbae1f28.

2022-03-16 17:15:18 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Promote type operator failure to void.

Fixes some obscure failures.

2022-03-16 16:23:38 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved low_get_return_type().

2022-03-16 14:13:50 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Implement old check_call() API using new API.

low_get_return_type() is now implemented with low_new_check_call()
and new_get_return_type(). This should make the type checker more
consistent.

Also adds some documentation.

Monday 14 March 2022

2022-03-14 20:10:38 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix yet another NULL-deref.

2022-03-14 18:48:17 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix some more NULL-derefs.

2022-03-14 15:51:40 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix NULL-deref.

2022-03-14 13:28:23 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved behavior for {index,key}_type().

They no longer upgrade __unknown__ results to mixed.

key_type() now handles __unknown__, T_AND and T_NOT properly.

key_type() now returns the declared index type for T_ARRAY
and T_STRING.

Added some documentation.

Sunday 13 March 2022

2022-03-13 13:55:29 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Changed type for F_PUSH_ARRAY nodes.

This is in preparation of having check_splice_call() account
for any array length restrictions.

Thursday 10 March 2022

2022-03-10 11:37:34 (2 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved type for predef::`+().

The type resulting from adding strings with integers and/or floats
should now be reasonably correct.

Also adds a few new type macros.

Tuesday 08 March 2022

2022-03-08 12:28:13 (3 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Do not generate the type zero = zero.

Monday 07 March 2022

2022-03-07 17:18:03 (3 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix NULL-deref.

Sunday 06 March 2022

2022-03-06 17:35:50 (3 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix NULL-dereference.

Saturday 05 March 2022

2022-03-05 12:58:47 (3 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Relax argument checking for zero.

Improves type derivation for function calls where the arguments
have types like string|zero or object|zero.

Thursday 03 March 2022

2022-03-03 12:52:00 (3 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Clean up describing of some types.

Tuesday 01 March 2022

2022-03-01 16:23:42 (3 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix matching against mixed.

Wednesday 23 February 2022

2022-02-23 14:29:38 (3 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added PT_FLAG_{NULLABLE,MIXED}.

2022-02-23 13:36:22 (3 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix PT_FLAG_MIXED with T_NOT nodes.

Tuesday 22 February 2022

2022-02-22 12:46:27 (3 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of common case in <=.

Monday 21 February 2022

2022-02-21 16:24:14 (3 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix calling of negated types.

Calling of not(zero) now returns mixed.

Sunday 20 February 2022

2022-02-20 13:17:02 (3 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix indexing of strings and arrays with mixed.

Saturday 19 February 2022

2022-02-19 14:51:55 (3 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: mixed is a superset of all types except void.

Types like array(int|mixed) should now become array(mixed).

Also removes promotion of __unknown__ to void in an obscure case.

Friday 18 February 2022

2022-02-18 14:58:55 (3 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Clean up handling of PT_FLAG_VOIDABLE.

Thursday 17 February 2022

2022-02-17 11:08:34 (3 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix PT_FLAG_VOIDABLE for T_NOT nodes.

Wednesday 16 February 2022

2022-02-16 17:21:34 (3 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Add type flag PT_FLAG_VOIDABLE.

Monday 07 February 2022

2022-02-07 16:18:24 (3 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Add implicit zeroes in 8.0 and earlier compat mode.

Friday 28 January 2022

2022-01-28 16:05:50 (4 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved checking of assignments.

Sunday 23 January 2022

2022-01-23 15:58:25 (4 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Stricter check of array contents in soft casts.

Tuesday 18 January 2022

2022-01-18 11:52:04 (4 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Document some special cases.

Sunday 16 January 2022

2022-01-16 15:29:16 (4 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved checking of splice operator some more.

Saturday 15 January 2022

2022-01-15 13:34:49 (4 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved type check for the splice operator.

Wednesday 12 January 2022

2022-01-12 16:08:41 (4 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Relax type for lfun::_sprintf().

It is common to have _sprintf()'s that do not care about
their arguments, so allow _sprintf()'s without arguments.

Fixes a few testsuite failures.

Monday 10 January 2022

2022-01-10 13:08:13 (4 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved type for setters.

Fixes some warnings.

Saturday 08 January 2022

2022-01-08 15:15:03 (4 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix A - (B|C) in INEXACT mode.

Friday 07 January 2022

2022-01-07 12:42:24 (4 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix typo in type_binop().

Thursday 06 January 2022

2022-01-06 13:26:03 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of NOT in type_binop().

Fixes the case

mixed - (mixed|zero) aka (!zero) - mixed

which used to result in

!(mixed|zero)

rather than the expected

__unknown__

Fixes several warnings.

Tuesday 04 January 2022

2022-01-04 11:49:16 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Adjust types for assignment lfuns.

The values returned from lfun::`[]=() and lfun::`->=() are
currently ignored, so allow returning void.

Fixes a few more warnings.

Monday 03 January 2022

2022-01-03 11:30:41 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved types for assignment lfuns.

Fixes some warnings.

Sunday 02 January 2022

2022-01-02 12:58:57 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of markers in type_binop().

Saturday 01 January 2022

2022-01-01 11:54:20 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix mapping leak in type_binop().

Friday 31 December 2021

2021-12-31 12:29:30 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix indexing of arrays with strings.

Due to the string length being part of the string type, the
old method started failing for strings with known lengths.

Fixes multiple warnings.

Thursday 30 December 2021

2021-12-30 11:31:47 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Add PT_FLAG_REMAP_INEXACT.

This flag causes type_binop() to cheat a bit, and is useful if
its result is only going to be used to compare against NULL.
This speeds up pike_types_le() quite a bit for some cases.

Wednesday 29 December 2021

2021-12-29 13:00:40 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Missed a line in previous commit.

2021-12-29 11:56:46 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Reduce complaints about lfuns.

Do not complain about optional arguments missing in prototypes
for lfuns implemented in Pike.

Tuesday 28 December 2021

2021-12-28 16:24:30 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added PT_FLAG_CMP_IGNORE_EXTRA_ARGS.

This is a flag for type_binop() that does the reverse of what
LE_STRICT_FUN does for low_pike_types_le().

Monday 27 December 2021

2021-12-27 11:54:40 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Disable INSEPARABLE special case in type_binop().

Sunday 26 December 2021

2021-12-26 12:16:54 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Adjust for pop_type_stack(T_ARRAY) change.

Saturday 25 December 2021

2021-12-25 13:57:37 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Make pop_type_stack() array index type aware.

Friday 24 December 2021

2021-12-24 15:33:36 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved support for markers in type_binop().

Thursday 23 December 2021

2021-12-23 12:32:00 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Back-patch marker assignments in type_binop().

Wednesday 22 December 2021

2021-12-22 15:43:00 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Updated internal doc.

Tuesday 21 December 2021

2021-12-21 12:28:38 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Support __unknown__ in {lookup,store}_marker().

Also: lookup_marker() now adds a reference to the returned type.

Monday 20 December 2021

2021-12-20 17:33:20 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: More marker propagation handling for T_OR.

Sunday 19 December 2021

2021-12-19 15:25:12 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Handle marker propagation for T_OR.

Saturday 18 December 2021

2021-12-18 15:59:28 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Minor code clean up.

Reduce number of special cases somewhat.

Friday 17 December 2021

2021-12-17 12:54:21 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Move markers mapping to remap_state.

Cleans up the API somewhat, and enables allocating the mapping on demand.

Thursday 16 December 2021

2021-12-16 12:39:50 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of markers in type_binop().

Also removes some debug.

Tuesday 14 December 2021

2021-12-14 15:21:41 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Support nested T_OR in get_int_type_range().

Sunday 12 December 2021

2021-12-12 16:42:26 (5 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added some FIXMEs regarding range_type().

Tuesday 07 December 2021

2021-12-07 12:27:51 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of PT_BINOP_MINUS.

Monday 06 December 2021

2021-12-06 15:39:51 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: new_get_return_type(__unknown__, X) == __unknown__.

Fixes issues eg with type checking of foreach().

Sunday 05 December 2021

2021-12-05 10:18:18 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Remove the mixed fallback from apply_type_operator().

Upgrading types from __unknown__ to mixed was not a good idea.

Fixes several warnings.

Friday 03 December 2021

2021-12-03 11:44:13 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: More find_lfun_type() fixes.

Thursday 02 December 2021

2021-12-02 11:56:03 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix some issues with find_lfun_type().

find_lfun_type() now returns NULL for object types known not
to have the lfun.

Fixes a string leak.

Wednesday 01 December 2021

2021-12-01 17:02:13 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Disable excessive type warning.

Tuesday 30 November 2021

2021-11-30 11:26:29 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved type checking of foreach().

Also swaps the expected and got types in some related diagnostics
to be more intuitive.

Sunday 28 November 2021

2021-11-28 13:39:12 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Support nested type operators.

Saturday 27 November 2021

2021-11-27 14:00:31 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Add type operator get_return.

Tuesday 23 November 2021

2021-11-23 16:37:24 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Filter type markers with their match pattern.

Fixes type markers containing non-matching types.

Monday 22 November 2021

2021-11-22 16:43:25 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved checking of foreach.

Sunday 21 November 2021

2021-11-21 16:52:21 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix some issues with __unknown__.

2021-11-21 16:19:37 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of index type for arrays.

Saturday 20 November 2021

2021-11-20 15:55:02 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved type for empty array.

Friday 19 November 2021

2021-11-19 13:49:45 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix type stack underflow.

Wednesday 17 November 2021

2021-11-17 16:09:33 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of nullable types.

Tuesday 16 November 2021

2021-11-16 14:34:46 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved zero handling in check_node_type().

Fixes several issues where nullable types match only for zero.

Sunday 14 November 2021

2021-11-14 16:10:05 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added flag PT_FLAG_REMAP_INHIBIT.

Saturday 13 November 2021

2021-11-13 15:02:00 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Remove stupid_describe_type_string().

This was a remnant of the really old type checker, and has not been
used for at least 10 years.

Thursday 11 November 2021

2021-11-11 12:06:36 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Render markers with the prefix '$'.

This reduces ambiguity when markers and integers are mixed.

Wednesday 10 November 2021

2021-11-10 02:44:24 (6 months ago) by Tobias S. Josefowitz <tobij@tobij.de>

Compiler [Typechecker]: Empty string has unknown range

The empty string now has no/unknown range and is a typewise valid match
for all possible string ranges.

Sunday 07 November 2021

2021-11-07 14:33:11 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Markers now default to __unknown__.

Saturday 06 November 2021

2021-11-06 20:08:03 (7 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of __unknown__.

2021-11-06 19:56:24 (7 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix handling of __unknown__ in string types.

2021-11-06 18:47:21 (7 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Do not keep the type name when its value changes.

Monday 01 November 2021

2021-11-01 15:35:07 (7 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix type for lfun::`[]=() to match documentation.

Monday 27 September 2021

2021-09-27 16:44:40 (8 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved diagnostics --with-dmalloc.

Sunday 26 September 2021

2021-09-26 14:38:02 (8 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix type leak in type_binop().

Saturday 25 September 2021

2021-09-25 15:05:15 (8 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix type leak in find_lfun_type().

Wednesday 15 September 2021

2021-09-15 18:15:23 (8 months ago) by Marcus Comstedt <marcus@mc.pp.se>

Compiler [Typechecker]: Workaround for gcc optimization of signed overflow

The expression "(min1 > max2) && (min1 > max2 + 1)" got optimized into
"(min1 > max2 + 1)" by gcc, because of min1 is larger than max2 + 1,
then it clearly must be larger than max2 as well... Except when max2 + 1
is a signed overflow. So explicitly check for that instead and hope gcc
doesn't optimize away that check as well...

2021-09-15 18:09:55 (8 months ago) by Marcus Comstedt <marcus@mc.pp.se>

Compiler [Typechecker]: Workaround for gcc optimization of signed overflow

The expression "(min1 > max2) && (min1 > max2 + 1)" got optimized into
"(min1 > max2 + 1)" by gcc, because of min1 is larger than max2 + 1,
then it clearly must be larger than max2 as well... Except when max2 + 1
is a signed overflow. So explicitly check for that instead and hope gcc
doesn't optimize away that check as well...

Wednesday 14 July 2021

2021-07-14 12:22:56 (10 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix erroneous deprecation warning in obscure case.

Fixes [REP-60].

2021-07-14 12:12:57 (10 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix erroneous deprecation warning in obscure case.

Fixes [REP-60].

Sunday 11 July 2021

2021-07-11 15:33:27 (10 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed ref-count errors with PIKE_T_OPERATOR.

Saturday 10 July 2021

2021-07-10 16:32:23 (10 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Detect circularities in simple_describe_type().

Sunday 04 July 2021

2021-07-04 17:56:57 (11 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added type operators set_car and set_cdr.

Also improves robustness regarding NULL in types.

Monday 28 June 2021

2021-06-28 14:58:49 (11 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix NULL-deref.

Thanks to Chris Angelico <rosuav@gmail.com> for the
report and test case.

Fixes [LysLysKOM 24784470].

Wednesday 09 June 2021

2021-06-09 14:00:24 (11 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of __unknown__ in `|().

Friday 04 June 2021

2021-06-04 18:12:39 (12 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix another issue with __unknown__.

Thursday 03 June 2021

2021-06-03 17:28:36 (12 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Support __unknown__ in more places.

Wednesday 02 June 2021

2021-06-02 11:21:07 (12 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Reduce strict type warnings somewhat.

Friday 21 May 2021

2021-05-21 11:18:52 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Do not lose track of markers.

Thursday 20 May 2021

2021-05-20 12:06:15 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix some issues with binop's on __unknown__.

Fixes some erroneous warnings.

Tuesday 11 May 2021

2021-05-11 11:05:26 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Move some diagnoistics to PIKE_EXTRA_DEBUG.

Monday 10 May 2021

2021-05-10 20:22:21 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: More use of PIKE_T_UNKNOWN.

2021-05-10 14:12:19 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved robustness of lower_new_check_call().

Friday 07 May 2021

2021-05-07 16:27:28 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improve robustness against NULL in free_type().

Monday 03 May 2021

2021-05-03 17:19:24 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Third go at subtraction of function types.

Wednesday 14 April 2021

2021-04-14 18:14:41 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Updated type for aggregate_mapping().

Fixes several warnings.

2021-04-14 18:12:40 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Do not warn about invalid types in pass 1.

Fixes erroneous warnings due to casting to forward-referenced types.

2021-04-14 10:31:08 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix some NULL-derefs in low_index_type().

Tuesday 13 April 2021

2021-04-13 12:29:20 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix NULL-deref in push_unlimited_array_type().

Sunday 11 April 2021

2021-04-11 18:29:29 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: More __unknown__ fixes.

Saturday 10 April 2021

2021-04-10 15:23:10 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed PT_FLAG_CMP_VOID_IS_ZERO.

Friday 09 April 2021

2021-04-09 19:37:43 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix NULL-deref in even_lower_and_pike_types().

2021-04-09 19:31:41 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved binop(PT_BINOP_{OR|MINUS}, ...)

Add special case to simplify the result for A - (B|C) and A | (B|C).

Previously
int - (int(1)|int(5))
resulted in
(int(..0)|int(2..)) & (int(..4)|int(6..))
now it instead results in
int(..0)|int(2..4)|int(6..)
which is what most users expect.

2021-04-09 10:23:57 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix another NULL-deref in low_index_type().

Wednesday 07 April 2021

2021-04-07 09:04:35 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix NULL-deref in low_index_type().

Tuesday 06 April 2021

2021-04-06 09:04:29 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed some more NULL-derefs when rendering types.

Monday 05 April 2021

2021-04-05 13:33:35 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix NULL-deref in describe_type().

Sunday 04 April 2021

2021-04-04 14:43:43 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: More use of __unknown__ in typeof().

Saturday 03 April 2021

2021-04-03 14:25:59 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix some NULL-derefs when rendering types.

Friday 02 April 2021

2021-04-02 14:44:46 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed NULL-deref on specific syntax error.

Fixes [LysLysKOM 24260957].

Thursday 01 April 2021

2021-04-01 17:08:52 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Handle return of __unknown__ in match_types().

2021-04-01 09:24:56 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix NULL-deref in new_get_return_type().

Wednesday 31 March 2021

2021-03-31 13:38:06 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed NULL-deref in push_type_operator().

Tuesday 30 March 2021

2021-03-30 11:29:27 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added some special cases to push_type().

Handle __unknown__ in combination with AND, OR and NOT directly.

Monday 29 March 2021

2021-03-29 15:35:38 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix warning about overloading classes with create().

Do not check the types for overloaded constants before the last pass.

Sunday 28 March 2021

2021-03-28 16:34:09 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixup the type for classes before end_first_pass().

Saturday 27 March 2021

2021-03-27 18:22:03 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Use __unknown__ instead of zero in some cases.

Tuesday 23 March 2021

2021-03-23 18:39:36 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved typechecking of assignments.

The checker is now informed that void values are converted into
UNDEFINED/zero on assignment.

Fixes several warnings.

Monday 22 March 2021

2021-03-22 16:12:22 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added flags to pike_types_le().

Sunday 21 March 2021

2021-03-21 17:13:14 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added PT_FLAG_CMP_VOID_IS_ZERO.

Friday 19 March 2021

2021-03-19 18:16:16 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added PT_FLAG_CMP_INSEPARABLE.

Thursday 18 March 2021

2021-03-18 18:39:00 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added some internal doc.

Monday 15 March 2021

2021-03-15 21:34:47 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: More NULL-deref fixes.

Sunday 14 March 2021

2021-03-14 18:36:39 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix some GC NULL-derefs.

Saturday 13 March 2021

2021-03-13 13:28:24 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of NULL in pike_types_le().

Friday 12 March 2021

2021-03-12 11:51:47 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Minor DMALLOC clean-up.

Thursday 11 March 2021

2021-03-11 20:09:57 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix indexing of __unknown__.

Wednesday 10 March 2021

2021-03-10 12:22:51 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix memory leak.

Monday 08 March 2021

2021-03-08 13:38:54 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix typo in diagnostic.

Friday 05 March 2021

2021-03-05 18:28:17 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved --with-dmalloc handling.

Wednesday 03 March 2021

2021-03-03 13:13:07 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix argument order in diagnostic message.

Monday 01 March 2021

2021-03-01 16:42:34 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Second go at fixing some warnings.

las.cmod:fix_type_field() is called by optimize() from the leaves
going up. This means that the expression in eg `?` has typically
already been typechecked when it is received by fix_type_field().
Move the special case to mknode().

CAVEAT EMPTOR:
Calling fix_type_field() from mknode() in early compiler passes
may cause strange and unexpected failures. The special case type
adjustment is therefore only performed in the last compiler pass.

Fixes warnings from eg Getopt.

Sunday 28 February 2021

2021-02-28 15:49:56 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Reduce number of warnings.

Do not warn about the type not containing zero in the special case

if (string foo = expr) { xxx }

as foo will never be zero even though expr may very well be zero.

Thursday 25 February 2021

2021-02-25 17:51:33 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Survive NULL in push_finished_type_with_markers().

Monday 22 February 2021

2021-02-22 13:57:35 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix the initializer check for variables.

Sunday 21 February 2021

2021-02-21 16:20:41 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Add implicit zero to types.

In 8.0 compat mode and not strict types zero is now implicitly
added to types.

Saturday 20 February 2021

2021-02-20 16:16:42 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of NULL in or_pike_types().

Friday 19 February 2021

2021-02-19 16:49:51 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved result type for logical or.

Fixes some warnings.

Thursday 18 February 2021

2021-02-18 17:54:13 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix some warning messages.

Wednesday 17 February 2021

2021-02-17 14:19:19 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix result type for indexing of mappings.

Indexing of mappings may always return zero (or rather UNDEFINED).

Fixes compilation error from the optimizer when it optimizes a
mapping lookup to UNDEFINED, but zero is not in the value type.

Tuesday 16 February 2021

2021-02-16 12:13:41 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix soft casting of void.

Soft casting of eg string|void to string now gives the
expected string (rather than string|zero).

Fixes multiple strict types warnings.

Monday 15 February 2021

2021-02-15 14:21:34 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix handling of nullable-void with mixed.

2021-02-15 11:52:20 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Reduce strictness a bit more.

Thursday 11 February 2021

2021-02-11 14:18:31 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker] [GC]: Fix NULL-deref.

Wednesday 10 February 2021

2021-02-10 17:54:21 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved robustness against NULL.

Monday 08 February 2021

2021-02-08 16:20:35 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix lots of warnings about assigning zero.

Sunday 07 February 2021

2021-02-07 15:15:40 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Use type_binop() in check_node_type().

Saturday 06 February 2021

2021-02-06 14:43:10 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix checking of foreach().

Friday 05 February 2021

2021-02-05 12:56:14 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix handling of NULL in debug_free_type().

debug_free_type() attempted to dereference NULL when it looped
on certain types.

Thursday 04 February 2021

2021-02-04 13:37:26 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix zero - void and void - zero.

2021-02-04 13:09:06 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Use type_binop(PT_BINOP_MINUS) for pike_types_le().

Tuesday 02 February 2021

2021-02-02 13:56:15 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: push_binop(PT_BINOP_NONE) is now supported.

Monday 01 February 2021

2021-02-01 16:08:08 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix typo.

Saturday 30 January 2021

2021-01-30 15:40:56 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: More robustness against NULL types.

Wednesday 27 January 2021

2021-01-27 20:33:05 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Support NULL as argument type in T_MANY.

Tuesday 26 January 2021

2021-01-26 14:37:09 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Support push_type(PIKE_T_UNKNOWN).

This pushes a NULL on the type stack, and is intended to represent
the empty type.

Sunday 24 January 2021

2021-01-24 16:59:17 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix warning about clobbered variable.

Saturday 23 January 2021

2021-01-23 17:34:30 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Support NULL in copy_pike_type().

This also makes NULL supported in eg push_finished_type()
and various other places.

Friday 22 January 2021

2021-01-22 18:50:04 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed typo.

2021-01-22 18:44:57 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix binops where one or both operands is NULL.

Thursday 21 January 2021

2021-01-21 15:42:28 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added symbol tUnknown.

Wednesday 20 January 2021

2021-01-20 17:59:47 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Restructure binary operations of function types.

Also fixes the result of PT_BINOP_AND on function types.

Monday 18 January 2021

2021-01-18 17:00:17 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of comparing void and zero.

Fixed some handling of T_MANY(T_VOID, ...) in combination
with T_MANY(T_ZERO, ...).

Sunday 17 January 2021

2021-01-17 16:16:27 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix comparison of void with mixed.

Thursday 14 January 2021

2021-01-14 20:48:47 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Use type_binop() in soft_cast().

Wednesday 13 January 2021

2021-01-13 19:02:58 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added type_binop().

Sunday 10 January 2021

2021-01-10 18:25:05 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Some tuning of handling of zero and mixed.

Friday 08 January 2021

2021-01-08 17:00:18 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Unify binops for T_AND and T_OR.

Also fixes typo in lookup table.

Tuesday 05 January 2021

2021-01-05 14:58:32 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of OR in low_type_binop().

Monday 04 January 2021

2021-01-04 19:36:22 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improve tracing of low_type_binop().

Sunday 03 January 2021

2021-01-03 16:21:41 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed more issues with subtraction of functions.

Function type subtraction now seems to be compatible with pike_types_le().

Saturday 02 January 2021

2021-01-02 14:57:08 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Remove extraneous pop_stack_mark().

Friday 01 January 2021

2021-01-01 16:39:46 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Support PT_BINOP_XOR and PT_BINOP_XNOR.

Thursday 31 December 2020

2020-12-31 15:33:19 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Remove use of duplicate type stack marks.

Use peek_stack_mark() instead of an extra type_stack_mark()
followed by pop_stack_mark(). Reduces type mark stack use
and code size slightly.

Wednesday 30 December 2020

2020-12-30 19:36:56 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Even more fixes for PT_BINOP_MINUS and functions.

Monday 28 December 2020

2020-12-28 19:21:01 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of PT_BINOP_MINUS & functions.

Sunday 27 December 2020

2020-12-27 17:09:31 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added some comments.

Saturday 26 December 2020

2020-12-26 14:26:50 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Use the NULLABLE flag in a few common cases.

Thursday 24 December 2020

2020-12-24 14:11:04 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added PT_FLAG_REMAP_NULLABLE.

This flag is analogous to void and PF_FLAG_REMAP_VOIDABLE, but
for zero.

Wednesday 23 December 2020

2020-12-23 18:34:07 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Remove some obsolete code.

Missed this hunk in the previous commit.

2020-12-23 17:10:23 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix handling of T_ZERO in low_type_binop().

Eg zero - int(1bit) now returns Ø (empty set) as intended (and not zero).

Sunday 20 December 2020

2020-12-20 16:16:02 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Clean up flag handling in low_type_binop().

Friday 18 December 2020

2020-12-18 17:00:29 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Use alloc_pike_type() to allocate types.

Thursday 17 December 2020

2020-12-17 16:11:47 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed leak in low_type_binop().

Wednesday 16 December 2020

2020-12-16 18:00:29 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Clean up some of low_type_binop().

Sunday 13 December 2020

2020-12-13 17:26:13 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of voidable arguments.

Monday 07 December 2020

2020-12-07 00:40:39 (1 year ago) by Tobias S. Josefowitz <tobij@tobij.de>

Compiler [Typechecker]: Compile fixes

Sunday 06 December 2020

2020-12-06 16:51:49 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added PT_FLAG_REMAP_TRACE.

Attempt to avoid drowning in debug output by traceing only
relevant operations.

Saturday 05 December 2020

2020-12-05 16:53:10 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved checking of function types.

Tuesday 03 November 2020

2020-11-03 13:14:14 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed type_binop() on disjunct types.

Monday 02 November 2020

2020-11-02 23:40:29 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added some missing symbolic names for binops.

This reduces warnings from the compiler when these obscure operations
actually are implemented.

Sunday 01 November 2020

2020-11-01 15:30:59 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix some C-compiler warnings.

Friday 23 October 2020

2020-10-23 16:49:46 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Allow calling remap_markers() with NULL.

This simplifies the code that needs to call remap_markers().

Wednesday 21 October 2020

2020-10-21 18:45:52 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added some more validation on PIKE_DEBUG.

pike_types_le() now validates low_type_binop(MINUS, ...)
against low_pike_types_le() when --with-rtldebug. It also
validates that the type and type mark stacks are invariant.

Tuesday 20 October 2020

2020-10-20 15:09:39 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix type stack mark leak.

low_type_binop() leaked type stack marks in some cases when handling
PT_BINOP_MINUS of function types.

Monday 19 October 2020

2020-10-19 21:47:38 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed eval mode in remap_markers().

When we are evaluating, we need to recurse even if we're not
doing any remapping.

Sunday 18 October 2020

2020-10-18 16:47:25 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added some validation on PIKE_DEBUG.

match_types() now validates low_type_binop(AND, ...)
against low_match_types() when --with-rtldebug.

Saturday 17 October 2020

2020-10-17 16:20:27 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed low_type_binop() handling of int.

Friday 16 October 2020

2020-10-16 15:52:19 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed infinite loop in low_type_binop().

There was a break statement that was intended to break a loop,
but instead broke a switch. Replaced with a goto.

Also adds a missing break.

Thursday 15 October 2020

2020-10-15 12:50:48 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added some implementation notes.

Wednesday 14 October 2020

2020-10-14 17:18:05 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix some more cases in low_type_binop().

It should now handle the same cases as low_intersect_types() and
low_subtract_types().

Tuesday 13 October 2020

2020-10-13 13:06:22 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Use push_binop().

Monday 12 October 2020

2020-10-12 09:42:33 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added low_pop_type().

This function pops a type from the type stack without messing
with the type mark stack.

Sunday 11 October 2020

2020-10-11 16:02:14 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added push{,_reverse}_binop()

This is a helper function for low_type_binop().

Saturday 10 October 2020

2020-10-10 16:37:02 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: First implementation of low_type_binop().

This function unifies low_intersect_types() and low_subtract_types(),
and is intended in the future to also support union (aka or) of types.

Thursday 08 October 2020

2020-10-08 21:33:49 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added some FIXMEs.

Wednesday 07 October 2020

2020-10-07 18:15:51 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Prepare for unified type binop api.

Tuesday 06 October 2020

2020-10-06 17:33:52 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Restructured intersect_types() somewhat.

Monday 05 October 2020

2020-10-05 19:20:11 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Adjusted API for remap_markers().

remap_markers() can now be used to evaluate markers.

Sunday 04 October 2020

2020-10-04 16:33:39 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed typos in DeMorgan special case.

Saturday 03 October 2020

2020-10-03 14:24:59 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Attempt to reduce amount of type expansion.

Friday 02 October 2020

2020-10-02 15:47:16 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Short-circuit double type inversions.

Thursday 01 October 2020

2020-10-01 13:19:08 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed multiple bugs in subtract_types().

Wednesday 30 September 2020

2020-09-30 11:28:24 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Some type rendering adjustments.

Tuesday 29 September 2020

2020-09-29 13:01:47 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed some bugs in remap_marker() et al.

The allocation and lookup of remapped markers now
seems to work as intended.

Monday 28 September 2020

2020-09-28 13:25:32 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed some infinite recursion.

Sunday 27 September 2020

2020-09-27 14:17:26 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added {intersect,subtract}_types().

Saturday 26 September 2020

2020-09-26 14:35:31 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed some issues with the marker remapper.

* The flags are now in an enum.
* The flag constants have been renamed slightly.
* The PT_FLAG_REMAP_SWAP_MARKERS flag should now work as intended.
* free_marker() now also receives the flags. This is needed
to avoid issues with PT_FLAG_REMAP_SWAP_MARKERS.

Friday 25 September 2020

2020-09-25 19:09:38 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added void_function_type_string.

Thursday 24 September 2020

2020-09-24 16:42:56 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added PT_FLAG_BOTH_MARKERS{,_AND,_OR,_MASK}.

This causes remap_markers() to use both marker sets and emit an
T_AND or T_OR type when a marker is found in both.

Wednesday 23 September 2020

2020-09-23 12:47:40 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed even more typos.

Tuesday 22 September 2020

2020-09-22 14:52:30 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Some more typo fixes.

2020-09-22 13:19:58 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed some typos.

Monday 21 September 2020

2020-09-21 18:58:30 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added alloc_remap_marker().

Changed the remap_marker API slightly. remap_marker() is now strictly
used to lookup the marker mapping, and alloc_remap_marker() to
allocate a new marker in the remapped set.

Also adds and defines the flag PT_FLAG_SWAP_MARKERS.

Sunday 20 September 2020

2020-09-20 15:05:33 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added {push_,}remap_markers().

Friday 18 September 2020

2020-09-18 19:23:31 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Preparations for remapping type markers.

Wednesday 16 September 2020

2020-09-16 16:02:09 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Use PIKE_T_MASK.

Monday 14 September 2020

2020-09-14 18:40:08 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Simplify handling of transitive types somewhat.

Saturday 12 September 2020

2020-09-12 14:36:46 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Support soft casting of operators to function.

Friday 11 September 2020

2020-09-11 17:14:28 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed issue with expanding of transient types.

Thursday 10 September 2020

2020-09-10 15:49:52 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed issue with soft casting of complex functions.

Wednesday 09 September 2020

2020-09-09 16:43:50 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Enable TYPE_STACK_DEBUG with l_flag.

Monday 07 September 2020

2020-09-07 23:05:33 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix soft casting of complex function types.

Monday 31 August 2020

2020-08-31 11:00:07 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix calling of transitive types.

Sunday 30 August 2020

2020-08-30 13:37:36 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Port type matching changes to pike_types_le().

* Protect against infinite recursion.

* Perform proper checking of transitive types (via expand_transitive()).

Saturday 29 August 2020

2020-08-29 15:54:35 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improve matching against transitive types.

Friday 28 August 2020

2020-08-28 19:27:46 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed some TYPE_STACK_DEBUG() calls.

Thursday 27 August 2020

2020-08-27 17:17:26 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix typo in rendering of complex function types.

Monday 24 August 2020

2020-08-24 11:52:18 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of union (aka or) types.

Now that low_match_types() adds a reference to its result, we can
return the matching types for both parts of a union type.

Friday 21 August 2020

2020-08-21 15:33:21 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Changed calling convention for low_match_types().

low_match_types() now adds a reference to the returned type. This fixes
potential issues with matching PIKE_T_OPERATOR and similar, where it
could return a freed type.

Thursday 20 August 2020

2020-08-20 10:51:30 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Use match_types() where possible.

Preparation for having low_match_types() add a reference to
its return value.

Wednesday 19 August 2020

2020-08-19 17:38:38 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed invalid deref in debug code.

2020-08-19 14:47:12 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Protect against infinite recursion.

With the addition of partially expanded types low_match_types()
is at risk of infinite recursion.

Monday 17 August 2020

2020-08-17 16:08:46 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added PIKE_T_TRANSITIVE.

This is a helper type to construct the type for transitive left-
recursive functions (like eg many operator efuns).

Saturday 15 August 2020

2020-08-15 12:58:52 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed issue where markers were not expanded.

Fixes multiple erroneous warnings. Eg

Pike v8.1 release 13 running Hilfe v3.5 (Incremental Pike Frontend)
> array a = ({ `+, `-, `/ });
Compiler Warning: 1: Expected object implementing lfun `+.
Compiler Warning: 1: Got : 2.

Also adjusts the warning message somewhat (for when it is relevant) to

Compiler Warning: 1: Expected object implementing lfun::`+().

Monday 03 August 2020

2020-08-03 13:10:25 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed bug in soft cast.

Soft casting of complex function types (ie not consisting only
of a chain of T_FUNCTION and T_MANY nodes) was broken.

Potential fix for a SIGSEGV in the testsuite.

Sunday 19 July 2020

2020-07-19 15:28:33 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed evaluation order in pike_types_le().

Fixes several obscure issues.

Saturday 18 July 2020

2020-07-18 12:05:24 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added operator find_lfun.

This operator returns the type for the specified lfun in
the first argument. Typical intended use is for type-
checking of operators.

Fixes some of #10048.

Friday 17 July 2020

2020-07-17 18:02:02 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added PIKE_T_OPERATOR.

Added generic support for 127 + 127 type operator functions.

This reduces the amount of special cases needed to implement
type operators (like eg find_lfun() or zzap_return()).

Needed for #10048.

Wednesday 15 July 2020

2020-07-15 12:06:50 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Or-ing a type and its inverse yields mixed.

Monday 13 July 2020

2020-07-13 09:09:46 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Support more complex function types.

Support type nodes other than T_FUNCTION and T_MANY in the cdr
of T_FUNCTION nodes.

Needed for #10048.

Tuesday 04 February 2020

2020-02-04 13:33:05 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added DWIM kludge.

Thursday 23 January 2020

2020-01-23 17:32:18 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved type checking.

Fixed issue where constant expressions after evaluation sometimes
got a partially weaker type. Eg: The expression

({ 0, 1, 2, 3 })

gets the type array(int(4bit)) from evaluating the type, but
the type array(4: int) from generating a type from the value.
The code generator now adds a soft-cast to the original type,
causing the resulting type to be array(4: int(4bit)).

Fixes testsuite failures for undumped pikes from eg SSL.Context.

Tuesday 21 January 2020

2020-01-21 12:43:21 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Added special case for empty strings and arrays.

Sunday 19 January 2020

2020-01-19 20:47:07 (2 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Type-check the length field.

[permalink]

Bugs mentioned

  #10048INPROGRESSExtend type-checker to use lfun types when checking efun calls with objects.
Bugs? Suggestions?