From e552c3f0d43f22f641afcc5749af7ab6c7affafa Mon Sep 17 00:00:00 2001 From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de> Date: Wed, 6 Sep 2017 12:31:50 +0200 Subject: [PATCH] Ignore hard-to-fix warnings in local operators --- python/dune/perftool/file.py | 5 +++++ python/dune/perftool/generation/__init__.py | 1 + python/dune/perftool/generation/cpp.py | 1 + python/dune/perftool/pdelab/localoperator.py | 6 ++++++ 4 files changed, 13 insertions(+) diff --git a/python/dune/perftool/file.py b/python/dune/perftool/file.py index d1b56659..187f32db 100644 --- a/python/dune/perftool/file.py +++ b/python/dune/perftool/file.py @@ -59,6 +59,11 @@ def generate_file(filename, tag, content, headerguard=True): f.write(line) f.write('\n\n') + # Add end of file code + for eof in retrieve_cache_items('{} and end_of_file'.format(tag)): + for line in eof: + f.write(line) + # Close headerguard if headerguard: f.write("\n\n#endif //{}\n".format(macro)) diff --git a/python/dune/perftool/generation/__init__.py b/python/dune/perftool/generation/__init__.py index c819772e..c8c085c1 100644 --- a/python/dune/perftool/generation/__init__.py +++ b/python/dune/perftool/generation/__init__.py @@ -22,6 +22,7 @@ from dune.perftool.generation.cpp import (base_class, class_member, constructor_parameter, dump_accumulate_timer, + end_of_file, include_file, initializer_list, pre_include, diff --git a/python/dune/perftool/generation/cpp.py b/python/dune/perftool/generation/cpp.py index 57dd91c8..0db90171 100644 --- a/python/dune/perftool/generation/cpp.py +++ b/python/dune/perftool/generation/cpp.py @@ -12,6 +12,7 @@ import cgen preamble = generator_factory(item_tags=("preamble",), counted=True, context_tags="kernel") pre_include = generator_factory(item_tags=("file", "pre_include"), context_tags=("filetag",), no_deco=True) post_include = generator_factory(item_tags=("file", "post_include"), context_tags=("filetag",), no_deco=True) +end_of_file = generator_factory(item_tags=("file", "end_of_file"), context_tags=("filetag",), no_deco=True) class_member = generator_factory(item_tags=("member",), context_tags=("classtag",), on_store=lambda m: ClassMember(m), counted=True) template_parameter = generator_factory(item_tags=("template_param",), context_tags=("classtag",), counted=True) class_basename = generator_factory(item_tags=("basename",), context_tags=("classtag",)) diff --git a/python/dune/perftool/pdelab/localoperator.py b/python/dune/perftool/pdelab/localoperator.py index 90b320db..fcbeadc2 100644 --- a/python/dune/perftool/pdelab/localoperator.py +++ b/python/dune/perftool/pdelab/localoperator.py @@ -12,6 +12,7 @@ from dune.perftool.generation import (backend, constructor_parameter, domain, dump_accumulate_timer, + end_of_file, generator_factory, get_backend, get_global_context_value, @@ -688,6 +689,11 @@ def generate_localoperator_kernels(formdata, data): include_file('dune/pdelab/localoperator/flags.hh', filetag="operatorfile") include_file('dune/pdelab/localoperator/pattern.hh', filetag="operatorfile") + post_include("#pragma GCC diagnostic push", filetag="operatorfile") + post_include("#pragma GCC diagnostic ignored \"-Wsign-compare\"", filetag="operatorfile") + post_include("#pragma GCC diagnostic ignored \"-Wunused-variable\"", filetag="operatorfile") + end_of_file("#pragma GCC diagnostic pop", filetag="operatorfile") + # Trigger this one once early on to assure that template # parameters are set in the right order localoperator_basename(formdata, data) -- GitLab