From 43c2a69adf87b340b098de12592efc647e0a88b1 Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <bonzini@gnu.org>
Date: Fri, 24 Sep 2004 15:23:06 +0000
Subject: [PATCH] parser.c (cp_parser_expression_stack): Clarify why it is an
 array of NUM_PREC_VALUES elements.

2004-09-24  Paolo Bonzini  <bonzini@gnu.org>

	* parser.c (cp_parser_expression_stack): Clarify why it is
	an array of NUM_PREC_VALUES elements.
	(cp_parser_binary_expression): Clarify why we do not need to
	handle stack overflow.

From-SVN: r88042
---
 gcc/cp/ChangeLog | 7 +++++++
 gcc/cp/parser.c  | 7 ++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 80c2b79effc5..dee8d5a1d4d4 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,10 @@
+2004-09-24  Paolo Bonzini  <bonzini@gnu.org>
+
+	* parser.c (cp_parser_expression_stack): Clarify why it is
+	an array of NUM_PREC_VALUES elements.
+	(cp_parser_binary_expression): Clarify why we do not need to
+	handle stack overflow.
+
 2004-09-24  Nathan Sidwell  <nathan@codesourcery.com>
 
 	PR c++/16889
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index 49d02372d54d..89a96014d49e 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -1106,6 +1106,9 @@ typedef struct cp_parser_expression_stack_entry
   int prec;
 } cp_parser_expression_stack_entry;
 
+/* The stack for storing partial expressions.  We only need NUM_PREC_VALUES
+   entries because precedence levels on the stack are monotonically
+   increasing.  */
 typedef struct cp_parser_expression_stack_entry
   cp_parser_expression_stack[NUM_PREC_VALUES];
 
@@ -5356,7 +5359,9 @@ cp_parser_binary_expression (cp_parser* parser)
       if (lookahead_prec > new_prec)
         {
           /* ... and prepare to parse the RHS of the new, higher priority
-             expression.  */
+             expression.  Since precedence levels on the stack are
+	     monotonically increasing, we do not have to care about
+	     stack overflows.  */
           sp->prec = prec;
           sp->tree_type = tree_type;
           sp->lhs = lhs;
-- 
GitLab