Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unbreak build with libc++ #189

Closed
wants to merge 3 commits into from
Closed

Unbreak build with libc++ #189

wants to merge 3 commits into from

Conversation

jbeich
Copy link
Contributor

@jbeich jbeich commented Aug 4, 2021

Fixes #184

In file included from IGC/VectorCompiler/lib/GenXCodeGen/GenXNumbering.cpp:16:
IGC/VectorCompiler/lib/GenXCodeGen/GenXNumbering.h:94:8: error: no template named 'unordered_multimap' in namespace 'std'
  std::unordered_multimap<unsigned, std::pair<PHINode *, unsigned>>
  ~~~~~^
IGC/VectorCompiler/lib/GenXCodeGen/GenXNumbering.h:129:8: error: no template named 'unordered_map' in namespace 'std'
  std::unordered_map<PHINode *, unsigned>
  ~~~~~^
In file included from IGC/VectorCompiler/lib/GenXOpts/CMTrans/GenXPrintfLegalization.cpp:39:
IGC/VectorCompiler/include/vc/Utils/General/InstRebuilder.h:148:8: error: no template named 'unordered_map' in namespace 'std'; did you mean 'unordered_set'?
  std::unordered_map<llvm::Instruction *, llvm::Value *> Replacement;
  ~~~~~^~~~~~~~~~~~~
       unordered_set
In file included from visa/iga/IGALibrary/IR/DUAnalysis.cpp:30:
In file included from visa/iga/IGALibrary/IR/DUAnalysis.hpp:12:
In file included from visa/iga/IGALibrary/IR/../IR/RegSet.hpp:17:
In file included from visa/iga/IGALibrary/IR/../IR/Kernel.hpp:19:
In file included from visa/iga/IGALibrary/IR/Block.hpp:21:
/usr/include/c++/v1/map:710:17: error: no viable overloaded '='
        __ref() = __v.__get_value();
        ~~~~~~~ ^ ~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/__tree:1660:39: note: in instantiation of member function 'std::__value_type<iga::Instruction *, LivePath>::operator=' requested here
            __cache.__get()->__value_ = *__first;
                                      ^
/usr/include/c++/v1/__tree:1617:9: note: in instantiation of function template specialization 'std::__tree<std::__value_type<iga::Instruction *, LivePath>, std::__map_value_compare<iga::Instruction *, std::__value_type<iga::Instruction *, LivePath>, std::less<iga::Instruction *>, true>, std::allocator<std::__value_type<iga::Instruction *, LivePath>>>::__assign_multi<std::__tree_const_iterator<std::__value_type<iga::Instruction *, LivePath>, std::__tree_node<std::__value_type<iga::Instruction *, LivePath>, void *> *, long>>' requested here
        __assign_multi(__t.begin(), __t.end());
        ^
/usr/include/c++/v1/map:1016:21: note: in instantiation of member function 'std::__tree<std::__value_type<iga::Instruction *, LivePath>, std::__map_value_compare<iga::Instruction *, std::__value_type<iga::Instruction *, LivePath>, std::less<iga::Instruction *>, true>, std::allocator<std::__value_type<iga::Instruction *, LivePath>>>::operator=' requested here
            __tree_ = __m.__tree_;
                    ^
visa/iga/IGALibrary/IR/DUAnalysis.cpp:1043:11: note: in instantiation of member function 'std::map<iga::Instruction *, LivePath>::operator=' requested here
            to = from;
               ^
/usr/include/c++/v1/utility:512:11: note: candidate function not viable: no known conversion from 'const std::__value_type<iga::Instruction *, LivePath>::value_type' (aka 'const pair<iga::Instruction *const, LivePath>') to 'const typename conditional<is_copy_assignable<first_type>::value && is_copy_assignable<second_type>::value, pair<Instruction *&, LivePath &>, __nat>::type' (aka 'const std::__nat') for 1st argument
    pair& operator=(typename conditional<
          ^
/usr/include/c++/v1/utility:525:11: note: candidate function not viable: no known conversion from 'const std::__value_type<iga::Instruction *, LivePath>::value_type' (aka 'const pair<iga::Instruction *const, LivePath>') to 'typename conditional<is_move_assignable<first_type>::value && is_move_assignable<second_type>::value, pair<Instruction *&, LivePath &>, __nat>::type' (aka 'std::__nat') for 1st argument
    pair& operator=(typename conditional<
          ^
/usr/include/c++/v1/utility:334:62: note: candidate template ignored: disabled by 'enable_if' [with _Tuple = const std::pair<iga::Instruction *const, LivePath> &]
    using _EnableB _LIBCPP_NODEBUG_TYPE = typename enable_if<_Val, bool>::type;
                                                             ^
/usr/include/c++/v1/utility:297:29: note: candidate function (the implicit copy assignment operator) not viable: no known conversion from 'const pair<const std::__value_type<iga::Instruction *, LivePath>::key_type, std::__value_type<iga::Instruction *, LivePath>::mapped_type>' to 'const pair<iga::Instruction *&, LivePath &>' for 1st argument
struct _LIBCPP_TEMPLATE_VIS pair
                            ^
1 error generated.
@pszymich
Copy link
Contributor

Hello @jbeich,

You change has been merged through internal process, you can check your commit here: be6f665

Thank you for your contribution!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fails to build with libc++ from LLVM 10
2 participants