mirror of
https://github.com/frida/tinycc
synced 2025-01-05 03:24:25 +03:00
587e1f5598
- add tests for standard conformant inline functions - implement it The old tinycc failed to provide a conforming implementation of non-static inlines. It would expose external symbols where it shouldn't and hide them where it should expose them. This commit provides a hopefully comprehensive test suite for how things should be done. The .expect file can be obtained by compiling the example c file (embedded in the test) with a conforming compiler such as gcc, clang or icc and then printing the exported symbols (e.g., with nm+awk+sort). (The implementation currently reserves two new VT_ flags. If anyone can provide an implementation without reserving two extra flags, please replace mine.)
26 lines
652 B
Plaintext
26 lines
652 B
Plaintext
extern_extern_postdeclared
|
|
extern_extern_postdeclared2
|
|
extern_extern_predeclared
|
|
extern_extern_predeclared2
|
|
extern_extern_prepostdeclared
|
|
extern_extern_prepostdeclared2
|
|
extern_extern_undeclared
|
|
extern_extern_undeclared2
|
|
extern_postdeclared
|
|
extern_postdeclared2
|
|
extern_predeclared
|
|
extern_predeclared2
|
|
extern_prepostdeclared
|
|
extern_undeclared
|
|
extern_undeclared2
|
|
inst2_extern_inline_postdeclared
|
|
inst2_extern_inline_predeclared
|
|
inst3_extern_inline_predeclared
|
|
inst_extern_inline_postdeclared
|
|
inst_extern_inline_predeclared
|
|
main
|
|
noinst_extern_inline_func
|
|
noinst_extern_inline_postdeclared
|
|
noinst_extern_inline_postdeclared2
|
|
noinst_extern_inline_undeclared
|