efl/src/bin/eolian_mono/eolian/mono
Vitor Sousa b1e44484a5 cxx: remove compilation warnings in C++ code, from both gcc and clang
Summary:
Remove almost all the compilation warnings from C++ code. Only explicit
warnings using the `#warning` preprocessor directive remain.

Some warnings had to be suppressed with `#pragma` directives because the
behavior they were warning about is intended in some specific places.
Code comments were added in such situations.

Added a generator that creates `#pragma` directives in order to suppress
warnings in all generated C++ headers.
Currently `-Wignored-qualifiers` is the only warning category being suppressed.
The innocuous const qualifiers that it points are inoffensive and have
no effect in compilation at all.
They are also hard to track in generation since they can emerge from different
types in many places.

To ease the generation of the warning suppressors an utility constructor was
added to `efl::eolian::grammar::attributes::unused_type`.

Add constructors to `eolian_mono::class_context` to default initialize its
internal string and avoid field initialization warnings.

Test Plan: `meson test`

Reviewers: lauromoura, felipealmeida, zmike, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl_language_bindings

Differential Revision: https://phab.enlightenment.org/D9275
2019-07-12 09:07:27 -04:00
..
alias_definition.hh csharp: Add docs for aliases 2019-05-03 16:22:09 +02:00
async_function_definition.hh csharp: Some docs improvements. 2019-05-03 13:59:11 +02:00
blacklist.hh csharp: Make classes abstract and rework casting 2019-04-05 19:56:42 -03:00
documentation.hh csharp: Fix build and doc generation re beta stuff 2019-07-11 10:19:52 +02:00
enum_definition.hh csharp: Tag exported API items. 2019-07-11 15:51:38 -03:00
events.hh cxx: remove compilation warnings in C++ code, from both gcc and clang 2019-07-12 09:07:27 -04:00
function_declaration.hh efl-mono: Enable selecting to build @beta items 2019-01-17 21:45:49 +09:00
function_definition.hh csharp: encapsulate some internal code of EoWrapper 2019-07-05 09:57:23 +09:00
function_helpers.hh eolian_mono: support eo access modifiers 2019-06-24 19:19:00 +09:00
function_pointer.hh csharp: Tag exported API items. 2019-07-11 15:51:38 -03:00
function_registration.hh csharp: refactor native_inherit into a nested class. 2019-04-23 11:57:51 +02:00
generation_contexts.hh cxx: remove compilation warnings in C++ code, from both gcc and clang 2019-07-12 09:07:27 -04:00
helpers.hh csharp: Respect beta for implementable functions 2019-07-11 10:19:53 +02:00
klass.hh csharp: Tag exported API items. 2019-07-11 15:51:38 -03:00
logging.hh efl_mono: More uniformization of the handling of names 2018-05-03 18:04:41 -03:00
marshall_annotation.hh csharp: Small style changes 2019-04-22 18:20:52 -03:00
marshall_type.hh csharp: fix Eina_Stringshare support in containers for manual and generated API 2019-06-28 10:44:52 -03:00
marshall_type_impl.hh cxx: remove compilation warnings in C++ code, from both gcc and clang 2019-07-12 09:07:27 -04:00
name_helpers.hh csharp: Add Part suffix for the part wrappers 2019-05-07 13:53:39 +02:00
parameter.hh eolian_mono: small correction when checking for iterator and accessor parameters 2019-06-27 14:27:34 -03:00
part_definition.hh csharp: Fix property helper doc indent 2019-05-06 13:45:58 +02:00
struct_definition.hh csharp: Tag exported API items. 2019-07-11 15:51:38 -03:00
struct_fields.hh csharp: Small style changes 2019-04-22 18:20:52 -03:00
type.hh csharp: fix Eina_Stringshare support in containers for manual and generated API 2019-06-28 10:44:52 -03:00
type_impl.hh cxx: remove compilation warnings in C++ code, from both gcc and clang 2019-07-12 09:07:27 -04:00
using_decl.hh csharp: Change to new class API. 2018-11-29 21:29:48 -02:00
utils.hh csharp: Fix event names with underscore. 2019-03-11 19:28:02 -03:00
variable_definition.hh csharp: Some docs improvements. 2019-05-03 13:59:11 +02:00