HomePhabricator

Allow for unfinished #if blocks in preambles

Description

Allow for unfinished #if blocks in preambles

Previously, a preamble only included #if blocks (and friends like
ifdef) if there was a corresponding #endif before any declaration or
definition. The problem is that any header file that uses include guards
will not have a preamble generated, which can make code-completion very
slow.

To prevent errors about unbalanced preprocessor conditionals in the
preamble, and unbalanced preprocessor conditionals after a preamble
containing unfinished conditionals, the conditional stack is stored
in the pch file.

This fixes PR26045.

Differential Revision: http://reviews.llvm.org/D15994

Details

Committed
erikjvMay 30 2017, 4:54 AM
Differential Revision
D15994: Allow for unfinished #if blocks in preambles.
Parents
rL304206: [ELF] Add .ARM.exidx sentinel section to an OutputSectionDescription
Branches
Unknown
Tags
Unknown