https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118836
--- Comment #2 from George Thopas <george.thopas at gmail dot com> --- (In reply to Andrew Pinski from comment #1) > This is by design; without -fno-builtin, memcmp, memset, etc. become normal > functions and they have unknown behaviors. The only solution to get rid of the warning is to explicit cast each argument every where it's called. This makes for far worse code as you lose the validation that the argument are pointers I really do not want to disable the sso warning globally either as it's an umbrella for a set of warning. I do not want disable sso punning errors for example which point to real problems. Pragma's are also of no help as you can't disable the warning on a function level, so you would have to put pragma's around each call While it may be as designed, there is at least an inconsistency here. And it still is not clear how any of these type warnings bring anything to the table for void pointers. Can you suggest any path forward ? Thanks