alien.syntax: save source location for TYPEDEF:, raise error on redefinition
parent
aa3d65272a
commit
59193af701
|
@ -1,6 +1,7 @@
|
||||||
USING: alien alien.syntax alien.c-types alien.parser
|
USING: alien alien.syntax alien.c-types alien.parser
|
||||||
eval kernel tools.test sequences system libc alien.strings
|
eval kernel tools.test sequences system libc alien.strings
|
||||||
io.encodings.utf8 math.constants classes.struct classes ;
|
io.encodings.utf8 math.constants classes.struct classes
|
||||||
|
accessors compiler.units ;
|
||||||
IN: alien.c-types.tests
|
IN: alien.c-types.tests
|
||||||
|
|
||||||
CONSTANT: xyz 123
|
CONSTANT: xyz 123
|
||||||
|
@ -100,3 +101,12 @@ DEFER: struct-redefined
|
||||||
\ struct-redefined class?
|
\ struct-redefined class?
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
|
[
|
||||||
|
"IN: alien.c-types.tests
|
||||||
|
USE: alien.syntax
|
||||||
|
USE: alien.c-types
|
||||||
|
TYPEDEF: int type-redefinition-test
|
||||||
|
TYPEDEF: int type-redefinition-test" eval( -- )
|
||||||
|
]
|
||||||
|
[ error>> error>> redefine-error? ]
|
||||||
|
must-fail-with
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
! Copyright (C) 2005, 2009 Slava Pestov, Alex Chapman.
|
! Copyright (C) 2005, 2010 Slava Pestov, Alex Chapman.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: accessors arrays alien alien.c-types
|
USING: accessors arrays alien alien.c-types
|
||||||
alien.arrays alien.strings kernel math namespaces parser
|
alien.arrays alien.strings kernel math namespaces parser
|
||||||
|
@ -22,7 +22,7 @@ SYNTAX: CALLBACK:
|
||||||
(CALLBACK:) define-inline ;
|
(CALLBACK:) define-inline ;
|
||||||
|
|
||||||
SYNTAX: TYPEDEF:
|
SYNTAX: TYPEDEF:
|
||||||
scan-c-type CREATE-C-TYPE typedef ;
|
scan-c-type CREATE-C-TYPE dup save-location typedef ;
|
||||||
|
|
||||||
SYNTAX: C-ENUM:
|
SYNTAX: C-ENUM:
|
||||||
";" parse-tokens
|
";" parse-tokens
|
||||||
|
|
Loading…
Reference in New Issue