aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2017-01-04 21:05:14 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2017-01-04 21:05:14 +0100
commit066435fe10c4982780b05844793ddf287ac1d225 (patch)
tree703db28e3bf3d68d2213426b81d687c7014bf97c /gcc/cp
parentfb85f9d05f09a3e122d702f85b8af306a3999357 (diff)
downloadgcc-066435fe10c4982780b05844793ddf287ac1d225.zip
gcc-066435fe10c4982780b05844793ddf287ac1d225.tar.gz
gcc-066435fe10c4982780b05844793ddf287ac1d225.tar.bz2
re PR c++/71182 (parser.c cp_lexer_previous_token sanitizer detects member call on null pointer)
PR c++/71182 * parser.c (cp_lexer_previous_token): Use vec_safe_address in the assertion, as lexer->buffer may be NULL. * g++.dg/cpp0x/pr71182.C: New test. From-SVN: r244070
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/parser.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 48061a0..1629420 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2017-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/71182
+ * parser.c (cp_lexer_previous_token): Use vec_safe_address in the
+ assertion, as lexer->buffer may be NULL.
+
2017-01-04 Marek Polacek <polacek@redhat.com>
PR c++/77545
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index b94270d..b4b8f13 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -766,7 +766,7 @@ cp_lexer_previous_token (cp_lexer *lexer)
/* Skip past purged tokens. */
while (tp->purged_p)
{
- gcc_assert (tp != lexer->buffer->address ());
+ gcc_assert (tp != vec_safe_address (lexer->buffer));
tp--;
}