Does anyone know if this has been fixed yet?

-------- Original Message --------
From: <>
Subject: [ sdcc-Bugs-2982753 ] sdcc-20100226 exits with "convilong: Assertion `0' failed."
Date: Wed, 12 May 2010 00:01:01 +0000

Bugs item #2982753, was opened at 2010-04-06 10:20
Message generated for change (Comment added) made by anthony-a
You can respond by visiting:

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Anthony Asterisk (anthony-a)
Assigned to: Nobody/Anonymous (nobody)
Summary: sdcc-20100226 exits with "convilong: Assertion `0' failed."

Initial Comment:
This doesn't happen with an older version of the compiler.

user@instant-contiki:~/sdcc_bug2$ ../sdcc-20100226/bin/sdcc  main.c 
sdcc: SDCCopt.c:707: convilong: Assertion `0' failed.
Caught signal 6: SIGABRT
user@instant-contiki:~/sdcc_bug2$ ../sdcc-20100226/bin/sdcc -v
SDCC : mcs51 2.9.7 #5718 (Feb 26 2010) (UNIX)
user@instant-contiki:~/sdcc_bug2$ more main.c
typedef unsigned short rtimer_clock_t;
struct timetable_timestamp {
  const char *id;
  rtimer_clock_t time;
  uint8_t type;
struct timetable {
  struct timetable_timestamp *timestamps;
  const int size;
  unsigned int * const ptr;
timetable_timediff(struct timetable *t,
                   const char *id1, const char *id2)
  int i;
  int t1, t2;
  t1 = t2 = t->size;

  for(i = *t->ptr - 1; i >= 0; --i) {
    if(t->timestamps[i].id == id1) {
      t1 = i;
      return t->timestamps[i].time;
  return 0;
void main (void)
  struct timetable_timestamp ts[3];
  struct timetable tt;
  tt.timestamps = ts;
  timetable_timediff(&tt,ts[0].id, ts[1].id);


>Comment By: Anthony Asterisk (anthony-a)
Date: 2010-05-11 17:01

Any help with this issue?  Has it been fied?  I provided a testcase.


You can respond by visiting: