public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug bootstrap/44640]  New: spu port fails to build with --enable-build-with-cxx
@ 2010-06-22 22:30 amylaar at gcc dot gnu dot org
  2010-06-22 22:33 ` [Bug target/44640] " pinskia at gcc dot gnu dot org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: amylaar at gcc dot gnu dot org @ 2010-06-22 22:30 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 5922 bytes --]

Even with the patch for 44512 installed, a build fails due to problems in
the spu port, e.g.:

../../gcc/gcc/config/spu/spu.c:294: error: invalid conversion from ‘tree_node*
(*)(tree_node**, tree_node*, tree_node*, int, unsigned char*)’ to ‘tree_node*
(*)(tree_node**, tree_node*, tree_node*, int, bool*)’
../../gcc/gcc/config/spu/spu.c:294: error: invalid conversion from ‘tree_node*
(*)(tree_node**, tree_node*, tree_node*, int, unsigned char*)’ to ‘tree_node*
(*)(tree_node**, tree_node*, tree_node*, int, bool*)’
../../gcc/gcc/config/spu/spu.c:468: error: invalid conversion from ‘unsigned
char (*)(tree_node*, tree_node*)’ to ‘bool (*)(tree_node*, tree_node*)’
../../gcc/gcc/config/spu/spu.c:468: error: invalid conversion from ‘unsigned
char (*)(machine_mode)’ to ‘bool (*)(machine_mode)’
../../gcc/gcc/config/spu/spu.c:468: error: invalid conversion from ‘unsigned
char (*)(machine_mode)’ to ‘bool (*)(machine_mode)’
../../gcc/gcc/config/spu/spu.c:468: error: invalid conversion from ‘unsigned
char (*)(rtx_def*, int, int, int*, bool)’ to ‘bool (*)(rtx_def*, int, int,
int*, bool)’
../../gcc/gcc/config/spu/spu.c:468: error: invalid conversion from ‘unsigned
char (*)(int*, machine_mode, const tree_node*, unsigned char)’ to ‘bool
(*)(int*, machine_mode, const tree_node*, bool)’
../../gcc/gcc/config/spu/spu.c: In function ‘bool
spu_scalar_mode_supported_p(machine_mode)’:
../../gcc/gcc/config/spu/spu.c:549: error: new declaration ‘bool
spu_scalar_mode_supported_p(machine_mode)’
../../gcc/gcc/config/spu/spu.c:153: error: ambiguates old declaration ‘unsigned
char spu_scalar_mode_supported_p(machine_mode)’
../../gcc/gcc/config/spu/spu.c: In function ‘bool
spu_vector_mode_supported_p(machine_mode)’:
../../gcc/gcc/config/spu/spu.c:571: error: new declaration ‘bool
spu_vector_mode_supported_p(machine_mode)’
../../gcc/gcc/config/spu/spu.c:154: error: ambiguates old declaration ‘unsigned
char spu_vector_mode_supported_p(machine_mode)’
../../gcc/gcc/config/spu/spu.c: In function ‘tree_node*
spu_handle_fndecl_attribute(tree_node**, tree_node*, tree_node*, int, bool*)’:
../../gcc/gcc/config/spu/spu.c:3851: warning: unknown conversion type character
‘E’ in format
../../gcc/gcc/config/spu/spu.c:3851: warning: too many arguments for format
../../gcc/gcc/config/spu/spu.c: In function ‘tree_node*
spu_handle_vector_attribute(tree_node**, tree_node*, tree_node*, int, bool*)’:
../../gcc/gcc/config/spu/spu.c:3908: warning: unknown conversion type character
‘E’ in format
../../gcc/gcc/config/spu/spu.c:3908: warning: too many arguments for format
../../gcc/gcc/config/spu/spu.c: In function ‘void
ea_load_store_inline(rtx_def*, bool, rtx_def*, rtx_def*)’:
../../gcc/gcc/config/spu/spu.c:4492: error: cannot convert ‘reg_note’ to
‘machine_mode’ for argument ‘2’ to ‘rtx_def* gen_rtx_fmt_ee_stat(rtx_code,
machine_mode, rtx_def*, rtx_def*)’
../../gcc/gcc/config/spu/spu.c: In function ‘bool spu_rtx_costs(rtx_def*, int,
int, int*, bool)’:
../../gcc/gcc/config/spu/spu.c:5359: error: new declaration ‘bool
spu_rtx_costs(rtx_def*, int, int, int*, bool)’
../../gcc/gcc/config/spu/spu.c:199: error: ambiguates old declaration ‘unsigned
char spu_rtx_costs(rtx_def*, int, int, int*, bool)’
../../gcc/gcc/config/spu/spu.c: In function ‘bool
spu_function_ok_for_sibcall(tree_node*, tree_node*)’:
../../gcc/gcc/config/spu/spu.c:5482: error: new declaration ‘bool
spu_function_ok_for_sibcall(tree_node*, tree_node*)’
../../gcc/gcc/config/spu/spu.c:201: error: ambiguates old declaration ‘unsigned
char spu_function_ok_for_sibcall(tree_node*, tree_node*)’
../../gcc/gcc/config/spu/spu.c: At global scope:
../../gcc/gcc/config/spu/spu.c:7086: warning: unused parameter ‘labelno’
In file included from ../../gcc/gcc/config/spu/spu.c:7092:
../../gcc/gcc/config/spu/spu.c:153: warning: ‘unsigned char
spu_scalar_mode_supported_p(machine_mode)’ declared ‘static’ but never defined
../../gcc/gcc/config/spu/spu.c:154: warning: ‘unsigned char
spu_vector_mode_supported_p(machine_mode)’ declared ‘static’ but never defined
../../gcc/gcc/config/spu/spu.c:181: warning: ‘tree_node*
spu_handle_fndecl_attribute(tree_node**, tree_node*, tree_node*, int, unsigned
char*)’ declared ‘static’ but never defined
../../gcc/gcc/config/spu/spu.c:184: warning: ‘tree_node*
spu_handle_vector_attribute(tree_node**, tree_node*, tree_node*, int, unsigned
char*)’ declared ‘static’ but never defined
../../gcc/gcc/config/spu/spu.c:188: warning: ‘unsigned char
spu_pass_by_reference(int*, machine_mode, const tree_node*, unsigned char)’
declared ‘static’ but never defined
../../gcc/gcc/config/spu/spu.c:199: warning: ‘unsigned char
spu_rtx_costs(rtx_def*, int, int, int*, bool)’ declared ‘static’ but never
defined
../../gcc/gcc/config/spu/spu.c:201: warning: ‘unsigned char
spu_function_ok_for_sibcall(tree_node*, tree_node*)’ declared ‘static’ but
never defined
../../gcc/gcc/config/spu/spu.c:3843: warning: ‘tree_node*
spu_handle_fndecl_attribute(tree_node**, tree_node*, tree_node*, int, bool*)’
defined but not used
../../gcc/gcc/config/spu/spu.c:3860: warning: ‘tree_node*
spu_handle_vector_attribute(tree_node**, tree_node*, tree_node*, int, bool*)’
defined but not used

I have a patch set for it, but it got lumped in a 642817 byte patch.  I'll be
working on extracting the actually necessary parts.


-- 
           Summary: spu port fails to build with --enable-build-with-cxx
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: amylaar at gcc dot gnu dot org
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: spu-elf
 BugsThisDependsOn: 44512
OtherBugsDependingO 44433
             nThis:


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44640


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

* [Bug bootstrap/44640] spu port fails to build with --enable-build-with-cxx
  2010-06-22 22:30 [Bug bootstrap/44640] New: spu port fails to build with --enable-build-with-cxx amylaar at gcc dot gnu dot org
  2010-06-22 22:33 ` [Bug target/44640] " pinskia at gcc dot gnu dot org
