[Bug c/28668] New: internal compiler error: in find_reloads, at reload.c:3690

bonomo at sal dot wisc dot edu gcc-bugzilla@gcc.gnu.org
Wed Aug 9 19:05:00 GMT 2006


Tied to version 3.4.5, unable to try with current build.

Here is the output, followed by part of the preprocessed source:

Output:

[bonomo@kaye flt]$ /usr/users/bonomo/gnu/cross/m6809/bin/gcc -v -save-temps
-Wall -B/usr/users/bonomo/gnu/cros
s/m6809/bin/ -S -c test.c^M
Reading specs from /usr/users/bonomo/gnu/cross/lib/gcc/m6809/3.4.5/specs
Configured with: ../../src/gcc-3.4.5/configure --target=m6809
--program-suffix=09 --nfp --enable-obsolete --sr
cdir=../../src/gcc-3.4.5 --disable-threads --disable-multilib --disable-nls
--enable-languages=c
Thread model: single
gcc version 3.4.5
 /usr/users/bonomo/gnu/cross/libexec/gcc/m6809/3.4.5/cc1 -E -quiet -v -iprefix
/usr/users/bonomo/gnu/cross/m68
09/bin/../lib/gcc/m6809/3.4.5/ -isystem
/usr/users/bonomo/gnu/cross/m6809/bin/include test.c -Wall -o test.i
ignoring nonexistent directory "/usr/users/bonomo/gnu/cross/m6809/bin/include"
ignoring nonexistent directory
"/usr/users/bonomo/gnu/cross/m6809/bin/../lib/gcc/m6809/3.4.5/include"
ignoring nonexistent directory
"/usr/users/bonomo/gnu/cross/m6809/bin/../lib/gcc/m6809/3.4.5/../../../../m6809
/sys-include"
ignoring nonexistent directory
"/usr/users/bonomo/gnu/cross/m6809/bin/../lib/gcc/m6809/3.4.5/../../../../m6809
/include"
ignoring nonexistent directory
"/usr/users/bonomo/gnu/cross/lib/gcc/m6809/3.4.5/../../../../m6809/sys-include"
ignoring nonexistent directory
"/usr/users/bonomo/gnu/cross/lib/gcc/m6809/3.4.5/../../../../m6809/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/users/bonomo/gnu/cross/lib/gcc/m6809/3.4.5/include
End of search list.
 /usr/users/bonomo/gnu/cross/libexec/gcc/m6809/3.4.5/cc1 -fpreprocessed test.i
-quiet -dumpbase test.c -auxbas
e test -Wall -version -o test.s
GNU C version 3.4.5 (m6809)
        compiled by GNU C version 4.0.1 20050727 (Red Hat 4.0.1-5).
GGC heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=64349
In file included from global.h:19,
                 from test.c:29:
clib.h:23: warning: conflicting types for built-in function 'bcopy'
clib.h:24: warning: conflicting types for built-in function 'bzero'
clib.h:26: warning: conflicting types for built-in function 'fputs'
clib.h:35: warning: conflicting types for built-in function 'strlen'
In file included from global.h:20,
                 from test.c:29:
