Skip to content
Snippets Groups Projects
  • Felix Gruber's avatar
    0bf54add
    fix -Winjected-class-name warnings in Clang · 0bf54add
    Felix Gruber authored
    When compiling with Clang 5.0.1 one gets two warnings about nested type
    specifiers that were probably not intended to be there in the first
    place. The first one is asking a *_t type trait for ::type and the
    second one is asking for Entity::Entity.
    
    The exact warnings given by Clang were:
    
    /duneci/modules/dune-subgrid/dune/subgrid/common/variant.hh:31:66: warning: ISO C++ specifies that qualified reference to 'type' is a constructor name rather than a type in this context, despite preceding 'typename' keyword [-Winjected-class-name]
        using Storage = typename std::aligned_storage_t<sizeof(Tp)>::type;
                                                                     ^
    
    /duneci/modules/dune-subgrid/dune/subgrid/subgrid.hh:1190:67: warning: ISO C++ specifies that qualified reference to 'Entity' is a constructor name rather than a type in this context, despite preceding 'typename' keyword [-Winjected-class-name]
                typedef typename HostGrid::template Codim<0>::Entity::Entity HostGridElement;
                                                                      ^
    0bf54add
    History
    fix -Winjected-class-name warnings in Clang
    Felix Gruber authored
    When compiling with Clang 5.0.1 one gets two warnings about nested type
    specifiers that were probably not intended to be there in the first
    place. The first one is asking a *_t type trait for ::type and the
    second one is asking for Entity::Entity.
    
    The exact warnings given by Clang were:
    
    /duneci/modules/dune-subgrid/dune/subgrid/common/variant.hh:31:66: warning: ISO C++ specifies that qualified reference to 'type' is a constructor name rather than a type in this context, despite preceding 'typename' keyword [-Winjected-class-name]
        using Storage = typename std::aligned_storage_t<sizeof(Tp)>::type;
                                                                     ^
    
    /duneci/modules/dune-subgrid/dune/subgrid/subgrid.hh:1190:67: warning: ISO C++ specifies that qualified reference to 'Entity' is a constructor name rather than a type in this context, despite preceding 'typename' keyword [-Winjected-class-name]
                typedef typename HostGrid::template Codim<0>::Entity::Entity HostGridElement;
                                                                      ^
Code owners
Assign users and groups as approvers for specific file changes. Learn more.