public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug preprocessor/114007] New: gcc chokes on __has_cpp_attribute(clang::unsafe_buffer_usage)
@ 2024-02-20  9:01 ro at gcc dot gnu.org
  2024-02-20  9:02 ` [Bug preprocessor/114007] " ro at gcc dot gnu.org
                   ` (32 more replies)
  0 siblings, 33 replies; 34+ messages in thread
From: ro at gcc dot gnu.org @ 2024-02-20  9:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114007

            Bug ID: 114007
           Summary: gcc chokes on
                    __has_cpp_attribute(clang::unsafe_buffer_usage)
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: preprocessor
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ro at gcc dot gnu.org
                CC: iains at gcc dot gnu.org
  Target Milestone: ---

In Xcode 15.3 beta 3, <sys/cdefs.h> gained the equivalent of the following:

$ cat cd2.c
#ifndef __has_cpp_attribute
#define __has_cpp_attribute(x) 0
#endif

#if __has_cpp_attribute(clang::unsafe_buffer_usage) 
#define __has_safe_buffers 1
#endif

Unfortunately, this breaks quite a number of testcases with -std below c23:

$ gcc -std=c11 -c cd2.c
cd2.c:5:30: error: missing ')' after "__has_attribute"
    5 | #if __has_cpp_attribute(clang::unsafe_buffer_usage)
      |                              ^
cd2.c:5:31: error:  ':' without preceding '?'
    5 | #if __has_cpp_attribute(clang::unsafe_buffer_usage)
      |                               ^

while g++ always accepts it.  However, current clang/clang++ main always
accepts
it.

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2024-06-11 10:50 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-20  9:01 [Bug preprocessor/114007] New: gcc chokes on __has_cpp_attribute(clang::unsafe_buffer_usage) ro at gcc dot gnu.org
2024-02-20  9:02 ` [Bug preprocessor/114007] " ro at gcc dot gnu.org
2024-02-20  9:09 ` iains at gcc dot gnu.org
2024-02-20  9:11 ` ro at CeBiTec dot Uni-Bielefeld.DE
2024-02-20  9:17 ` jakub at gcc dot gnu.org
2024-02-20  9:22 ` jakub at gcc dot gnu.org
2024-02-20  9:29 ` iains at gcc dot gnu.org
2024-02-20  9:31 ` iains at gcc dot gnu.org
2024-02-20  9:35 ` jakub at gcc dot gnu.org
2024-02-20  9:43 ` jakub at gcc dot gnu.org
2024-02-20  9:44 ` jakub at gcc dot gnu.org
2024-02-20 10:01 ` iains at gcc dot gnu.org
2024-02-20 10:12 ` iains at gcc dot gnu.org
2024-02-20 12:04 ` iains at gcc dot gnu.org
2024-02-21 13:58 ` jakub at gcc dot gnu.org
2024-02-21 14:15 ` rsandifo at gcc dot gnu.org
2024-02-21 14:26 ` jakub at gcc dot gnu.org
2024-02-21 17:04 ` jsm28 at gcc dot gnu.org
2024-02-21 18:29 ` jakub at gcc dot gnu.org
2024-02-22  8:48 ` ro at CeBiTec dot Uni-Bielefeld.DE
2024-02-22  9:45 ` fxcoudert at gmail dot com
2024-02-22  9:45 ` fxcoudert at gmail dot com
2024-02-22  9:50 ` ro at CeBiTec dot Uni-Bielefeld.DE
2024-02-22  9:52 ` iains at gcc dot gnu.org
2024-02-22  9:58 ` ro at CeBiTec dot Uni-Bielefeld.DE
2024-02-22 10:22 ` jakub at gcc dot gnu.org
2024-02-22 10:31 ` ro at CeBiTec dot Uni-Bielefeld.DE
2024-02-22 10:34 ` iains at gcc dot gnu.org
2024-02-22 18:33 ` cvs-commit at gcc dot gnu.org
2024-02-22 18:34 ` jakub at gcc dot gnu.org
2024-03-02  0:39 ` cvs-commit at gcc dot gnu.org
2024-03-04 12:10 ` jakub at gcc dot gnu.org
2024-06-11 10:37 ` cvs-commit at gcc dot gnu.org
2024-06-11 10:50 ` jakub at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).