@ 2010-06-22 22:33 ` pinskia at gcc dot gnu dot org
  2010-06-22 22:43 ` [Bug target/44640] " amylaar at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2010-06-22 22:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from pinskia at gcc dot gnu dot org  2010-06-22 22:33 -------
Well this is caused by bool being a define in C to being unsigned char and the
spu.c file using unsigned char.  A simple fix is an obvious fix.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  BugsThisDependsOn|44512                       |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44640


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

* [Bug target/44640] spu port fails to build with --enable-build-with-cxx
  2010-06-22 22:30 [Bug bootstrap/44640] New: spu port fails to build with --enable-build-with-cxx amylaar at gcc dot gnu dot org
@ 2010-06-22 22:33 ` pinskia at gcc dot gnu dot org
  2010-06-22 22:33 ` [Bug bootstrap/44640] " pinskia at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2010-06-22 22:33 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
          Component|bootstrap                   |target
     Ever Confirmed|0                           |1
   GCC host triplet|i686-pc-linux-gnu           |
   Last reconfirmed|0000-00-00 00:00:00         |2010-06-22 22:33:32
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44640


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

* [Bug target/44640] spu port fails to build with --enable-build-with-cxx
  2010-06-22 22:30 [Bug bootstrap/44640] New: spu port fails to build with --enable-build-with-cxx amylaar at gcc dot gnu dot org
  2010-06-22 22:33 ` [Bug target/44640] " pinskia at gcc dot gnu dot org
  2010-06-22 22:33 ` [Bug bootstrap/44640] " pinskia at gcc dot gnu dot org
