On 05/02/14 15:56, David Malcolm wrote:
This patch series demonstrates a way of reimplementing the 89-patch series:
"[PATCH 00/89] Compile-time gimple-checking"
http://gcc.gnu.org/ml/gcc-patches/2014-04/msg01148.html
whilst avoiding introducing a pair of "gimple_foo/const_gimple_foo" typedefs
for each subclass.
It eliminates the "gimple" and "const_gimple" typedefs,
renaming "gimple_statement_base" to "gimple_stmt", giving types:
"gimple_stmt *" and "const gimple_stmt *"
thoughout the middle-end. The rest of the gimple statement classes are
renamed, converting the various
gimple_statement_with_FOO
to:
gimple_stmt_with_FOO
and the remainder:
gimple_statement_SOME_SUBCLASS
to just:
gimple_SOME_SUBCLASS
The idea is then to reimplement the earlier patch series, porting many of
these:
gimple_stmt *something
to point to some more concrete subclass; I've done this for GIMPLE_SWITCH.
It requires two patches that I've already posted separately:
(A): "[PATCH] gengtype: Support explicit pointers in template arguments":
http://gcc.gnu.org/ml/gcc-patches/2014-05/msg00003.html
(which apparently will need reworking after wide-int is merged;
oh well).
So, wide-int has been merged, so time to get this patch dealt with. As
mentioned before, if it's just trivial changes, consider it
pre-approved. Else please get another review. Obviously in both cases
it needs to be posted to gcc-patches.
(B): "[PATCH 19/89] Const-correctness of gimple_call_builtin_p":
http://gcc.gnu.org/ml/gcc-patches/2014-04/msg01194.html
(I have a separate bootstrap®rtest in progress for just this one,
which appears to be pre-approved per Jeff's earlier comments).
Yes, this would meet the pre-approval criteria. Just to be explicit, I
approved it tonight anyway :-)
So it looks like Richi really wanted to keep the statements as "gimple"
rather than gimple_stmt or somesuch. So that presumably requires some
reworking this patch series, but those should be strictly name changes,
right?
jeff