diff --git a/basis/alien/c-types/c-types-tests.factor b/basis/alien/c-types/c-types-tests.factor index d134d57189..faee8955e9 100644 --- a/basis/alien/c-types/c-types-tests.factor +++ b/basis/alien/c-types/c-types-tests.factor @@ -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 diff --git a/basis/alien/syntax/syntax.factor b/basis/alien/syntax/syntax.factor index 609ed2826d..295bcff089 100644 --- a/basis/alien/syntax/syntax.factor +++ b/basis/alien/syntax/syntax.factor @@ -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