John McCall
96f0b5f844
Allow the fast path through ASTContext::getTypeDeclType to be inlined.
...
llvm-svn: 98138
2010-03-10 06:48:02 +00:00
Zhongxing Xu
1bb6a1a593
Add use-after-free check to MallocChecker.
...
llvm-svn: 98136
2010-03-10 04:58:55 +00:00
Douglas Gregor
6cf3f3c75e
Statement expressions can be used in global- or namespace-scoped blocks
...
llvm-svn: 98135
2010-03-10 04:54:39 +00:00
John McCall
e78aac41de
Create a new InjectedClassNameType to represent bare-word references to the
...
injected class name of a class template or class template partial specialization.
This is a non-canonical type; the canonical type is still a template
specialization type. This becomes the TypeForDecl of the pattern declaration,
which cleans up some amount of code (and complicates some other parts, but
whatever).
Fixes PR6326 and probably a few others, primarily by re-establishing a few
invariants about TypeLoc sizes.
llvm-svn: 98134
2010-03-10 03:28:59 +00:00
Anders Carlsson
02b99d6b7c
When building construction vtables, we need to check if a primary virtual base is actually a primary virtual base in the layout class.
...
llvm-svn: 98131
2010-03-10 03:02:01 +00:00
Rafael Espindola
69902a0a0d
add missing test
...
llvm-svn: 98129
2010-03-10 02:43:01 +00:00
Anders Carlsson
ca82a4fdba
Improve vcall offset handling in construction vtables. With this we layout the construction vtables from the ABI examples correctly.
...
llvm-svn: 98127
2010-03-10 02:33:41 +00:00
Rafael Espindola
e7113ca907
Delay codegen of vtables when handling implicit instantiations.
...
This fixes PR6474.
llvm-svn: 98123
2010-03-10 02:19:29 +00:00
Eric Christopher
1dca62055a
Add insert/extract_ps and related random macros.
...
llvm-svn: 98114
2010-03-10 00:50:58 +00:00
Devang Patel
05c37d2800
Use SmallString instead of alloca.
...
llvm-svn: 98112
2010-03-10 00:19:43 +00:00
Ted Kremenek
575398e29b
When computing in AnalysisContext the variables referenced
...
by a block, also look at the contained blocks.
llvm-svn: 98111
2010-03-10 00:18:11 +00:00
Ted Kremenek
7de5f32479
Enhance basic store to also lazily symbolicate VarRegions
...
with an 'unknown' memory space.
llvm-svn: 98110
2010-03-10 00:18:08 +00:00
Devang Patel
93f274c161
Fix file reference for derived and composite types. Now, dwarf writer uses strict verifier that ignores debug info for such types if their file info is unknown.
...
llvm-svn: 98096
2010-03-09 22:49:11 +00:00
John McCall
7242868e71
Value-initialize the written-builtin-specifiers field of DeclSpec, which
...
wasn't being initialized properly along the implicit-definition path.
Found by the valgrind buildbot.
llvm-svn: 98093
2010-03-09 22:39:49 +00:00
Fariborz Jahanian
eb1690d2bd
Fix the test some more.
...
llvm-svn: 98090
2010-03-09 22:17:52 +00:00
Fariborz Jahanian
9d227a1d5e
See if this test makes it though buildbot.
...
llvm-svn: 98087
2010-03-09 21:50:08 +00:00
Devang Patel
4f26205ba8
More then one anonymous aggregates on one line creates chaos when MDNode uniquness is combined with RAUW operation. Right solution is to avoid using RAUW.
...
This fixes PR 6554.
llvm-svn: 98083
2010-03-09 21:32:27 +00:00
Fariborz Jahanian
86048dc2e5
Reverse the code gen. enabled part of test until I can figure out
...
how to check the code pattern no matter how clang is built.
llvm-svn: 98079
2010-03-09 21:26:24 +00:00
Douglas Gregor
791c08734a
Improve Objective-C token-annotation test
...
llvm-svn: 98078
2010-03-09 20:57:01 +00:00
Fariborz Jahanian
525f34133d
Code gen test for a previous patch for
...
radar 7709015
llvm-svn: 98073
2010-03-09 19:15:10 +00:00
Devang Patel
f2aa707895
Use getLast() instead of getBasename().
...
llvm-svn: 98072
2010-03-09 19:14:07 +00:00
Fariborz Jahanian
c4813e8d02
Don't error when a block pointer is passed to a
...
vararg functions/methods. Fixes radar 7725203.
llvm-svn: 98070
2010-03-09 18:34:52 +00:00
Douglas Gregor
490075a7dd
Add an Objective-C test for token annotation
...
llvm-svn: 98056
2010-03-09 13:06:04 +00:00
Benjamin Kramer
bbf5c262ab
Replace copy loops with memcpy.
...
llvm-svn: 98055
2010-03-09 12:53:38 +00:00
Devang Patel
408dcf60aa
Start using DIFile. Corresponding llvm patch is r98020.
...
llvm-svn: 98021
2010-03-09 00:44:50 +00:00
Ted Kremenek
8590544ea8
Add test cases for r98003 and r98006.
...
llvm-svn: 98008
2010-03-08 23:38:27 +00:00
Ted Kremenek
0a4a8326c1
Add preprocessor guards to the definitions of size_t and wchar_t, and #undef NULL before defining it.
...
This addresses potential issues with system headers reported in <rdar://problem/7727159>.
llvm-svn: 98006
2010-03-08 23:23:45 +00:00
Ted Kremenek
4c9862ca1d
Place the definition of 'va_list' within a preprocessor guard. This matches the behavior of GCC, and avoids potential conflicts with system headers (e.g., stdio.h). Fixes <rdar://problem/7727145>.
...
llvm-svn: 98003
2010-03-08 23:13:05 +00:00
Ted Kremenek
ff9021b675
Implement clang_isUnexposed(), a predicate function to simplify filtering out
...
unexposed AST elements.
llvm-svn: 97985
2010-03-08 21:17:29 +00:00
Chris Lattner
e18aaf2c4b
add a codegen hack to work around an AST bug, allowing us to compile the
...
code in PR6537. This should be reverted when the ast bug is fixed.
llvm-svn: 97981
2010-03-08 21:08:07 +00:00
Ted Kremenek
c3015a914f
Allocate ASTRecordLayout objects using the allocator associated with ASTContext.
...
This allows them to be allocated using a BumpPtrAllocated
in the common case.
llvm-svn: 97978
2010-03-08 20:56:29 +00:00
Devang Patel
d3cbaa1ddf
Avoid using DIDescriptor.isNull().
...
llvm-svn: 97976
2010-03-08 20:53:17 +00:00
John McCall
2c7c0424b2
Revert r97727 at ddunbar's request; we want to solve this some other way.
...
llvm-svn: 97971
2010-03-08 20:01:09 +00:00
John McCall
0fbf039db9
Rename -Wbad-literal to -Wliteral-range.
...
llvm-svn: 97968
2010-03-08 19:34:43 +00:00
Devang Patel
9cf2705a5d
Revert r97949.
...
llvm-svn: 97964
2010-03-08 19:20:58 +00:00
Ted Kremenek
adccbca23f
Don't enable static analysis support for C++ by default. Users are
...
accidentally using it without realizing that it is nowhere close
to being generally usable and are reporting crashes that we
already know about.
llvm-svn: 97960
2010-03-08 19:06:44 +00:00
Douglas Gregor
8a16769b61
Improve XML output for C++ classes, from Olaf Krzikalla!
...
llvm-svn: 97954
2010-03-08 18:51:03 +00:00
Kovarththanan Rajaratnam
4bc61181f9
Mark variable as const
...
llvm-svn: 97951
2010-03-08 18:33:04 +00:00
Devang Patel
4ce8ebb087
Avoid DIDescriptor.isNull() checks.
...
llvm-svn: 97949
2010-03-08 18:26:57 +00:00
Douglas Gregor
de4827dd34
Extend ObjCMessageExpr for class method sends with the source location
...
of the class name.
llvm-svn: 97943
2010-03-08 16:40:19 +00:00
Douglas Gregor
12852d9521
Keep track of type source information in the return type of an
...
Objective-C method declaration, e.g., for
- (Foo *)myMethod;
we now have TypeSourceInfo for the Foo*.
llvm-svn: 97942
2010-03-08 14:59:44 +00:00
Duncan Sands
7a9ba76825
Remove unused headers.
...
llvm-svn: 97941
2010-03-08 11:29:03 +00:00
Douglas Gregor
b1489c67f0
Remove redundant semicolon
...
llvm-svn: 97930
2010-03-08 02:49:35 +00:00
Douglas Gregor
0aad774232
Make a note for the C++0x future, when we'll have to revisit the jump-diagnostics handling for variables without initializers
...
llvm-svn: 97929
2010-03-08 02:49:08 +00:00
Douglas Gregor
589973b097
In C++98/03, an uninitialized variable that has POD class type will be
...
uninitialized. This seems not to be the case in C++0x, where we still
call the (trivial) default constructor for a POD class
(!). Previously, we had implemented only the C++0x rules; now we
implement both. Fixes PR6536.
llvm-svn: 97928
2010-03-08 02:45:10 +00:00
Douglas Gregor
104ee00181
Downgrade errors when trying to catch a pointer or reference to
...
incomplete type to warnings; GCC (and EDG in GCC compatibility mode)
permit such handles. Fixes PR6527.
(For real this time)
llvm-svn: 97927
2010-03-08 01:47:36 +00:00
Chandler Carruth
3681e58d8b
Revert r97925, it only contained the test updates not the actual fix.
...
llvm-svn: 97926
2010-03-08 00:41:19 +00:00
Douglas Gregor
254bba4095
Downgrade errors when trying to catch a pointer or reference to
...
incomplete type to warnings; GCC (and EDG in GCC compatibility mode)
permit such handles. Fixes PR6527.
llvm-svn: 97925
2010-03-07 23:28:27 +00:00
Douglas Gregor
281c486e1b
Robustify callers that rebuild typename type nodes again NULL return
...
types. Fixes PR6463.
llvm-svn: 97924
2010-03-07 23:26:22 +00:00
Douglas Gregor
c934bc840c
Perform overload resolution when static_cast'ing from a
...
pointer-to-member-to-derived to a pointer-to-member-to-base. Fixes
PR6072.
llvm-svn: 97923
2010-03-07 23:24:59 +00:00