import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo

This commit is contained in:
Roy Tam 2018-01-19 03:59:58 +08:00
commit dcd9973243
150858 changed files with 23884658 additions and 0 deletions

View file

@ -0,0 +1,47 @@
#define MOZ_REQUIRED_BASE_METHOD __attribute__((annotate("moz_required_base_method")))
class Base {
public:
virtual void fo() MOZ_REQUIRED_BASE_METHOD {
}
};
class BaseNonVirtual {
public:
void fo() MOZ_REQUIRED_BASE_METHOD { // expected-error {{MOZ_REQUIRED_BASE_METHOD can be used only on virtual methods}}
}
};
class Deriv : public BaseNonVirtual {
public:
virtual void fo() MOZ_REQUIRED_BASE_METHOD {
}
};
class DerivVirtual : public Base {
public:
void fo() MOZ_REQUIRED_BASE_METHOD {
Base::fo();
}
};
class BaseOperator {
public:
BaseOperator& operator++() MOZ_REQUIRED_BASE_METHOD { // expected-error {{MOZ_REQUIRED_BASE_METHOD can be used only on virtual methods}}
return *this;
}
};
class DerivOperator : public BaseOperator {
public:
virtual DerivOperator& operator++() {
return *this;
}
};
class DerivPrimeOperator : public DerivOperator {
public:
DerivPrimeOperator& operator++() {
return *this;
}
};