[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