String array in ROM gives error in spite of following example code.

Royce Pereira <[email protected]>
Newsgroups gmane.comp.hardware.avr.gcc
Message-ID <CACzHknjUHOC7Z1SzZrZ_0cZi=UAU=6MBGkmD65Sv-ZUm+LzAew@mail.gmail.com>
Hi,

I recently updated WinAVR to a newer version of the AVR-GCC toolchain,
downloaded from the Atmel site.

My version is this:

avr-gcc (AVR_8_bit_GNU_Toolchain_3.4.3_1072) 4.8.1

My code was compiling without errors before, but with this version, it
is giving errors in spite of following the instructions in the faq
section of the avr-libc document.
//---------------------------------------------
#include <avr/io.h>
#include <avr/pgmspace.h>

const char ptmpUP_msg[]      PROGMEM = "Upper Temp" ;
const char ptmpDN_msg[]      PROGMEM = "Lower Temp" ;
const char ptmpCLG_msg[]     PROGMEM = "Chiller Temp" ;

PGM_P  pgtmp_msg[]    PROGMEM =
   { ptmpUP_msg, ptmpDN_msg,  ptmpCLG_msg,} ;

//------------------------------------------------------
The above code gives the following error:

error: variable 'pgtmp_msg' must be const in order to be put into
read-only section by means of  '__attribute__((progmem))'
//-----------------------------------------------------

But I have followed the avr-libc example exactly.
So why is this error thrown and whats the correct way to do this ?

Thank You.
-- 
Best Regards,

-- Royce Pereira
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.