Hello Everyone,
Is it OK to move build_c_cast prototype into c-common.h? The reason for
this is that, I would like to share some of the code between array notation for
C and C++ and this function is sort of required for both places. Also, the
exact same call is available for both C and C++ with the same parameters at the
same locations. The change involves removing the prototype from c-tree.h and
cp-tree.h and moving it to c-common.h.
Here is the changelogs and the patch to accomplish what I am
requesting. Please let me know if it is OK for the trunk.
gcc/c-family/ChangeLog
2013-06-03 Balaji V. Iyer <[email protected]>
* c-common.h (build_c_cast): Added new extern prototype.
gcc/c/ChangeLog
2013-06-03 Balaji V. Iyer <[email protected]>
* c-tree.h (build_c_cast): Remove prototype.
gcc/cp/ChangeLog
2013-06-03 Balaji V. Iyer <[email protected]>
* c-tree.h (build_c_cast): Remove prototype.
Index: gcc/c-family/c-common.h
===================================================================
--- gcc/c-family/c-common.h (revision 199630)
+++ gcc/c-family/c-common.h (working copy)
@@ -538,6 +538,7 @@
extern tree pushdecl (tree);
extern tree build_modify_expr (location_t, tree, tree, enum tree_code,
location_t, tree, tree);
+extern tree build_c_cast (location_t, tree, tree);
extern tree build_array_notation_expr (location_t, tree, tree, enum tree_code,
location_t, tree, tree);
extern tree build_array_notation_ref (location_t, tree, tree, tree, tree,
tree);
Index: gcc/c/c-tree.h
===================================================================
--- gcc/c/c-tree.h (revision 199630)
+++ gcc/c/c-tree.h (working copy)
@@ -600,7 +600,6 @@
tree, tree);
extern tree build_compound_expr (location_t, tree, tree);
extern tree c_cast_expr (location_t, struct c_type_name *, tree);
-extern tree build_c_cast (location_t, tree, tree);
extern void store_init_value (location_t, tree, tree, tree);
extern void error_init (const char *);
extern void pedwarn_init (location_t, int opt, const char *);
Index: gcc/cp/cp-tree.h
===================================================================
--- gcc/cp/cp-tree.h (revision 199630)
+++ gcc/cp/cp-tree.h (working copy)
@@ -6000,7 +6000,6 @@
extern tree build_static_cast (tree, tree, tsubst_flags_t);
extern tree build_reinterpret_cast (tree, tree, tsubst_flags_t);
extern tree build_const_cast (tree, tree, tsubst_flags_t);
-extern tree build_c_cast (location_t, tree, tree);
extern tree cp_build_c_cast (tree, tree, tsubst_flags_t);
extern tree build_x_modify_expr (location_t, tree,
enum tree_code, tree,
Thanks,
Balaji V. Iyer.