wisplib.h:28: warning: conflicting types for built-in function 'exit'
test.c:82: warning: return type defaults to `int'
test.c: In function `main':
test.c:88: warning: overflow in implicit constant conversion
test.c:92: warning: control reaches end of non-void function
test.c: At top level:
test.c:98: warning: return type defaults to `int'
test.c: In function `do_wisp':
test.c:113: warning: implicit declaration of function `init_wp'
test.c:114: warning: implicit declaration of function `init_fil'
test.c:115: warning: implicit declaration of function `cam_init'
test.c:124: warning: implicit declaration of function `do_cmd'
test.c: At top level:
test.c:138: warning: return type defaults to `int'
test.c: In function `do_cmd':
test.c:147: warning: overflow in implicit constant conversion
test.c:151: warning: implicit declaration of function `do_pmt'
test.c:154: warning: implicit declaration of function `do_cam'
test.c:157: warning: implicit declaration of function `do_discrete'
test.c:160: warning: implicit declaration of function `do_filter'
test.c:163: warning: implicit declaration of function `do_focus'
test.c:166: warning: implicit declaration of function `do_pfa'
test.c:172: warning: implicit declaration of function `do_shutter'
test.c:175: warning: implicit declaration of function `do_wvplt'
test.c: At top level:
test.c:193: warning: return type defaults to `int'
test.c: In function `do_cam':
test.c:201: warning: implicit declaration of function `printf'
test.c:211: warning: implicit declaration of function `cam_parrd'
test.c:214: warning: control reaches end of non-void function
test.c: At top level:
test.c:220: warning: return type defaults to `int'
test.c: In function `do_filter':
test.c:224: warning: implicit declaration of function `mv_filter'
test.c:231: warning: control reaches end of non-void function
test.c: At top level:
test.c:237: warning: return type defaults to `int'
test.c: In function `do_focus':
test.c:242: warning: comparison is always true due to limited range of data
type
test.c:242: warning: comparison is always true due to limited range of data
type
test.c:243: warning: implicit declaration of function `mv_focus'
test.c:248: warning: control reaches end of non-void function
test.c: At top level:
test.c:254: warning: return type defaults to `int'
test.c: In function `do_shutter':
test.c:258: warning: implicit declaration of function `mv_shutter'
test.c:265: warning: control reaches end of non-void function
test.c: At top level:
test.c:271: warning: return type defaults to `int'
test.c: In function `do_wvplt':
test.c:276: warning: implicit declaration of function `rotate'
test.c:287: warning: control reaches end of non-void function
test.c: At top level:
test.c:293: warning: return type defaults to `int'
test.c: In function `do_pmt':
test.c:258: warning: implicit declaration of function `mv_shutter'
test.c:265: warning: control reaches end of non-void function
test.c: At top level:
test.c:271: warning: return type defaults to `int'
test.c: In function `do_wvplt':
test.c:276: warning: implicit declaration of function `rotate'
test.c:287: warning: control reaches end of non-void function
test.c: At top level:
test.c:293: warning: return type defaults to `int'
test.c: In function `do_pmt':
test.c:298: warning: control reaches end of non-void function
test.c: At top level:
test.c:304: warning: return type defaults to `int'
test.c: In function `do_discrete':
test.c:322: warning: control reaches end of non-void function
test.c: At top level:
test.c:426: warning: return type defaults to `int'
test.c: In function `do_pfa':
test.c:442: warning: implicit declaration of function `display'
test.c:489: warning: implicit declaration of function `mv_to_raw'
test.c:507: warning: control reaches end of non-void function
test.c: At top level:
test.c:523: warning: return type defaults to `int'
test.c: In function `loop_dpy':
test.c:533: warning: unused variable `vstate'
test.c:568: warning: control reaches end of non-void function
test.c: At top level:
test.c:574: warning: return type defaults to `int'
test.c: In function `display':
test.c:646: warning: control reaches end of non-void function
test.c:646: error: unable to generate reloads for:
(insn 88 87 90 3 (set (mem/f:QI (plus:HI (reg/f:HI 3 u)
                (const_int -4 [0xfffffffc])) [0 psi+0 S1 A8])
        (plus:QI (subreg:QI (reg:HI 40) 1)
            (subreg:QI (reg:HI 0 d [42]) 1))) 13 {addqi3} (nil)
    (expr_list:REG_DEAD (reg:HI 40)
        (expr_list:REG_DEAD (reg:HI 0 d [42])
            (nil))))
test.c:646: internal compiler error: in find_reloads, at reload.c:3690
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

Parital preprocessed source:

# 1 "test.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "test.c"
# 29 "test.c"
# 1 "global.h" 1
# 19 "global.h"
# 1 "clib.h" 1
# 21 "clib.h"
extern int atoh (char *p);
extern int atoi (char *p);
extern void bcopy (char *b1, char *b2, int length);
extern void bzero (char *b1, int length);
extern int getc (int i);
extern int fputs (char *p, int f);
extern int getchar ();
extern char *gets (char *buffer);
extern int putc (char *c, int i);
extern int putchar (char c);
extern int puts (char *p);
extern int sleep (int n);
extern int strcmp (char *s, char *t);
extern char *strcpy (char *s1, char *s2);
extern int strlen (char *s);
# 20 "global.h" 2
# 1 "wisplib.h" 1
# 18 "wisplib.h"
# 1 "../sys/kernel.h" 1
# 24 "../sys/kernel.h"
typedef char Bool;
typedef struct qent *qid;
typedef struct pentry *pid;
typedef struct sentry *sid;
# 107 "../sys/kernel.h"
extern qid rdyhead;
extern char preempt;
# 19 "wisplib.h" 2
# 1 "../sys/proc.h" 1
# 46 "../sys/proc.h"
struct pentry {
    char pstate;
    char pprio;
    short pregs[1];
    pid plink;
    sid psem;
    int pcnt;
    char *p_wchan;
    int *pbase;
    short pstklen;
    int (*paddr)();
};

extern struct pentry proctab[];
extern int numproc;
extern int nextproc;
extern pid current;
extern qid rdyhead;
extern pid act_list;
extern pid create();




struct rt_proc {
    int rt_cnt;
    int (*rt_func)();
};
# 20 "wisplib.h" 2




extern int atoh (char *s);
extern int chprio (pid process, int newprio);
extern int close (int dev);
extern pid create (int (*func)(), int stksiz, int prio);
extern int exit ();
extern struct sys_flags *flag_ptr ();
extern int flagptr ();
extern int getprio (pid process);
extern int ioctl (int dev, int func, char *addr);
extern int kill (pid process);
extern int mssleep (int i);
extern int open (int dev, char *buf, char *mode);
extern int read (int dev, char *buf, int count);
extern int resume (pid process);
extern int rtp ();
extern int sdelete (sid sem);
extern int signal (sid sem);
extern int suspend (pid process);
extern unsigned short *time ();
extern int wait (sid sem);
extern int write (int dev, char *buf, int count);
# 21 "global.h" 2
# 77 "global.h"
typedef unsigned char u_char;
typedef unsigned short u_short;


extern struct edmf mf;
# 102 "global.h"
# 1 "ed_format.h" 1
# 50 "ed_format.h"
struct hr {
    u_char in_port_a;
    u_char in_port_b;
    u_char out_port;
    u_char error;
    u_short pmt_a;
    u_short pmt_b;
    u_short shutter;
    u_char hr_audio;
    u_char n_takes;
    u_char n_errors;
    u_char next_cmd;
    u_short execute_time;
    u_short replanned_time;
    u_short strain_a;
    u_char mech_current;
    u_char total_current;
    u_char fil_sh_stat;
    u_char wp_foc_stat;
};






struct edmf {
    u_char sync [3];
    u_char format;
    u_short time;
    u_char serial;
    u_char resv1;
    struct hr hr;
    u_char subcom_data [(32)];
};
# 106 "ed_format.h"
extern struct tm_d tm_d;
extern struct tm_e tm_e;
extern struct tm_f tm_f;


extern u_char adata[16], bdata[16], ddata[32];
extern short cdata[16];
extern u_short camparm[32];
# 179 "ed_format.h"
struct tm_d {
    u_short systime;
    int fil_step_cnt;
    int wp_step_cnt;
    u_short foc_offset;
    u_short xc_mean;
    u_short xc_max;
    u_short xc_fsum[2];
    int pfa_offset;
    int pfa_pressure;
    int xc_maxy;
    int xc_maxx;
    int xc_off1;
    int xc_off2;
    int xc_diff;
    u_char reserv1[2];
};




struct tm_e {
    u_char n_pics;
    u_char cam_wait;
    u_char fil_ctrl;
    u_char fil_stat;
    u_char fil_state;
    u_char wp_ctrl;
    u_char wp_stat;
    u_char wp_state;
    u_char mech_state;
    u_char mech_flags;
    u_char port_state;
    u_char pfa_gauge;
    u_char tl_sour;
    u_char dig_out;
    u_char tl_type;
    u_char next_cmd;
    u_char primary_gauge;
    u_char secondary_gauge;
    u_char fil_wait;
    u_char wp_wait;
    u_char tl_flags;
    u_char n_takes;
    u_char synch_clks;
    u_char hwclk_crashed;
    u_char sw_id[4];
    u_char exp_t_rem[4];
};
# 240 "ed_format.h"
struct tm_f {
    u_short execute_time;
    u_short replanned_time;
    u_short exposure_MSH;
    u_short exposure_LSH;
    u_short stdpress[8];
    u_short lead_time;
    u_short extension;
    char *tl_ptr;
    u_short clk_diff;
};





extern u_short *tptr;
extern u_short sw_clk;





extern volatile union hw_clk hw_clk;
union hw_clk {
    u_short word;
    u_char byte[2];
};
# 103 "global.h" 2
# 1 "errors.h" 1
# 104 "global.h" 2
# 30 "test.c" 2


# 1 "ioports.h" 1
# 118 "ioports.h"
struct dio_reg {
    u_char inport_A;
    u_char inport_B;
    u_char outport;
    u_char latch;
    u_short cnt_a;
    u_short cnt_b;
};
# 33 "test.c" 2







static int get_text ();
static void do_msg ();
static void stop_rtp();
<snip>

static int run_flag;
extern u_char dig_out;
static char valstr[40];




main (argc, argv)
int argc;
char *argv[];
{
    int do_wisp();

    run_flag = 1;
    resume (create (do_wisp, (1024), (20)));
    while (run_flag) {
 mssleep (40);
    }
}

<snip>


display ()
{
    extern u_char dig_out;

    static void prt_dig();
    static void cvt8bit();
    static void cvt12bit();

    int volts;
    int mv;
    int cv;
    int psi;
    int ddata[2];
    char *vstate;
    char gauge_label[4] = "ACDB";

    cvt12bit (req_offset, &volts, &mv);
    printf ("Gauge %c  Offset=%d.%03dV  ",
 gauge_label[tm_e.pfa_gauge],
 volts, mv);
    cvt12bit (req_press, &volts, &mv);
    printf ("Requested pressure %d.%03dV  ", volts, mv);
    puts ( (dig_out & 0x02) ? "ENABLED" : "DISABLED" );

    cvt8bit ((int)bdata[(13)], &volts, &cv);

    printf ("%d.%02d V   ", volts, cv);
    psi = 500 * (volts - 1) + (5 * cv);
    printf ("Tank   pressure %4d psi.\n", psi);

    cvt8bit ((int)adata[(13)], &volts, &cv);

    printf ("%d.%02d V   ", volts, cv);
    psi = 250 * (volts - 1) + (2 * cv) + (cv/2);
    printf ("Inlet  pressure %4d psi.\n", psi);

    cvt8bit ((int)adata[(14)], &volts, &cv);

    printf ("%d.%02d V   ", volts, cv);
    psi = 250 * (volts - 1) + (2 * cv) + (cv/2);
    printf ("Outlet pressure %4d psi.\n", psi);

    puts ("\nStrains:");
    cvt12bit (cdata[(3)], &volts, &mv);

    printf ("A %d.%03dV   ", volts, mv);
    cvt12bit (cdata[(4)], &volts, &mv);

    printf ("B %d.%03dV   ", volts, mv);
    cvt12bit (cdata[(5)], &volts, &mv);

    printf ("C %d.%03dV   ", volts, mv);
    cvt12bit (cdata[(6)], &volts, &mv);

    printf ("D %d.%03dV   ", volts, mv);

    puts (" ");
    cvt12bit (cdata[(7)], &volts, &mv);

    printf ("Monitor %d.%03d V\n", volts, mv);

    ddata[0] = (*((u_char *) (0x0f00)));
    ddata[1] = (*((u_char *) (0x0f01)));
    printf ("\nDiscretes: %02x %02x = ", ddata[0], ddata[1]);
    prt_dig (ddata[0]);
    prt_dig (ddata[1]);
    puts (" ");

    vstate = ((ddata[0]) & 0x01) ? "closed" : "open";
    printf ("Inlet   valve: %s\n", vstate);
    vstate = ((ddata[0]) & 0x02) ? "closed" : "open";
    printf ("Exhaust valve: %s\n", vstate);
    puts ("---------------");
<snip and end>

If you need the complete preprocessed source, please have the assignee
contact me to arrange for me to e-mail it directly.  I am not sure if the
author of this
software would want me posting this in a public or semi-public place.

Thank you.


-- 
           Summary: internal compiler error: in find_reloads, at
                    reload.c:3690
           Product: gcc
           Version: 3.4.5
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bonomo at sal dot wisc dot edu
 GCC build triplet: <not sure what is meant>
  GCC host triplet: Linux Fedora Core 4  2.6.13-1.1532_FC4 #1 Thu Oct 20
                    01:30:08 ED
GCC target triplet: Motorola 6809


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



More information about the Gcc-bugs mailing list