public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "daniel.kruegler at googlemail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/63650] conflicting type attributes specified for ‘virtual..'
Date: Sun, 26 Oct 2014 18:34:00 -0000	[thread overview]
Message-ID: <bug-63650-4-puD6XVm5Mn@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-63650-4@http.gcc.gnu.org/bugzilla/>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="UTF-8", Size: 10867 bytes --]

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

Daniel Krügler <daniel.kruegler at googlemail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |daniel.kruegler@googlemail.
                   |                            |com

--- Comment #1 from Daniel Krügler <daniel.kruegler at googlemail dot com> ---
As written the code is ill-formed because of the unterminated second #ifndef.
What is the real code?
>From gcc-bugs-return-465008-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Sun Oct 26 18:34:36 2014
Return-Path: <gcc-bugs-return-465008-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 13614 invoked by alias); 26 Oct 2014 18:34:34 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 13579 invoked by uid 48); 26 Oct 2014 18:34:30 -0000
From: "ubizjak at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/63620] RELOAD lost SET_GOT dependency on Darwin
Date: Sun, 26 Oct 2014 18:36:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: rtl-optimization
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords: ra
X-Bugzilla-Severity: normal
X-Bugzilla-Who: ubizjak at gmail dot com
X-Bugzilla-Status: NEW
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 5.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: keywords cf_gcctarget bug_status cf_reconfirmed_on target_milestone everconfirmed
Message-ID: <bug-63620-4-n25bwJSXgs@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-63620-4@http.gcc.gnu.org/bugzilla/>
References: <bug-63620-4@http.gcc.gnu.org/bugzilla/>
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-SW-Source: 2014-10/txt/msg02029.txt.bz2
Content-length: 2472

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

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ra
             Target|Darwin                      |x86
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2014-10-26
   Target Milestone|---                         |5.0
     Ever confirmed|0                           |1

--- Comment #3 from Uroš Bizjak <ubizjak at gmail dot com> ---
Confirmed. This will affect all SSE targets.

This is an RA issue. When RA kicks the constant to a memory, PIC register
should be marked as live for the insn that accesses memory.

We start with:

(insn 21 17 22 3 (set (mem:TF (pre_dec:SI (reg/f:SI 7 sp)) [1  S16 A128])
        (const_double:TF 1.0e+29 [0x0.a18f07d736b90be55p+97])) pr63620.c:21 121
{*pushtf}
     (expr_list:REG_ARGS_SIZE (const_int 16 [0x10])
        (nil)))

and RA does:

     Choosing alt 0 in insn 21:  (0) =<  (1) x {*pushtf}
      Creating newreg=93, assigning class GENERAL_REGS to addr r93
       Change to class INDEX_REGS for r93
      Creating newreg=94, assigning class SSE_REGS to r94
   21: [--sp:SI]=r94:TF
      REG_ARGS_SIZE 0x10
    Inserting insn reload before:
   46: r93:SI=r87:SI+const(unspec[`*LC0'] 10)
      REG_EQUAL `*LC0'
   47: r94:TF=[r93:SI]

which results in:

(insn 46 17 47 3 (set (reg:SI 0 ax [93])
        (plus:SI (reg:SI 0 ax [87])
            (const:SI (unspec:SI [
                        (symbol_ref/u:SI ("*LC0") [flags 0x2])
                    ] UNSPEC_MACHOPIC_OFFSET)))) pr63620.c:21 213 {*leasi}
     (expr_list:REG_EQUAL (symbol_ref/u:SI ("*LC0") [flags 0x2])
        (nil)))
(insn 47 46 21 3 (set (reg:TF 23 xmm2 [94])
        (mem/u/c:TF (reg:SI 0 ax [93]) [1  S16 A128])) pr63620.c:21 126
{*movtf_internal}
     (nil))
(insn 21 47 22 3 (set (mem:TF (pre_dec:SI (reg/f:SI 7 sp)) [1  S16 A128])
        (reg:TF 23 xmm2 [94])) pr63620.c:21 121 {*pushtf}
     (expr_list:REG_ARGS_SIZE (const_int 16 [0x10])
        (nil)))

When the constant is pushed to a memory to satisfy operand constraints, the PIC
register should be marked as live (== used by the insn that reads memory). RA
even sets the REG_EQUAL to a symbol_ref in the reloading insn.

The patch at Comment #2 will just paper over the issue.
>From gcc-bugs-return-465009-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Sun Oct 26 18:36:47 2014
Return-Path: <gcc-bugs-return-465009-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 14850 invoked by alias); 26 Oct 2014 18:36:47 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 14816 invoked by uid 48); 26 Oct 2014 18:36:43 -0000
From: "richard at netbsd dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/63650]=?UTF-8?Q? conflicting type attributes specified for ‘virtual?=..'
Date: Sun, 26 Oct 2014 18:38:00 -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: 4.8.1
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: richard at netbsd dot org
X-Bugzilla-Status: UNCONFIRMED
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: attachments.created
Message-ID: <bug-63650-4-5TIZYyg9jv@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-63650-4@http.gcc.gnu.org/bugzilla/>
References: <bug-63650-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-10/txt/msg02030.txt.bz2
Content-length: 4087

https://gcc.gnu.org/bugzilla/show_bug.cgi?idc650

--- Comment #2 from Richard PALO <richard at netbsd dot org> ---
Created attachment 33812
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id3812&actioníit
nsFastLoadFile.ii

