1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
----- now -----
[13.5] in function point error_message (1000) can be issued with bad
variable name.
[13.4] there is a problem with line number reporting in error message
for the following code:
int
main ()
{
struct a
{
int a;
double b;
};
int ;
struct a b;
return 0;
}
there is the following error message:
tests/test62.ci:11: warning: useless keyword or type name in empty declaration
tests/test62.ci:11: warning: empty declaration
Instead of line 11 line 9 should be reported.
[13.3] semantic for instruction MOV minor for a pointer type. Extern
function with a pointer return type.
[13.2] add semantic for static functions. It should be only one table
ident_tab and ident_tab_loc. Put there everything you need. Update
point_call.
[13.1] compare2trees - extend to new fields in internal_type
[12.] conditional_expression - check if both parts have the same type
[10.] checking the alignment of the kodp after declaration of global
variables.
[10.1] add semantic for all definitions and declarations in
<list_loc_dekl_1>.
[8.] no more than 257 labels in one switch statement (excluding those for
any nested switch statements).
[7.] add nesting scope, tables should be connected as double pointed
list. Never free the table, just make it not valid.
[6.] add chain for local variables to simplify clear_has_tab()
function. Only entries will be cleared, not whole table. (a
possibility is to delete identtab_loc of the exited scope
(identtab_loc = identtab_loc->previous) and then deallocate (BLOCK)
when scope_level == 0)
[5.] Library flag not fully supported yet.
[4.] goto supported. But we have to check whole table on returning to
level zero each time.
[4.1] create new hash table for the goto labels this is checked when the
compiler is returning to the level zero. all addresses at the label
are fixed.
[4.2] see standard for the size of the table
[4.3] goto is not supported in the level zero
[3.] types not fully supported yet.
[2.] ANSI 6.1.7 Header names skipped.
[1.] switch case can be reimplemented using hashing. problem is what to
postpone for hashing. Whole arithmetic part of label? How fix it, save
source parts in fix structure?
|