public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/44749] mep-elf fails to build
       [not found] <bug-44749-4@http.gcc.gnu.org/bugzilla/>
@ 2010-11-03 12:15 ` amylaar at gcc dot gnu.org
  2010-11-11 19:12 ` amylaar at gcc dot gnu.org
  2010-11-11 19:42 ` amylaar at gcc dot gnu.org
  2 siblings, 0 replies; 7+ messages in thread
From: amylaar at gcc dot gnu.org @ 2010-11-03 12:15 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Jorn Wolfgang Rennecke <amylaar at gcc dot gnu.org> 2010-11-03 12:15:16 UTC ---
mep-elf still doesn't build when configured with --enable-werror-always.

gcc -c   -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wwrite-strings
-Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute
-pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-Wold-style-definition -Wc++-compat -fno-common  -DHAVE_CONFIG_H -I. -I.
-I../../gcc/gcc -I../../gcc/gcc/. -I../../gcc/gcc/../include
-I../../gcc/gcc/../libcpp/include  -I../../gcc/gcc/../libdecnumber
-I../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber  -DCLOOG_PPL_BACKEND  
../../gcc/gcc/combine.c -o combine.o
../../gcc/gcc/combine.c: In function ‘subst’:
../../gcc/gcc/combine.c:5056:12: error: enum conversion when passing argument 3
of ‘mep_cannot_change_mode_class’ is invalid in C++ [-Werror=c++-compat]
../../gcc/gcc/config/mep/mep-protos.h:104:13: note: expected ‘enum reg_class’
but argument is of type ‘int’
../../gcc/gcc/combine.c: In function ‘simplify_set’:
../../gcc/gcc/combine.c:6372:9: error: enum conversion when passing argument 3
of ‘mep_cannot_change_mode_class’ is invalid in C++ [-Werror=c++-compat]
../../gcc/gcc/config/mep/mep-protos.h:104:13: note: expected ‘enum reg_class’
but argument is of type ‘int’

combine uses REG_CANNOT_CHANGE_MODE_P, which is defined in hard-reg-set.h:

#define REG_CANNOT_CHANGE_MODE_P(REGN, FROM, TO)                          \
         CANNOT_CHANGE_MODE_CLASS (FROM, TO, REGNO_REG_CLASS (REGN))

these macros are defined in mep.h like this:
#define REGNO_REG_CLASS(REGNO) mep_regno_reg_class (REGNO)

#define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \
  mep_cannot_change_mode_class (FROM, TO, CLASS)

Unfortunately, argument three of mep_cannot_change_mode_class doesn't
accept (in C++) the result of mep_regno_reg_class:

extern bool mep_cannot_change_mode_class (enum machine_mode, enum machine_mode,
                                          enum reg_class);

extern int mep_regno_reg_class (int);

it would be better if the two functions could agree on using reg_class_t .

Of course, when fixing this, we later run into PR44765.


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

* [Bug target/44749] mep-elf fails to build
       [not found] <bug-44749-4@http.gcc.gnu.org/bugzilla/>
  2010-11-03 12:15 ` [Bug target/44749] mep-elf fails to build amylaar at gcc dot gnu.org
@ 2010-11-11 19:12 ` amylaar at gcc dot gnu.org
  2010-11-11 19:42 ` amylaar at gcc dot gnu.org
  2 siblings, 0 replies; 7+ messages in thread
From: amylaar at gcc dot gnu.org @ 2010-11-11 19:12 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Jorn Wolfgang Rennecke <amylaar at gcc dot gnu.org> 2010-11-11 19:11:51 UTC ---
Author: amylaar
Date: Thu Nov 11 19:11:44 2010
New Revision: 166614

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166614
Log:
        PR target/44749
        * config/mep/mep-protos.h (mep_legitimize_reload_address): Always
        declare.  Change type of argument four to type int.
        (mep_secondary_input_reload_class): Returns enum reg_class.
        (mep_secondary_output_reload_class): Likewise.
        (mep_function_value): Change types of arguments to cont_tree.
        * config/mep/mep.c (mep_legitimize_reload_address): Change type of
        argument four to type int.
        (mep_secondary_input_reload_class): Returns enum reg_class.
        (mep_secondary_output_reload_class): Likewise.
        (mep_function_value): Change types of arguments to cont_tree.
        * config/mep/mep.h (REGNO_REG_CLASS): Cast return value of
        mep_regno_reg_class to enum reg_class.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/mep/mep-protos.h
    trunk/gcc/config/mep/mep.c
    trunk/gcc/config/mep/mep.h


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

* [Bug target/44749] mep-elf fails to build
       [not found] <bug-44749-4@http.gcc.gnu.org/bugzilla/>
  2010-11-03 12:15 ` [Bug target/44749] mep-elf fails to build amylaar at gcc dot gnu.org
  2010-11-11 19:12 ` amylaar at gcc dot gnu.org
@ 2010-11-11 19:42 ` amylaar at gcc dot gnu.org
  2 siblings, 0 replies; 7+ messages in thread
From: amylaar at gcc dot gnu.org @ 2010-11-11 19:42 UTC (permalink / raw)
  To: gcc-bugs

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

Jorn Wolfgang Rennecke <amylaar at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #6 from Jorn Wolfgang Rennecke <amylaar at gcc dot gnu.org> 2010-11-11 19:41:42 UTC ---
Patch has been applied to trunk.


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

* [Bug target/44749] mep-elf fails to build
  2010-07-01 15:17 [Bug target/44749] New: " amylaar at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2010-09-13 22:28 ` jsm28 at gcc dot gnu dot org
