HomePhabricator

Simplify <type_traits> implementations.

Authored by EricWF on Aug 2 2019, 10:01 PM.

Description

Simplify <type_traits> implementations.

This patch rewrites a number of old meta-function implementations
that assumed const/volatile could not be safely applied to all types.
This is no longer the case, though for some types (Ex function types),
the const qualifier can be ignored.

The largest improvement in this patch is the reduction of is_function.
Thanks to Matt Calabrese for the improved implementation.

llvm-svn: 367749

Details

Committed
EricWFAug 2 2019, 10:01 PM
Parents
rG96bb3472058c: [Attributor] Fix dereferenceable callsite argument initialization
Branches
Unknown
Tags
Unknown