[cfe-dev] Clang types and LLVM types
Sebastian Redl
sebastian.redl at getdesigned.at
Sat May 1 03:30:44 PDT 2010
Hi,
I'm hunting a miscompilation in Boost.PropertyTree, and there's
something in the generated bitcode that I find suspect. Namely, I have
this function in the source:
template<class Ptree>
void read_json_internal(std::basic_istream<typename
Ptree::key_type::value_type> &stream,
Ptree &pt,
const std::string &filename)
And in the bitcode, it becomes:
define linkonce_odr void
@_ZN5boost13property_tree11json_parser18read_json_internalINS0_11basic_ptreeISsSsSt4lessISsEEEEEvRSt13basic_istreamINT_8key_type10value_typeESt11char_traitsIS9_EERS8_RKSs(%"class.std::basic_istream"*
%stream, %"class.boost::property_tree::basic_ptree"* %pt,
%"class.boost::spirit::classic::parser_id"* %filename) {
Note the 'filename' argument, whose type has changed to parser_id. Is
this a natural consequence of structural type matching, or is this
actually something to be worried about?
Sebastian
More information about the cfe-dev
mailing list