diff options
author | Marek Polacek <polacek@redhat.com> | 2019-09-22 12:35:00 +0000 |
---|---|---|
committer | Marek Polacek <mpolacek@gcc.gnu.org> | 2019-09-22 12:35:00 +0000 |
commit | 0968003dd08a9e9f83bee955bbdc259a781f044f (patch) | |
tree | 77adb1c8c15a739d0082bba67a78d40d0a7cd44c /gcc/cp | |
parent | dcb786e59eb7ec2ad32357673f138bd5d9242ea9 (diff) | |
download | gcc-0968003dd08a9e9f83bee955bbdc259a781f044f.zip gcc-0968003dd08a9e9f83bee955bbdc259a781f044f.tar.gz gcc-0968003dd08a9e9f83bee955bbdc259a781f044f.tar.bz2 |
PR c++/91819 - ICE with operator++ and enum.
* call.c (build_new_op_1): Set arg2_type.
* g++.dg/other/operator4.C: New test.
From-SVN: r276027
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/call.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 3015d68..4420d8f 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2019-09-22 Marek Polacek <polacek@redhat.com> + + PR c++/91819 - ICE with operator++ and enum. + * call.c (build_new_op_1): Set arg2_type. + 2019-09-17 Jason Merrill <jason@redhat.com> * parser.c (cp_parser_statement): Handle [[likely]] on diff --git a/gcc/cp/call.c b/gcc/cp/call.c index e613d8a..2dad699 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -5878,7 +5878,10 @@ build_new_op_1 (const op_location_t &loc, enum tree_code code, int flags, goto builtin; if (code == POSTINCREMENT_EXPR || code == POSTDECREMENT_EXPR) - arg2 = integer_zero_node; + { + arg2 = integer_zero_node; + arg2_type = integer_type_node; + } vec_alloc (arglist, 3); arglist->quick_push (arg1); |