XCode 4.2 Clang Seg Fault
Только что обновился до Lion и xcode 4.2. Теперь, когда я перекомпилирую свою программу, я получаю следующие ошибки:
/Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1806:35: current parser token ';'
/Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1762:1: parsing Objective-C method 'updateWithTouchLocationMoved:withEvent:view:'
/Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1762:1: in compound statement ('{}')
/Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1771:2: in compound statement ('{}')
/Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1789:3: in compound statement ('{}')
/Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1796:4: in compound statement ('{}')
/Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1799:5: in compound statement ('{}')
clang: error: unable to execute command: Segmentation fault: 11
clang: error: clang frontend command failed due to signal 2 (use -v to see invocation)
Вокруг этих номеров строк нет ничего странного. Нет сложных утверждений, просто если (a == b)
наберите материал. Некоторые номера строк ошибок указаны даже не в выражениях, а в пустых строках или в скобках. Я подозреваю, что номера строк не точны. Я как бы мертв в воде. Код скомпилирован в порядке под 4.1.
Любой совет?
1 ответ
Я остановил компилятор от сбоя. Закомментировав строку за строкой кода, чтобы увидеть, где это на самом деле происходит, я пришел к этой строке:
shape.shapeType |= kTypeBreakable;
Ведение...
shape.shapeType = shape.shapeType | kTypeBreakable;
... компилируется нормально. Так же...
shape.shapeType |= 0x00000200;
kTypeBreakable
перечисление, которое установлено в 0x00000200
shapeType
это просто переменная объекта obj-c с параметром get /setting.
Очень странная ошибка компилятора.