+2011-06-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * tree.h (error_operand_p): Add.
+ * dbxout.c (dbxout_type_fields): Use the latter.
+ * c-decl.c (add_stmt): Likewise.
+ * gimplify.c (omp_add_variable, omp_notice_variable,
+ gimplify_scan_omp_clauses): Likewise.
+
2011-06-10 Georg-Johann Lay <avr@gjlay.de>
-
+
* config/avr/avr.c (avr_function_arg_advance): Fix thinko about
when a value is actually passed in regs.
static bool
decl_jump_unsafe (tree decl)
{
- if (decl == error_mark_node || TREE_TYPE (decl) == error_mark_node)
+ if (error_operand_p (decl))
return false;
/* Always warn about crossing variably modified types. */
+2011-06-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * cp-tree.h (error_operand_p): Remove.
+
2011-06-09 David Krauss <potswa@mac.com>
PR c++/49118
#define ansi_assopname(CODE) \
(assignment_operator_name_info[(int) (CODE)].identifier)
-/* True if NODE is an erroneous expression. */
-
-#define error_operand_p(NODE) \
- ((NODE) == error_mark_node \
- || ((NODE) && TREE_TYPE ((NODE)) == error_mark_node))
-\f
/* TRUE if a tree code represents a statement. */
extern bool statement_code_p[MAX_TREE_CODES];
{
/* If one of the nodes is an error_mark or its type is then
return early. */
- if (tem == error_mark_node || TREE_TYPE (tem) == error_mark_node)
+ if (error_operand_p (tem))
return;
/* Omit here local type decls until we know how to support them. */
unsigned int nflags;
tree t;
- if (decl == error_mark_node || TREE_TYPE (decl) == error_mark_node)
+ if (error_operand_p (decl))
return;
/* Never elide decls whose type has TREE_ADDRESSABLE set. This means
unsigned flags = in_code ? GOVD_SEEN : 0;
bool ret = false, shared;
- if (decl == error_mark_node || TREE_TYPE (decl) == error_mark_node)
+ if (error_operand_p (decl))
return false;
/* Threadprivate variables are predetermined. */
do_add:
decl = OMP_CLAUSE_DECL (c);
- if (decl == error_mark_node || TREE_TYPE (decl) == error_mark_node)
+ if (error_operand_p (decl))
{
remove = true;
break;
case OMP_CLAUSE_COPYIN:
case OMP_CLAUSE_COPYPRIVATE:
decl = OMP_CLAUSE_DECL (c);
- if (decl == error_mark_node || TREE_TYPE (decl) == error_mark_node)
+ if (error_operand_p (decl))
{
remove = true;
break;
\f
#define NULL_TREE (tree) NULL
+/* True if NODE is an erroneous expression. */
+
+#define error_operand_p(NODE) \
+ ((NODE) == error_mark_node \
+ || ((NODE) && TREE_TYPE ((NODE)) == error_mark_node))
+
extern tree decl_assembler_name (tree);
extern bool decl_assembler_name_equal (tree decl, const_tree asmname);
extern hashval_t decl_assembler_name_hash (const_tree asmname);