Anna Zaks
3508a00543
[analyzer] + a couple more malloc tests.
...
llvm-svn: 151008
2012-02-21 00:00:48 +00:00
Anna Zaks
19a66678d5
[analyzer] Make KeyChainAPI checker inlining-aware.
...
llvm-svn: 151007
2012-02-21 00:00:44 +00:00
Lang Hames
7e2ce889a0
Fix some bugs in HMEditor's moveAllOperandsInto logic.
...
llvm-svn: 151006
2012-02-21 00:00:36 +00:00
Eli Friedman
932b0b1a13
Make RequireLiteralType work correctly with incomplete array types. PR12037.
...
llvm-svn: 151005
2012-02-20 23:58:14 +00:00
Argyrios Kyrtzidis
969fdfddd2
[PCH] Recover gracefully if the ASTReader detects that a file is different
...
from the one stored in the PCH/AST, while trying to load a SLocEntry.
We verify that all files of the PCH did not change before loading it but this is not enough because:
- The AST may have been 1) kept around, 2) to do queries on it.
- We may have 1) verified the PCH and 2) started parsing.
Between 1) and 2) files may change and we are going to have crashes because the rest of clang
cannot deal with the ASTReader failing to read a SLocEntry.
Handle this by recovering gracefully in such a case, by initializing the SLocEntry
with the info from the PCH/AST as well as reporting failure by the ASTReader.
rdar://10888929
llvm-svn: 151004
2012-02-20 23:58:07 +00:00
Nick Lewycky
519561f418
Check for the correct size in the invariant marker.
...
llvm-svn: 151003
2012-02-20 23:32:26 +00:00
Evan Cheng
63618f9ba6
Fix machine-cp by having it to check sub-register indicies. e.g.
...
ecx = mov eax
al = mov ch
The second copy is not a nop because the sub-indices of ecx,ch is not the
same of that of eax/al.
Re-enabled machine-cp.
PR11940
llvm-svn: 151002
2012-02-20 23:28:17 +00:00
Richard Smith
5b8b3db5c9
Fix a constexpr FIXME: When implicitly instantiating the primary template for an
...
explicit specialization of a function template, mark the instantiation as
constexpr if the specialization is, rather than requiring them to match.
llvm-svn: 151001
2012-02-20 23:28:05 +00:00
Chad Rosier
47eeddde24
Fix 80-column violation.
...
llvm-svn: 150998
2012-02-20 23:13:17 +00:00
Enrico Granata
f21ef60c14
committing a patch from Dmitry Vyukov that solves compilation issues with FormatNavigator.h
...
llvm-svn: 150997
2012-02-20 23:06:07 +00:00
Eric Christopher
8678a4a987
Formatting.
...
llvm-svn: 150996
2012-02-20 23:02:36 +00:00
Argyrios Kyrtzidis
5e5927eb0b
Make PreprocessorOptions::DetailedRecordIncludesNestedMacroExpansions false by default.
...
Recording nested macro expansions is not useful, plus it fixes rdar://10893630
llvm-svn: 150995
2012-02-20 22:54:39 +00:00
Fariborz Jahanian
caabf1bb64
objc IRGen: force CSE of load of ivar offsets by setting
...
the 'invariant.load' metadata tag onto those loads.
// rdar://10840980
llvm-svn: 150994
2012-02-20 22:42:22 +00:00
Anna Zaks
1526881ee0
[analyzer] Make Malloc aware of inter-procedural execution + basic
...
tests.
llvm-svn: 150993
2012-02-20 22:25:23 +00:00
Enrico Granata
f4ca30d74b
fixing documentation to refer to the correct name of the module init function __lldb_init_module
...
llvm-svn: 150992
2012-02-20 22:05:47 +00:00
Johnny Chen
9b44acd86b
Fix compile error for DisassemblerLLVMC.cpp.
...
Patch by Dmitry Vyukov <dvyukov@google.com>.
Also add the relevant files to the Xcode project.
llvm-svn: 150991
2012-02-20 22:05:34 +00:00
Johnny Chen
216d93a6a7
Fix examples/lookup/main.cpp.
...
Patch to fix the main.cpp compile error submitted by Dmitry Vyukov <dvyukov@google.com>.
Also add a Makefile, plus some modification to main.cpp.
llvm-svn: 150990
2012-02-20 21:39:21 +00:00
Anna Zaks
6ecb6a6b7f
[analyzer] Testing: These checkers are not experimental anymore.
...
llvm-svn: 150989
2012-02-20 21:10:40 +00:00
Anna Zaks
0cdce4df76
[analyzer] Turn on by default the Malloc Checker and a couple of CString
...
checks:
- unix.Malloc - Checks for memory leaks, double free, use-after-free.
- unix.cstring.NullArg - Checks for null pointers passed as arguments to
CString functions + evaluates CString functions.
- unix.cstring.BadSizeArg - Checks for common anti-patterns in
strncat size argument.
llvm-svn: 150988
2012-02-20 21:10:37 +00:00
Douglas Gregor
43c3f28c23
Make sure that we set up the right declaration contexts when creating
...
and introducing the lambda closure type and its function call
operator. Previously, we assumed that the lambda closure type would
land directly in the current context, and not some parent context (as
occurs with linkage specifications). Thanks to Richard for the test case.
llvm-svn: 150987
2012-02-20 20:47:06 +00:00
Fariborz Jahanian
a7765fea90
modern objc translator. Finish off first cut of the
...
modern meta-data translation by commenting out private ivar
declarations in user source. Also, added several tests.
llvm-svn: 150985
2012-02-20 20:09:20 +00:00
Douglas Gregor
d5c4844e02
When we resolve the type of an 'auto' variable, clear out the linkage
...
of that variable; it will need to be recomputed with the resolved
type.
llvm-svn: 150984
2012-02-20 20:05:29 +00:00
Chad Rosier
112e71ee7c
Make test case less sensitive to metadata numbering.
...
llvm-svn: 150983
2012-02-20 19:51:44 +00:00
Douglas Gregor
6379854457
Basic support for name mangling of C++11 lambda expressions. Because
...
name mangling in the Itanium C++ ABI for lambda expressions is so
dependent on context, we encode the number used to encode each lambda
as part of the lambda closure type, and maintain this value within
Sema.
Note that there are a several pieces still missing:
- We still get the linkage of lambda expressions wrong
- We aren't properly numbering or mangling lambda expressions that
occur in default function arguments or in data member initializers.
- We aren't (de-)serializing the lambda numbering tables
llvm-svn: 150982
2012-02-20 19:44:39 +00:00
Benjamin Kramer
a00c5c451a
Test case for r150978.
...
llvm-svn: 150979
2012-02-20 19:00:28 +00:00
Benjamin Kramer
ac8ecc4e7e
InstCombine: Removing the base from the address calculation is only safe when the GEPs are inbounds.
...
llvm-svn: 150978
2012-02-20 18:45:10 +00:00
Eric Christopher
66562a4a54
Remove the type retaining from the clang frontend. This is now
...
handled by the caching and rauw. Also fix one cache that wasn't
being added to highlighted by this patch. Update all testcases
accordingly.
This should fix the deall failure.
llvm-svn: 150977
2012-02-20 18:05:24 +00:00
Eric Christopher
e908a7a92c
Make forward declarations for objective-c types use the new
...
temporary forward declaration nodes. Fixes a problem building
Chrome.
llvm-svn: 150976
2012-02-20 18:05:04 +00:00
Eric Christopher
4826c8fbe8
Make this a bit prettier and more obvious when a derived type isn't
...
derived from anything.
llvm-svn: 150975
2012-02-20 18:04:39 +00:00
Eric Christopher
300871076e
If a derived type is also a composite type, print that information
...
too.
llvm-svn: 150974
2012-02-20 18:04:35 +00:00
Eric Christopher
8979712685
Add support for runtime languages on our forward declarations.
...
llvm-svn: 150973
2012-02-20 18:04:14 +00:00
Gregory Szorc
19bf2398ba
[clang.py] Format and add documention for Type
...
llvm-svn: 150972
2012-02-20 17:58:40 +00:00
Gregory Szorc
a5a89b9564
[clang.py] Add tests for Type.is_volatile_qualified and Type.is_restrict_qualified
...
llvm-svn: 150971
2012-02-20 17:58:02 +00:00
Gregory Szorc
495c7dae5d
[clang.py] Implement Type.argument_types()
...
llvm-svn: 150970
2012-02-20 17:45:30 +00:00
Gregory Szorc
8a840febac
[clang.py] Implement Type.__eq__ and Type.__ne__
...
llvm-svn: 150969
2012-02-20 17:44:49 +00:00
Bob Wilson
a4fd70ea77
Add missing newlines at EOF.
...
llvm-svn: 150965
2012-02-20 16:56:13 +00:00
Howard Hinnant
f87873b3b3
Silence -Wmissing-field-initializers a little higher in the source.
...
llvm-svn: 150964
2012-02-20 16:51:43 +00:00
Douglas Gregor
caf4826e2e
Deserialize the direct-initialization range of a "new" expression
...
properly. Previously, we deserialized it but failed to set the
corresponding member in CXXNewExpr. Fixes <rdar://problem/10893600>.
llvm-svn: 150963
2012-02-20 16:12:14 +00:00
Benjamin Kramer
7adb189538
InstCombine: When comparing two GEPs that were derived from the same base pointer but use different types, expand the offset calculation and to the compare on the offset if profitable.
...
This came up in SmallVector code.
llvm-svn: 150962
2012-02-20 15:07:47 +00:00
Benjamin Kramer
7746eb62fb
InstCombine: Make OptimizePointerDifference more aggressive.
...
- Ignore pointer casts.
- Also expand GEPs that aren't constantexprs when they have one use or only constant indices.
- We now compile "&foo[i] - &foo[j]" into "i - j".
llvm-svn: 150961
2012-02-20 14:34:57 +00:00
Aaron Ballman
232c4f50ba
Fixing the working-directory option so that it stores the proper directory.
...
llvm-svn: 150960
2012-02-20 14:13:25 +00:00
Tobias Grosser
e550fa2f95
www: Fix french special characters
...
llvm-svn: 150959
2012-02-20 14:03:56 +00:00
Dylan Noblesmith
c95d81924d
Basic: import IntrusiveRefCntPtr<> into clang namespace
...
The class name is long enough without the llvm:: added.
Also bring in RefCountedBase and RefCountedBaseVPTR.
llvm-svn: 150958
2012-02-20 14:00:23 +00:00
James Molloy
862fe49c55
Teach the DAGCombiner that certain loadext nodes followed by ANDs can be converted to zeroexts.
...
llvm-svn: 150957
2012-02-20 12:02:38 +00:00
James Molloy
547d4c0662
Improve generated code for extending loads and some trunc stores on ARM.
...
Teach TargetSelectionDAG about lengthening loads for vector types and set v4i8 as legal. Allow FP_TO_UINT for v4i16 from v4i32.
llvm-svn: 150956
2012-02-20 09:24:05 +00:00
Tobias Grosser
be3df7b3ee
Add information, that Polly became a real LLVM project
...
llvm-svn: 150955
2012-02-20 08:41:55 +00:00
Tobias Grosser
7cde0845b5
www: Update links polly.grosser.es -> polly.llvm.org
...
llvm-svn: 150954
2012-02-20 08:41:51 +00:00
Tobias Grosser
92f5480f04
ScheduleOpt: Add option to bound scheduling coefficients of dimensions.
...
llvm-svn: 150953
2012-02-20 08:41:47 +00:00
Tobias Grosser
6b675e3108
Update isl
...
This version of isl, contains some recently committed scheduler patches.
llvm-svn: 150952
2012-02-20 08:41:44 +00:00
Tobias Grosser
4d63b9d0f9
ScheduleOptimizer: Dump the calculated schedule in debug mode
...
llvm-svn: 150951
2012-02-20 08:41:21 +00:00