HomePhabricator

Concepts: Create space for requires-clause in TemplateParameterList; NFC

Authored by hubert.reinterpretcast on Jul 19 2016, 5:30 PM.

Description

Concepts: Create space for requires-clause in TemplateParameterList; NFC

Summary:
Space for storing the constraint-expression of the
requires-clause associated with a TemplateParameterList is
arranged by taking a bit out of the NumParams field for the purpose
of determining whether there is a requires-clause or not, and by
adding to the trailing objects tied to the TemplateParameterList. An
accessor is provided.

An appropriate argument is supplied to TemplateParameterList::Create
at the various call sites.

Serialization changes will addressed as the Concepts implementation
becomes more solid.

Drive-by fix:
This change also replaces the custom
FixedSizeTemplateParameterListStorage implementation with one that
follows the interface provided by llvm::TrailingObjects.

Reviewers: aaron.ballman, faisalv, rsmith

Subscribers: cfe-commits, nwilson

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

llvm-svn: 276069