aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Edelsohn <dje.gcc@gmail.com>2014-11-24 14:59:52 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2014-11-24 09:59:52 -0500
commitcf6abd9d9f23b871e5d93be826b988da1a43edf1 (patch)
treecf28fb3defed196f12a1455c0263d8202b8f961d /gcc
parent8403c2cf5f66758fc78a01a675b0d218fded0202 (diff)
downloadgcc-cf6abd9d9f23b871e5d93be826b988da1a43edf1.zip
gcc-cf6abd9d9f23b871e5d93be826b988da1a43edf1.tar.gz
gcc-cf6abd9d9f23b871e5d93be826b988da1a43edf1.tar.bz2
re PR c++/58561 ([c++11] ICE using declaration of function with auto in return type)
PR c++/58561 * dbxout.c: Include stringpool.h (dbxout_type) [default]: Ignore auto type. From-SVN: r218020
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/dbxout.c12
2 files changed, 18 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cadd82f..6bc1bb1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2014-11-24 David Edelsohn <dje.gcc@gmail.com>
+
+ PR c++/58561
+ * dbxout.c: Include stringpool.h
+ (dbxout_type) [default]: Ignore auto type.
+
2014-11-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/63679
diff --git a/gcc/dbxout.c b/gcc/dbxout.c
index 1f04f72..207db10 100644
--- a/gcc/dbxout.c
+++ b/gcc/dbxout.c
@@ -103,6 +103,7 @@ along with GCC; see the file COPYING3. If not see
#include "plugin-api.h"
#include "ipa-ref.h"
#include "cgraph.h"
+#include "stringpool.h"
#ifdef XCOFF_DEBUGGING_INFO
#include "xcoffout.h"
@@ -2329,6 +2330,17 @@ dbxout_type (tree type, int full)
break;
default:
+ /* A C++ function with deduced return type can have a TEMPLATE_TYPE_PARM
+ named 'auto' in its type.
+ No debug info for TEMPLATE_TYPE_PARM type supported yet. */
+ if (lang_GNU_CXX ())
+ {
+ tree name = TYPE_IDENTIFIER (type);
+ if (name == get_identifier ("auto")
+ || name == get_identifier ("decltype(auto)"))
+ break;
+ }
+
gcc_unreachable ();
}
}