AVR C Runtime Library - Bugs: bug #60735, bad declaration example in...
You are not allowed to post comments on this tracker with your current authentication level.
bug #60735: bad declaration example in pgmspace.html
Submitter: | None | ||
Submitted: | Sat 05 Jun 2021 08:51:34 PM UTC | ||
Category: | Documentation | Severity: | 3 - Normal |
Priority: | 5 - Normal | Item Group: | Documentation |
Status: | None | Percent Complete: | 0% |
Assigned to: | None | Originator Email: | -email is unavailable- |
Open/Closed: | Open | Release: | 2.0.0 |
Fixed Release: | None |
No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
Carbon-Copy List
No changes have been made to this item
This page:
https://www.nongnu.org/avr-libc/user-manual/pgmspace.html
contains this:
#include <avr/pgmspace.h>
.
.
.
unsigned char mydata[11][10] PROGMEM =
{
{0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09},
{0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,0x10,0x11,0x12,0x13},
{0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D},
{0x1E,0x1F,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27},
{0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31},
{0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B},
{0x3C,0x3D,0x3E,0x3F,0x40,0x41,0x42,0x43,0x44,0x45},
{0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F},
{0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59},
{0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,0x62,0x63},
{0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D}
};
With warning options, on avr-gcc (version 7.3.0) this results in this compile error:
main_bootloader.c:28:15: error: variable 'mydata' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
Changing the first line to begin 'unsigned char const' makes the build work (as the error suggests it would). Since the definition is const it would probably be best to include the const keyword.