https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62181
--- Comment #5 from Xi Ruoyao <ryxi at stu dot xidian.edu.cn> --- Some clang-5.0 warning case: ~~~ Wstring-plus-int.c:20:24: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int] const char *a = "aa" + 'a'; /* { dg-warning "does not append" } */ ~~~~~^~~~~ Wstring-plus-int.c:20:24: note: use array indexing to silence this warning const char *a = "aa" + 'a'; /* { dg-warning "does not append" } */ ^ & [ ] Wstring-plus-int.c:20:24: warning: adding 'char' to a string pointer does not append to the string [-Wstring-plus-char] const char *a = "aa" + 'a'; /* { dg-warning "does not append" } */ ~~~~~^~~~~ Wstring-plus-int.c:20:24: note: use array indexing to silence this warning const char *a = "aa" + 'a'; /* { dg-warning "does not append" } */ ^ & [ ] Wstring-plus-int.c:21:28: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int] const wchar_t *b = L"aa" + L'a'; /* { dg-warning "does not append" } */ ~~~~~~^~~~~~ Wstring-plus-int.c:21:28: note: use array indexing to silence this warning const wchar_t *b = L"aa" + L'a'; /* { dg-warning "does not append" } */ ^ & [ ] Wstring-plus-int.c:22:24: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int] const char *e = "aa" + getchar(); /* { dg-warning "does not append" } */ ~~~~~^~~~~~~~~~~ Wstring-plus-int.c:22:24: note: use array indexing to silence this warning const char *e = "aa" + getchar(); /* { dg-warning "does not append" } */ ^ & [ ] Wstring-plus-int.c:25:21: warning: adding 'char' to a string pointer does not append to the string [-Wstring-plus-char] const char *f = a + 'a'; /* { dg-warning "does not append" } */ ~~^~~~~ Wstring-plus-int.c:25:21: note: use array indexing to silence this warning const char *f = a + 'a'; /* { dg-warning "does not append" } */ ^ & [ ] Wstring-plus-int.c:26:23: warning: adding 'char' to a string pointer does not append to the string [-Wstring-plus-char] const char *g = 'a' + a; /* { dg-warning "does not append" } */ ~~~~^~~ Wstring-plus-int.c:26:23: note: use array indexing to silence this warning 6 warnings generated. ~~~ Note the both warnings are reported at line 22. By the way clang -Wstring-plus-char doesn't warn for `a += 'a'`. I think we should handle it. I've submitted a series of patches about this PR. I'll adjust them to be like clang-5.0 and resubmit them in stage 1.