Owen Anderson
3bbcbeaeff
v2f16 is a floating point type. Add symbolic floating point type ranges to prevent this kind of issue in the future.
...
llvm-svn: 150416
2012-02-13 21:47:20 +00:00
Fariborz Jahanian
1c1da171a8
modern objc translator. More ivar rewrite work.
...
llvm-svn: 150415
2012-02-13 21:34:45 +00:00
Kostya Serebryany
fcd535ba6c
[asan] implement __asan_set_death_callback
...
llvm-svn: 150414
2012-02-13 21:24:29 +00:00
Fariborz Jahanian
75e71b99ec
objc modern translator. ivar offset symbols.
...
llvm-svn: 150413
2012-02-13 20:59:02 +00:00
Anna Zaks
8fd0f2a6cb
[analyzer] Malloc Checker: realloc: correct the way we are handing the
...
case when size is 0.
llvm-svn: 150412
2012-02-13 20:57:07 +00:00
Andrew Trick
5188c0020c
LiveIntervalAnalysis does not depend on MachineLoopInfo.
...
llvm-svn: 150411
2012-02-13 20:44:42 +00:00
Dmitri Gribenko
5dc3a6936d
Add a script that produces a list of all diagnostics that are defined in
...
Diagnostic*.td files but not used in sources.
llvm-svn: 150410
2012-02-13 20:21:52 +00:00
Dmitri Gribenko
c233a545e8
Remove unused diagnostics from include/clang/Basic/Diagnostic*.td files.
...
llvm-svn: 150409
2012-02-13 20:13:24 +00:00
Sebastian Redl
2b80af4949
Don't route explicit construction via list-initialization through the functional cast code path. It sometimes does the wrong thing, produces horrible error messages, and is just unnecessary.
...
llvm-svn: 150408
2012-02-13 19:55:43 +00:00
Matt Beaumont-Gay
f2ee0679aa
Sink variable into assert
...
llvm-svn: 150407
2012-02-13 19:29:45 +00:00
Fariborz Jahanian
c3cdc41ac7
objective-c translator: more rewriting of ivar types
...
into a c-type which closely matches the objective-c type.
llvm-svn: 150406
2012-02-13 18:57:49 +00:00
Dylan Noblesmith
c6c7a5819d
add LLVM_VERSION_MAJOR and _MINOR defines
...
This is useful for clients that want to maintain compatibility
across multiple releases of LLVM. Currently users like Klee and
Mesa all have to roll their own 'parse llvm-config --version
output and generate defines' solution.
Also reuse the new macros so that version information is less
redundant/likely to fall out of sync again in the future.
llvm-svn: 150405
2012-02-13 18:48:10 +00:00
Jakob Stoklund Olesen
6f8fe71216
Check regmask interference for -join-physregs.
...
llvm-svn: 150404
2012-02-13 18:17:04 +00:00
Chad Rosier
636d283202
When generating diagnostic information due to a clang failure, allow multiple
...
-arch options if the're all the same.
Patch by Jeremy Huddleston.
rdar://10849701
llvm-svn: 150403
2012-02-13 18:16:28 +00:00
Anna Zaks
d56c8794d3
[analyzer] Malloc checker: rework realloc handling:
...
1) Support the case when realloc fails to reduce False Positives. (We
essentially need to restore the state of the pointer being reallocated.)
2) Realloc behaves differently under special conditions (from pointer is
null, size is 0). When detecting these cases, we should consider
under-constrained states (size might or might not be 0). The
old version handled this in a very hacky way. The code did not
differentiate between definite and possible (no consideration for
under-constrained states). Further, after processing each special case,
the realloc processing function did not return but chained to the next
special case processing. So you could end up in an execution in which
you first see the states in which size is 0 and realloc ~ free(),
followed by the states corresponding to size is not 0 followed by the
evaluation of the regular realloc behavior.
llvm-svn: 150402
2012-02-13 18:05:39 +00:00
Douglas Gregor
e556163a66
Split the storage of lambda information between the LambdaExpr and the
...
CXXRecordDecl in a way that actually makes some sense:
- LambdaExpr contains all of the information for initializing the
lambda object, including the capture initializers and associated
array index variables.
- CXXRecordDecl's LambdaDefinitionData contains the captures, which
are needed to understand the captured variable references in the
body of the lambda.
llvm-svn: 150401
2012-02-13 17:20:40 +00:00
Alexander Potapenko
438447a7f3
Fix compilation on Mac.
...
llvm-svn: 150400
2012-02-13 17:14:31 +00:00
Alexander Potapenko
234d8c2168
Lint fix
...
llvm-svn: 150399
2012-02-13 17:11:19 +00:00
Alexander Potapenko
720aaefb8d
Move the non-trivial implementation of AsanShadowRangeIsAvailable to asan_mac.cc
...
to avoid crashes on Linux and Win.
llvm-svn: 150398
2012-02-13 17:09:40 +00:00
Benjamin Kramer
31ae8b62ea
Remove empty directories.
...
llvm-svn: 150397
2012-02-13 16:40:26 +00:00
Douglas Gregor
54fcea6e16
Keep track of the set of array index variables we use when we
...
synthesize a by-copy captured array in a lambda. This information will
be needed by IR generation.
llvm-svn: 150396
2012-02-13 16:35:30 +00:00
Benjamin Kramer
f299a55482
Remove empty directories left behind by git-svn.
...
llvm-svn: 150395
2012-02-13 16:32:02 +00:00
Douglas Gregor
1db5f1f1a0
Don't allocate unused storage for captures/capture initializers in lambda expressions
...
llvm-svn: 150394
2012-02-13 15:51:35 +00:00
Douglas Gregor
c8a734938b
Move the storage of lambda captures and capture initializers from
...
LambdaExpr over to the CXXRecordDecl. This allows us to eliminate the
back-link from the closure type to the LambdaExpr, which will simplify
and lazify AST deserialization.
llvm-svn: 150393
2012-02-13 15:44:47 +00:00
Alexander Potapenko
ef4521e239
Check whether the shadow memory range intersects with an existing mapping.
...
This should help to detect problems with ASLR or linker tricks early.
llvm-svn: 150391
2012-02-13 15:11:23 +00:00
Eric Christopher
fe52523b4c
Add back in the code to create forward decls using temporary mdnodes.
...
llvm-svn: 150390
2012-02-13 15:08:45 +00:00
Eric Christopher
d752e3d280
Testcase for previous commit.
...
PR11970.
llvm-svn: 150389
2012-02-13 15:04:15 +00:00
Eric Christopher
8a41bd88d7
Temporarily walk back a few of my recent debug info limiting changes
...
while reworking how we handle wanting to emit only parts of structures.
Fixes PR11970.
llvm-svn: 150388
2012-02-13 14:56:11 +00:00
Dylan Noblesmith
043fdf091d
StaticAnalyzer/Core: fix MSVC build
...
Fix build breakage from r150378: MSVC only allows taking the
address of a member function using the &ClassName::Function
syntax.# It was giving
llvm-svn: 150387
2012-02-13 14:22:35 +00:00
Alexey Samsonov
ea308d876b
AddressSanitizer: re-enable lint for output tests
...
llvm-svn: 150386
2012-02-13 14:18:36 +00:00
Alexey Samsonov
54671b63be
AddressSanitizer: fix llvm headers in output tests
...
llvm-svn: 150385
2012-02-13 14:05:07 +00:00
Alexey Samsonov
633c8be0ae
AddressSanitizer: remove match_output.py, split expected output into OS-specific and OS-independent parts
...
llvm-svn: 150384
2012-02-13 13:59:24 +00:00
Nadav Rotem
0c65064dbe
Fix a bug in DAGCombine for the optimization of BUILD_VECTOR. We cant generate a shuffle node from two vectors of different types.
...
llvm-svn: 150383
2012-02-13 12:42:26 +00:00
Evgeniy Stepanov
c5d845dc09
[asan] Add a missing include.
...
llvm-svn: 150382
2012-02-13 12:37:56 +00:00
Evgeniy Stepanov
450c123218
[asan] Add a missing return.
...
It is technically reachable on Android, where pthread_exit is not
marked noreturn.
llvm-svn: 150381
2012-02-13 12:36:44 +00:00
Dylan Noblesmith
f1a13f29f2
drop more llvm:: prefixes on SmallString<>
...
More cleanup after r149799.
llvm-svn: 150380
2012-02-13 12:32:26 +00:00
Dylan Noblesmith
1cd1069b68
drop more llvm:: prefixes on OwningPtr<>
...
More cleanup after r149798.
llvm-svn: 150379
2012-02-13 12:32:21 +00:00
Dylan Noblesmith
01b2c9e82f
examples/analyzer-plugin: hook up to build
...
This was never being compiled at all and was bitrotting
as a result.
Also compile SampleAnalyzerPlugin as a module, not a library,
and fix a mistake with not passing the source files
to add_clang_library().
llvm-svn: 150378
2012-02-13 12:32:15 +00:00
Tobias Grosser
04eadc476e
tests: Replace . by %s
...
llvm-svn: 150377
2012-02-13 12:29:43 +00:00
Tobias Grosser
5c853bab78
CodeGen: Remove unused variable.
...
llvm-svn: 150376
2012-02-13 12:29:34 +00:00
Alexey Samsonov
92a0b806a6
AddressSanitizer: Convert templates for output tests to FileCheck format and move them inside sources
...
llvm-svn: 150375
2012-02-13 12:21:58 +00:00
Evgeniy Stepanov
b25d0d2318
[asan] Return type of index() is char*.
...
This is important for Android, where we can't keep system headers
from leaking into asan_interceptors.cc.
llvm-svn: 150374
2012-02-13 12:12:32 +00:00
Evgeniy Stepanov
da7522b551
[asan] Disable signal&sigaction interceptors on Android.
...
llvm-svn: 150373
2012-02-13 12:04:36 +00:00
Evgeniy Stepanov
45fd36110b
[asan] Default visibility for __asan_handle_no_return.
...
llvm-svn: 150372
2012-02-13 11:55:24 +00:00
Evgeniy Stepanov
56ae29f92d
[asan] Fix a crash in GetCurrent() of an undead thread.
...
llvm-svn: 150371
2012-02-13 11:53:24 +00:00
Hans Wennborg
f81b9d172a
Fix typo in PrintfConversionSpecifier::isDoubleArg()
...
This makes the printf diagnostics issue warnigns for %a, %A, %e, etc.
when used with the wrong argument.
llvm-svn: 150370
2012-02-13 10:32:27 +00:00
Ahmed Charles
8427eda045
Remove duplicate code in this header file which seemed to undergo a copy/paste fiasco.
...
llvm-svn: 150369
2012-02-13 09:45:36 +00:00
Alexey Samsonov
6e6083f4b1
AddressSanitizer: fix path to FileCheck in makefiles
...
llvm-svn: 150368
2012-02-13 09:14:31 +00:00
Alexey Samsonov
b30df37ebf
AddressSanitizer: move output tests to a separate directory
...
llvm-svn: 150367
2012-02-13 08:50:21 +00:00
Alexey Samsonov
f9affd3a0c
AddressSanitizer: Use FileCheck instead of grep for pure C output tests
...
llvm-svn: 150366
2012-02-13 08:27:10 +00:00