http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52841

             Bug #: 52841
           Summary: [4.7/4.8 Regression] error: type 'Solvable' is not a
                    base type for type 'Resolvable'
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: rgue...@gcc.gnu.org


struct Solvable;
namespace sat
{
  class Solvable
    {
  public:
      typedef bool bool_type;
    };
}

class Resolvable : public sat::Solvable
{
public:
  using sat::Solvable::bool_type;
};

when compiled with -std=c++0x is rejected with

T.cc:14:28: error: type 'Solvable' is not a base type for type 'Resolvable'

It works when using

  using Solvable::bool_type

and when

  using ::sat::Solvable::bool_type

and it works without -std=c++0x

Reply via email to