mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-02 20:15:34 +00:00
Audit and fixups for GCC and Clang (#7212)
Added (for compiler versions that support it): -Wmissing-declarations -Wzero-as-null-pointer-constant Then, fixes to problems identified by the extra warnings Tested only on GCC 9.4.0 Adjusted the CPP code generator to output nullptr where appropriate, to satisfy -Wzero-as-null-pointer-constant Added a lot of 'static' declarations in front of functions, to satisfy -Wmissing-declarations, and wrap static function defs in anonymous namespaces. There are advantages to both anonymous namespaces and static, it seems that marking a function as static will not publish the name in the symbol table at all, thus giving the linker less work to do.
This commit is contained in:
@@ -31,7 +31,9 @@
|
||||
namespace flatbuffers {
|
||||
namespace python {
|
||||
|
||||
std::set<std::string> PythonKeywords() {
|
||||
namespace {
|
||||
|
||||
static std::set<std::string> PythonKeywords() {
|
||||
return { "False", "None", "True", "and", "as", "assert",
|
||||
"break", "class", "continue", "def", "del", "elif",
|
||||
"else", "except", "finally", "for", "from", "global",
|
||||
@@ -40,7 +42,7 @@ std::set<std::string> PythonKeywords() {
|
||||
"while", "with", "yield" };
|
||||
}
|
||||
|
||||
Namer::Config PythonDefaultConfig() {
|
||||
static Namer::Config PythonDefaultConfig() {
|
||||
return { /*types=*/Case::kKeep,
|
||||
/*constants=*/Case::kScreamingSnake,
|
||||
/*methods=*/Case::kUpperCamel,
|
||||
@@ -64,8 +66,10 @@ Namer::Config PythonDefaultConfig() {
|
||||
}
|
||||
|
||||
// Hardcode spaces per indentation.
|
||||
const CommentConfig def_comment = { nullptr, "#", nullptr };
|
||||
const std::string Indent = " ";
|
||||
static const CommentConfig def_comment = { nullptr, "#", nullptr };
|
||||
static const std::string Indent = " ";
|
||||
|
||||
} // namespace
|
||||
|
||||
class PythonGenerator : public BaseGenerator {
|
||||
public:
|
||||
|
||||
Reference in New Issue
Block a user