This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Move some Cilk+ code around
- From: Marek Polacek <polacek at redhat dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 20 Oct 2015 18:17:16 +0200
- Subject: [PATCH] Move some Cilk+ code around
- Authentication-results: sourceware.org; auth=none
The function is_cilkplus_vector_p is defined both in c-parser.c and parser.c
and is exactly the same so it seems that it should rather be defined in the
common Cilk+ code (even though for such a small static inline fn it probably
doesn't matter much). While at it, fix some typos and simplify the code a bit.
Bootstrapped/regtested on x86_64-linux, ok for trunk?
2015-10-20 Marek Polacek <polacek@redhat.com>
* array-notation-common.c (is_cilkplus_vector_p): Define.
* c-common.h (is_cilkplus_vector_p): Declare.
* c-parser.c (is_cilkplus_vector_p): Don't define here.
* parser.c (is_cilkplus_vector_p): Don't define here.
diff --git gcc/c-family/array-notation-common.c gcc/c-family/array-notation-common.c
index 85ded8d..6b55747 100644
--- gcc/c-family/array-notation-common.c
+++ gcc/c-family/array-notation-common.c
@@ -676,3 +676,12 @@ fix_sec_implicit_args (location_t loc, vec <tree, va_gc> *list,
vec_safe_push (array_operand, (*list)[ii]);
return array_operand;
}
+
+/* Returns true if NAME is an IDENTIFIER_NODE with identifier "vector",
+ "__vector", or "__vector__". */
+
+bool
+is_cilkplus_vector_p (tree name)
+{
+ return flag_cilkplus && is_attribute_p ("vector", name);
+}
diff --git gcc/c-family/c-common.h gcc/c-family/c-common.h
index cf44482..4b5cac8 100644
--- gcc/c-family/c-common.h
+++ gcc/c-family/c-common.h
@@ -1435,6 +1435,7 @@ extern void cilkplus_extract_an_triplets (vec<tree, va_gc> *, size_t, size_t,
vec<vec<an_parts> > *);
extern vec <tree, va_gc> *fix_sec_implicit_args
(location_t, vec <tree, va_gc> *, vec<an_loop_parts>, size_t, tree);
+extern bool is_cilkplus_vector_p (tree);
/* In cilk.c. */
extern tree insert_cilk_frame (tree);
diff --git gcc/c/c-parser.c gcc/c/c-parser.c
index 704ebc6..a5c1d84 100644
--- gcc/c/c-parser.c
+++ gcc/c/c-parser.c
@@ -3848,17 +3848,6 @@ c_parser_attribute_any_word (c_parser *parser)
return attr_name;
}
-/* Returns true of NAME is an IDENTIFIER_NODE with identiifer "vector,"
- "__vector" or "__vector__." */
-
-static inline bool
-is_cilkplus_vector_p (tree name)
-{
- if (flag_cilkplus && is_attribute_p ("vector", name))
- return true;
- return false;
-}
-
#define CILK_SIMD_FN_CLAUSE_MASK \
((OMP_CLAUSE_MASK_1 << PRAGMA_CILK_CLAUSE_VECTORLENGTH) \
| (OMP_CLAUSE_MASK_1 << PRAGMA_CILK_CLAUSE_LINEAR) \
diff --git gcc/cp/parser.c gcc/cp/parser.c
index f07a5e4..cfe5468 100644
--- gcc/cp/parser.c
+++ gcc/cp/parser.c
@@ -23225,17 +23225,6 @@ cp_parser_gnu_attributes_opt (cp_parser* parser)
return attributes;
}
-/* Returns true of NAME is an IDENTIFIER_NODE with identiifer "vector,"
- "__vector" or "__vector__." */
-
-static inline bool
-is_cilkplus_vector_p (tree name)
-{
- if (flag_cilkplus && is_attribute_p ("vector", name))
- return true;
- return false;
-}
-
/* Parse a GNU attribute-list.
attribute-list:
Marek