From d57a02efd8b6388c43c85078ccd20fd6bd7a8e37 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Thu, 1 Dec 2011 22:24:48 +0000 Subject: Update TODO, README and add notes for call convention --- README | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'README') diff --git a/README b/README index 1770a4f..08fa293 100644 --- a/README +++ b/README @@ -35,7 +35,7 @@ A2.5 Constants - integers (hexadecimal 0x1a, 0X1A, octal 07, decimal 1), signed A4 Identifiers - functions, variables (int) are supported. struct, union are not yet supported A4.1 Storage class - static is supported (actually, everything is static). - Automatic variables are unsupported. + Automatic variables are supported. A4.2-A4.3 Types - supported: int; unsupported: char, enum, float, double, struct, union, arrays, pointers A4.4 Type qualifiers - volatile won't be supported, const is unsupported @@ -53,7 +53,8 @@ A7.3 Postfix Expressions - unsupported function calls - supported, result is stored in register R0 (for int functions) Other types (void) are not checked when using their value. If an undefined function is used, it'll still try to branch to the label - Parameters are not supported. Pointers to functions are unsupported + Parameters are supported. Pointers to functions are unsupported. + Recursive function calls are supported A7.4 Unary Operators - supported: ++ -- + - ~ ! & * Unsupported: sizeof A7.5 Casts - unsupported and ignored A7.6-A7.7, A7.9-7.13 - supported: * / % + - < > <= >= == != & ^ | Left to right @@ -108,11 +109,8 @@ A10.1 Function Definitions - unsupported: extern static, parameters. Old style A10.2 External declarations - unsupported/unchecked A11 Scope and Linkage -A11.1 Lexical scope - objects (variables), functions use the same namespace, - thereby not conforming to the Standard. Block scope is not - supported, everything is global. Variables with the same name in - different block scopes do not affect each other, but recursive - functions do +A11.1 Lexical scope - objects (variables) and functions use the same namespace + conforming to the Standard A11.2 Linkage - not applicable / unsupported A12 Preprocessing -- cgit v1.2.1