this is the original error:
> gmake[4]: Entering directory '/tmp/pkgsrc/devel/xulrunner192/work/mozilla-1.9.2/xpcom/io'
> nsFastLoadFile.cpp
> g++ -o nsFastLoadFile.o -c -I../../dist/system_wrappers -include ../../config/gcc_hidden.h -DMOZILLA_INTERNAL_API -DOSTYPE=\"SunOS5\" -DOSARCH=SunOS -D_IMPL_NS_COM -I.. -I. -I. -I../../dist/include -I../../dist/include/nsprpub  -I/tmp/pkgsrc/devel/xulrunner192/work/mozilla-1.9.2/dist/include/nspr -I/tmp/pkgsrc/devel/xulrunner192/work/mozilla-1.9.2/dist/include/nss      -I/opt/local/include   -fPIC  -I/usr/include -I/opt/local/include -I/opt/local/include/libdrm -I/opt/local/include/freetype2  -I/opt/local/include -fno-rtti -fno-exceptions -Wno-long-long -O2 -I/usr/include -I/opt/local/include -I/opt/local/include/libdrm -I/opt/local/include/freetype2 -fno-strict-aliasing -fshort-wchar -pthread  -DNDEBUG -DTRIMMED -O2  -I/usr/include -I/opt/local/include -I/opt/local/include/libdrm -I/opt/local/include/freetype2  -I/opt/local/include -DMOZILLA_CLIENT -include ../../mozilla-config.h -Wp,-MD,.deps/nsFastLoadFile.pp nsFastLoadFile.cpp
> nsFastLoadService.cpp
> g++ -o nsFastLoadService.o -c -I../../dist/system_wrappers -include ../../config/gcc_hidden.h -DMOZILLA_INTERNAL_API -DOSTYPE=\"SunOS5\" -DOSARCH=SunOS -D_IMPL_NS_COM -I.. -I. -I. -I../../dist/include -I../../dist/include/nsprpub  -I/tmp/pkgsrc/devel/xulrunner192/work/mozilla-1.9.2/dist/include/nspr -I/tmp/pkgsrc/devel/xulrunner192/work/mozilla-1.9.2/dist/include/nss      -I/opt/local/include   -fPIC  -I/usr/include -I/opt/local/include -I/opt/local/include/libdrm -I/opt/local/include/freetype2  -I/opt/local/include -fno-rtti -fno-exceptions -Wno-long-long -O2 -I/usr/include -I/opt/local/include -I/opt/local/include/libdrm -I/opt/local/include/freetype2 -fno-strict-aliasing -fshort-wchar -pthread  -DNDEBUG -DTRIMMED -O2  -I/usr/include -I/opt/local/include -I/opt/local/include/libdrm -I/opt/local/include/freetype2  -I/opt/local/include -DMOZILLA_CLIENT -include ../../mozilla-config.h -Wp,-MD,.deps/nsFastLoadService.pp nsFastLoadService.cpp
> In file included from nsFastLoadService.cpp:47:0:
> nsFastLoadFile.h:298:19: error: conflicting type attributes specified for 'virtual nsresult nsFastLoadFileReader::ReadSegments(nsWriteSegmentFun, void*, PRUint32, PRUint32*)'
>      NS_IMETHODIMP ReadSegments(nsWriteSegmentFun aWriter, void* aClosure,
>                    ^
> In file included from ../../dist/include/nsIBinaryInputStream.h:10:0,
>                  from ../../dist/include/nsIObjectInputStream.h:10,
>                  from nsBinaryStream.h:44,
>                  from nsFastLoadFile.h:49,
>                  from nsFastLoadService.cpp:47:
> nsBinaryStream.h:113:5: error:   overriding 'virtual nsresult nsBinaryInputStream::ReadSegments(nsWriteSegmentFun, void*, PRUint32, PRUint32*)'
>      NS_DECL_NSIINPUTSTREAM
>      ^
> In file included from nsFastLoadFile.cpp:58:0:
> nsFastLoadFile.h:298:19: error: conflicting type attributes specified for 'virtual nsresult nsFastLoadFileReader::ReadSegments(nsWriteSegmentFun, void*, PRUint32, PRUint32*)'
>      NS_IMETHODIMP ReadSegments(nsWriteSegmentFun aWriter, void* aClosure,
>                    ^
> In file included from ../../dist/include/nsIBinaryInputStream.h:10:0,
>                  from ../../dist/include/nsIObjectInputStream.h:10,
>                  from nsBinaryStream.h:44,
>                  from nsFastLoadFile.cpp:57:
> nsBinaryStream.h:113:5: error:   overriding 'virtual nsresult nsBinaryInputStream::ReadSegments(nsWriteSegmentFun, void*, PRUint32, PRUint32*)'
>      NS_DECL_NSIINPUTSTREAM
>      ^
> ../../config/rules.mk:1408: recipe for target 'nsFastLoadService.o' failed
> gmake[4]: *** [nsFastLoadService.o] Error 1
> gmake[4]: *** Waiting for unfinished jobs....
> ../../config/rules.mk:1408: recipe for target 'nsFastLoadFile.o' failed


  reply	other threads:[~2014-10-26 18:30 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-26 17:14 [Bug c++/63650] New: " richard at netbsd dot org
2014-10-26 18:34 ` daniel.kruegler at googlemail dot com [this message]
2014-10-26 19:32 ` [Bug c++/63650] " daniel.kruegler at googlemail dot com
2014-10-26 20:49 ` richard at netbsd dot org
2021-12-26  5:22 ` pinskia at gcc dot gnu.org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-63650-4-puD6XVm5Mn@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).