From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 8D00C3854832; Tue, 23 Mar 2021 01:36:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8D00C3854832 From: "thiago at kde dot org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/69549] Named Address Spaces does not compile in C++ Date: Tue, 23 Mar 2021 01:36:18 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 6.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: thiago at kde dot org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Mar 2021 01:36:18 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D69549 --- Comment #7 from Thiago Macieira --- (In reply to Andrew Pinski from comment #6) > The above is not the reason why namespaces are not handled in GCC's C++ > front-end. The reason why they are not handled in C++ is because you need > to handle them in overloads and templates correctly. Does clang handle > those correctly or does it ignore that issue? It handles them: $ clang -O2 -S -o - -include stdint.h -xc++ - <<<'template vo= id f(T); void f() { auto tib =3D (void * __seg_fs*)(0); f(tib); }' | c++filt=20 .text .file "-" .globl f() # -- Begin function f() .p2align 4, 0x90 .type f(),@function f(): # @f() .cfi_startproc # %bb.0: xorl %edi, %edi jmp void f(void* AS257*) # TAILCALL The mangled symbol was _Z1fIPU5AS257PvEvT_. That "AS257" is encoded as U5AS= 257, which is an extended qualifier. : 5.1.5.1 Qualified types ::=3D ::=3D * ::=3D U [] # vendor ext= ended type qualifier ::=3D [r] [V] [K] # restrict (C99), volatile, con= st ::=3D R # & ref-qualifier ::=3D O # && ref-qualifier=