HomePhabricator

Add a callback for `__has_include` and use it for dependency scanning.

Description

Add a callback for __has_include and use it for dependency scanning.

This adds a preprocessor callback for the __has_include and
__has_include_next directives.

Successful checking for the presence of a header should add it to the list of
header dependencies so this overrides the callback in the dependency scanner.

Patch by Pete Cooper with some additions by me.

rdar://problem/39545636

Differential Revision: https://reviews.llvm.org/D30882