]> gitweb.factorcode.org Git - factor.git/commitdiff
Revert "alien.parser: throw error if enum values don't fit c-type."
authorJohn Benediktsson <mrjbq7@gmail.com>
Wed, 9 Nov 2016 23:41:54 +0000 (15:41 -0800)
committerJohn Benediktsson <mrjbq7@gmail.com>
Wed, 9 Nov 2016 23:41:54 +0000 (15:41 -0800)
This reverts commit 2e326498a4ceca3eb6290dd969bc99d56777a526.

basis/alien/parser/parser-tests.factor
basis/alien/parser/parser.factor

index b1dc1f6677abcc0c225a71fd89f05385b2bfd663..fb1c76182f0c5926d463a2f6c0c6fd701b1fb257 100644 (file)
@@ -124,10 +124,3 @@ TYPEDEF: int alien-parser-test-int ! reasonably unique name...
 { } [
     [ C-TYPE: hi TYPEDEF: void* hi ] with-compilation-unit
 ] unit-test
-
-[
-"IN: alien.parser.tests
-USING: alien.c-types alien.syntax ;
-ENUM: tv_peripherals_4 < uchar
-{ appletv 1 } { chromecast 2 } { roku 444 } ;" eval( -- )
-] [ error>> enum-values-outside-c-type-interval? ] must-fail-with
index aa599707f0d5afe19ad2643224271d3e6595cf1e..b15c6e5a1fa2b7ffd19c7c99cef4f60fd76655af 100755 (executable)
@@ -1,12 +1,9 @@
 ! Copyright (C) 2008, 2010 Slava Pestov, Doug Coleman, Joe Groff.
 ! See http://factorcode.org/license.txt for BSD license.
-
 USING: accessors alien alien.c-types alien.enums alien.libraries
-arrays classes classes.parser combinators
-combinators.short-circuit compiler.units effects fry kernel
-lexer locals math math.order namespaces parser sequences
-splitting summary vocabs.parser words ;
-
+arrays classes classes.parser combinators combinators.short-circuit
+compiler.units effects fry kernel lexer locals math namespaces parser
+sequences splitting summary vocabs.parser words ;
 IN: alien.parser
 
 SYMBOL: current-library
@@ -105,19 +102,12 @@ M: *-in-c-type-name summary
     dup ";" = not
     [ swap parse-enum-member scan-token parse-enum-members ] [ 2drop ] if ;
 
-ERROR: enum-values-outside-c-type-interval name base-type values ;
-
-: check-enum-members ( name base-type members -- name base-type members )
-    over c-type-interval '[ second _ _ between? ] dupd reject
-    [ nip enum-values-outside-c-type-interval ] unless-empty ;
-
 PRIVATE>
 
 : parse-enum ( -- name base-type members )
     parse-enum-name
     parse-enum-base-type
-    [ V{ } clone 0 ] dip parse-enum-members
-    check-enum-members ;
+    [ V{ } clone 0 ] dip parse-enum-members ;
 
 : scan-function-name ( -- return function )
     scan-c-type scan-token parse-pointers ;