Recognize new DWARFv5 C11, C++11 and C++14 DW_LANG constants.

Message ID 1416859096-29132-1-git-send-email-mjw@redhat.com
State New, archived
Headers

Commit Message

Mark Wielaard Nov. 24, 2014, 7:58 p.m. UTC
  The following patch is needed to recognize the new DW_LANG constants
that GCC 5 might emit as implemented by this GCC patch:
https://gcc.gnu.org/ml/gcc-patches/2014-11/msg02852.html

gdb/ChangeLog

	* dwarf2read.c (set_cu_language): Recognize DW_LANG_C11,
	DW_LANG_C_plus_plus_11, DW_LANG_C_plus_plus_14.

include/ChangeLog

	* dwarf2.h: Add DW_LANG_C_plus_plus_11, DW_LANG_C11 and
	DW_LANG_C_plus_plus_14.

OK to commit?

Thanks,

Mark
  

Comments

Doug Evans Nov. 24, 2014, 8:07 p.m. UTC | #1
On Mon, Nov 24, 2014 at 11:58 AM, Mark Wielaard <mjw@redhat.com> wrote:
> The following patch is needed to recognize the new DW_LANG constants
> that GCC 5 might emit as implemented by this GCC patch:
> https://gcc.gnu.org/ml/gcc-patches/2014-11/msg02852.html
>
> gdb/ChangeLog
>
>         * dwarf2read.c (set_cu_language): Recognize DW_LANG_C11,
>         DW_LANG_C_plus_plus_11, DW_LANG_C_plus_plus_14.
>
> include/ChangeLog
>
>         * dwarf2.h: Add DW_LANG_C_plus_plus_11, DW_LANG_C11 and
>         DW_LANG_C_plus_plus_14.
>
> OK to commit?

dwarf2.h exists in the gcc tree and is therefore owned by gcc.
As long as this part of the patch is in the gcc tree first,
ok by me.
  
Mark Wielaard Nov. 26, 2014, 11:48 a.m. UTC | #2
On Mon, 2014-11-24 at 12:07 -0800, Doug Evans wrote:
> On Mon, Nov 24, 2014 at 11:58 AM, Mark Wielaard <mjw@redhat.com> wrote:
> > The following patch is needed to recognize the new DW_LANG constants
> > that GCC 5 might emit as implemented by this GCC patch:
> > https://gcc.gnu.org/ml/gcc-patches/2014-11/msg02852.html
> >
> > gdb/ChangeLog
> >
> >         * dwarf2read.c (set_cu_language): Recognize DW_LANG_C11,
> >         DW_LANG_C_plus_plus_11, DW_LANG_C_plus_plus_14.
> >
> > include/ChangeLog
> >
> >         * dwarf2.h: Add DW_LANG_C_plus_plus_11, DW_LANG_C11 and
> >         DW_LANG_C_plus_plus_14.
> >
> > OK to commit?
> 
> dwarf2.h exists in the gcc tree and is therefore owned by gcc.
> As long as this part of the patch is in the gcc tree first,
> ok by me.

The dwarf2.h change is also in the gcc tree.
I have pushed the same with the above patch to the gdb tree.

Thanks,

Mark
  

Patch

diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 0790388..36cbbd9 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -16711,11 +16711,14 @@  set_cu_language (unsigned int lang, struct dwarf2_cu *cu)
     {
     case DW_LANG_C89:
     case DW_LANG_C99:
+    case DW_LANG_C11:
     case DW_LANG_C:
     case DW_LANG_UPC:
       cu->language = language_c;
       break;
     case DW_LANG_C_plus_plus:
+    case DW_LANG_C_plus_plus_11:
+    case DW_LANG_C_plus_plus_14:
       cu->language = language_cplus;
       break;
     case DW_LANG_D:
diff --git a/include/dwarf2.h b/include/dwarf2.h
index 120e2c1..ca440dd 100644
--- a/include/dwarf2.h
+++ b/include/dwarf2.h
@@ -309,6 +309,10 @@  enum dwarf_source_language
     /* DWARF 5.  */
     DW_LANG_Go = 0x0016,
 
+    DW_LANG_C_plus_plus_11 = 0x001a, /* dwarf5.20141029.pdf DRAFT */
+    DW_LANG_C11 = 0x001d,
+    DW_LANG_C_plus_plus_14 = 0x0021,
+
     DW_LANG_lo_user = 0x8000,	/* Implementation-defined range start.  */
     DW_LANG_hi_user = 0xffff,	/* Implementation-defined range start.  */