llvm-project/clang/test/CoverageMapping
Vedant Kumar a14a1f923f [Parse] Forward brace locations to TypeConstructExpr
When parsing C++ type construction expressions with list initialization,
forward the locations of the braces to Sema.

Without these locations, the code coverage pass crashes on the given test
case, because the pass relies on getLocEnd() returning a valid location.

Here is what this patch does in more detail:

  - Forwards init-list brace locations to Sema (ParseExprCXX),
  - Builds an InitializationKind with these locations (SemaExprCXX), and
  - Uses these locations for constructor initialization (SemaInit).

The remaining changes fall out of introducing a new overload for
creating direct-list InitializationKinds.

Testing: check-clang, and a stage2 coverage-enabled build of clang with
asserts enabled.

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

llvm-svn: 322729
2018-01-17 18:53:51 +00:00
..
Inputs [Coverage] Emit deferred regions in headers 2017-11-09 02:33:40 +00:00
abspath.cpp [clang] Get rid of "%T" expansions 2017-08-15 19:47:06 +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 [Coverage] Emit gap areas in braces-optional statements (PR35387) 2017-11-29 22:25:14 +00:00
builtinmacro.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
casts.c [Coverage] Emit a gap area after if conditions 2017-11-09 02:33:38 +00:00
classtemplate.cpp [Parse] Forward brace locations to TypeConstructExpr 2018-01-17 18:53:51 +00:00
comment-in-macro.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
continue.c [Coverage] Emit gap areas in braces-optional statements (PR35387) 2017-11-29 22:25:14 +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
deferred-region.cpp [Coverage] Emit deferred regions in headers 2017-11-09 02:33:40 +00:00
empty-destructor.cpp [Coverage] Avoid null deref in skipRegionMappingForDecl (fixes PR32761) 2017-04-24 20:52:04 +00:00
header.cpp [Coverage] Add an option to emit limited coverage info 2017-09-22 18:23:04 +00:00
if.cpp [Coverage] Emit gap areas in braces-optional statements (PR35387) 2017-11-29 22:25:14 +00:00
implicit-def-in-macro.m Suppress uninteresting warnings in test/CoverageMapping, NFC. 2017-02-25 07:05:41 +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 [Coverage] Emit gap areas in braces-optional statements (PR35387) 2017-11-29 22:25:14 +00:00
ir.c Restrengthen tests relaxed in r259955 2016-02-17 00:58:13 +00:00
label.cpp [Coverage] Emit gap areas in braces-optional statements (PR35387) 2017-11-29 22:25:14 +00:00
lambda.cpp [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
logical.cpp [Coverage] Explicitly mark the l.h.s of && and || (fixes PR33465) 2017-10-17 06:51:54 +00:00
loopmacro.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
loops.cpp [Coverage] Emit gap areas in braces-optional statements (PR35387) 2017-11-29 22:25:14 +00:00
macro-expansion.c [Coverage] Emit a gap area after if conditions 2017-11-09 02:33:38 +00:00
macro-expressions.cpp [Coverage] Emit gap areas in braces-optional statements (PR35387) 2017-11-29 22:25:14 +00:00
macroception.c [Coverage] Suppress creating a code region if the same area is covered by an expansion region. 2016-08-31 07:04:16 +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 [Coverage] Emit gap areas in braces-optional statements (PR35387) 2017-11-29 22:25:14 +00:00
macroscopes.cpp [Coverage] Emit a gap area after if conditions 2017-11-09 02:33:38 +00:00
md.cpp [coverage] Special-case calls to noreturn functions. 2017-08-08 20:10:14 +00:00
moremacros.c [Coverage] Emit a gap area after if conditions 2017-11-09 02:33:38 +00:00
nestedclass.cpp [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
objc.m [Coverage] Emit gap areas in braces-optional statements (PR35387) 2017-11-29 22:25:14 +00:00
pr32679.cpp [Coverage] Don't emit mappings for functions in dependent contexts (fixes PR32679) 2017-04-19 17:58:30 +00:00
preprocessor.c [Coverage] Emit a gap area after if conditions 2017-11-09 02:33:38 +00:00
return.c [Coverage] Emit gap areas in braces-optional statements (PR35387) 2017-11-29 22:25:14 +00:00
switch.cpp [Coverage] Emit a gap area after if conditions 2017-11-09 02:33:38 +00:00
switchmacro.c [Coverage] Complete top-level deferred regions before labels 2017-11-09 02:33:39 +00:00
system_macro.cpp [Coverage] Do not write out coverage mappings with zero entries 2016-07-26 00:24:59 +00:00
templates.cpp [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
test.c [Coverage] Emit gap areas in braces-optional statements (PR35387) 2017-11-29 22:25:14 +00:00
trycatch.cpp [Coverage] Emit a gap area after if conditions 2017-11-09 02:33:38 +00:00
trymacro.cpp [Coverage] Push a new region when handling CXXTryStmts 2016-06-22 19:57:58 +00:00
unreachable-macro.c [PGO] cc1 option name change for profile instrumentation 2016-02-04 18:39:09 +00:00
unused_function.cpp Reapply [Coverage] Fix an assertion failure if the definition of an unused function spans multiple files. 2016-06-07 10:07:51 +00:00
unused_names.c clang/test/CoverageMapping/unused_names.c: Relax an expression for targeting PECOFF. 2017-04-14 03:16:48 +00:00
while.c [Coverage] Emit gap areas in braces-optional statements (PR35387) 2017-11-29 22:25:14 +00:00