llvm-project/clang/test/CoverageMapping
Vedant Kumar 95a2a7f2a1 [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
2016-05-19 23:44:02 +00:00
..
Inputs [Lexer] Don't merge macro args from different macro files 2016-05-19 23:44:02 +00:00
block-storage-starts-region.m [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
break.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
builtinmacro.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
casts.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
classtemplate.cpp [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
comment-in-macro.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
continue.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
control-flow-macro.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
decl.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
header.cpp [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
if.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
implicit-def-in-macro.m [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
include-macros.c [Lexer] Don't merge macro args from different macro files 2016-05-19 23:44:02 +00:00
includehell.cpp [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
ir.c Restrengthen tests relaxed in r259955 2016-02-17 00:58:13 +00:00
label.cpp [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
lambda.cpp [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
logical.cpp [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
loopmacro.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
loops.cpp [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
macro-expansion.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
macro-expressions.cpp [Coverage] Fix crash when handling certain macro expansions 2016-02-08 19:25:45 +00:00
macroception.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
macroparams.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
macroparams2.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
macros.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
macroscopes.cpp [Coverage] Fix an issue where a coverage region might not be created for a macro containing a loop statement. 2016-05-04 15:38:26 +00:00
md.cpp [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
moremacros.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
nestedclass.cpp [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
objc.m [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
preprocessor.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
return.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
switch.c [Coverage] Fix the start/end locations of switch statements 2016-03-04 08:07:15 +00:00
switchmacro.c [Coverage] Fix the start/end locations of switch statements 2016-03-04 08:07:15 +00:00
system_macro.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
templates.cpp [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
test.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
trycatch.cpp [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
trymacro.cpp [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
unreachable-macro.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
unused_names.c Restrengthen tests relaxed in r259955 2016-02-17 00:58:13 +00:00
while.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00