XCode 4.2 Ошибки Objective-C ARC LLVM: текущий маркер синтаксического анализатора '-' и генерация составного оператора ('{}') - PullRequest
1 голос
/ 03 ноября 2011

После обновления до Objective-C ARC (Автоматический подсчет ссылок) мой код больше не компилируется и выдает мне следующие странные ошибки:

/Users/teacher/drawingapp/Main/Source/PurchaseThemeOptionVC.m 
1. /Users/teacher/drawingapp/Main/Source/PurchaseThemeOptionVC.m:52:1: current parser token '-'
2. /Users/teacher/drawingapp/Main/Source/PurchaseThemeOptionVC.m:39:1: LLVM IR generation of declaration 'PurchaseThemeOptionVC::viewDidLoad'
3. /Users/teacher/drawingapp/Main/Source/PurchaseThemeOptionVC.m:39:21: LLVM IR generation of compound statement ('{}')
clang: error: unable to execute command: Segmentation fault
clang: error: clang frontend command failed due to signal 2 (use -v to see invocation)

Я просмотрел исходный файл несколько раз и могу 'я не вижу в этом ничего плохого.

Что означают эти ошибки?

  • текущий маркер синтаксического анализатора '-'
  • генерация объявления 'PurchaseThemeOptionVC :: viewDidLoad'
  • генерация составного оператора ('{}')

Ответы [ 2 ]

5 голосов
/ 04 ноября 2011

Хорошо, я решил это с помощью процесса исключения.

Внутри функции viewDidLoad для BuyThemeOptionVC.m есть строка кода:

[InAppPurchaseManager sharedInAppPurchaseManager].themeStatusDelegate = self;

И внутри синглтона InAppPurchaseManager.есть ссылка на делегат, у которой есть установщик, но нет @property для него.

@interface InAppPurchaseManager : NSObject <SKProductsRequestDelegate, ...> {

    ...

    id<ThemeStatusDelegate> themeStatusDelegate;
}

...

- (void)setThemeStatusDelegate:(id<ThemeStatusDelegate>)delegate;

Теперь, если я правильно понимаю, setThemeStatusDelegate: является установщиком и вызывается автоматически, когда переменная назначаетсяthemeStatusDelegate.И это, казалось, работало нормально, пока я не обновил «LLVM GCC 4.2» до «Apple LLVM Compiler 3.0»

Теперь я исправил проблему, напрямую вызвав сеттер:

[[InAppPurchaseManager sharedInAppPurchaseManager] setThemeStatusDelegate:self];

Теперь, если я что-то упустил, в Apple LLVM Compiler 3.0 появляется ошибка.Мысли?

0 голосов
/ 13 августа 2012

У меня была такая же проблема, и оказалось, что я вставил свой ViewController

 self.data = 0

Хотя у меня не определено свойство data. Это не дало ошибку: неопределенное свойство, но дало указанные вами ошибки синтаксического анализатора. Может, кому-то это поможет


Как ни странно, если бы я изменил эту строку на:

 self.tralala = 0

, который также не определен, выдает правильное сообщение об ошибке.

...