diff --git a/ChangeLog b/ChangeLog index 94dcd86..4d0077a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-04-06 Fred Kiefer + + * Modules/Parsers/ProjectCenter/PCParser.m [-parse]: Move the + selector and IMP definitions inside the method. Global IMP caching + is always wrong! And this broke compilation with llvm. + 2011-03-14 Nicola Pero * Modules/Projects/ResourceSet/PCResourceSetProject.m diff --git a/Modules/Parsers/ProjectCenter/PCParser.m b/Modules/Parsers/ProjectCenter/PCParser.m index 2f1fee1..5b521dc 100644 --- a/Modules/Parsers/ProjectCenter/PCParser.m +++ b/Modules/Parsers/ProjectCenter/PCParser.m @@ -124,23 +124,21 @@ CodeType codeType(unichar *ch) } } -static SEL selString = @selector(string:); -static SEL selNumber = @selector(number:); -static SEL selSpaceAndNewLine = @selector(spaceAndNewLine:); -static SEL selInvisible = @selector(invisible:); -static SEL selSymbol = @selector(symbol:); - -static void (*impString)(id, SEL, id); -static void (*impNumber)(id, SEL, id); -static void (*impSpaceAndNewLine)(id, SEL, unichar); -static void (*impInvisible)(id, SEL, unichar); -static void (*impSymbol)(id, SEL, unichar); - - (void)parse { unsigned int i, start, end; CodeType startType, endType; NSString *out; + SEL selString = @selector(string:); + SEL selNumber = @selector(number:); + SEL selSpaceAndNewLine = @selector(spaceAndNewLine:); + SEL selInvisible = @selector(invisible:); + SEL selSymbol = @selector(symbol:); + void (*impString)(id, SEL, id); + void (*impNumber)(id, SEL, id); + void (*impSpaceAndNewLine)(id, SEL, unichar); + void (*impInvisible)(id, SEL, unichar); + void (*impSymbol)(id, SEL, unichar); NSLog(@"CodeParser begin...");