llvm-project/clang/test
Jordan Rose 9503501dae [analyzer] When forced to fake a block type, do it correctly.
BlockDecl has a poor AST representation because it doesn't carry its type
with it. Instead, the containing BlockExpr has the full type. This almost
never matters for the analyzer, but if the block decl contains static
local variables we need to synthesize a region to put them in, and this
region will necessarily not have the right type.

Even /that/ doesn't matter, unless

(1) the block calls the function or method containing the block, and
(2) the value of the block expr is used in some interesting way.

In this case, we actually end up needing the type of the block region,
and it will be set to our synthesized type. It turns out we've been doing
a terrible job faking that type -- it wasn't a block pointer type at all.
This commit fixes that to at least guarantee a block pointer type, using
the signature written by the user if there is one.

This is not really a correct answer because the block region's type will
/still/ be wrong, but further efforts to make this right in the analyzer
would probably be silly. We should just change the AST.

rdar://problem/21698099

llvm-svn: 241944
2015-07-10 21:41:59 +00:00
..
ARCMT Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
ASTMerge [Hexagon] Reapply 238773 after fix to LLVM. 2015-06-03 17:34:22 +00:00
Analysis [analyzer] When forced to fake a block type, do it correctly. 2015-07-10 21:41:59 +00:00
CXX Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
CodeCompletion [Preprocessor] Iterating over all macros should include those from modules. 2015-06-24 19:27:02 +00:00
CodeGen [MS ABI] Don't generates code for unreferenced inline definitions of library builtins 2015-07-10 20:55:38 +00:00
CodeGenCUDA [cuda] Fixed test case failure on s390x 2015-05-11 18:35:58 +00:00
CodeGenCXX Respect alignment when loading up a coerced function argument 2015-07-10 11:31:43 +00:00
CodeGenObjC Substitute type arguments into uses of Objective-C interface members. 2015-07-07 03:57:53 +00:00
CodeGenObjCXX Implement the Objective-C __kindof type qualifier. 2015-07-07 03:58:42 +00:00
CodeGenOpenCL Account for calling convention specifiers in function definitions in IR test cases 2015-06-29 17:29:50 +00:00
Coverage
CoverageMapping InstrProf: Pack the coverage mapping structs that we write out 2015-07-02 00:42:32 +00:00
Driver Add an experimental flag -fsanitize-memory-use-after-dtor. 2015-07-10 20:07:16 +00:00
FixIt Replace __double_underscored type nullability qualifiers with _Uppercase_underscored 2015-06-24 22:02:08 +00:00
Format Disable style-on-command-line test on Windows 2015-06-09 17:47:59 +00:00
Frontend Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
Headers Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
Index Try to fix the test harder, it still fails on windows for unknown reasons. 2015-07-10 13:04:41 +00:00
Integration
Layout __declspec is not a core Clang language extension. Instead, require -fms-extensions or -fborland to enable the language extension. 2015-05-26 19:44:52 +00:00
Lexer [ASan] Initial support for Kernel AddressSanitizer 2015-06-19 12:19:07 +00:00
Misc Reenable Misc/interpreter.c as r239388 correctly handles such targets 2015-06-09 06:33:13 +00:00
Modules [modules] Fix "prefer own module over others" rule when selecting a module for a header to work in the presence of module hierarchy. 2015-07-10 20:09:49 +00:00
OpenMP Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
PCH Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
Parser Revert "parser: wordsmith diagnostic message" and "parser: diagnose empty attribute blocks" 2015-07-08 05:55:00 +00:00
Preprocessor Avoid false positive/negative test results from line directive interference.NFC. 2015-06-26 17:49:10 +00:00
Profile Tweak a couple of -fprofile tests in clang/test to accept backslash in path. 2015-07-10 13:11:08 +00:00
Rewriter __declspec is not a core Clang language extension. Instead, require -fms-extensions or -fborland to enable the language extension. 2015-05-26 19:44:52 +00:00
Sema Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
SemaCUDA [cuda] Preserve TLS storage class of host variable even if it's a 2015-04-28 20:31:49 +00:00
SemaCXX PR24030, PR24033: Consistently check whether a new declaration conflicts with 2015-07-06 04:43:58 +00:00
SemaObjC s/__nonnull/_Nonnull in a test for Objective-C __kindof. 2015-07-07 06:20:41 +00:00
SemaObjCXX Implement variance for Objective-C type parameters. 2015-07-07 03:58:54 +00:00
SemaOpenCL Restores r228382, which was reverted in r228406. 2015-02-25 05:48:23 +00:00
SemaTemplate DR1909: Diagnose all invalid cases of a class member sharing its name with the class. 2015-07-06 01:45:27 +00:00
TableGen
Tooling Change the expectation for test/Tooling/ms-asm-no-target.cpp since 2015-07-08 01:39:38 +00:00
Unit
VFS Commit some test changes somehow missed in r239789. 2015-06-16 00:19:29 +00:00
.clang-format
CMakeLists.txt Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
Makefile
TestRunner.sh
cxx-sections.data
lit.cfg test: Set lit features appropriately when using asan and ubsan together 2015-06-22 18:47:10 +00:00
lit.site.cfg.in Check for backtraces in tests which are verifying pretty stack traces from a crashing clang. 2015-02-10 19:53:38 +00:00
make_test_dirs.pl