Hi,

To compile LanguageKit, I had to work around the glibc __block issue in various 
places once again. 
The patch is pretty ugly, so before committing it I wanted to know if someone 
had a better solution.

I tested various examples from the Compiler/Examples directory, and they run 
fine. However test.st doesn't work, I get:

edlc -f test.st 
2011-11-07 13:00:59.907 edlc[9986] ERROR: Can not determine type for sqrt
2011-11-07 13:00:59.909 edlc[9986] ERROR: Can not determine type for fdim
2011-11-07 13:00:59.909 edlc[9986] ERROR: Can not determine type for fdim
2011-11-07 13:00:59.909 edlc[9986] ERROR: Can not determine type for putchar
2011-11-07 13:00:59.909 edlc[9986] ERROR: Can not determine type for putchar
2011-11-07 13:00:59.909 edlc[9986] ERROR: Can not determine type for putchar
2011-11-07 13:00:59.911 edlc[9986] Failed to compile input.

I also ran the test suite. Various Smalltalk tests related to the interpreter 
fail, but the JIT tests pass in most cases except:
- TestRetainOnlyOnce (may be it's an excepted failure…)
- TestTimesRepeat (removed from the output below, because it never ends)

For the record, I'm on Ubuntu 10.4 x86-32.

In addition, all EtoileFoundation tests pass with the current libobjc2 from 
trunk and Clang 3.0 rc 1.

Here is the Smalltalk test suite result (with TestTimesRepeat disabled):

------------------------------------------------------
Test: TestArrayLiterals -i
-e TestArrayLiterals: OK
------------------------------------------------------
Test: TestArrayLiterals 
-e TestArrayLiterals: OK
------------------------------------------------------
Test: TestBlockAssignment -i
Segmentation fault
-e TestBlockAssignment: FAIL (crash)
------------------------------------------------------
Test: TestBlockAssignment 
-e TestBlockAssignment: OK
------------------------------------------------------
Test: TestBlockReturn -i
Segmentation fault
-e TestBlockReturn: FAIL (crash)
------------------------------------------------------
Test: TestBlockReturn 
-e TestBlockReturn: OK
------------------------------------------------------
Test: TestBlockReturningABlock -i
-e TestBlockReturningABlock: OK
------------------------------------------------------
Test: TestBlockReturningABlock 
-e TestBlockReturningABlock: OK
------------------------------------------------------
Test: TestCascadedMessages -i
-e TestCascadedMessages: OK
------------------------------------------------------
Test: TestCascadedMessages 
-e TestCascadedMessages: OK
------------------------------------------------------
Test: TestClassMethods1 -i
Segmentation fault
-e TestClassMethods1: FAIL (crash)
------------------------------------------------------
Test: TestClassMethods1 
-e TestClassMethods1: OK
------------------------------------------------------
Test: TestClassMethods2 -i
Segmentation fault
-e TestClassMethods2: FAIL (crash)
------------------------------------------------------
Test: TestClassMethods2 
-e TestClassMethods2: OK
------------------------------------------------------
Test: TestClassMethods3 -i
Segmentation fault
-e TestClassMethods3: FAIL (crash)
------------------------------------------------------
Test: TestClassMethods3 
-e TestClassMethods3: OK
------------------------------------------------------
Test: TestClassVariables -i
-e TestClassVariables: OK
------------------------------------------------------
Test: TestClassVariables 
-e TestClassVariables: OK
------------------------------------------------------
Test: TestClassVariables2 -i
-e TestClassVariables2: OK
------------------------------------------------------
Test: TestClassVariables2 
-e TestClassVariables2: OK
------------------------------------------------------
Test: TestComplexBoxing -i
Aborted
-e TestComplexBoxing: FAIL (crash)
------------------------------------------------------
Test: TestComplexBoxing 
-e TestComplexBoxing: OK
------------------------------------------------------
Test: TestCountingWhileTrue -i
-e TestCountingWhileTrue: OK
------------------------------------------------------
Test: TestCountingWhileTrue 
-e TestCountingWhileTrue: OK
------------------------------------------------------
Test: TestDealloc -i
-e TestDealloc: FAIL
result | expected
                                                              > Sub destroyed
                                                              > Super destroyed
------------------------------------------------------
Test: TestDealloc 
-e TestDealloc: FAIL
result | expected
                                                              > Sub destroyed
                                                              > Super destroyed
------------------------------------------------------
Test: TestDeeplyNestedBlocks -i
-e TestDeeplyNestedBlocks: OK
------------------------------------------------------
Test: TestDeeplyNestedBlocks 
-e TestDeeplyNestedBlocks: OK
------------------------------------------------------
Test: TestFloatBoxing -i
-e TestFloatBoxing: OK
------------------------------------------------------
Test: TestFloatBoxing 
-e TestFloatBoxing: OK
------------------------------------------------------
Test: TestInstanceVariables -i
-e TestInstanceVariables: OK
------------------------------------------------------
Test: TestInstanceVariables 
-e TestInstanceVariables: OK
------------------------------------------------------
Test: TestIntArithmetic -i
-e TestIntArithmetic: OK
------------------------------------------------------
Test: TestIntArithmetic 
-e TestIntArithmetic: OK
------------------------------------------------------
Test: TestIntegerAddition -i
-e TestIntegerAddition: OK
------------------------------------------------------
Test: TestIntegerAddition 
-e TestIntegerAddition: OK
------------------------------------------------------
Test: TestIntegerUpTo -i
-e TestIntegerUpTo: OK
------------------------------------------------------
Test: TestIntegerUpTo 
-e TestIntegerUpTo: OK
------------------------------------------------------
Test: TestJustAnInteger -i
-e TestJustAnInteger: OK
------------------------------------------------------
Test: TestJustAnInteger 
-e TestJustAnInteger: OK
------------------------------------------------------
Test: TestKVC -i
Segmentation fault
-e TestKVC: FAIL (crash)
------------------------------------------------------
Test: TestKVC 
-e TestKVC: OK
------------------------------------------------------
Test: TestMutRecursiveClassDefs -i
Segmentation fault
-e TestMutRecursiveClassDefs: FAIL (crash)
------------------------------------------------------
Test: TestMutRecursiveClassDefs 
-e TestMutRecursiveClassDefs: OK
------------------------------------------------------
Test: TestNSPointBoxing -i
Segmentation fault
-e TestNSPointBoxing: FAIL (crash)
------------------------------------------------------
Test: TestNSPointBoxing 
-e TestNSPointBoxing: OK
------------------------------------------------------
Test: TestNSRangeBoxing -i
-e TestNSRangeBoxing: OK
------------------------------------------------------
Test: TestNSRangeBoxing 
-e TestNSRangeBoxing: OK
------------------------------------------------------
Test: TestNSRectBoxing -i
-e TestNSRectBoxing: OK
------------------------------------------------------
Test: TestNSRectBoxing 
-e TestNSRectBoxing: OK
------------------------------------------------------
Test: TestNSSizeBoxing -i
Segmentation fault
-e TestNSSizeBoxing: FAIL (crash)
------------------------------------------------------
Test: TestNSSizeBoxing 
-e TestNSSizeBoxing: OK
------------------------------------------------------
Test: TestNestedBlocks -i
-e TestNestedBlocks: OK
------------------------------------------------------
Test: TestNestedBlocks 
-e TestNestedBlocks: OK
------------------------------------------------------
Test: TestNonLocalReturn -i
-e TestNonLocalReturn: OK
------------------------------------------------------
Test: TestNonLocalReturn 
-e TestNonLocalReturn: OK
------------------------------------------------------
Test: TestNonLocalReturn2 -i
-e TestNonLocalReturn2: OK
------------------------------------------------------
Test: TestNonLocalReturn2 
-e TestNonLocalReturn2: OK
------------------------------------------------------
Test: TestOperatorDefinition -i
Segmentation fault
-e TestOperatorDefinition: FAIL (crash)
------------------------------------------------------
Test: TestOperatorDefinition 
-e TestOperatorDefinition: OK
------------------------------------------------------
Test: TestPolymorphicSelectors -i
-e TestPolymorphicSelectors: OK
------------------------------------------------------
Test: TestPolymorphicSelectors 
-e TestPolymorphicSelectors: OK
------------------------------------------------------
Test: TestRetainOnlyOnce -i
-e TestRetainOnlyOnce: FAIL (crash)
------------------------------------------------------
Test: TestRetainOnlyOnce 
-e TestRetainOnlyOnce: FAIL (crash)
------------------------------------------------------
Test: TestScopes -i
Segmentation fault
-e TestScopes: FAIL (crash)
------------------------------------------------------
Test: TestScopes 
-e TestScopes: OK
------------------------------------------------------
Test: TestSimpleSelect -i
-e TestSimpleSelect: OK
------------------------------------------------------
Test: TestSimpleSelect 
-e TestSimpleSelect: OK
------------------------------------------------------
Test: TestTranscript -i
-e TestTranscript: OK
------------------------------------------------------
Test: TestTranscript 
-e TestTranscript: OK
------------------------------------------------------
Test: TestYourself -i
-e TestYourself: OK
------------------------------------------------------
Test: TestYourself 
-e TestYourself: OK

Cheers,
Quentin.

Attachment: glibc_block_lk.patch
Description: Binary data

_______________________________________________
Etoile-dev mailing list
Etoile-dev@gna.org
https://mail.gna.org/listinfo/etoile-dev

Reply via email to