diff options
author | benl <benl@FreeBSD.org> | 2011-06-18 13:56:33 +0000 |
---|---|---|
committer | benl <benl@FreeBSD.org> | 2011-06-18 13:56:33 +0000 |
commit | 2071e3510abcb0d23655e9ec6f21ded8a0d7fa8a (patch) | |
tree | 6edd0c06e1319e9f8e2572723af2f2d72fabda97 /contrib/gcc/tree.h | |
parent | a90ed93de49d2b89aafba19680f2fd1d400eb91e (diff) | |
download | FreeBSD-src-2071e3510abcb0d23655e9ec6f21ded8a0d7fa8a.zip FreeBSD-src-2071e3510abcb0d23655e9ec6f21ded8a0d7fa8a.tar.gz |
Fix clang warnings.
Approved by: philip (mentor)
Diffstat (limited to 'contrib/gcc/tree.h')
-rw-r--r-- | contrib/gcc/tree.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/contrib/gcc/tree.h b/contrib/gcc/tree.h index 7861514..97090be 100644 --- a/contrib/gcc/tree.h +++ b/contrib/gcc/tree.h @@ -22,6 +22,11 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA #ifndef GCC_TREE_H #define GCC_TREE_H +#include <sys/param.h> +#ifndef __PAST_END +# define __PAST_END(array, offset) (((typeof(*(array)) *)(array))[offset]) +#endif + #include "hashtab.h" #include "machmode.h" #include "input.h" @@ -830,12 +835,12 @@ extern void omp_clause_range_check_failed (const tree, const char *, int, #define TREE_RANGE_CHECK(T, CODE1, CODE2) (T) #define EXPR_CHECK(T) (T) #define NON_TYPE_CHECK(T) (T) -#define TREE_VEC_ELT_CHECK(T, I) ((T)->vec.a[I]) -#define TREE_OPERAND_CHECK(T, I) ((T)->exp.operands[I]) -#define TREE_OPERAND_CHECK_CODE(T, CODE, I) ((T)->exp.operands[I]) +#define TREE_VEC_ELT_CHECK(T, I) __PAST_END((T)->vec.a, I) +#define TREE_OPERAND_CHECK(T, I) __PAST_END((T)->exp.operands, I) +#define TREE_OPERAND_CHECK_CODE(T, CODE, I) __PAST_END((T)->exp.operands, I) #define TREE_RTL_OPERAND_CHECK(T, CODE, I) (*(rtx *) &((T)->exp.operands[I])) #define PHI_NODE_ELT_CHECK(T, i) ((T)->phi.a[i]) -#define OMP_CLAUSE_ELT_CHECK(T, i) ((T)->omp_clause.ops[i]) +#define OMP_CLAUSE_ELT_CHECK(T, i) __PAST_END((T)->omp_clause.ops, i) #define OMP_CLAUSE_RANGE_CHECK(T, CODE1, CODE2) (T) #define OMP_CLAUSE_SUBCODE_CHECK(T, CODE) (T) |