This is an archive of the discontinued LLVM Phabricator instance.

Fix PR20081: Properly parse >>> template endings when in CUDA mode and C++11
ClosedPublic

Authored by eliben on Jun 19 2014, 2:15 PM.

Details

Summary

The template parsing code has special provision for encountering the '>>' token at the end of a template list for C++11. When the language is CUDA, '>>>' is lexed as a single token (tok::greatergreatergreater), and this should also be taken into account. The code in the template parser is already almost correct for handling this case. However, due to r209824 which masked CUDA in C++11 mode, we uncover a bug wherein the parsing actually fails for '-x cuda -std=c++11'.

See PR20081 for more details.

Diff Detail

Event Timeline

eliben updated this revision to Diff 10659.Jun 19 2014, 2:15 PM
eliben retitled this revision from to Fix PR20081: Properly parse >>> template endings when in CUDA mode and C++11.
eliben updated this object.
eliben edited the test plan for this revision. (Show Details)
eliben added reviewers: rsmith, thakis, echristo.
eliben added a subscriber: Unknown Object (MLST).
eliben updated this revision to Diff 10661.Jun 19 2014, 3:07 PM

Updated the patch with somewhat more rigorous tests

rsmith accepted this revision.Jun 20 2014, 12:32 AM
rsmith edited edge metadata.

LGTM

This revision is now accepted and ready to land.Jun 20 2014, 12:32 AM
eliben closed this revision.Jun 20 2014, 6:18 AM