Thank you so much for the contribution. I will review it this weekend .
I have implemented following GCC C Extensions in Csmith and would like
to upstream them.
1. Function attributes - artificial, flatten, hot, cold, noreorder,
used, unused, nothrow, deprecated, no_icf,
no_sanitize_address, no_sanitize_thread, no_sanitize_undefined,
no_split_stack, noinline, noplt, stack_protect, noclone, optimize,
alias, section, aligned, visibility
2. Type attributes - visibility, aligned, warn_if_not_aligned,
3. Transaction atomic (not a GCC C Extension)
4. Variable attributes - visibility, aligned, common, uncommon,
deprecated, unused, used
5. Label attributes - hot cold
6. Vector extensions - (yet to be done completely, I will send pull
request of vector extension later once it is completed).
I have sent pull request that generates function attributes during
generation phase and output it during output phase by adding a new
class named "Attribute"
URL - https://github.com/csmith-project/csmith/pull/77
Please review and suggest necessary changes required for merging it.
The above extensions are done under guidance of my GSOC mentors -
Martin Liska and Andi Kleen. (Mentioning them in this mail also) and
led us to find 4 ICE in GCC. Below are links to bugs reported to GCC
Looking forward to hear from the community!