[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[csmith-dev] Merging of Implemented GCC C Extensions during Google Summer Of Code 2019
Hello,
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_profile_instrument_function, no_instrument_function,
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,
deprecated, transparent_union
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
bugzilla.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91001
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91105
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91106
Looking forward to hear from the community!
Thank you.
Shubham Narlawar