felipealmeida pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=27429cf40be21048aac36a27166ead76dc1dfe5a
commit 27429cf40be21048aac36a27166ead76dc1dfe5a Author: Felipe Magno de Almeida <fel...@expertisesolutions.com.br> Date: Mon Jun 6 03:49:16 2016 -0300 eolian-cxx: Fix compilation error on clang with const UDT initialization --- src/lib/eolian_cxx/grammar/address_of.hpp | 2 +- src/lib/eolian_cxx/grammar/attribute_conditional.hpp | 2 +- src/lib/eolian_cxx/grammar/attribute_replace.hpp | 2 +- src/lib/eolian_cxx/grammar/attributes.hpp | 2 +- src/lib/eolian_cxx/grammar/base_class_definition.hpp | 2 +- src/lib/eolian_cxx/grammar/c_type.hpp | 2 +- src/lib/eolian_cxx/grammar/case.hpp | 4 ++-- src/lib/eolian_cxx/grammar/class_declaration.hpp | 2 +- src/lib/eolian_cxx/grammar/class_definition.hpp | 2 +- src/lib/eolian_cxx/grammar/class_implementation.hpp | 2 +- src/lib/eolian_cxx/grammar/converting_argument.hpp | 2 +- src/lib/eolian_cxx/grammar/eps.hpp | 2 +- src/lib/eolian_cxx/grammar/function_declaration.hpp | 2 +- src/lib/eolian_cxx/grammar/function_definition.hpp | 2 +- src/lib/eolian_cxx/grammar/header_guards.hpp | 2 +- src/lib/eolian_cxx/grammar/header_include_directive.hpp | 2 +- src/lib/eolian_cxx/grammar/implementation_include_directive.hpp | 2 +- src/lib/eolian_cxx/grammar/indentation.hpp | 2 +- src/lib/eolian_cxx/grammar/namespace.hpp | 2 +- src/lib/eolian_cxx/grammar/parameter.hpp | 4 ++-- src/lib/eolian_cxx/grammar/string.hpp | 6 +++--- src/lib/eolian_cxx/grammar/type.hpp | 2 +- 22 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/lib/eolian_cxx/grammar/address_of.hpp b/src/lib/eolian_cxx/grammar/address_of.hpp index 41a0276..3fa48b0 100644 --- a/src/lib/eolian_cxx/grammar/address_of.hpp +++ b/src/lib/eolian_cxx/grammar/address_of.hpp @@ -67,7 +67,7 @@ template <> struct attributes_needed<address_of_generator> : std::integral_constant<int, 1> {}; } -address_of_generator const address_of; +address_of_generator const address_of = {}; } } } diff --git a/src/lib/eolian_cxx/grammar/attribute_conditional.hpp b/src/lib/eolian_cxx/grammar/attribute_conditional.hpp index 1fab57d..8bf107a 100644 --- a/src/lib/eolian_cxx/grammar/attribute_conditional.hpp +++ b/src/lib/eolian_cxx/grammar/attribute_conditional.hpp @@ -52,7 +52,7 @@ struct attribute_conditional_terminal { return {f}; } -} const attribute_conditional; +} const attribute_conditional = {}; namespace type_traits { template <typename F, typename G> diff --git a/src/lib/eolian_cxx/grammar/attribute_replace.hpp b/src/lib/eolian_cxx/grammar/attribute_replace.hpp index 448abc2..e45fb9f 100644 --- a/src/lib/eolian_cxx/grammar/attribute_replace.hpp +++ b/src/lib/eolian_cxx/grammar/attribute_replace.hpp @@ -49,7 +49,7 @@ struct attribute_replace_terminal { return {f}; } -} const attribute_replace; +} const attribute_replace = {}; namespace type_traits { template <typename F, typename G> diff --git a/src/lib/eolian_cxx/grammar/attributes.hpp b/src/lib/eolian_cxx/grammar/attributes.hpp index 4e63676..d33fcf2 100644 --- a/src/lib/eolian_cxx/grammar/attributes.hpp +++ b/src/lib/eolian_cxx/grammar/attributes.hpp @@ -10,7 +10,7 @@ namespace efl { namespace eolian { namespace grammar { namespace attributes { struct unused_type {}; -unused_type const unused; +unused_type const unused = {}; template <int N, typename Tuple, typename Enable = void> struct tuple_element; diff --git a/src/lib/eolian_cxx/grammar/base_class_definition.hpp b/src/lib/eolian_cxx/grammar/base_class_definition.hpp index 29b6813..99e7d19 100644 --- a/src/lib/eolian_cxx/grammar/base_class_definition.hpp +++ b/src/lib/eolian_cxx/grammar/base_class_definition.hpp @@ -105,7 +105,7 @@ template <> struct attributes_needed<base_class_definition_generator> : std::integral_constant<int, 1> {}; } -base_class_definition_generator const base_class_definition; +base_class_definition_generator const base_class_definition = {}; } } } diff --git a/src/lib/eolian_cxx/grammar/c_type.hpp b/src/lib/eolian_cxx/grammar/c_type.hpp index b963a77..e6a72fd 100644 --- a/src/lib/eolian_cxx/grammar/c_type.hpp +++ b/src/lib/eolian_cxx/grammar/c_type.hpp @@ -67,7 +67,7 @@ template <> struct attributes_needed<c_type_generator> : std::integral_constant<int, 1> {}; } -c_type_generator const c_type; +c_type_generator const c_type = {}; } } } diff --git a/src/lib/eolian_cxx/grammar/case.hpp b/src/lib/eolian_cxx/grammar/case.hpp index e659991..8642136 100644 --- a/src/lib/eolian_cxx/grammar/case.hpp +++ b/src/lib/eolian_cxx/grammar/case.hpp @@ -70,7 +70,7 @@ struct lower_case_directive { return lower_case_generator<G>{g}; } -} const lower_case; +} const lower_case = {}; struct upper_case_directive { @@ -79,7 +79,7 @@ struct upper_case_directive { return upper_case_generator<G>{g}; } -} const upper_case; +} const upper_case = {}; } } } diff --git a/src/lib/eolian_cxx/grammar/class_declaration.hpp b/src/lib/eolian_cxx/grammar/class_declaration.hpp index f117f13..6f23641 100644 --- a/src/lib/eolian_cxx/grammar/class_declaration.hpp +++ b/src/lib/eolian_cxx/grammar/class_declaration.hpp @@ -49,7 +49,7 @@ template <> struct attributes_needed<class_declaration_generator> : std::integral_constant<int, 1> {}; } -class_declaration_generator const class_declaration; +class_declaration_generator const class_declaration = {}; } } } diff --git a/src/lib/eolian_cxx/grammar/class_definition.hpp b/src/lib/eolian_cxx/grammar/class_definition.hpp index 7473ae8..b5ec2a9 100644 --- a/src/lib/eolian_cxx/grammar/class_definition.hpp +++ b/src/lib/eolian_cxx/grammar/class_definition.hpp @@ -169,7 +169,7 @@ template <> struct attributes_needed<class_definition_generator> : std::integral_constant<int, 1> {}; } -class_definition_generator const class_definition; +class_definition_generator const class_definition = {}; } } } diff --git a/src/lib/eolian_cxx/grammar/class_implementation.hpp b/src/lib/eolian_cxx/grammar/class_implementation.hpp index a3c1d01..de4341f 100644 --- a/src/lib/eolian_cxx/grammar/class_implementation.hpp +++ b/src/lib/eolian_cxx/grammar/class_implementation.hpp @@ -49,7 +49,7 @@ template <> struct attributes_needed<class_implementation_generator> : std::integral_constant<int, 1> {}; } -class_implementation_generator const class_implementation; +class_implementation_generator const class_implementation = {}; } } } diff --git a/src/lib/eolian_cxx/grammar/converting_argument.hpp b/src/lib/eolian_cxx/grammar/converting_argument.hpp index 0f512ca..4a2d959 100644 --- a/src/lib/eolian_cxx/grammar/converting_argument.hpp +++ b/src/lib/eolian_cxx/grammar/converting_argument.hpp @@ -40,7 +40,7 @@ template <> struct attributes_needed<converting_argument_generator> : std::integral_constant<int, 1> {}; } -converting_argument_generator const converting_argument; +converting_argument_generator const converting_argument = {}; } } } diff --git a/src/lib/eolian_cxx/grammar/eps.hpp b/src/lib/eolian_cxx/grammar/eps.hpp index e47d5f5..900df90 100644 --- a/src/lib/eolian_cxx/grammar/eps.hpp +++ b/src/lib/eolian_cxx/grammar/eps.hpp @@ -17,7 +17,7 @@ struct eps_generator template <> struct is_eager_generator<eps_generator> : std::true_type {}; -eps_generator const eps; +eps_generator const eps = {}; } } } diff --git a/src/lib/eolian_cxx/grammar/function_declaration.hpp b/src/lib/eolian_cxx/grammar/function_declaration.hpp index aabf8a2..a6aa439 100644 --- a/src/lib/eolian_cxx/grammar/function_declaration.hpp +++ b/src/lib/eolian_cxx/grammar/function_declaration.hpp @@ -32,7 +32,7 @@ template <> struct attributes_needed<function_declaration_generator> : std::integral_constant<int, 1> {}; } -function_declaration_generator const function_declaration; +function_declaration_generator const function_declaration = {}; } } } diff --git a/src/lib/eolian_cxx/grammar/function_definition.hpp b/src/lib/eolian_cxx/grammar/function_definition.hpp index 8be8bba..170fa98 100644 --- a/src/lib/eolian_cxx/grammar/function_definition.hpp +++ b/src/lib/eolian_cxx/grammar/function_definition.hpp @@ -148,7 +148,7 @@ struct function_definition_terminal { return function_definition_generator{name}; } -} const function_definition; +} const function_definition = {}; } } } diff --git a/src/lib/eolian_cxx/grammar/header_guards.hpp b/src/lib/eolian_cxx/grammar/header_guards.hpp index 6ab743a..eab596d 100644 --- a/src/lib/eolian_cxx/grammar/header_guards.hpp +++ b/src/lib/eolian_cxx/grammar/header_guards.hpp @@ -72,7 +72,7 @@ struct header_guards_directive } }; -header_guards_directive const header_guards; +header_guards_directive const header_guards = {}; } } } diff --git a/src/lib/eolian_cxx/grammar/header_include_directive.hpp b/src/lib/eolian_cxx/grammar/header_include_directive.hpp index 6049491..8fbc0eb 100644 --- a/src/lib/eolian_cxx/grammar/header_include_directive.hpp +++ b/src/lib/eolian_cxx/grammar/header_include_directive.hpp @@ -27,7 +27,7 @@ template <> struct attributes_needed<header_include_directive_generator> : std::integral_constant<int, 1> {}; } -header_include_directive_generator const header_include_directive; +header_include_directive_generator const header_include_directive = {}; } } } diff --git a/src/lib/eolian_cxx/grammar/implementation_include_directive.hpp b/src/lib/eolian_cxx/grammar/implementation_include_directive.hpp index 01f89cf..dab1e0a 100644 --- a/src/lib/eolian_cxx/grammar/implementation_include_directive.hpp +++ b/src/lib/eolian_cxx/grammar/implementation_include_directive.hpp @@ -32,7 +32,7 @@ template <> struct attributes_needed<implementation_include_directive_generator> : std::integral_constant<int, 1> {}; } -implementation_include_directive_generator const implementation_include_directive; +implementation_include_directive_generator const implementation_include_directive = {}; } } } diff --git a/src/lib/eolian_cxx/grammar/indentation.hpp b/src/lib/eolian_cxx/grammar/indentation.hpp index 7a64511..615842e 100644 --- a/src/lib/eolian_cxx/grammar/indentation.hpp +++ b/src/lib/eolian_cxx/grammar/indentation.hpp @@ -35,7 +35,7 @@ struct scope_tab_terminal { return scope_tab_generator(n); } -} const scope_tab; +} const scope_tab = {}; template <> struct is_generator<scope_tab_terminal> : std::true_type {}; diff --git a/src/lib/eolian_cxx/grammar/namespace.hpp b/src/lib/eolian_cxx/grammar/namespace.hpp index db5871c..5cef9ec 100644 --- a/src/lib/eolian_cxx/grammar/namespace.hpp +++ b/src/lib/eolian_cxx/grammar/namespace.hpp @@ -50,7 +50,7 @@ struct namespaces_directive { return namespaces_generator<G>{g}; } -} const namespaces; +} const namespaces = {}; template <typename G> struct is_eager_generator<namespaces_generator<G>> : std::true_type {}; diff --git a/src/lib/eolian_cxx/grammar/parameter.hpp b/src/lib/eolian_cxx/grammar/parameter.hpp index cd30464..c1fb1bc 100644 --- a/src/lib/eolian_cxx/grammar/parameter.hpp +++ b/src/lib/eolian_cxx/grammar/parameter.hpp @@ -54,7 +54,7 @@ template <> struct attributes_needed<parameter_type_generator> : std::integral_constant<int, 1> {}; } -parameter_type_generator const parameter_type; +parameter_type_generator const parameter_type = {}; struct parameter_generator { @@ -71,7 +71,7 @@ namespace type_traits { template <> struct attributes_needed<parameter_generator> : std::integral_constant<int, 1> {}; } -parameter_generator const parameter; +parameter_generator const parameter = {}; } } } diff --git a/src/lib/eolian_cxx/grammar/string.hpp b/src/lib/eolian_cxx/grammar/string.hpp index a8a00a8..77507ce 100644 --- a/src/lib/eolian_cxx/grammar/string.hpp +++ b/src/lib/eolian_cxx/grammar/string.hpp @@ -42,7 +42,7 @@ struct { { return literal_generator(literal); } -} const lit; +} const lit = {}; // string struct string_generator @@ -143,7 +143,7 @@ struct string_generator_terminal { return specific_string_generator{string}; } -} const string; +} const string = {}; struct string_replace_terminal { @@ -151,7 +151,7 @@ struct string_replace_terminal { return string_replace_generator{from, to}; } -} const string_replace; +} const string_replace = {}; template <> struct is_generator<string_generator_terminal> : std::true_type {}; diff --git a/src/lib/eolian_cxx/grammar/type.hpp b/src/lib/eolian_cxx/grammar/type.hpp index 2ba3744..c2719c3 100644 --- a/src/lib/eolian_cxx/grammar/type.hpp +++ b/src/lib/eolian_cxx/grammar/type.hpp @@ -33,7 +33,7 @@ template <> struct attributes_needed<type_generator> : std::integral_constant<int, 1> {}; } -type_generator const type; +type_generator const type = {}; } } } --