diff options
author | Xavier Leroy <xavier.leroy@inria.fr> | 2018-05-03 13:59:23 +0200 |
---|---|---|
committer | Xavier Leroy <xavierleroy@users.noreply.github.com> | 2018-05-07 19:19:10 +0200 |
commit | 2e2d3430436ba1102504ccf175e8bd12c326fc85 (patch) | |
tree | b7e03afbf5e761587f6b84294294fe4eb531e4f5 /test/c/qsort.c | |
parent | e2c2f22be7e4df4ceb9a4c7e6c1695d0aeef7865 (diff) | |
download | compcert-2e2d3430436ba1102504ccf175e8bd12c326fc85.tar.gz compcert-2e2d3430436ba1102504ccf175e8bd12c326fc85.zip |
Revised elaboration of function definitions, part 1
Partial revert of commit ec95665e087d39e29ece455b90e7d5918dc88cee.
That commit introduced a "keep_ty" parameter to type elaboration
functions telling them to keep struct/union definitions occurring
in function parameter lists and lift them to the outer environment.
By setting keep_ty to true, the following could typecheck:
int f(struct s { int a; } x) { return x.a; }
However, "struct s" would escape the scope of the function definition
and leak to the top-level environment, which is not correct.
In subsequent commits we'll address the issues above differently,
in a way that does not need the "keep_ty = true" behavior.
Diffstat (limited to 'test/c/qsort.c')
0 files changed, 0 insertions, 0 deletions