summaryrefslogtreecommitdiff
path: root/sys/src/cmd/6a
AgeCommit message (Collapse)Author
2021-10-12cc: do not expand function-like macros for non-function invocationscinap_lenrek
It is a bit of a annoyance that kenc will try to expand function like macros on any symbol with the same name and then complain when it doesnt see the '(' in the invocation. test case below: void foo(int) { } struct Bar { int baz; /* <- should not conflict */ }; void main(void) { baz(123); }
2020-05-12cc: dont export gethunk(), hunk, nhunk and thunkcinap_lenrek
2020-04-19?a, cc: fix buffer overflows in built-in preprocessor (macbody)cinap_lenrek
add a buffer size argument to macexpand() and check for overflow. check for overflow when parsing #include directives.
2020-04-19?a: catch symb[NSYMB] buffer overflow in lexer, cleanup, assume thechar is a ↵cinap_lenrek
rune
2020-04-11cc, ?[acl]: fix gethunk() and move common memory allocator code to cc/compatcinap_lenrek
for gethunk() to work, all allocators have to use it, including allocations done by libc thru malloc(), so the fake allocation functions are mandatory for everyone. to avoid duplication the code is moved to cc/compat and prototypes provided in new cc/compat.h header.
2020-04-10cc, ?a, ?l: change thunk type to uintptrSigrid
2014-05-306a, 6c, 6l: fix copy propagationAram Hăvărneanu
Without an explicit signal for a truncation, copy propagation will sometimes propagate a 32-bit truncation and end up overwriting uses of the original 64-bit value. This was independently discovered and fixed in Go. See: http://golang.org/issue/1315 https://codereview.appspot.com/6002043/ Thanks Charles Forsyth for tips and advice.
2012-07-30import updated compilers from sourcescinap_lenrek