I had a program working on 2.6.0 which fails on updating to 2.8.0.  (PIC14) 
There is not a specific error message, but the compiler aborts with:

sdcc: /home/sdcc-builder/build/sdcc-build/orig/sdcc/src/pic/glue.c:1956: 
emitInitVal: Assertion `!"Initialized char-arrays are not yet supported, 
assign at runtime instead."' failed.
Caught signal 6: SIGABRT

I assume this is due to an initialized array of strings, or initialized 
arays of bytes contained in the program:

// List of messages
const char menuText[13][9] = {
  "        ",
  "  Step",
  " Keyer",
  " Power",
  "  Back",
  "   1",
  "  10",
  "  100",
  " Speed",
  " Weight",
  "   Up",
  "  Down",
  "Procssng"
};

// Message to display for each state:
//  -- Index = state number
//  -- Contents = message number
const byte stateMsg[30] = {
  0,1,2,3,4,5,6,7,4,8,9,4,10,11,4,10,11,4,10,11,4,12,12,12,12,12,12,12,12,12
};

etc.  etc .. more of the same

These worked in 2.6.0, so the "not yet supported" comment doesn't seem 
particularly accurate.  Since this is the PIC14 target, the "assign at 
runtime" isn't especially helpful, since that would require putting a lot of 
data into RAM, and there just ain't much RAM on any PIC14.

I couldn't find any indication in the docs as to why this would suddenly 
fail.  Why remove woring functionality, especially functionality so critical 
(at least in the 8 bit PICs).

Should I back off to 2.7, or do I need to go all the way back to 2.6?

--McD


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Sdcc-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to