# HG changeset patch # User David Anderson # Date 1344155292 25200 # Node ID 12807399b9538f9fb8bf7ff0af43b39923c51b05 # Parent d515dceb12f9ff35b5058d2f4db95969ccac6407 Fix character array indexing. diff -r d515dceb12f9 -r 12807399b953 src/SemanticAnalysis.cpp --- a/src/SemanticAnalysis.cpp Sun Aug 05 01:24:46 2012 -0700 +++ b/src/SemanticAnalysis.cpp Sun Aug 05 01:28:12 2012 -0700 @@ -1197,7 +1197,12 @@ cc_.reportError(node->left()->pos(), Message_IndexBaseMustBeArray); return; } - node->setType(left->contained()); + + // Note: char arrays are automatically up-casted to return an int32. + if (left->isCharArray()) + node->setType(zone_->types()->getPrimitive(PrimitiveType_Int32)); + else + node->setType(left->contained()); } void