diff options
| author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-18 19:32:10 +0000 |
|---|---|---|
| committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-18 19:32:10 +0000 |
| commit | d6828f49e96771ea2176165f2ff6ce288c1da747 (patch) | |
| tree | 9248ff33edaa4a046a53c4ce5c71a410a937f754 | |
| parent | c4fef1343863165dd51333e4f09cee50b0d5ee0b (diff) | |
| download | ppe42-gcc-d6828f49e96771ea2176165f2ff6ce288c1da747.tar.gz ppe42-gcc-d6828f49e96771ea2176165f2ff6ce288c1da747.zip | |
* mangle.c (write_expression): Issue a sorry for zero-operand
functional casts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84899 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/cp/mangle.c | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 29ef50d6fde..97da2dda020 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2004-07-18 Mark Mitchell <mark@codesourcery.com> + + * mangle.c (write_expression): Issue a sorry for zero-operand + functional casts. + 2004-07-18 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> PR c++/13092 diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c index 97d4309fcf2..211c218321d 100644 --- a/gcc/cp/mangle.c +++ b/gcc/cp/mangle.c @@ -2056,7 +2056,13 @@ write_expression (tree expr) case CAST_EXPR: write_type (TREE_TYPE (expr)); - write_expression (TREE_VALUE (TREE_OPERAND (expr, 0))); + /* There is no way to mangle a zero-operand cast like + "T()". */ + if (!TREE_OPERAND (expr, 0)) + sorry ("zero-operand casts cannot be mangled due to a defect " + "in the C++ ABI"); + else + write_expression (TREE_VALUE (TREE_OPERAND (expr, 0))); break; case STATIC_CAST_EXPR: |

