Chad Rosier
c0ea158a2b
Revert r151317 - Rework PathDiagnostics creation.. - to appease buildbots.
...
llvm-svn: 151338
2012-02-24 02:06:33 +00:00
Argyrios Kyrtzidis
ffe055a86f
[PCH] When keeping track of top-level decls for "targeted deserialization"
...
make sure we don't mistake ParmVarDecls for top-level decls.
Fixes rdar://10920009.
llvm-svn: 151330
2012-02-24 01:12:38 +00:00
Ted Kremenek
f2131e7d95
Rework PathDiagnostic creation so that call stacks are captured by a nested PathDiagnosticCallPiece.
...
llvm-svn: 151317
2012-02-24 00:38:56 +00:00
Fariborz Jahanian
eee9bca03d
Add an ivar test for modern objc abi translator.
...
llvm-svn: 151316
2012-02-24 00:34:58 +00:00
Fariborz Jahanian
77a9255329
Make test works with FileCheck.
...
llvm-svn: 151314
2012-02-24 00:29:20 +00:00
Chad Rosier
f62290a19b
Reapply r151172 - Unwind path cleanup for array new list initializers - with a
...
test case that only runs on debug builds.
llvm-svn: 151311
2012-02-24 00:13:55 +00:00
Eli Friedman
ec52f92db3
Handle "#pragma GCC visibility" in a few more places. Switch over "#pragma pack" to use the same handling that gcc does. Fixes <rdar://problem/10871094> and <rdar://problem/10893316>.
...
(Hopefully, common usage of these pragmas isn't irregular enough to break our current handling. Doug has ideas for a more crazy approach if necessary.)
llvm-svn: 151307
2012-02-23 23:47:16 +00:00
Eli Friedman
8195ad7b87
Modernize some code which processes CastExprs to use CastKinds. No intended functional change.
...
llvm-svn: 151298
2012-02-23 23:04:32 +00:00
Anna Zaks
4b062cb904
[analyzer] KeyChainAPI: unique the leaks by allocation site.
...
(Very similar to the previous change in malloc.)
llvm-svn: 151297
2012-02-23 22:53:29 +00:00
Fariborz Jahanian
86f8266b9f
objective-c++: Type of an objc string literal is NSString, not 'id'.
...
// rdar://10907410
llvm-svn: 151296
2012-02-23 22:51:36 +00:00
Aaron Ballman
0c84ebb539
Turned on support for __declspecs: noreturn, noinline, nothrow and naked in MS compatibility mode.
...
llvm-svn: 151295
2012-02-23 22:46:33 +00:00
Douglas Gregor
2d5aea0f25
Pull the OpaqueValueExpr's source expression into its constructor, so
...
that we can correctly compute value-dependence of the OVE.
llvm-svn: 151291
2012-02-23 22:17:26 +00:00
Jim Grosbach
ce398aa03b
Update test for r151288
...
llvm-svn: 151290
2012-02-23 22:12:53 +00:00
Jim Grosbach
1d43ca99e2
ARM: enable the integrated assembler by default for Darwin.
...
llvm-svn: 151288
2012-02-23 21:55:04 +00:00
Anna Zaks
df901a4419
[analyzer] Malloc: unique leak reports by allocation site.
...
When we find two leak reports with the same allocation site, report only
one of them.
Provide a helper method to BugReporter to facilitate this.
llvm-svn: 151287
2012-02-23 21:38:21 +00:00
Anna Zaks
fa31b8ef10
[analyzer] Add CString checks to the release notes.
...
llvm-svn: 151286
2012-02-23 21:38:14 +00:00
Argyrios Kyrtzidis
2e85c5f297
[libclang] Make sure that all top-level decls in a @implementation are
...
marked as such.
Previously we missed tag declarations; fixes rdar://10902015
llvm-svn: 151283
2012-02-23 21:11:20 +00:00
Fariborz Jahanian
e5d9b0b8c8
Test is fixed.
...
llvm-svn: 151280
2012-02-23 20:43:56 +00:00
Fariborz Jahanian
1e2303379d
XFAIL test until I figure out how to make test pass on different platforms.
...
llvm-svn: 151277
2012-02-23 20:22:21 +00:00
Howard Hinnant
ebab2b0660
* tgmath_logb.patch implements the missing logb function (see C99 standard 7.22, paragraph 5). * tgmath_fabs_complex.patch corrects the return types for the complex fabs functions. These must be non-complex float/double/long double (see C99 standard 7.22, paragraph 4 and 7.3.8.1). Patch contributed by Kristof Beyls.
...
llvm-svn: 151276
2012-02-23 20:22:10 +00:00
Fariborz Jahanian
7cef65a3b6
Change test again so it passes in build-bot until I can figure out what is
...
going on.
llvm-svn: 151275
2012-02-23 20:07:38 +00:00
Fariborz Jahanian
b96a293a59
fix test for patch in r151268.
...
llvm-svn: 151272
2012-02-23 18:57:03 +00:00
Benjamin Kramer
c232b77556
Actually remove the duplicated elements from the vector.
...
llvm-svn: 151270
2012-02-23 18:35:56 +00:00
Fariborz Jahanian
2f0de8bdb9
objective-c default synthesis. classes which adopt protocol properties
...
must still auto synthesize those propeties which have been redeclared
in the class. // rdar://10907410
llvm-svn: 151268
2012-02-23 18:21:25 +00:00
Douglas Gregor
e5809a0aaf
Fix indentation
...
llvm-svn: 151264
2012-02-23 17:54:00 +00:00
Douglas Gregor
1fe7e90758
Note that lambda expressions are available in the release notes for 3.1
...
llvm-svn: 151263
2012-02-23 17:51:51 +00:00
Douglas Gregor
d153103c5a
Replace a use of hasTrivialDefaultConstructor() with the appropriate
...
isTrivial() call.
llvm-svn: 151259
2012-02-23 17:07:43 +00:00
Benjamin Kramer
3adbe1ca43
Replace some DenseSets with SmallPtrSets. Apart from the "small" optimization, the current implementation is also a denser.
...
llvm-svn: 151257
2012-02-23 16:06:01 +00:00
Benjamin Kramer
91c6b6a933
Unique CXXBasePath decls with the SmallVector/pod_sort/std::unique idiom instead of employing a wasteful std::set.
...
llvm-svn: 151255
2012-02-23 15:18:31 +00:00
Benjamin Kramer
6b441d62e9
Replace the std::map in the init list checker with a DenseMap to reduce malloc thrashing.
...
llvm-svn: 151254
2012-02-23 14:48:40 +00:00
Richard Smith
c899892485
PR12067: When emitting an evaluated constant structure in C++11 mode, don't
...
forget the vptrs.
llvm-svn: 151245
2012-02-23 08:33:23 +00:00
Douglas Gregor
6427a5ef01
Seriously, are injected-class-names that hard?
...
llvm-svn: 151241
2012-02-23 07:44:18 +00:00
Douglas Gregor
1be329d838
Provide the __is_trivially_assignable type trait, which provides
...
compiler support for the std::is_trivially_assignable library type
trait.
llvm-svn: 151240
2012-02-23 07:33:15 +00:00
Douglas Gregor
64bfb2e88e
Clang supports lambdas.
...
llvm-svn: 151239
2012-02-23 05:44:09 +00:00
Rafael Espindola
8093fdfab1
Two fixes to how we compute visibility:
...
* Handle some situations where we should never make a decl more visible,
even when merging in an explicit visibility.
* Handle attributes in members of classes that are explicitly specialized.
Thanks Nico for the report and testing, Eric for the initial review, and dgregor
for the awesome test27 :-)
llvm-svn: 151236
2012-02-23 04:17:32 +00:00
Douglas Gregor
a2bd11f2de
Tweak C++ status table:
...
- Apparently, SVN is yellow
- Note that initializer lists are "in progress"
llvm-svn: 151232
2012-02-23 03:10:24 +00:00
Douglas Gregor
34b2e8bb17
Clang now supports lambda expressions.
...
llvm-svn: 151231
2012-02-23 03:02:32 +00:00
Eli Friedman
91f5ae5022
Try to handle qualifiers more consistently for array InitListExprs. Fixes <rdar://problem/10907510>, and makes the ASTs a bit more self-consistent.
...
(I've chosen to keep the qualifiers, but it isn't a strong preference; if anyone prefers removing them, please yell.)
llvm-svn: 151229
2012-02-23 02:25:10 +00:00
Richard Smith
1e3b0f0614
Update parser's disambiguation to cope with braced function-style casts in
...
C++11, and with braced-init-list initializers in conditions. This exposed an
ambiguity with enum underlying types versus bitfields, which we resolve by
treating 'enum E : T {' as always defining an enumeration (even if it would
only successfully parse as a bitfield). This appears to be g++ compatible.
llvm-svn: 151227
2012-02-23 01:36:12 +00:00
Aaron Ballman
96e7c09cad
Turned on support for __declspec(deprecated) in MS compatibility mode.
...
llvm-svn: 151225
2012-02-23 01:19:31 +00:00
Anna Zaks
07de9c12f3
[analyzer] Invalidate the region passed to pthread_setspecific() call.
...
Make this call an exception in ExprEngine::invalidateArguments:
'int pthread_setspecific(ptheread_key k, const void *)' stores
a value into thread local storage. The value can later be retrieved
with 'void *ptheread_getspecific(pthread_key)'. So even thought the
parameter is 'const void *', the region escapes through the
call.
(Here we just blacklist the call in the ExprEngine's default
logic. Another option would be to add a checker which evaluates
the call and triggers the call to invalidate regions.)
Teach the Malloc Checker, which treats all system calls as safe about
the API.
llvm-svn: 151220
2012-02-23 01:05:27 +00:00
Ted Kremenek
8634d73e17
Tweak release note comments for checker build.
...
llvm-svn: 151219
2012-02-23 00:48:17 +00:00
Ted Kremenek
5467b05f5a
Update checker build to checker-261.
...
llvm-svn: 151218
2012-02-23 00:47:09 +00:00
Eric Christopher
55b2bfa7c1
Add a quick TODO.
...
llvm-svn: 151217
2012-02-23 00:43:12 +00:00
Eric Christopher
27bc9fee2b
Fold debug scope emission into the cleanup scope.
...
llvm-svn: 151216
2012-02-23 00:43:07 +00:00
Fariborz Jahanian
77171d343b
another test for modern ivar access rewrite.
...
llvm-svn: 151208
2012-02-22 22:32:05 +00:00
Chad Rosier
1a3c3d4537
Revert r151172: Unwind path cleanup for array new list initializers.
...
llvm-svn: 151203
2012-02-22 21:36:06 +00:00
Fariborz Jahanian
31ebebfb58
more tests for modern objc translator.
...
llvm-svn: 151201
2012-02-22 21:13:49 +00:00
Chad Rosier
c41c5a8c39
Improve placement of clang crash diagnostics section.
...
llvm-svn: 151192
2012-02-22 20:26:10 +00:00
Anna Zaks
40a7eb3837
[analyzer] Malloc cleanup:
...
- We should not evaluate strdup in the Malloc Checker, it's the job of
CString checker, so just update the RefState to reflect allocated
memory.
- Refactor to reduce LOC: remove some wrapper auxiliary functions, make
all functions return the state and add the transition in one place
(instead of in each auxiliary function).
llvm-svn: 151188
2012-02-22 19:24:52 +00:00