Subzero: Improve class definition hygiene.
Delete zero-argument ctor where possible.
Delete default copy ctor and default assignment operator where possible (some were missed in the past).
(The above are not done to the cross tests because we aren't yet building them with C++11.)
Declare single-argument ctor as "explicit".
BUG= none
R=jfb@chromium.org
Review URL: https://codereview.chromium.org/952953002
diff --git a/src/PNaClTranslator.cpp b/src/PNaClTranslator.cpp
index a0ce417..b88b0ae 100644
--- a/src/PNaClTranslator.cpp
+++ b/src/PNaClTranslator.cpp
@@ -105,6 +105,7 @@
// Models an ICE type as an extended type.
class SimpleExtendedType : public ExtendedType {
+ SimpleExtendedType() = delete;
SimpleExtendedType(const SimpleExtendedType &) = delete;
SimpleExtendedType &operator=(const SimpleExtendedType &) = delete;
@@ -118,6 +119,7 @@
// Models a function signature as an extended type.
class FuncSigExtendedType : public ExtendedType {
+ FuncSigExtendedType() = delete;
FuncSigExtendedType(const FuncSigExtendedType &) = delete;
FuncSigExtendedType &operator=(const FuncSigExtendedType &) = delete;
@@ -153,6 +155,7 @@
// Top-level class to read PNaCl bitcode files, and translate to ICE.
class TopLevelParser : public NaClBitcodeParser {
+ TopLevelParser() = delete;
TopLevelParser(const TopLevelParser &) = delete;
TopLevelParser &operator=(const TopLevelParser &) = delete;
@@ -568,6 +571,7 @@
// messages if ParseBlock or ParseRecord is not overridden in derived
// classes.
class BlockParserBaseClass : public NaClBitcodeParser {
+ BlockParserBaseClass() = delete;
BlockParserBaseClass(const BlockParserBaseClass &) = delete;
BlockParserBaseClass &operator=(const BlockParserBaseClass &) = delete;
@@ -736,6 +740,10 @@
// Class to parse a types block.
class TypesParser : public BlockParserBaseClass {
+ TypesParser() = delete;
+ TypesParser(const TypesParser &) = delete;
+ TypesParser &operator=(const TypesParser &) = delete;
+
public:
TypesParser(unsigned BlockID, BlockParserBaseClass *EnclosingParser)
: BlockParserBaseClass(BlockID, EnclosingParser),
@@ -911,6 +919,10 @@
/// Parses the globals block (i.e. global variable declarations and
/// corresponding initializers).
class GlobalsParser : public BlockParserBaseClass {
+ GlobalsParser() = delete;
+ GlobalsParser(const GlobalsParser &) = delete;
+ GlobalsParser &operator=(const GlobalsParser &) = delete;
+
public:
GlobalsParser(unsigned BlockID, BlockParserBaseClass *EnclosingParser)
: BlockParserBaseClass(BlockID, EnclosingParser),
@@ -1064,6 +1076,7 @@
/// Base class for parsing a valuesymtab block in the bitcode file.
class ValuesymtabParser : public BlockParserBaseClass {
+ ValuesymtabParser() = delete;
ValuesymtabParser(const ValuesymtabParser &) = delete;
void operator=(const ValuesymtabParser &) = delete;
@@ -1125,6 +1138,7 @@
/// Parses function blocks in the bitcode file.
class FunctionParser : public BlockParserBaseClass {
+ FunctionParser() = delete;
FunctionParser(const FunctionParser &) = delete;
FunctionParser &operator=(const FunctionParser &) = delete;
@@ -2626,6 +2640,7 @@
/// Parses constants within a function block.
class ConstantsParser : public BlockParserBaseClass {
+ ConstantsParser() = delete;
ConstantsParser(const ConstantsParser &) = delete;
ConstantsParser &operator=(const ConstantsParser &) = delete;
@@ -2754,6 +2769,7 @@
// Parses valuesymtab blocks appearing in a function block.
class FunctionValuesymtabParser : public ValuesymtabParser {
+ FunctionValuesymtabParser() = delete;
FunctionValuesymtabParser(const FunctionValuesymtabParser &) = delete;
void operator=(const FunctionValuesymtabParser &) = delete;
@@ -2839,6 +2855,10 @@
/// Parses the module block in the bitcode file.
class ModuleParser : public BlockParserBaseClass {
+ ModuleParser() = delete;
+ ModuleParser(const ModuleParser &) = delete;
+ ModuleParser &operator=(const ModuleParser &) = delete;
+
public:
ModuleParser(unsigned BlockID, TopLevelParser *Context)
: BlockParserBaseClass(BlockID, Context),
@@ -2876,6 +2896,7 @@
};
class ModuleValuesymtabParser : public ValuesymtabParser {
+ ModuleValuesymtabParser() = delete;
ModuleValuesymtabParser(const ModuleValuesymtabParser &) = delete;
void operator=(const ModuleValuesymtabParser &) = delete;