Commit Graph

485 Commits

Author SHA1 Message Date
christos 632b456bd3 fix indent 2018-01-15 22:14:24 +00:00
christos fbbe58556f Add a _Noreturn token 2018-01-15 21:58:54 +00:00
christos 541fa6f429 Don't print duplicate definitions for inline symbols. 2017-12-26 17:02:19 +00:00
christos 98fc723392 Accept PTR for addtype 2017-03-06 23:04:52 +00:00
christos 23620f03df fix typeof, add __builtin_offsetof 2017-03-06 21:01:39 +00:00
christos 0c480e0900 handle typeof in casts 2017-03-06 11:58:31 +00:00
christos 40465f45bf leave pragmas alone. 2017-01-15 21:10:24 +00:00
christos d106d90e70 add pcs 2017-01-07 18:28:49 +00:00
christos c9601077e7 - add buffer bounded attribute
- allow empty attributes
2016-12-30 19:53:08 +00:00
christos 4f56be094e sort, kill typo 2016-12-30 03:36:51 +00:00
christos b79407b5a4 add bounded, fix nonnull 2016-12-30 02:16:36 +00:00
christos 3e691a5244 fix __typeof 2016-12-30 00:57:10 +00:00
christos b29ce927f5 handle __ symbols differently (so we don't duplicate entries in the table)
and add non_null.
2016-12-29 23:54:29 +00:00
christos ab5bdf51ae only return attributes if looking for attributes 2016-12-29 19:40:35 +00:00
christos 9ef948be1d allow cascaded attributes 2016-12-29 19:40:21 +00:00
christos a4c7faa796 Add alias attribute 2016-12-29 18:44:49 +00:00
christos 28617f6731 Add always_inline 2016-12-29 18:37:32 +00:00
christos 8deef5e5f2 Add more attributes. 2016-12-29 16:41:16 +00:00
christos a6761f0073 accept optional type attributes after struct/union members 2016-12-29 16:01:46 +00:00
christos 502c644dd9 teach lint __attribute__((__unused__)) 2016-12-27 21:52:35 +00:00
wiz d2bf829be4 Whitespace, sort, remove some superfluous macros/quoting. 2016-12-25 11:10:53 +00:00
christos 90c8a9f073 Add -R (source filename remapping) for MKREPRO 2016-12-24 17:43:45 +00:00
christos b3ba15e2be Add _Generic C11 support. 2016-11-05 01:09:30 +00:00
kamil f26cf4cb48 Prefer modern simple past tense and past participle of catch
The "catched" form is obsolete and nonstandard, prefer "caught".
2016-11-03 22:08:30 +00:00
sevan 39bbc68a3b Drop main() prototype. 2016-09-05 00:40:28 +00:00
christos c634867ea2 compute anonymous bitfield sizes properly. 2016-08-23 16:42:55 +00:00
christos b8f79638e1 Don't warn about empty structs twice. 2016-08-19 11:51:27 +00:00
christos 175128e719 be less aggressive in clearing blocks to protect against:
int
main(int argc, char *argv[])
{
	int rv;

	if ((rv = ({ int _ret = 1; if (argc == 1) {} _ret; })) != 0)
	    printf("%d\n", rv);
	return 0;
}
2016-08-19 10:58:15 +00:00
christos ab22712dbd Add union casts. 2016-08-19 10:19:45 +00:00
christos c6347f3a1e add a type comparison function. 2016-08-19 10:18:11 +00:00
christos 9acbaa9544 - handle sizes of structs/unions with anon members
- handle structs/unions with only anon members
2016-08-18 14:43:31 +00:00
christos 9c8f3871d5 anonymous members are C9X 2016-08-18 14:42:48 +00:00
dholland cf12c76a8b Don't allow initializers of the form { .a = .b = expr } as this is not
valid. Helps a bit with PR 22500.
2016-07-31 22:38:04 +00:00
dholland 096da17405 typo in comment 2016-07-31 22:36:53 +00:00
christos c351e21641 accept attributes in param decls 2016-07-20 18:14:12 +00:00
christos 29a071ed18 handle "extern __attribute__((__gnu_inline__)) __inline" 2016-07-20 17:42:14 +00:00
christos 08b8c76dab Add visibility and weak 2016-02-27 21:37:14 +00:00
christos a7dfd957d5 Handle function symbol renames. 2016-01-02 17:44:33 +00:00
christos 7e015f61f6 print the length on error. 2016-01-02 17:44:21 +00:00
christos 2e3d23cd2c redo previous, not needed. 2015-11-13 19:13:50 +00:00
christos 4ae24fd01a Handle 0b locally since anyway this is not portable. 2015-11-13 16:04:58 +00:00
christos 5e9bf06a78 Recognize binary constants 2015-11-12 17:34:01 +00:00
christos 96e2a4cea0 more descriptive errors 2015-10-14 18:31:52 +00:00
christos 29160715bc the next symbol should be a type. 2015-10-13 20:49:39 +00:00
christos 14356dd961 handle anonymous struct/union members. 2015-10-13 20:25:21 +00:00
christos 17f4a693be more descriptive aborts 2015-10-13 16:09:33 +00:00
joerg 0555fac4ac ~0 and -1 are the same for two-complement machines. ISO C says left
shifts of negative values are UB, so do the shift for the unsigned
equivalent and cast to int afterwards.
2015-08-28 09:42:07 +00:00
christos 0bc60106c2 Make the return type of "? type1 : void *" or "? void * : type1" to be type1
instead of void *.
2015-07-29 18:23:32 +00:00
christos 38c355353a Be more specific about the type errors 2015-07-29 18:22:06 +00:00
christos afb2c8bbbf handle c99 nested struct initialization { .data.foo[0] = 1 } 2015-07-28 17:56:56 +00:00