aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineScheduler.cpp
diff options
context:
space:
mode:
authorPavel Labath <labath@google.com>2016-12-15 09:40:27 +0000
committerPavel Labath <labath@google.com>2016-12-15 09:40:27 +0000
commit08c2e86802e5d17def4e7a3ca06104f3402706cb (patch)
tree6b30fda92f41c6cb446c1510f9e1f21875ff00c0 /llvm/lib/CodeGen/MachineScheduler.cpp
parent96e10b5a9e89e1575630212908259b177af8d748 (diff)
downloadllvm-08c2e86802e5d17def4e7a3ca06104f3402706cb.zip
llvm-08c2e86802e5d17def4e7a3ca06104f3402706cb.tar.gz
llvm-08c2e86802e5d17def4e7a3ca06104f3402706cb.tar.bz2
Simplify format member detection in FormatVariadic
Summary: This replaces the format member search, which was quite complicated, with a more direct approach to detecting whether a class should be formatted using the format-member method. Instead we use a special type llvm::format_adapter, which every adapter must inherit from. Then the search can be simply implemented with the is_base_of type trait. Aside from the simplification, I like this way more because it makes it more explicit that you are supposed to use this type only for adapter-like formattings, and the other approach (format_provider overloads) should be used as a default (a mistake I made when first trying to use this library). The only slight change in behaviour here is that now choose the format-adapter branch even if the format member invocation will fail to compile (e.g. because it is a non-const member function and we are passing a const adapter), whereas previously we would have gone on to search for format_providers for the type. However, I think that is actually a good thing, as it probably means the programmer did something wrong. Reviewers: zturner, inglorion Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D27679 llvm-svn: 289795
Diffstat (limited to 'llvm/lib/CodeGen/MachineScheduler.cpp')
0 files changed, 0 insertions, 0 deletions