]>
granicus.if.org Git - clang/log
Ken Dyck [Sun, 22 Nov 2009 18:29:06 +0000 (18:29 +0000)]
Use intptr_t from stdint.h (in freestanding mode) instead of redefining it here
with __INTPTR_TYPE__.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89609
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Chisnall [Sun, 22 Nov 2009 17:42:02 +0000 (17:42 +0000)]
Test case for bug fixed in r89457.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89605
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 22 Nov 2009 17:37:31 +0000 (17:37 +0000)]
Move bit-field layout out into a separate function. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89604
91177308 -0d34-0410-b5e6-
96231b3b80d8
Edward O'Callaghan [Sun, 22 Nov 2009 16:21:47 +0000 (16:21 +0000)]
Fix for PR5233.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89603
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Sun, 22 Nov 2009 15:47:12 +0000 (15:47 +0000)]
Define SIG_ATOMIC_MIN and SIG_ATOMIC_MAX in terms of __SIG_ATOMIC_WIDTH__.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89598
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Sun, 22 Nov 2009 15:41:04 +0000 (15:41 +0000)]
Define __SIG_ATOMIC_WIDTH__ for use in stdint.h.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89597
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sun, 22 Nov 2009 13:36:20 +0000 (13:36 +0000)]
Undefined compound assignment result is checked in UndefinedAssignmentChecker. So this check is redundant.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89592
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sun, 22 Nov 2009 13:30:10 +0000 (13:30 +0000)]
Remove invalid comments. The result is undefined only when operands are undefined.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89591
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sun, 22 Nov 2009 13:22:34 +0000 (13:22 +0000)]
Save and restore the HasGen flag in MallocChecker.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89590
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 22 Nov 2009 12:51:08 +0000 (12:51 +0000)]
Don't include a dead header.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89587
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sun, 22 Nov 2009 12:29:52 +0000 (12:29 +0000)]
Remove UndefinedAssignmentChecker's header.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89585
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sean Hunt [Sun, 22 Nov 2009 07:05:50 +0000 (07:05 +0000)]
Use intptr_t rather than long so that this test will not fail on LLP64 systems,
where long is only 32-bits and so a reinterpret_cast would be ill-formed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89583
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Sun, 22 Nov 2009 02:49:43 +0000 (02:49 +0000)]
If a C++ qualified id is followed by a postfix suffix, it is never the direct
operand of an addressof operator, and so we should not treat it as an abstract
member-pointer expression and therefore suppress the implicit member access.
This is really a well-formedness constraint on expressions: a DeclRefExpr of
a FieldDecl or a non-static CXXMethodDecl (or template thereof, or unresolved
collection thereof) should not be allowed in an arbitrary location in the AST.
Arguably it shouldn't be allowed anywhere and we should have a different expr
node type for this. But unfortunately we don't have a good way of enforcing
this kind of constraint right now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89578
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Sun, 22 Nov 2009 01:44:31 +0000 (01:44 +0000)]
Reorganize the intermediate BuildDeclarationNameExpr routines again.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89575
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Sun, 22 Nov 2009 00:44:51 +0000 (00:44 +0000)]
Consider a FunctionTemplate to be an overload all on its lonesome. Track
this information through lookup rather than rederiving it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89570
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 21 Nov 2009 23:56:04 +0000 (23:56 +0000)]
Support emitting aggregate class initializers. Fixes PR5581.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89569
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 21 Nov 2009 19:53:08 +0000 (19:53 +0000)]
This patch implements objective-c's 'SEL' type as a built-in
type and fixes a long-standing code gen. crash reported in
at least two PRs and a radar. (radar
7405040 and pr5025).
There are couple of remaining issues that I would like for
Ted. and Doug to look at:
Ted, please look at failure in Analysis/MissingDealloc.m.
I have temporarily added an expected-warning to make the
test pass. This tests has a declaration of 'SEL' type which
may not co-exist with the new changes.
Doug, please look at a FIXME in PCHWriter.cpp/PCHReader.cpp.
I think the changes which I have ifdef'ed out are correct. They
need be considered for in a few Indexer/PCH test cases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89561
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 21 Nov 2009 17:55:24 +0000 (17:55 +0000)]
Make FixedAddressChecker and experimental check; it currently produces a ton of false positives when analyzing some projects (e.g., Wine).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89560
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sean Hunt [Sat, 21 Nov 2009 09:45:54 +0000 (09:45 +0000)]
Fix 80-cols violation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89558
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Sat, 21 Nov 2009 09:38:42 +0000 (09:38 +0000)]
Overload resolution doesn't decide whether to do ADL or not anymore; stopping
threading that state.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89557
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 21 Nov 2009 09:17:15 +0000 (09:17 +0000)]
Mangler: Sketch mangling for TemplateArgument::Declaration kind.
- Several important FIXMEs related to whether arguments are expressions or external names, and the mangling of extern "C" names (c.f., PR5522).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89556
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 21 Nov 2009 09:14:52 +0000 (09:14 +0000)]
Mangler: Lift shouldMangleDeclName predicate out of CXXNameMangler::mangle.
- Sometimes we have to mangle things we wouldn't normally (e.g., because they appear in a template expression).
- This also tidies up the predicate to be more obvious what is getting mangled.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89555
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 21 Nov 2009 09:14:44 +0000 (09:14 +0000)]
Mangler: Strengthen invariants, MangleContext::mangleName should only be called on var or function decls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89554
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 21 Nov 2009 09:12:13 +0000 (09:12 +0000)]
Mangler: Inline a bunch of functions into their sole caller, not that I don't love typing for typings sake, but...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89553
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 21 Nov 2009 09:12:06 +0000 (09:12 +0000)]
DeclPrinter: Indent access specifiers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89552
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 21 Nov 2009 09:11:59 +0000 (09:11 +0000)]
Remove dead variable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89551
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 21 Nov 2009 09:11:45 +0000 (09:11 +0000)]
Mangler: Split isStdNamespace for when the caller already has a NamespaceDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89550
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 21 Nov 2009 09:06:31 +0000 (09:06 +0000)]
IRgen: Eliminate CXXNameMangler::mangleCXX{C,D}tor.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89549
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 21 Nov 2009 09:06:22 +0000 (09:06 +0000)]
IRgen: Switch the C++ mangler interfaces to take the SmallVector to write into,
instead of requiring clients to make a raw_svector_ostream, which is just an
implementation detail.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89548
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 21 Nov 2009 09:06:10 +0000 (09:06 +0000)]
Sink free mangle* methods into MangleContext.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89547
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 21 Nov 2009 09:05:59 +0000 (09:05 +0000)]
Add 1+2 consts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89546
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 21 Nov 2009 09:05:47 +0000 (09:05 +0000)]
Delete trailing space.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89545
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Sat, 21 Nov 2009 08:51:07 +0000 (08:51 +0000)]
"Incremental" progress on using expressions, by which I mean totally ripping
into pretty much everything about overload resolution in order to wean
BuildDeclarationNameExpr off LookupResult::getAsSingleDecl(). Replace
UnresolvedFunctionNameExpr with UnresolvedLookupExpr, which generalizes the
idea of a non-member lookup that we haven't totally resolved yet, whether by
overloading, argument-dependent lookup, or (eventually) the presence of
a function template in the lookup results.
Incidentally fixes a problem with argument-dependent lookup where we were
still performing ADL even when the lookup results contained something from
a block scope.
Incidentally improves a diagnostic when using an ObjC ivar from a class method.
This just fell out from rewriting BuildDeclarationNameExpr's interaction with
lookup, and I'm too apathetic to break it out.
The only remaining uses of OverloadedFunctionDecl that I know of are in
TemplateName and MemberExpr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89544
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sean Hunt [Sat, 21 Nov 2009 08:43:09 +0000 (08:43 +0000)]
Added rudimentary C++0x attribute support.
The following attributes are currently supported in C++0x attribute
lists (and in GNU ones as well):
- align() - semantics believed to be conformant to n3000, except for
redeclarations and what entities it may apply to
- final - semantics believed to be conformant to CWG issue 817's proposed
wording, except for redeclarations
- noreturn - semantics believed to be conformant to n3000, except for
redeclarations
- carries_dependency - currently ignored (this is an optimization hint)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89543
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 21 Nov 2009 02:52:12 +0000 (02:52 +0000)]
Add RegionStore test case that shows that floating point values are also implicitly tracked for undefined values. (test case for <rdar://problem/
6811085 >).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89538
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 21 Nov 2009 02:31:29 +0000 (02:31 +0000)]
Fix refacto, gcc's cc1 needs to see --output-pch=, which is not just an alias
for -output-pch=.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89534
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 21 Nov 2009 02:17:47 +0000 (02:17 +0000)]
Add another test case to show the precision of RegionStore over
BasicStore. In this example, BasicStore would lose information about
the pointer in path after '*path++', causing the analyzer to falsely
flag a null dereference. This addresses <rdar://problem/
7191542 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89533
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 21 Nov 2009 02:07:55 +0000 (02:07 +0000)]
Implement C++ [temp.param]p2 correctly, looking ahead when we see a
"typename" parameter to distinguish between non-type and type template
parameters. Fixes the actual bug in PR5559.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89532
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 21 Nov 2009 01:50:48 +0000 (01:50 +0000)]
Restructure DereferenceChecker slightly to handle caching out when we would report a null dereference more than once.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89526
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 21 Nov 2009 01:25:37 +0000 (01:25 +0000)]
Pull BadCallChecker int UndefinedArgChecker, and have UndefinedArgChecker also handled undefined receivers in message expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89524
91177308 -0d34-0410-b5e6-
96231b3b80d8
Edward O'Callaghan [Sat, 21 Nov 2009 00:49:54 +0000 (00:49 +0000)]
Add SigAtomicType to TargetInfo, Needed for MSP and PIC Targets, Credit to Ken Dyck.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89520
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 21 Nov 2009 00:49:41 +0000 (00:49 +0000)]
More checker refactoring. Passing undefined values in a message expression is now handled by UndefinedArgChecker.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89519
91177308 -0d34-0410-b5e6-
96231b3b80d8
John Thompson [Sat, 21 Nov 2009 00:15:52 +0000 (00:15 +0000)]
Revised Win32 include path to search highest version in registry, plus platform SDK path
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89517
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Nov 2009 23:46:56 +0000 (23:46 +0000)]
Convert test to FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89514
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 20 Nov 2009 23:44:51 +0000 (23:44 +0000)]
Checkpoint current work. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89513
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 20 Nov 2009 23:39:24 +0000 (23:39 +0000)]
Cope with extraneous "template" keyword when providing an out-of-line
definition of a member template (or a member thereof). Fixes PR5566.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89512
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Nov 2009 23:28:07 +0000 (23:28 +0000)]
Driver: Add clang -cc1 dependency output options parsing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89508
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Nov 2009 22:47:55 +0000 (22:47 +0000)]
Switch CompilerInvocation::CreateFromArgs to take const char** arguments until Driver itself switches to StringRef.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89503
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Nov 2009 22:32:38 +0000 (22:32 +0000)]
Fix refactoro, clang-cc wasn't properly reporting errors when opening an output file failed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89502
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Nov 2009 22:32:30 +0000 (22:32 +0000)]
Driver: Use '-target-abi' 'FOO' instead of '-target-abi=FOO'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89501
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Nov 2009 22:21:59 +0000 (22:21 +0000)]
Update for palign intrinsic fix.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89499
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Nov 2009 22:21:52 +0000 (22:21 +0000)]
Pass '-mcpu' 'FOO' instead of '-mcpu=FOO'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89498
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Nov 2009 22:21:36 +0000 (22:21 +0000)]
Standardize Driver translation to call clang-cc using '-foo' form instead of '--foo'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89497
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 20 Nov 2009 22:05:53 +0000 (22:05 +0000)]
A previous commit fixed PR5519; here's the test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89494
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 20 Nov 2009 22:03:38 +0000 (22:03 +0000)]
Implement C++ [basic.lookup.classref]p3, which states how the type
name 'T' is looked up in the expression
t.~T()
Previously, we weren't looking into the type of "t", and therefore
would fail when T actually referred to an injected-class-name. Fixes
PR5530.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89493
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 20 Nov 2009 22:00:06 +0000 (22:00 +0000)]
Update C++ status
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89492
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 20 Nov 2009 19:58:21 +0000 (19:58 +0000)]
When checking the base object of a member access expression (b.foo,
b->foo), don't look through pointers unless we have an -> operator.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89480
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 20 Nov 2009 19:42:02 +0000 (19:42 +0000)]
Teach FixOverloadedFunctionReference to build new expression ASTs rather
than tweaking existing ASTs, since we were (*gasp*) stomping on ASTs
within templates. I'm glad we found this little stick of TNT early...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89475
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 20 Nov 2009 18:51:28 +0000 (18:51 +0000)]
Add testcases for recent checkins.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89469
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 20 Nov 2009 17:27:56 +0000 (17:27 +0000)]
Fix lifetime of conditional temporaries. Patch by Victor Zverovich!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89467
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Nov 2009 17:23:39 +0000 (17:23 +0000)]
Fix some codegen tests to include positive checks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89465
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Nov 2009 17:23:30 +0000 (17:23 +0000)]
Add clang -cc1 parsing of CodeGenOptions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89464
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Nov 2009 16:55:31 +0000 (16:55 +0000)]
clang-cc: Lift setForcedLangOptions out of options initialization.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89462
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Fri, 20 Nov 2009 16:49:10 +0000 (16:49 +0000)]
Avoid unwanted expansion in macros that paste together INT<n>_C(v) and
UINT<n>_C(v) macros.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89461
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Fri, 20 Nov 2009 16:44:38 +0000 (16:44 +0000)]
Avoid unwanted expansion in macros that paste together INT<n>_MIN, INT<n>_MAX,
and UINT<n>_MAX defintions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89460
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Fri, 20 Nov 2009 16:37:35 +0000 (16:37 +0000)]
Avoid unwanted macro expansion in macros that paste together int<n>_t and
uint<n>_t definitions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89459
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Chisnall [Fri, 20 Nov 2009 14:50:59 +0000 (14:50 +0000)]
Fixed crash when using undefined protocols (GNU runtime).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89457
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 20 Nov 2009 11:49:06 +0000 (11:49 +0000)]
Add a workaround to silence a bogus g++-4.4 -pedantic warning.
driver.cpp:211: warning: ISO C++ forbids zero-size array 'argv'
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89455
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 20 Nov 2009 10:03:00 +0000 (10:03 +0000)]
Fix typo GCC 4.3 warned about.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89453
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 20 Nov 2009 06:14:56 +0000 (06:14 +0000)]
no need to cast.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89451
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 20 Nov 2009 05:53:06 +0000 (05:53 +0000)]
Fix a couple minor memory leaks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89450
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 20 Nov 2009 05:27:05 +0000 (05:27 +0000)]
Add simple static analyzer checker to check for sending 'release', 'retain', etc. directly to a class. Fixes <rdar://problem/
7252064 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89449
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 20 Nov 2009 04:31:57 +0000 (04:31 +0000)]
Unused ivar checker: ivars referenced by lexically nested functions should not be flagged as unused. Fixes <rdar://problem/
7254495 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89448
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 20 Nov 2009 04:09:56 +0000 (04:09 +0000)]
No need to pass the state argument explicitly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89447
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 20 Nov 2009 03:50:46 +0000 (03:50 +0000)]
Revert r89437 and add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89446
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 20 Nov 2009 02:31:07 +0000 (02:31 +0000)]
Implement throw d, where d is a class type that requires copy
construction. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89442
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 20 Nov 2009 02:31:03 +0000 (02:31 +0000)]
Don't build an explicit conversion to a reference type
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89441
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 20 Nov 2009 01:57:39 +0000 (01:57 +0000)]
Handle throw d, where d is a class type but only has a trivial copy
constructor. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89438
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 20 Nov 2009 01:56:48 +0000 (01:56 +0000)]
It's unnecessary to check for unknown at this point.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89437
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Nov 2009 01:46:44 +0000 (01:46 +0000)]
Driver: Add parsing for TargetOptions to CompilerInvocation::CreateFromArgs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89435
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Nov 2009 01:31:27 +0000 (01:31 +0000)]
Ignore -Wstrict-overflow={3,4,5} for now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89433
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 20 Nov 2009 01:20:12 +0000 (01:20 +0000)]
Really fix test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89430
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 20 Nov 2009 01:19:22 +0000 (01:19 +0000)]
Fix test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89429
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 20 Nov 2009 00:59:20 +0000 (00:59 +0000)]
When we have a non-dependent expression such as
A::f
that occurs within a non-static member function with a type-dependent
"this", don't consider this to be a case for introduction of an
implicit "(*this)." to refer to a specific member function unless we
know (at template definition time) that A is a base class of *this.
There is some disagreement here between GCC, EDG, and Clang about the
handling of this case. I believe that Clang now has the correct,
literal interpretation of the standard, but have asked for
clarification (c++std-core-15483).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89425
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 20 Nov 2009 00:56:31 +0000 (00:56 +0000)]
Add suport for throw;. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89424
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 20 Nov 2009 00:43:57 +0000 (00:43 +0000)]
Fix rtti generation for throws. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89420
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 20 Nov 2009 00:31:50 +0000 (00:31 +0000)]
Simplify rtti building code a little. Prep for reuse for throw rtti
generation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89416
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 20 Nov 2009 00:12:36 +0000 (00:12 +0000)]
Fix null dereference in NSAutoreleasePoolChecker when analyzing messages sent to blocks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89413
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 20 Nov 2009 00:02:19 +0000 (00:02 +0000)]
Fixup key function calculations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89412
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 19 Nov 2009 23:25:22 +0000 (23:25 +0000)]
Deduce a ConstantArrayType from a value-dependent initializer list
rather than punting to a DependentSizedArrayType, tightening up our
type checking for template definitions. Thanks, John!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89407
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 19 Nov 2009 22:55:06 +0000 (22:55 +0000)]
Draw a brighter line between "unresolved" expressions, where we have done the
appropriate lookup and simply can't resolve the referrent yet, and
"dependent scope" expressions, where we can't do the lookup yet because the
entity we need to look into is a dependent type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89402
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 19 Nov 2009 22:12:37 +0000 (22:12 +0000)]
Don't issue spurious diagnostic with Obj-C fast enumeration.
(radar
7409165 ).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89400
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Thu, 19 Nov 2009 22:01:32 +0000 (22:01 +0000)]
Ignore build output in include/clang/Driver
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89399
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 20:54:59 +0000 (20:54 +0000)]
Fix some default in the option classes, and some CompilerInvocation argification
errors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89388
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 20:54:45 +0000 (20:54 +0000)]
Add missing dependency on TableGen.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89387
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 19 Nov 2009 20:52:19 +0000 (20:52 +0000)]
Fixup address point computations. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89386
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 19 Nov 2009 20:20:24 +0000 (20:20 +0000)]
Fix crash when using --analyzer-store=region when handling initializers with nested arrays/structs whose values are not explicitly specified. Fixes <rdar://problem/
7403269 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89384
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 19 Nov 2009 20:01:53 +0000 (20:01 +0000)]
Remove printf statement.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89383
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 19 Nov 2009 19:59:42 +0000 (19:59 +0000)]
Fix 80 col. violation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89382
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 19 Nov 2009 19:04:08 +0000 (19:04 +0000)]
Only fetch the ASTContext object within the assertion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89375
91177308 -0d34-0410-b5e6-
96231b3b80d8