@ 2010-09-14  7:27 ` dj at gcc dot gnu dot org
  3 siblings, 0 replies; 7+ messages in thread
From: dj at gcc dot gnu dot org @ 2010-09-14  7:27 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from dj at gcc dot gnu dot org  2010-09-14 07:27 -------
Subject: Bug 44749

Author: dj
Date: Tue Sep 14 07:26:54 2010
New Revision: 164268

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=164268
Log:
PR target/44749
* config/mep/mep-protos.h (mep_save_register_info,
mep_reinit_regs, mep_init_regs): Declare.

* config/mep/mep.c: Move all target definitions to the end of the
file to avoid the need for duplicate declarations.
(mep_save_register_info, mep_reinit_regs, mep_init_regs): New.
(mep_reorg_erepeat): Remove unused variables.
(mep_expand_builtin): Likewise.

* config/mep/mep-pragma.c: Don't include rtl.h.
(INVALID_REGNUM): New.
(mep_pragma_coprocessor_which): Call mep-specific rtl-layer bridge
functions.
(mep_pragma_coprocessor_subclass): Rename "class" to "rclass".
Avoid enum/integer math.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/mep/mep-pragma.c
    trunk/gcc/config/mep/mep-protos.h
    trunk/gcc/config/mep/mep.c


-- 


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


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

* [Bug target/44749] mep-elf fails to build
  2010-07-01 15:17 [Bug target/44749] New: " amylaar at gcc dot gnu dot org
  2010-07-05 19:54 ` [Bug target/44749] " amylaar at gcc dot gnu dot org
  2010-09-13 22:25 ` jsm28 at gcc dot gnu dot org
@ 2010-09-13 22:28 ` jsm28 at gcc dot gnu dot org
  2010-09-14  7:27 ` dj at gcc dot gnu dot org
  3 siblings, 0 replies; 7+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2010-09-13 22:28 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from jsm28 at gcc dot gnu dot org  2010-09-13 22:27 -------
Note that while my commit fixes two causes of build failure for this target,
a third cause of failure is still present.  As I noted in my patch submission
http://gcc.gnu.org/ml/gcc-patches/2010-09/msg00664.html

* mep-pragma.c gets a series of errors starting with

  rtl.h:22:9: error: attempt to use poisoned "GCC_RTL_H"

  because it is being treated as a front-end file but uses rtl.h and
  uses various RTL-related functionality.  I don't know the right fix
  for this issue - for my testing I worked around it with "#undef
  IN_GCC_FRONTEND" but the right fix is more likely to be moving the
  RTL functionality into mep.c while keeping the code using front-end
  pragma interfaces in mep-pragma.c.  Thus, this patch does not fix
  this issue.


-- 


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


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

* [Bug target/44749] mep-elf fails to build
  2010-07-01 15:17 [Bug target/44749] New: " amylaar at gcc dot gnu dot org
  2010-07-05 19:54 ` [Bug target/44749] " amylaar at gcc dot gnu dot org
@ 2010-09-13 22:25 ` jsm28 at gcc dot gnu dot org
  2010-09-13 22:28 ` jsm28 at gcc dot gnu dot org
  2010-09-14  7:27 ` dj at gcc dot gnu dot org
  3 siblings, 0 replies; 7+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2010-09-13 22:25 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from jsm28 at gcc dot gnu dot org  2010-09-13 22:25 -------
Subject: Bug 44749

Author: jsm28
Date: Mon Sep 13 22:25:09 2010
New Revision: 164260

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=164260
Log:
        PR target/44749
        * config/mep/t-mep (GTM_H): Add insn-constants.h.
        * config/mep/mep.c (mep_conditional_register_usage): Take no
        parameters.
        * config/mep/mep-protos.h (mep_conditional_register_usage): Update
        prototype.
        * config/mep/mep-pragma.c (CONDITIONAL_REGISTER_USAGE): Update
        call to mep_conditional_register_usage.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/mep/mep-protos.h
    trunk/gcc/config/mep/mep.c
    trunk/gcc/config/mep/mep.h
    trunk/gcc/config/mep/t-mep


-- 


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


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

* [Bug target/44749] mep-elf fails to build
  2010-07-01 15:17 [Bug target/44749] New: " amylaar at gcc dot gnu dot org
@ 2010-07-05 19:54 ` amylaar at gcc dot gnu dot org
  2010-09-13 22:25 ` jsm28 at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: amylaar at gcc dot gnu dot org @ 2010-07-05 19:54 UTC (permalink / raw)
  To: gcc-bugs



-- 

amylaar at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2010-07-05 19:54:13
               date|                            |


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


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

end of thread, other threads:[~2010-11-11 19:42 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-44749-4@http.gcc.gnu.org/bugzilla/>
2010-11-03 12:15 ` [Bug target/44749] mep-elf fails to build amylaar at gcc dot gnu.org
2010-11-11 19:12 ` amylaar at gcc dot gnu.org
2010-11-11 19:42 ` amylaar at gcc dot gnu.org
2010-07-01 15:17 [Bug target/44749] New: " amylaar at gcc dot gnu dot org
2010-07-05 19:54 ` [Bug target/44749] " amylaar at gcc dot gnu dot org
2010-09-13 22:25 ` jsm28 at gcc dot gnu dot org
2010-09-13 22:28 ` jsm28 at gcc dot gnu dot org
2010-09-14  7:27 ` dj 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).