Zhongxing Xu
9ad590125c
brace completion.
...
llvm-svn: 90833
2009-12-08 05:05:26 +00:00
Eli Friedman
48c6b0d14f
Slight tweak to vtable linkage.
...
llvm-svn: 90832
2009-12-08 04:09:14 +00:00
Eli Friedman
f2c79b6b9c
Misc key function fixes.
...
llvm-svn: 90831
2009-12-08 03:56:49 +00:00
Fariborz Jahanian
4569f69558
Patch to warn when discarding objective-c pointer type qualifiers
...
Still some refactoring to do.
llvm-svn: 90830
2009-12-08 03:35:08 +00:00
Douglas Gregor
60043f5ce6
Remove dead diagnostics
...
llvm-svn: 90827
2009-12-08 02:36:01 +00:00
Eli Friedman
be6f4cffca
Get rid of some diagnostics that don't follow our rules for -pedantic
...
diagnostics (specifically, that any extension in a compiler-reserved namespace
shouldn't trigger a diagnostic).
llvm-svn: 90826
2009-12-08 02:22:26 +00:00
Eli Friedman
8aaff69e86
Fix some direct checks of expressions which might be surrounded by parentheses.
...
llvm-svn: 90825
2009-12-08 02:09:46 +00:00
Eli Friedman
cd6a50f3e5
Make copy assignment operator synthesis not explode for classes with complex
...
or non-record aggregate members.
It might be worth spending some time to optimize this code (and the parallel
code for copy constructors) to memcpy in larger chunks, rather than copying
one member at a time. Not sure exactly how beneficial that would be, but
it seems like could help for large classes with, for example, a vtable pointer
forcing the generation of a copy constructor.
llvm-svn: 90823
2009-12-08 01:57:53 +00:00
Jeffrey Yasskin
567ae47b4a
Remove several .c_str() to be forward-compatible with StringRef.
...
llvm-svn: 90822
2009-12-08 01:46:24 +00:00
Mike Stump
02c23d68cb
Fixup catch parameters with class reference type. WIP.
...
llvm-svn: 90821
2009-12-08 01:29:31 +00:00
Anders Carlsson
220bf4fc5a
No need to add tail padding if the resulting LLVM struct type will have the same size as the final record size.
...
llvm-svn: 90820
2009-12-08 01:24:23 +00:00
Eli Friedman
31bc3ad275
A bunch more thunk fixes from misc testing.
...
(Yes, I do intend to commit some tests for this.)
llvm-svn: 90818
2009-12-07 23:56:34 +00:00
Mike Stump
1d849219a5
Add codegen support for exception specifications. WIP.
...
llvm-svn: 90817
2009-12-07 23:38:24 +00:00
John McCall
a928c652be
Recover from dot accesses to record pointers and arrow accesses to records.
...
Patch by Nicola Gigante!
llvm-svn: 90814
2009-12-07 22:46:59 +00:00
Ted Kremenek
7bea9a1672
Enable '-analyzer-opt-analyze-nested-blocks' by default for testing.
...
llvm-svn: 90812
2009-12-07 22:26:14 +00:00
Ted Kremenek
6818991d71
Add clang-cc option '-analyzer-opt-analyze-nested-blocks' to treat block literals as an entry point for analyzer checks.
...
llvm-svn: 90810
2009-12-07 22:06:12 +00:00
Ted Kremenek
04af9f20fb
Add analysis support for blocks. This includes a few key changes:
...
- Refactor the MemRegion hierarchy to distinguish between different StackSpaceRegions for locals and parameters.
- VarRegions for "captured" variables now have the BlockDataRegion as their super region (except those passed by reference)
- Add transfer function support to GRExprEngine for BlockDeclRefExprs.
This change also supports analyzing blocks as an analysis entry point
(top-of-the-stack), which required pushing more context-sensitivity
around in the MemRegion hierarchy via the use of LocationContext
objects. Functionally almost everything is the same, except we track
LocationContexts in a few more areas and StackSpaceRegions now refer
to a StackFrameContext object. In the future we will need to modify
MemRegionManager to allow multiple StackSpaceRegions in flight at once
(for the analysis of multiple stack frames).
llvm-svn: 90809
2009-12-07 22:05:27 +00:00
Ted Kremenek
54ad1ab56f
Add the BlockDecl to the DeclContext.
...
llvm-svn: 90808
2009-12-07 22:01:30 +00:00
Eli Friedman
f6c175b745
Correctly handle conditional operators involving throw.
...
llvm-svn: 90800
2009-12-07 20:25:53 +00:00
Eli Friedman
5445f6e5b6
Make the comma operator consistently call EnsureInsertPoint.
...
llvm-svn: 90799
2009-12-07 20:18:11 +00:00
Mike Stump
62afe99814
Work around emitters that can't deal with dead code contexts yet.
...
llvm-svn: 90796
2009-12-07 20:12:14 +00:00
Fariborz Jahanian
c2949f9f26
Allow accessing 'isa' via '->' operator.
...
(fixes radar 7447251).
llvm-svn: 90795
2009-12-07 20:09:25 +00:00
Anders Carlsson
1aaecfa02d
Mangle basic_ostream and basic_iostream specializations.
...
llvm-svn: 90794
2009-12-07 19:56:42 +00:00
Mike Stump
b2a568d9e5
Switch over to checking .ll files instead of .s files.
...
llvm-svn: 90786
2009-12-07 19:22:29 +00:00
Mike Stump
52d7141186
Remove obsolete fallback code for objectsize.
...
llvm-svn: 90780
2009-12-07 18:58:11 +00:00
Nuno Lopes
7251327d75
implement PR5274: mark 'restrict' parameters as noalias
...
llvm-svn: 90778
2009-12-07 18:30:06 +00:00
Rafael Espindola
59ae799efa
Shorten the help test for -no-canonical-prefixes, put it behind HelpHidden and
...
claim it in Driver.cpp instead of Tools.cpp.
llvm-svn: 90777
2009-12-07 18:28:29 +00:00
Fariborz Jahanian
1b31c37922
Patch to allow restrict applied to id/Class types.
...
(fixes radar 7442244).
llvm-svn: 90773
2009-12-07 18:08:58 +00:00
Nuno Lopes
c4413fbb88
add fedora 12 include path
...
llvm-svn: 90772
2009-12-07 17:18:48 +00:00
Chris Lattner
3ababf5340
reduce nesting.
...
llvm-svn: 90769
2009-12-07 16:33:19 +00:00
Douglas Gregor
9225369891
When in an Objective-C instance method, super is a valid code-completion result
...
llvm-svn: 90758
2009-12-07 09:54:55 +00:00
Douglas Gregor
bc7c5e471a
Code completion for Objective-C @ keywords that are statements or expressions
...
llvm-svn: 90757
2009-12-07 09:51:25 +00:00
Douglas Gregor
f48706c787
Code completion for Objective-C @ directives
...
llvm-svn: 90756
2009-12-07 09:27:33 +00:00
Zhongxing Xu
175447f743
Add EvalCallExpr interface to checker, and migrate the no-return function
...
handler to this interface.
GRExprEngine::CheckerEvalCall() will return true if one of the checkers has
processed the node. In the future this might return void when we have some
default checker.
llvm-svn: 90755
2009-12-07 09:17:35 +00:00
Anders Carlsson
8e0317bf05
Instantiated or specialized class templates never have a key function. This (and the previous check-in) fixes PR5557.
...
llvm-svn: 90753
2009-12-07 08:29:39 +00:00
Anders Carlsson
82fccd014a
Rework how virtual member functions are marked. If a class has no key function, we now wait until the end of the translation unit to mark its virtual member functions as references. This lays the groundwork for fixing PR5557.
...
llvm-svn: 90752
2009-12-07 08:24:59 +00:00
Anders Carlsson
e1b3e6292a
It's OK to try to emit a vtable definition more than once. Fixes PR5697.
...
llvm-svn: 90751
2009-12-07 07:59:52 +00:00
Anders Carlsson
27cfc6e144
getTemplateSpecializationKind should be const.
...
llvm-svn: 90750
2009-12-07 06:33:48 +00:00
Douglas Gregor
70dd094105
Remove empty test cases
...
llvm-svn: 90749
2009-12-07 06:11:34 +00:00
Eli Friedman
c0dacee1e0
Erm, revert for the moment; I didn't test this as thoroughly as I should have
...
(although it does pass regression tests).
llvm-svn: 90747
2009-12-07 04:45:50 +00:00
Eli Friedman
c5d3a6ae3d
Tweak the formula for non-virtual offsets to something which appears a bit
...
more accurate.
llvm-svn: 90746
2009-12-07 04:38:34 +00:00
Anders Carlsson
5ebf8b44e9
Move key functions to a separate map.
...
llvm-svn: 90745
2009-12-07 04:35:11 +00:00
John McCall
bcd035061d
DeclaratorInfo -> TypeSourceInfo. Makes an effort to rename associated variables,
...
but the results are imperfect.
For posterity, I did:
cat <<EOF > $cmdfile
s/DeclaratorInfo/TypeSourceInfo/g
s/DInfo/TInfo/g
s/TypeTypeSourceInfo/TypeSourceInfo/g
s/SourceTypeSourceInfo/TypeSourceInfo/g
EOF
find lib -name '*.cpp' -not -path 'lib/Parse/*' -exec sed -i '' -f $cmdfile '{}' \;
find lib -name '*.h' -exec sed -i '' -f $cmdfile '{}' \;
find include -name '*.h' -not -path 'include/clang/Parse/*' -not -path 'include/clang/Basic/*' -exec sed -i '' -f $cmdfile '{}' \;
llvm-svn: 90743
2009-12-07 02:54:59 +00:00
Chris Lattner
0f3a228e73
add 'F' to a bunch of libm builtins so that codegen doesn't die on them,
...
pointed out by Charles Davis.
llvm-svn: 90736
2009-12-07 02:09:14 +00:00
Chris Lattner
9dfed9fdb6
fix -dM with variadic macros, PR5699
...
llvm-svn: 90735
2009-12-07 01:58:34 +00:00
Chris Lattner
5a6fb511c7
rename names for consistency
...
llvm-svn: 90734
2009-12-07 01:57:13 +00:00
Chris Lattner
01c73e1b16
filecheckize
...
llvm-svn: 90733
2009-12-07 01:49:36 +00:00
Chris Lattner
76b4445d6f
some code cleanup.
...
llvm-svn: 90732
2009-12-07 01:42:56 +00:00
Chris Lattner
d62268a668
remove some defaulted params for consistency.
...
llvm-svn: 90731
2009-12-07 01:38:03 +00:00
Chris Lattner
1c4280328d
reapply my patch for PR4451, which improves diagnostics for :: vs : confusion.
...
This time with a fix to bail out when in a dependent context.
llvm-svn: 90730
2009-12-07 01:36:53 +00:00