0. ASN.1 grammar parser is written mostly with respect to constructing a tree, so a tree destruction is not fully supported and certain memory leaks are known. Not a huge problem for run-once programs like a compiler. NOTE: This statement does not apply to the target code _produced_ by the compiler. 1. For purposes of compilation, INTEGER type is modelled using a large static type (asn_integer_t), but defined as any positive or negative value by ASN.1. Not a problem as most specifications use very small values anyway. NOTE: This statement does not apply to the target code _produced_ by the compiler. 2. A MACRO facility is part of obsolete ASN.1 standard, and is not supported. 3. Multiple tags applied at the same level are not supported: BadTags ::= [0] EXPLICIT [2] IMPLICIT OtherType The same thing could be achieved by using the indirection: GoodTags ::= [0] EXPLICIT OtherTypePtr OtherTypePtr ::= [2] IMPLICIT OtherType 4. Mixed definite/indefinite length in a _single_ BER tags sequence is not supported. Should not be a problem in the real world. Please note that it is still possible, for example, to encode a wrapper structure using definite length, and encode its substructure member using indefinite length. The BER decoder is perfectly capable of decoding such sequences. 5. Encoding or decoding of structures with combined length greater than 16MB is not tested. 6. XER codec does not support integer (INTEGER, ENUMERATED) values outside the signed long range.