File: running_notes

package info (click to toggle)
clif 0.93-9.1
  • links: PTS
  • area: main
  • in suites: bullseye, buster, sid, stretch
  • size: 4,228 kB
  • sloc: ansic: 31,464; yacc: 5,067; lex: 819; makefile: 383; sh: 48
file content (75 lines) | stat: -rw-r--r-- 2,198 bytes parent folder | download | duplicates (5)
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?