]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libiberty/ChangeLog
re PR other/78252 (C++ demangler crashes with infinite recursion with lambda (auto))
[thirdparty/gcc.git] / libiberty / ChangeLog
index 1e9e7066e0274c833aad947b9273eb89f1e9edcc..f2e6b373e01a0c997c697e9511b1df3909e11eb7 100644 (file)
@@ -1,3 +1,17 @@
+2016-12-12  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/78252
+       * cp-demangle.c (struct d_print_info): Add is_lambda_arg field.
+       (d_print_init): Initialize it.
+       (d_print_comp_inner) <DEMANGLE_COMPONENT_TEMPLATE_PARAM>: Check
+       is_lambda_arg for auto.
+       <DEMANGLE_COMPONENT_REFERENCE,
+       DEMANGLE_COMPONENT_RVALUE_REFERENCE>: Skip smashing check when
+       is_lambda_arg.
+       <DEMANGLE_COMPONENT_LAMBDA>: Increment is_lambda_arg around arg
+       printing.
+       * testsuite/demangle-expected: Add lambda auto mangling cases. 
+
 2016-12-06  DJ Delorie  <dj@redhat.com>
 
        * argv.c (expandargv): Check for directories passed as @-files.