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
|
||||
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
|
||||
|
||||
CONSTANT: xyz 123
|
||||
|
@ -100,3 +101,12 @@ DEFER: struct-redefined
|
|||
\ struct-redefined class?
|
||||
] 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.
|
||||
USING: accessors arrays alien alien.c-types
|
||||
alien.arrays alien.strings kernel math namespaces parser
|
||||
|
@ -22,7 +22,7 @@ SYNTAX: CALLBACK:
|
|||
(CALLBACK:) define-inline ;
|
||||
|
||||
SYNTAX: TYPEDEF:
|
||||
scan-c-type CREATE-C-TYPE typedef ;
|
||||
scan-c-type CREATE-C-TYPE dup save-location typedef ;
|
||||
|
||||
SYNTAX: C-ENUM:
|
||||
";" parse-tokens
|
||||
|
|
Loading…
Reference in New Issue