Fix the check for constant static local data, which was wrong when the data
was an array. It should go into RODATA, not DATA. git-svn-id: svn://svn.cc65.org/cc65/trunk@4669 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -355,8 +355,12 @@ static unsigned ParseStaticDecl (Declaration* Decl, unsigned* SC)
|
||||
/* Static data */
|
||||
if (CurTok.Tok == TOK_ASSIGN) {
|
||||
|
||||
/* Initialization ahead, switch to data segment and define a label */
|
||||
if (IsQualConst (Decl->Type)) {
|
||||
/* Initialization ahead, switch to data segment and define a label.
|
||||
* For arrays, we need to check the elements of the array for
|
||||
* constness, not the array itself.
|
||||
*/
|
||||
if (IsQualConst (Decl->Type) ||
|
||||
(IsTypeArray (Decl->Type) && IsQualConst (GetElementType (Decl->Type)))) {
|
||||
SymData = AllocLabel (g_userodata);
|
||||
} else {
|
||||
SymData = AllocLabel (g_usedata);
|
||||
|
||||
Reference in New Issue
Block a user