public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: DJ Delorie <dj@redhat.com>
To: Richard Henderson <rth@redhat.com>
Cc: gcc-patches@gcc.gnu.org
Subject: Re: [PATCH 1/2] m32c: Don't use set_optab_handler
Date: Wed, 01 Aug 2012 22:01:00 -0000	[thread overview]
Message-ID: <201208012201.q71M1TSR003615@greed.delorie.com> (raw)
In-Reply-To: <1343853361-21574-1-git-send-email-rth@redhat.com> (message from	Richard Henderson on Wed, 1 Aug 2012 13:36:00 -0700)


I tried to test this, but newlib won't build (looks unrelated).  The
failure is this assert in expmed.h:


  gcc_assert (to_mode >= MIN_MODE_INT
	      && to_mode <= MAX_MODE_INT
	      && from_mode >= MIN_MODE_INT
	      && from_mode <= MAX_MODE_INT);

which can't possibly work on any platform with partial int modes
(PSImode) because the P*modes are enumerated *after* the regular
integer modes, so PSImode's enum value is higher than TImode
(MAX_MODE_INT for m32c).  Should there be a range check for
MIN,MAX_MODE_PARTIAL_INT as well?

enum machine_mode
{
  VOIDmode,                /* machmode.def:173 */
  BLKmode,                 /* machmode.def:177 */
  CCmode,                  /* machmode.def:205 */
  BImode,                  /* machmode.def:180 */
  QImode,                  /* machmode.def:185 */
  HImode,                  /* machmode.def:186 */
  SImode,                  /* machmode.def:187 */
  DImode,                  /* machmode.def:188 */
  TImode,                  /* machmode.def:189 */
  PSImode,                 /* config/m32c/m32c-modes.def:26 */


m32c-elf-gcc -B/greed/dj/m32c/newlib/m32c-elf/m32c-elf/m32cm/newlib/ -isystem /greed/dj/m32c/newlib/m32c-elf/m32c-elf/m32cm/newlib/targ-include -isystem /greed/dj/m32c/newlib/src/newlib/libc/include -B/greed/dj/m32c/newlib/m32c-elf/m32c-elf/m32cm/libgloss/m32c -L/greed/dj/m32c/newlib/m32c-elf/m32c-elf/m32cm/libgloss/libnosys -L/greed/dj/m32c/newlib/src/libgloss/m32c  -mcpu=m32cm -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"1.20.0\" -DPACKAGE_STRING=\"newlib\ 1.20.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I. -I../../../../../../src/newlib/libc/stdio -O1 -DPREFER_SIZE_OVER_SPEED -DSMALL_MEMORY -DMISSING_SYSCALL_NAMES -DABORT_PROVIDED -fno-builtin      -g -O2 -fshort-enums -DSTRING_ONLY -c ../../../../../../src/newlib/libc/stdio/vfprintf.c -o lib_a-svfprintf.o
In file included from ../../../../../../src/newlib/libc/stdio/vfprintf.c:151:0:
../../../../../../src/newlib/libc/stdio/vfprintf.c: In function '_svfprintf_r':
../../../../../../src/newlib/libc/stdio/vfprintf.c:137:24: internal compiler error: in convert_cost_ptr, at expmed.h:639
 #   define _VFPRINTF_R _svfprintf_r
                        ^
../../../../../../src/newlib/libc/stdio/vfprintf.c:541:8: note: in expansion of macro '_VFPRINTF_R'
 _DEFUN(_VFPRINTF_R, (data, fp, fmt0, ap),
        ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make: *** [lib_a-svfprintf.o] Error 1


dj@greed pts/3 ~/m32c/gcc/m32c-elf/gcc
$ gdb cc1
GNU gdb (GDB) Red Hat Enterprise Linux (7.1-29.el6_0.1)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /greed/dj/m32c/gcc/m32c-elf/gcc/cc1...done.
Breakpoint 1 at 0xb25eb0: file ../../gcc/gcc/diagnostic.c, line 1010.
Breakpoint 2 at 0xb25de0: file ../../gcc/gcc/diagnostic.c, line 951.
Breakpoint 3 at 0x45f728
Breakpoint 4 at 0x45f5e8

[ gdb ] r -fpreprocessed vfprintf.i -quiet -dumpbase vfprintf.c -mcpu=m32cm -auxbase-strip lib_a-svfprintf.o -g -O1 -O2 -version -fno-builtin -fshort-enums -o vfprintf.s
GNU C (GCC) version 4.8.0 20120731 (experimental) [trunk revision 190021] (m32c-elf)
        compiled by GNU C version 4.4.6 20110731 (Red Hat 4.4.6-3), GMP version 4.3.1, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU C (GCC) version 4.8.0 20120731 (experimental) [trunk revision 190021] (m32c-elf)
        compiled by GNU C version 4.4.6 20110731 (Red Hat 4.4.6-3), GMP version 4.3.1, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 827bbd6609eec0d0ea9ef658ea29c21b

Breakpoint 1, fancy_abort (file=0xc3f911 "../../gcc/gcc/expmed.h", line=639, function=0xc40340 "convert_cost_ptr")
    at ../../gcc/gcc/diagnostic.c:1010
1010    {
Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.47.el6_2.5.x86_64

[ gdb ] up
#1  0x0000000000aa9ffd in convert_cost_ptr (to_mode=SImode, from_mode=PSImode, speed=1 '\001')
    at ../../gcc/gcc/expmed.h:636
636       gcc_assert (to_mode >= MIN_MODE_INT

[ gdb ] where
#0  fancy_abort (file=0xc3f911 "../../gcc/gcc/expmed.h", line=639, function=0xc40340 "convert_cost_ptr")
    at ../../gcc/gcc/diagnostic.c:1010
#1  0x0000000000aa9ffd in convert_cost_ptr (to_mode=SImode, from_mode=PSImode, speed=1 '\001')
    at ../../gcc/gcc/expmed.h:636
#2  0x0000000000aaa08a in convert_cost (to_mode=SImode, from_mode=PSImode, speed=1 '\001')
    at ../../gcc/gcc/expmed.h:663
#3  0x0000000000aaae59 in stmt_cost (gs=0x7ffff77fbae0, speed=1 '\001')
    at ../../gcc/gcc/gimple-ssa-strength-reduction.c:359
#4  0x0000000000aabb6b in create_add_ssa_cand (gs=0x7ffff77da4e0, base_in=0x7ffff7b66280, 
    addend_in=0x7ffff77dfaf0, subtract_p=1 '\001', speed=1 '\001')
    at ../../gcc/gcc/gimple-ssa-strength-reduction.c:639
#5  0x0000000000aac6ce in slsr_process_add (gs=0x7ffff77da4e0, rhs1=0x7ffff7b66280, rhs2=0x7ffff77dfaf0, 
    speed=1 '\001') at ../../gcc/gcc/gimple-ssa-strength-reduction.c:801
#6  0x0000000000aad724 in find_candidates_in_block (walk_data=0x7fffffffe550, bb=0x7ffff7ba0930)
    at ../../gcc/gcc/gimple-ssa-strength-reduction.c:1096
#7  0x0000000000aa1506 in walk_dominator_tree (walk_data=0x7fffffffe550, bb=0x7ffff7ba0930)
    at ../../gcc/gcc/domwalk.c:188
#8  0x0000000000aae642 in execute_strength_reduction () at ../../gcc/gcc/gimple-ssa-strength-reduction.c:1468
#9  0x00000000007a8739 in execute_one_pass (pass=0xf38460) at ../../gcc/gcc/passes.c:2158
#10 0x00000000007a8ab5 in execute_pass_list (pass=0xf38460) at ../../gcc/gcc/passes.c:2213
#11 0x00000000007a8ac7 in execute_pass_list (pass=0xf33d60) at ../../gcc/gcc/passes.c:2214
#12 0x000000000058d806 in expand_function (node=0x7ffff79f2000) at ../../gcc/gcc/cgraphunit.c:1614
#13 0x000000000058e529 in expand_all_functions () at ../../gcc/gcc/cgraphunit.c:1719
#14 compile () at ../../gcc/gcc/cgraphunit.c:2017
#15 0x000000000058f8aa in finalize_compilation_unit () at ../../gcc/gcc/cgraphunit.c:2094
#16 0x0000000000472828 in c_write_global_declarations () at ../../gcc/gcc/c/c-decl.c:10116
#17 0x0000000000820b4d in compile_file () at ../../gcc/gcc/toplev.c:560
#18 0x000000000082202e in do_compile (argc=17, argv=0x7fffffffe808) at ../../gcc/gcc/toplev.c:1863
#19 toplev_main (argc=17, argv=0x7fffffffe808) at ../../gcc/gcc/toplev.c:1939
#20 0x0000003698c1ecdd in __libc_start_main () from /lib64/libc.so.6
#21 0x0000000000460289 in _start ()

[ gdb ] 

      reply	other threads:[~2012-08-01 22:01 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-01 20:36 Richard Henderson
2012-08-01 22:01 ` DJ Delorie [this message]

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=201208012201.q71M1TSR003615@greed.delorie.com \
    --to=dj@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=rth@redhat.com \
    /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).