diff options
Diffstat (limited to 'gcc/c-convert.c')
-rw-r--r-- | gcc/c-convert.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/c-convert.c b/gcc/c-convert.c index 7bde098e0e1..b3b144d6a8b 100644 --- a/gcc/c-convert.c +++ b/gcc/c-convert.c @@ -65,8 +65,10 @@ convert (type, expr) register enum tree_code code = TREE_CODE (type); if (type == TREE_TYPE (expr) - || TREE_CODE (expr) == ERROR_MARK) + || TREE_CODE (expr) == ERROR_MARK + || code == ERROR_MARK || TREE_CODE (TREE_TYPE (expr)) == ERROR_MARK) return expr; + if (TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (TREE_TYPE (expr))) return fold (build1 (NOP_EXPR, type, expr)); if (TREE_CODE (TREE_TYPE (expr)) == ERROR_MARK) |