@ 2010-06-22 22:43 ` amylaar at gcc dot gnu dot org
  2010-06-23 13:20 ` amylaar at gcc dot gnu dot org
  2010-06-23 23:33 ` amylaar at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: amylaar at gcc dot gnu dot org @ 2010-06-22 22:43 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from amylaar at gcc dot gnu dot org  2010-06-22 22:43 -------
(In reply to comment #1)
> Well this is caused by bool being a define in C to being unsigned char and the
> spu.c file using unsigned char.  A simple fix is an obvious fix.

I still have to verify that that is the only thing that needs changing beyond
the 44512 issue in order to get the port to build with c++.

In fact, I'm pretty sure that it won't be enough.  This is from the
ChangeLog.cxx in the multi-target-20100613-branch:

2010-02-18  Joern Rennecke  <joern.rennecke@embecosm.com>

        * config/spu/spu.c (ea_load_store_inline): Use add_reg_note.

2009-05-20  J"orn Rennecke  <joern.rennecke@arc.com>

        * config/rs6000/rs6000.c (legitimate_indirect_address_p):
        Don't define inline.

        * config/spu/spu-protos.h (struct cpp_reader): Forward declaration.
        (spu_expand_epilogue) Use bool.
        * config/spu/spu.c (spu_scalar_mode_supported_p): Declare with bool.
        (spu_vector_mode_supported_p, spu_handle_fndecl_attribute): Likewise.
        (spu_handle_vector_attribute, spu_pass_by_reference): Likewise.
        (spu_rtx_costs, spu_function_ok_for_sibcall): Likewise.

If the patch is obvious, that means it doesn't need through the full review
process, but it still needs to be tested.

And why did you remove the dependency on 44512?
The port still won't build with c++ unless this issue is addressed.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44640


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

* [Bug target/44640] spu port fails to build with --enable-build-with-cxx
  2010-06-22 22:30 [Bug bootstrap/44640] New: spu port fails to build with --enable-build-with-cxx amylaar at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2010-06-22 22:43 ` [Bug target/44640] " amylaar at gcc dot gnu dot org
@ 2010-06-23 13:20 ` amylaar at gcc dot gnu dot org
  2010-06-23 23:33 ` amylaar at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: amylaar at gcc dot gnu dot org @ 2010-06-23 13:20 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from amylaar at gcc dot gnu dot org  2010-06-23 13:19 -------
spu patches have been committed to trunk, the remaining issue is PR44512.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44640


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

* [Bug target/44640] spu port fails to build with --enable-build-with-cxx
  2010-06-22 22:30 [Bug bootstrap/44640] New: spu port fails to build with --enable-build-with-cxx amylaar at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2010-06-23 13:20 ` amylaar at gcc dot gnu dot org
@ 2010-06-23 23:33 ` amylaar at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: amylaar at gcc dot gnu dot org @ 2010-06-23 23:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from amylaar at gcc dot gnu dot org  2010-06-23 23:32 -------
Subject: Bug 44640

Author: amylaar
Date: Wed Jun 23 23:32:38 2010
New Revision: 161299

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=161299
Log:
        PR target/44640
        * config/spu/spu-protos.h (spu_expand_epilogue) Use bool.
        * config/spu/spu.c (spu_scalar_mode_supported_p): Declare with bool.
        (spu_vector_mode_supported_p, spu_handle_fndecl_attribute): Likewise.
        (spu_handle_vector_attribute, spu_pass_by_reference): Likewise.
        (spu_rtx_costs, spu_function_ok_for_sibcall): Likewise.

        PR target/44640
        * config/spu/spu.c (ea_load_store_inline): Use add_reg_note.

Modified:
    branches/multi-target-20100622-branch/gcc/ChangeLog
    branches/multi-target-20100622-branch/gcc/config/spu/spu-protos.h
    branches/multi-target-20100622-branch/gcc/config/spu/spu.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44640


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

end of thread, other threads:[~2010-06-23 23:33 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-06-22 22:30 [Bug bootstrap/44640] New: spu port fails to build with --enable-build-with-cxx amylaar at gcc dot gnu dot org
2010-06-22 22:33 ` [Bug target/44640] " pinskia at gcc dot gnu dot org
2010-06-22 22:33 ` [Bug bootstrap/44640] " pinskia at gcc dot gnu dot org
2010-06-22 22:43 ` [Bug target/44640] " amylaar at gcc dot gnu dot org
2010-06-23 13:20 ` amylaar at gcc dot gnu dot org
2010-06-23 23:33 ` amylaar at gcc dot gnu dot 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).