tinycc/tests/tests2
Michael Matz 2cf3a6eb4d Fix more jumpopts (in ternary op)
the code in expr_cond save nocode_wanted around some parts of
expression evaluation, but at the wrong spots.  If the evaluation
of the condition itself (e.g. in the testcase the first whole ternary
expression) resulted in CODE_OFF, then that was saved, and restored
before return, even if in-between codegen would have CODE_ON'ed already.
Thus the whole CODE_OFF state bled out to outside the expression
evaluation and also disabled the whole if-block.  Found by yarpgen v1
(seed 64).
2023-03-09 18:23:16 +01:00
..
00_assignment.c tests2: move into tests 2013-02-05 13:22:36 +01:00
00_assignment.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
01_comment.c tests2: move into tests 2013-02-05 13:22:36 +01:00
01_comment.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
02_printf.c tests2: move into tests 2013-02-05 13:22:36 +01:00
02_printf.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
03_struct.c extend test 03_struct for attr. __cleanup__ 2020-02-09 18:31:19 +01:00
03_struct.expect extend test 03_struct for attr. __cleanup__ 2020-02-09 18:31:19 +01:00
04_for.c tests2: move into tests 2013-02-05 13:22:36 +01:00
04_for.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
05_array.c tests2: move into tests 2013-02-05 13:22:36 +01:00
05_array.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
06_case.c tests2: move into tests 2013-02-05 13:22:36 +01:00
06_case.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
07_function.c zfunc works again on ARM after Pursuer fix 2018-12-22 19:14:22 +01:00
07_function.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
08_while.c tests2: move into tests 2013-02-05 13:22:36 +01:00
08_while.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
09_do_while.c tests2: move into tests 2013-02-05 13:22:36 +01:00
09_do_while.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
10_pointer.c tests2: move into tests 2013-02-05 13:22:36 +01:00
10_pointer.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
11_precedence.c Rework expr_landor 2020-01-20 05:48:48 +01:00
11_precedence.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
12_hashdefine.c tests2: move into tests 2013-02-05 13:22:36 +01:00
12_hashdefine.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
13_integer_literals.c tests2: move into tests 2013-02-05 13:22:36 +01:00
13_integer_literals.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
14_if.c tests2: move into tests 2013-02-05 13:22:36 +01:00
14_if.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
15_recursion.c tests2: move into tests 2013-02-05 13:22:36 +01:00
15_recursion.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
16_nesting.c tests2: move into tests 2013-02-05 13:22:36 +01:00
16_nesting.expect tests: cleanup 2013-02-05 14:27:38 +01:00
17_enum.c enums: Accept GNU extension 2017-07-10 22:20:34 +02:00
17_enum.expect enums: Accept GNU extension 2017-07-10 22:20:34 +02:00
18_include.c Fix last __has_include update 2022-09-12 11:37:47 +02:00
18_include.expect Add testcase __has_include and __has_include_next 2022-08-16 20:53:57 +02:00
18_include.h Fix last __has_include update 2022-09-12 11:37:47 +02:00
19_pointer_arithmetic.c tests2: move into tests 2013-02-05 13:22:36 +01:00
19_pointer_arithmetic.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
20_pointer_comparison.c tests2: move into tests 2013-02-05 13:22:36 +01:00
20_pointer_comparison.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
21_char_array.c tests2: move into tests 2013-02-05 13:22:36 +01:00
21_char_array.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
22_floating_point.c Revert "add tests for float conversions to u64" 2020-09-17 07:12:49 +00:00
22_floating_point.expect Revert "add tests for float conversions to u64" 2020-09-17 07:12:49 +00:00
23_type_coercion.c tests2: move into tests 2013-02-05 13:22:36 +01:00
23_type_coercion.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
24_math_library.c round() in test (24_math_library) fail because there are no defs included. 2015-01-05 18:23:32 +03:00
24_math_library.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
25_quicksort.c tests2: move into tests 2013-02-05 13:22:36 +01:00
25_quicksort.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
26_character_constants.c tests2: move into tests 2013-02-05 13:22:36 +01:00
26_character_constants.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
27_sizeof.c tccgen.c: Try to make sizeof(!x) work. 2015-11-22 00:00:36 +00:00
27_sizeof.expect tccgen.c: Try to make sizeof(!x) work. 2015-11-22 00:00:36 +00:00
28_strings.c Use ISO C string functions instead of obsolete BSD ones that used to be in strings.h. It allows more systems -- i.e. Windows -- to use those tests 2016-10-12 06:18:38 +02:00
28_strings.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
29_array_address.c tests2: move into tests 2013-02-05 13:22:36 +01:00
29_array_address.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
30_hanoi.c tests2: fix 30_hanoi test and enable it. 2014-04-12 13:37:37 -04:00
30_hanoi.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
31_args.c tests2: cleanup 2014-04-07 11:20:45 +02:00
31_args.expect tests2: cleanup 2014-04-07 11:20:45 +02:00
32_led.c tests2: move into tests 2013-02-05 13:22:36 +01:00
32_led.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
33_ternary_op.c Fix more jumpopts (in ternary op) 2023-03-09 18:23:16 +01:00
33_ternary_op.expect Fix more jumpopts (in ternary op) 2023-03-09 18:23:16 +01:00
34_array_assignment.c tests2: move into tests 2013-02-05 13:22:36 +01:00
34_array_assignment.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
35_sizeof.c tests2: move into tests 2013-02-05 13:22:36 +01:00
35_sizeof.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
36_array_initialisers.c Allow declared arrays to be initialized without an explicit size 2021-02-13 19:18:08 -08:00
36_array_initialisers.expect Allow declared arrays to be initialized without an explicit size 2021-02-13 19:18:08 -08:00
37_sprintf.c tests2: move into tests 2013-02-05 13:22:36 +01:00
37_sprintf.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
38_multiple_array_index.c tests2: move into tests 2013-02-05 13:22:36 +01:00
38_multiple_array_index.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
39_typedef.c Fix function types 2017-07-14 17:42:48 +02:00
39_typedef.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
40_stdio.c tests2: move into tests 2013-02-05 13:22:36 +01:00
40_stdio.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
41_hashif.c tests2: move into tests 2013-02-05 13:22:36 +01:00
41_hashif.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
42_function_pointer.c Revert "function pointer compare" 2020-10-03 17:40:22 +02:00
42_function_pointer.expect Revert "function pointer compare" 2020-10-03 17:40:22 +02:00
43_void_param.c tests2: move into tests 2013-02-05 13:22:36 +01:00
43_void_param.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
44_scoped_declarations.c tests: cleanup 2013-02-05 14:27:38 +01:00
44_scoped_declarations.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
45_empty_for.c tests: cleanup 2013-02-05 14:27:38 +01:00
45_empty_for.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
46_grep.c Update bounds checking. 2019-12-12 12:56:06 +01:00
46_grep.expect tests2: fix and enable 46_grep test. 2014-04-12 14:04:10 -04:00
47_switch_return.c tests2: move into tests 2013-02-05 13:22:36 +01:00
47_switch_return.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
48_nested_break.c tests2: move into tests 2013-02-05 13:22:36 +01:00
48_nested_break.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
49_bracket_evaluation.c tests2: move into tests 2013-02-05 13:22:36 +01:00
49_bracket_evaluation.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
50_logical_second_arg.c tests: cleanup 2013-02-05 14:27:38 +01:00
50_logical_second_arg.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
51_static.c tests2: move into tests 2013-02-05 13:22:36 +01:00
51_static.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
52_unnamed_enum.c tests2: move into tests 2013-02-05 13:22:36 +01:00
52_unnamed_enum.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
54_goto.c tests: cleanup 2013-02-05 14:27:38 +01:00
54_goto.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
55_lshift_type.c tests2: move into tests 2013-02-05 13:22:36 +01:00
55_lshift_type.expect tests2: move into tests 2013-02-05 13:22:36 +01:00
60_errors_and_warnings.c Fix sym_scope of typedefs 2023-02-22 17:59:31 +01:00
60_errors_and_warnings.expect Fix sym_scope of typedefs 2023-02-22 17:59:31 +01:00
61_integers.c __builtin_/__bound_: A 'stay tiny' approach to the matter 2020-07-06 13:42:02 +02:00
61_integers.expect __builtin_/__bound_: A 'stay tiny' approach to the matter 2020-07-06 13:42:02 +02:00
64_macro_nesting.c Turn on a implicit-function-declaration warning by default. 2015-03-03 16:32:25 +03:00
64_macro_nesting.expect Add new tests for macro nesting 2014-04-07 23:30:57 +08:00
67_macro_concat.c Fix preprocessor concat with empty arg 2014-04-12 16:11:42 +08:00
67_macro_concat.expect Fix preprocessor concat with empty arg 2014-04-12 16:11:42 +08:00
70_floating_point_literals.c Fix parsing of binary floating point number 2014-12-15 16:32:08 +08:00
70_floating_point_literals.expect Fix parsing of binary floating point number 2014-12-15 16:32:08 +08:00
71_macro_empty_arg.c Fix macro expansion of empty args. 2015-01-18 22:00:10 +01:00
71_macro_empty_arg.expect Fix macro expansion of empty args. 2015-01-18 22:00:10 +01:00
72_long_long_constant.c tccpp: fix issues, add tests 2015-05-09 14:29:39 +02:00
72_long_long_constant.expect tccpp: fix issues, add tests 2015-05-09 14:29:39 +02:00
73_arm64.c Fix arm64-gen.c when passing a struct ptr to va_arg. 2020-03-22 08:26:03 +01:00
73_arm64.expect arm64: Optimise some integer operations with a constant operand. 2015-03-07 17:42:08 +00:00
75_array_in_struct_init.c A right fix for the array in struct initialization w/o '{' 2015-03-23 08:27:16 +03:00
75_array_in_struct_init.expect A right fix for the array in struct initialization w/o '{' 2015-03-23 08:27:16 +03:00
76_dollars_in_identifiers.c add missing test from -fdollar-in-identifiers commit 2015-04-20 12:03:45 +01:00
76_dollars_in_identifiers.expect add missing test from -fdollar-in-identifiers commit 2015-04-20 12:03:45 +01:00
77_push_pop_macro.c a test for the #pragma push/pop_macro 2015-04-25 15:03:50 +03:00
77_push_pop_macro.expect a test for the #pragma push/pop_macro 2015-04-25 15:03:50 +03:00
78_vla_label.c tccgen.c: Bug fix for 992cbda and 3ff77a1: set nocode_wanted. 2015-11-21 23:58:58 +00:00
78_vla_label.expect tccgen.c: Bug fix for 992cbda and 3ff77a1: set nocode_wanted. 2015-11-21 23:58:58 +00:00
79_vla_continue.c Fix a VLA problem 2021-02-03 04:30:11 +01:00
79_vla_continue.expect VLA fix: save stack pointer right after modification 2015-04-28 09:23:29 +00:00
80_flexarray.c flexarray: Accept empty ones 2022-07-01 15:37:23 +02:00
80_flexarray.expect tccgen.c: Fix flex array members some more 2016-03-11 22:35:44 +01:00
81_types.c Some types testcases 2019-04-09 04:39:38 +02:00
81_types.expect Fix type parsing 2016-03-24 15:44:01 +01:00
82_attribs_position.c Accept attributes after labels 2022-08-16 15:59:41 +02:00
82_attribs_position.expect Fix misparsed type in presence of attributes 2018-07-28 18:55:54 +02:00
83_utf8_in_identifiers.c utf8 in identifiers 2016-04-05 13:05:09 +03:00
83_utf8_in_identifiers.expect utf8 in identifiers 2016-04-05 13:05:09 +03:00
84_hex-float.c updates & cleanups (tcc-doc/Changelog/TODO ...) 2017-02-13 19:03:29 +01:00
84_hex-float.expect updates & cleanups (tcc-doc/Changelog/TODO ...) 2017-02-13 19:03:29 +01:00
85_asm-outside-function.c rework leading underscores 2020-07-06 13:00:47 +02:00
85_asm-outside-function.expect updates & cleanups (tcc-doc/Changelog/TODO ...) 2017-02-13 19:03:29 +01:00
86_memory-model.c updates & cleanups (tcc-doc/Changelog/TODO ...) 2017-02-13 19:03:29 +01:00
86_memory-model.expect updates & cleanups (tcc-doc/Changelog/TODO ...) 2017-02-13 19:03:29 +01:00
87_dead_code.c Fix fallthrough of non-entered stmt expressions 2022-07-01 17:20:37 +02:00
87_dead_code.expect Fix fallthrough of non-entered stmt expressions 2022-07-01 17:20:37 +02:00
88_codeopt.c Fix code suppression during nocode_wanted 2023-03-07 18:10:02 +01:00
88_codeopt.expect Fix code suppression during nocode_wanted 2023-03-07 18:10:02 +01:00
89_nocode_wanted.c updates & cleanups (tcc-doc/Changelog/TODO ...) 2017-02-13 19:03:29 +01:00
89_nocode_wanted.expect updates & cleanups (tcc-doc/Changelog/TODO ...) 2017-02-13 19:03:29 +01:00
90_struct-init.c Fix test90 for 32 bits targets 2023-03-09 16:11:39 +01:00
90_struct-init.expect Fix init bitfield padding with size 32/64 2023-03-09 15:53:48 +01:00
91_ptr_longlong_arith32.c updates & cleanups (tcc-doc/Changelog/TODO ...) 2017-02-13 19:03:29 +01:00
91_ptr_longlong_arith32.expect updates & cleanups (tcc-doc/Changelog/TODO ...) 2017-02-13 19:03:29 +01:00
92_enum_bitfield.c nocode, noreturn 2019-06-24 11:40:01 +02:00
92_enum_bitfield.expect Fix unsigned enum bit-fields 2017-05-05 23:16:43 +02:00
93_integer_promotion.c bitfields: promote to signed int 2017-05-09 18:36:24 +02:00
93_integer_promotion.expect bitfields: promote to signed int 2017-05-09 18:36:24 +02:00
94_generic.c Fix null pointer constants 2022-08-16 16:58:00 +02:00
94_generic.expect Treat func pointers with different return types as not compatible 2020-11-22 16:30:34 -06:00
95_bitfields_ms.c #pragma comment(option,"-..."), bitfields test, etc... 2017-07-14 19:26:01 +02:00
95_bitfields_ms.expect Fix long bitfield 2020-08-09 07:50:34 +02:00
95_bitfields.c Fix testcase 95 for windows 2020-08-09 08:28:45 +02:00
95_bitfields.expect Fix long bitfield 2020-08-09 07:50:34 +02:00
96_nodata_wanted.c tccelf: use rodata_section, use more rodata in tcc itself 2021-02-18 14:43:34 +01:00
96_nodata_wanted.expect update gen_cast 2019-12-16 21:37:44 +01:00
97_utf8_string_literal.c re-add accidentally deleted printf("\n"); to tests2/97*.c 2021-01-18 08:32:50 +01:00
97_utf8_string_literal.expect Add test case for wide char handling in wide string literal 2017-09-10 16:50:19 +08:00
98_al_ax_extend.c rework leading underscores 2020-07-06 13:00:47 +02:00
98_al_ax_extend.expect Add test case for AL/AX extending problem 2017-09-10 17:03:34 +08:00
99_fastcall.c more bsd updates 2020-12-22 07:02:47 +01:00
99_fastcall.expect Add test case for fastcall calling convention 2017-09-10 18:22:48 +08:00
100_c99array-decls.c Don't fail on const/restrict/static/* inside [] 2018-04-01 00:48:09 +02:00
100_c99array-decls.expect Don't fail on const/restrict/static/* inside [] 2018-04-01 00:48:09 +02:00
101_cleanup.c add tests for cleanup loop 2019-05-03 12:32:55 +02:00
101_cleanup.expect add tests for cleanup loop 2019-05-03 12:32:55 +02:00
102_alignas.c Make 102_alignas independend of architecture 2019-04-11 00:37:07 +02:00
102_alignas.expect three small fixes & three reverts 2020-11-02 18:08:56 +01:00
103_implicit_memmove.c Add attribute bound_no_checking 2020-08-13 11:19:11 +02:00
103_implicit_memmove.expect Add 103_implicit_memmove testcase 2019-04-18 03:42:23 +02:00
104_inline.c test 104: adjust to (unwritten) tests2 suite conventions 2019-06-22 00:26:31 +02:00
104_inline.expect test 104: adjust to (unwritten) tests2 suite conventions 2019-06-22 00:26:31 +02:00
104+_inline.c win64: hi-mem adjustments 2022-10-13 20:32:47 +02:00
105_local_extern.c Add testcase for 69a46b0 2019-06-17 19:08:08 +02:00
105_local_extern.expect Add testcase for 69a46b0 2019-06-17 19:08:08 +02:00
106_versym.c rename testcase 106 2020-12-19 21:02:44 +01:00
106_versym.expect rename testcase 106 2020-12-19 21:02:44 +01:00
107_stack_safe.c Fix bug in gen_cvt_ftoi1. Add test 107_stack_safe for this fix. 2019-10-24 00:57:59 +08:00
107_stack_safe.expect Fix bug in gen_cvt_ftoi1. Add test 107_stack_safe for this fix. 2019-10-24 00:57:59 +08:00
108_constructor.c Add constructor/destructor support 2019-10-29 07:02:58 +01:00
108_constructor.expect Add constructor/destructor support 2019-10-29 07:02:58 +01:00
109_float_struct_calling.c rename testcase 2019-10-29 12:02:58 +01:00
109_float_struct_calling.expect rename testcase 2019-10-29 12:02:58 +01:00
110_average.c Fix bounds checking for linux/windows 2019-12-10 08:07:25 +01:00
110_average.expect Fix bounds checking for linux/windows 2019-12-10 08:07:25 +01:00
111_conversion.c Fix bounds checking for linux/windows 2019-12-10 08:07:25 +01:00
111_conversion.expect Fix bounds checking for linux/windows 2019-12-10 08:07:25 +01:00
112_backtrace.c Add strncat and strrchr to bounds checking 2022-11-25 00:31:32 -06:00
112_backtrace.expect Add strncat and strrchr to bounds checking 2022-11-25 00:31:32 -06:00
113_btdll.c backtrace: test with DLLs 2020-01-19 11:46:07 +01:00
113_btdll.expect backtrace: test with DLLs 2020-01-19 11:46:07 +01:00
114_bound_signal.c Fix fork problem 114_bound_signal 2020-11-10 10:08:30 +01:00
114_bound_signal.expect Allow signal handlers when bound checking 2020-05-05 08:31:57 +02:00
115_bound_setjmp.c NetBSD: longjmp(jmp_buf, 0) is not supported. 2020-12-24 09:29:25 +01:00
115_bound_setjmp.expect Add setjmp/longjmp bound checking support 2020-05-23 20:02:41 +02:00
116_bound_setjmp2.c Add setjmp/longjmp bound checking support 2020-05-23 20:02:41 +02:00
116_bound_setjmp2.expect Add setjmp/longjmp bound checking support 2020-05-23 20:02:41 +02:00
117_builtins.c Add strncat and strrchr to bounds checking 2022-11-25 00:31:32 -06:00
117_builtins.expect Add strncat and strrchr to bounds checking 2022-11-25 00:31:32 -06:00
118_switch.c tests2: rework 117..119 to follow our conventions 2020-08-21 21:44:11 +02:00
118_switch.expect tests2: rework 117..119 to follow our conventions 2020-08-21 21:44:11 +02:00
119_random_stuff.c New update tccmacho.c 2022-11-28 11:19:33 -06:00
119_random_stuff.expect New update tccmacho.c 2022-11-28 11:19:33 -06:00
120_alias.c Fix tests2/120_alias.c on macos 2020-10-01 18:03:56 +02:00
120_alias.expect Reinstate attribute alias handling 2020-09-30 17:46:01 +02:00
120+_alias.c Reinstate attribute alias handling 2020-09-30 17:46:01 +02:00
121_struct_return.c Bound checking fixes 2020-10-01 17:09:09 +02:00
121_struct_return.expect Bound checking fixes 2020-10-01 17:09:09 +02:00
122_vla_reuse.c Bound checking fixes 2020-10-01 17:09:09 +02:00
122_vla_reuse.expect Bound checking fixes 2020-10-01 17:09:09 +02:00
123_vla_bug.c Fix a VLA problem 2021-02-03 04:30:11 +01:00
123_vla_bug.expect Fix a VLA problem 2021-02-03 04:30:11 +01:00
124_atomic_counter.c Fix atomic test_and_set and clear 2022-11-17 05:57:21 -06:00
124_atomic_counter.expect Add atomic functions for arm/arm64/riscv 2022-10-16 18:51:56 +02:00
125_atomic_misc.c Add atomic functions for arm/arm64/riscv 2022-10-16 18:51:56 +02:00
125_atomic_misc.expect Add atomic functions for arm/arm64/riscv 2022-10-16 18:51:56 +02:00
126_bound_global.c Add dwarf support 2022-05-05 09:10:37 +02:00
126_bound_global.expect Add dwarf support 2022-05-05 09:10:37 +02:00
127_asm_goto.c Support asm goto 2022-08-16 15:59:41 +02:00
127_asm_goto.expect Support asm goto 2022-08-16 15:59:41 +02:00
128_run_atexit.c Allow on_exit to be used with -run 2022-12-02 07:11:55 +01:00
128_run_atexit.expect Allow on_exit to be used with -run 2022-12-02 07:11:55 +01:00
129_scopes.c Create scopes for switches/whiles/do-whiles 2023-03-05 22:31:40 +01:00
129_scopes.expect Create scopes for switches/whiles/do-whiles 2023-03-05 22:31:40 +01:00
LICENSE tests2: move into tests 2013-02-05 13:22:36 +01:00
Makefile Allow parallel build testsuite 2022-12-27 14:11:18 +01:00