mirror of
git://repo.or.cz/tinycc.git
synced 2026-06-23 21:34:19 +08:00
* -dt now with lowercase t
* test snippets now separated by real preprocessor statements
which is valid C also for other compilers
#if defined test_xxx
< test snippet x >
#elif defined test_yyy
< test snippet y >
#elif ...
#endif
* simpler implementation, behaves like -run if no 'test_...' macros
are seen, works with -E too
* for demonstration I combined some of the small tests for errors
and warnings (56..63,74) in "60_errors_and_warnings.c"
Also:
* libtcc.c:
put tcc_preprocess() and tcc_assemble() under the setjmp clause
to let them return to caller after errors. This is for -dt -E.
* tccgen.c:
- get rid of save/restore_parse_state(), macro_ptr is saved
by begin_macro anyway, now line_num too.
- use expr_eq for parsing _Generic's controlling_type
- set nocode_wanted with const_wanted. too, This is to keep
VT_JMP on vtop when parsing preprocessor expressions.
* tccpp.c: tcc -E: suppress trailing whitespace from lines with
comments (that -E removes) such as
NO_GOTPLT_ENTRY,\t /* never generate ... */
23 lines
745 B
Plaintext
23 lines
745 B
Plaintext
[test_static_data_error]
|
|
96_nodata_wanted.c:7: error: initializer element is not computable at load time
|
|
|
|
[test_static_nodata_error]
|
|
96_nodata_wanted.c:14: error: initializer element is not computable at load time
|
|
|
|
[test_global_data_error]
|
|
96_nodata_wanted.c:20: error: initializer element is not computable at load time
|
|
|
|
[test_local_data_noerror]
|
|
96_nodata_wanted.c:25: warning: assignment makes integer from pointer without a cast
|
|
96_nodata_wanted.c:25: warning: nonportable conversion from pointer to char/short
|
|
|
|
[test_data_suppression]
|
|
suppression off
|
|
static data: 8 - 8.0 - 8.0 - main - static string
|
|
static bitfields: 333 44 555555 6 7
|
|
data length is not 0
|
|
text length is not 0
|
|
suppression on
|
|
data length is 0
|
|
text length is 0
|