diff options
author | Jason Merrill <jason@redhat.com> | 2011-06-06 00:16:38 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2011-06-06 00:16:38 -0400 |
commit | 22d60ad267dae84a52bd57521bcb8a99bf33eb41 (patch) | |
tree | e0cdc50d0a6f61b9f47d9a3de0fc46b841d92592 | |
parent | 114948308a0f87a701161f6f1d67dfb628caedaa (diff) | |
download | gcc-22d60ad267dae84a52bd57521bcb8a99bf33eb41.zip gcc-22d60ad267dae84a52bd57521bcb8a99bf33eb41.tar.gz gcc-22d60ad267dae84a52bd57521bcb8a99bf33eb41.tar.bz2 |
re PR c++/49134 (ICE in g++.dg/cpp0x/constexpr tests for arm)
PR c++/49134
* tree.c (build_target_expr): Deal with ARM ABI tweaks.
From-SVN: r174682
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/tree.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 48f39f4..668dd5e 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2011-06-06 Jason Merrill <jason@redhat.com> + + PR c++/49134 + * tree.c (build_target_expr): Deal with ARM ABI tweaks. + 2011-06-04 Jonathan Wakely <jwakely.gcc@gmail.com> * init.c (build_delete): Warn when deleting type with non-virtual diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 11e195e..025fe2d 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -292,6 +292,9 @@ build_target_expr (tree decl, tree value, tsubst_flags_t complain) #ifdef ENABLE_CHECKING gcc_assert (VOID_TYPE_P (TREE_TYPE (value)) || TREE_TYPE (decl) == TREE_TYPE (value) + /* On ARM ctors return 'this'. */ + || (TREE_CODE (TREE_TYPE (value)) == POINTER_TYPE + && TREE_CODE (value) == CALL_EXPR) || useless_type_conversion_p (TREE_TYPE (decl), TREE_TYPE (value))); #endif |