HomePhabricator

[API Notes] Allow removal of explicit attributes via versioned API notes.
679b3f556568Unpublished

Authored by doug.gregor on Oct 4 2016, 11:30 AM.

Unpublished Commit ยท Learn More

Not On Permanent Ref: This commit is not an ancestor of any permanent ref.

Description

[API Notes] Allow removal of explicit attributes via versioned API notes.

Teach API notes to distinguish between unspecified API notes and
false/empty API notes. When a versioned API note explicitly specifies
an empty/false state, *remove* an the corresponding attribute from the
AST even when it was explicitly specified in the source. This allows
headers to move forward while API notes provide backward compatibility.

Another part of rdar://problem/28455809.

apple-llvm-split-commit: 1fbea6c310b39c87e1f78e56430569a9dcd75488
apple-llvm-split-dir: clang/

Details

Committed
doug.gregorOct 4 2016, 2:27 PM
Parents
rG1e92684e88ab: [API Notes] Allow versioned API notes to override information in headers.
Branches
Unknown
Tags
Unknown