Fix double space expected in cp_test_ptype_class
authorSimon Marchi <simon.marchi@polymtl.ca>
Sun, 25 Feb 2018 20:11:56 +0000 (15:11 -0500)
committerSimon Marchi <simon.marchi@polymtl.ca>
Sun, 25 Feb 2018 20:12:37 +0000 (15:12 -0500)
commit6f6d0c269ecdc11aca9166940534ec61b6dbc39d
treefe8a85ac7db0f303f0341e946b37b4ef46da8a0f
parent4de41a68ed98818db42c2238d66764e5757102ed
Fix double space expected in cp_test_ptype_class

I noticed some failures of some buildbot slaves, e.g.:

FAIL: gdb.cp/nested-types.exp: ptype S10 (limit = 1) // wrong nested type enum definition: enum S10::E10 {S10::A10, S10::B10, S10::C10};

The issue is that they have an older gcc (not c++11 by default?) that
doesn't emit the enum underlying type information.  When the
enum type is printed by ptype, it looks like this:

  enum S10::E10 {S10::A10, S10::B10, S10::C10};

instead of this on older gccs:

  enum S10::E10 : unsigned int {S10::A10, S10::B10, S10::C10};

The regex that matches this is in cp_test_ptype_class, and is

  enum $nested_name (: (unsigned )?int)? \{

If the "unsigned int" portion is not present, then it requires the
string to have two spaces between the enum name and opening bracket.
The fix is simply to move the trailing space inside the ? group.

gdb/testsuite/ChangeLog:

* lib/cp-support.exp (cp_test_ptype_class): Move space inside
parentheses.
gdb/testsuite/ChangeLog
gdb/testsuite/lib/cp-support.exp