HomePhabricator

[Lexer] Don't merge macro args from different macro files

Authored by vsk on May 19 2016, 4:44 PM.

Description

[Lexer] Don't merge macro args from different macro files

The lexer sets the end location of macro arguments incorrectly *if*,
while merging consecutive args to fit into a single SLocEntry, it finds
args which come from different macro files.

Fix the issue by using separate SLocEntries in this situation.

This fixes a code coverage crasher (rdar://problem/26181005). Because
the lexer reported end locations for certain macro args incorrectly, we
would generate bogus coverage mappings with negative line offsets.

Reviewed-by: akyrtzi

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

llvm-svn: 270160

Details

Committed
vskMay 19 2016, 4:44 PM
Differential Revision
D20401: [Lexer] Don't merge macro args from different macro files
Parents
rGdb373bed662d: [obj2yaml] [yaml2obj] Adding a test for r270124
Branches
Unknown
Tags
Unknown