summaryrefslogtreecommitdiff
path: root/sphinx
diff options
context:
space:
mode:
authorshimizukawa <shimizukawa@gmail.com>2012-11-28 15:26:44 +0900
committershimizukawa <shimizukawa@gmail.com>2012-11-28 15:26:44 +0900
commitc1d576f049353ff98e13aa0a8fc91a5a6ff83446 (patch)
tree1c60035bf76b2f2d6d449893673bd9cd9e468ccf /sphinx
parente26f6807079e2b2e9f30a47425977489ca661087 (diff)
downloadsphinx-c1d576f049353ff98e13aa0a8fc91a5a6ff83446.tar.gz
fix: cpp domain parser cannot parse a const type with a modifier. closes #1041
Diffstat (limited to 'sphinx')
-rw-r--r--sphinx/domains/cpp.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/sphinx/domains/cpp.py b/sphinx/domains/cpp.py
index 31daa1f6..edbc091e 100644
--- a/sphinx/domains/cpp.py
+++ b/sphinx/domains/cpp.py
@@ -672,8 +672,9 @@ class DefinitionParser(object):
except ValueError:
return False
- def _parse_builtin(self, modifier):
- path = [modifier]
+ def _parse_builtin(self, modifiers):
+ modifier = modifiers[-1]
+ path = modifiers
following = self._modifiers[modifier]
while 1:
self.skip_ws()
@@ -730,9 +731,10 @@ class DefinitionParser(object):
# impossible for a template to follow, so what
# we do is go to a different function that just
# eats types
- if following is not None:
- return self._parse_builtin(modifier)
modifiers.append(modifier)
+ if following is not None:
+ return self._parse_builtin(modifiers)
+ self.skip_ws()
else:
self.backout()
break