From ab3443d8c6013ece89bcb77ee15517cd2a282c39 Mon Sep 17 00:00:00 2001 From: MaartenBrock Date: Sun, 15 Oct 2006 18:03:24 +0000 Subject: [PATCH] * src/SDCCsymt.c (checkSClass): no error for uninitialised absolute variables in code memory * support/regression/tests/absolute.c: added test for this git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4410 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- ChangeLog | 6 ++++++ src/SDCCsymt.c | 1 + support/regression/tests/absolute.c | 2 ++ 3 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index d19b2c06..cd969b3b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-10-15 Maarten Brock + + * src/SDCCsymt.c (checkSClass): no error for uninitialised absolute + variables in code memory + * support/regression/tests/absolute.c: added test for this + 2006-10-15 Raphael Neider * src/pic/pcode.c (InsertBankSel): suppress BANKSELs for one bank diff --git a/src/SDCCsymt.c b/src/SDCCsymt.c index e86314e2..eba05f5a 100644 --- a/src/SDCCsymt.c +++ b/src/SDCCsymt.c @@ -1587,6 +1587,7 @@ checkSClass (symbol * sym, int isProto) //!sym->level && port->mem.code_ro && !IS_EXTERN (sym->etype) && + !SPEC_ABSA (sym->etype) && !funcInChain (sym->type)) werror (E_CODE_NO_INIT, sym->name); } diff --git a/support/regression/tests/absolute.c b/support/regression/tests/absolute.c index 52cc86ab..40f35d2c 100644 --- a/support/regression/tests/absolute.c +++ b/support/regression/tests/absolute.c @@ -4,6 +4,7 @@ */ #include +{mem} at(0xCAB7) char u; {mem} at(0xCAB7) char x = 'x'; {mem} at(0xCAB9) char y = 'y'; {mem} at(0xCAB0) int k = 0x1234; @@ -17,6 +18,7 @@ testAbsolute(void) char {mem} *pC = (char {mem} *)(0xCAB0); int {mem} *pI = (char {mem} *)(0xCAB0); + ASSERT(u == 'x'); ASSERT(pC[7] == 'x'); ASSERT(pC[9] == 'y'); ASSERT(pI[0] == 0x1234); -- 2.30.2