[pdal] Re: dimension_types branch merge

Howard Butler hobu.inc at gmail.com
Wed Dec 21 11:53:42 EST 2011


On Dec 21, 2011, at 10:07 AM, Howard Butler wrote:
> 
>> [  1%] Building CXX object src/CMakeFiles/pdal.dir/plang/AstUtils.cpp.o
>> /Users/hobu/dev/git/pdal/src/plang/AstUtils.cpp: In static member function 'static pdal::plang::DataType pdal::plang::AstUtils::inferType(pdal::plang::variant_t)':
>> /Users/hobu/dev/git/pdal/src/plang/AstUtils.cpp:62: error: no matching function for call to 'apply_visitor(pdal::plang::AstUtils::inferType(pdal::plang::variant_t)::my_visitor, pdal::plang::variant_t&)'

Weirdly, this compiles with the following warnings on clang:

> /Users/hobu/dev/git/pdal/src/plang/AstUtils.cpp:62:12: warning: template argument uses local type 'pdal::plang::AstUtils::my_visitor' [-Wlocal-type-template-args]
>     return ::boost::apply_visitor(my_visitor(), value);
>            ^~
> /Users/hobu/dev/git/pdal/src/plang/AstUtils.cpp:367:13: warning: enumeration values 'NodeType_VariableUse', 'NodeType_VariableDef', and 'NodeType_Program' not handled in
>       switch [-Wswitch-enum]
>     switch (nodetype)
>             ^
> /Users/hobu/dev/git/pdal/src/plang/AstUtils.cpp:163:41: warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
>     case NodeType_Equal:     dst = left == right; break;
>                                    ~~~~ ^  ~~~~~
> /Users/hobu/dev/git/pdal/src/plang/AstUtils.cpp:270:32: note: in instantiation of function template specialization 'pdal::plang::do_equality<float>' requested here
>         case DataType_Float32: do_equality<float>(leftValue, rightValue, dstValue, nodetype); break;
>                                ^
> /Users/hobu/dev/git/pdal/src/plang/AstUtils.cpp:164:41: warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
>     case NodeType_NotEqual:  dst = left != right; break;
>                                    ~~~~ ^  ~~~~~
> /Users/hobu/dev/git/pdal/src/plang/AstUtils.cpp:163:41: warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
>     case NodeType_Equal:     dst = left == right; break;
>                                    ~~~~ ^  ~~~~~
> /Users/hobu/dev/git/pdal/src/plang/AstUtils.cpp:271:32: note: in instantiation of function template specialization 'pdal::plang::do_equality<double>' requested here
>         case DataType_Float64: do_equality<double>(leftValue, rightValue, dstValue, nodetype); break;
>                                


Howard


More information about the pdal mailing list