]>
granicus.if.org Git - clang/log
Mike Stump [Mon, 2 Nov 2009 23:22:01 +0000 (23:22 +0000)]
Refine codegen for thunks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85839
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 2 Nov 2009 23:19:29 +0000 (23:19 +0000)]
Remove GRExprEngine::CheckerVisitLocation(). It was only called in one place, so we inlined it in to GRExprEngine::EvalLocation().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85838
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 2 Nov 2009 22:45:15 +0000 (22:45 +0000)]
Property declared in continuation class can only be used to
change a readonly property declared in the class (and its inherited protocols)
to writable property. (Fixes radar
7350645 ).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85836
91177308 -0d34-0410-b5e6-
96231b3b80d8
John Thompson [Mon, 2 Nov 2009 22:28:12 +0000 (22:28 +0000)]
Added __has_include and __has_include_next.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85834
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 2 Nov 2009 22:24:53 +0000 (22:24 +0000)]
Hopefully make gcc-4.0 happy with respect to the following warning:
warning: 'class clang::StackFrameContext' has virtual functions but non-virtual destructor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85833
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 2 Nov 2009 22:23:08 +0000 (22:23 +0000)]
Sort export list.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85832
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 2 Nov 2009 22:11:26 +0000 (22:11 +0000)]
Remove unused header.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85828
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Nov 2009 21:48:09 +0000 (21:48 +0000)]
clean up namespace.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85826
91177308 -0d34-0410-b5e6-
96231b3b80d8
Edward O'Callaghan [Mon, 2 Nov 2009 21:25:11 +0000 (21:25 +0000)]
Add note to FIXME about PR5371.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85825
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 2 Nov 2009 18:54:58 +0000 (18:54 +0000)]
Add "virtual" keywords for clarity.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85815
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 2 Nov 2009 18:45:36 +0000 (18:45 +0000)]
Diagnose implementation of a property declared in a category
in its class implementation instead of crashing. Fixes radar
7350345 .
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85813
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 1 Nov 2009 20:32:48 +0000 (20:32 +0000)]
When determining whether a reference to a static data member is an
integral constant expression, make sure to find where the initializer
was provided---inside or outside the class definition---since that can
affect whether we have an integral constant expression (and, we need
to see the initializer itself).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85741
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 1 Nov 2009 17:08:18 +0000 (17:08 +0000)]
Within a template, qualified name lookup can refer to a non-dependent type
that is not known to be a base class at template definition time due
to some dependent base class. Treat qualified name lookup that refers
to a non-static data member or function as implicit class member
access when the "this" type would be dependent.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85718
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 31 Oct 2009 20:42:26 +0000 (20:42 +0000)]
Add missing colons for FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85683
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Sat, 31 Oct 2009 20:11:46 +0000 (20:11 +0000)]
Fix -pthread on dragonfly. Patch by Sascha Wildner.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85679
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Sat, 31 Oct 2009 20:06:59 +0000 (20:06 +0000)]
Refine vcall/vbase ordering with vtable construction.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85677
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 31 Oct 2009 17:21:17 +0000 (17:21 +0000)]
Implement "incremental" template instantiation for non-type template
parameters and template type parameters, which occurs when
substituting into the declarations of member templates inside class
templates. This eliminates errors about our inability to "reduce
non-type template parameter depth", fixing PR5311.
Also fixes a bug when instantiating a template type parameter
declaration in a member template, where we weren't properly reducing
the template parameter's depth.
LLVM's StringSwitch header now parses.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85669
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 31 Oct 2009 16:04:14 +0000 (16:04 +0000)]
Fix the type of __builtin_expect, from Ed Schouten!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85666
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 31 Oct 2009 15:48:08 +0000 (15:48 +0000)]
Add two missing CINDEX_LINKAGE uses, in libCIndex, from Kovarththanan
Rajaratnam!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85665
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 31 Oct 2009 12:15:23 +0000 (12:15 +0000)]
Update CMake file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85652
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sat, 31 Oct 2009 10:02:37 +0000 (10:02 +0000)]
Move CheckDivZero into its own files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85651
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sat, 31 Oct 2009 08:44:33 +0000 (08:44 +0000)]
Move UndefDerefChecker into its own file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85645
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sat, 31 Oct 2009 04:12:21 +0000 (04:12 +0000)]
Add header comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85644
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sat, 31 Oct 2009 03:36:08 +0000 (03:36 +0000)]
fix 80-col.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85642
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 30 Oct 2009 22:56:57 +0000 (22:56 +0000)]
Fix a crazy canonical-types bug because canonicalizing a
dependently-sized array type with a given expression might end up
returning a non-canonical type; see through that non-canonical type to
the underlying canonical type. Yes, I have a test case; no, I can't
reduce it to the point where it's worth checking in :(
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85633
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 30 Oct 2009 22:48:49 +0000 (22:48 +0000)]
When looking for a copy-assignment operator to determine the cv-qualifiers on its argument type, ignore assignment operator templates
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85629
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 30 Oct 2009 22:42:42 +0000 (22:42 +0000)]
When a friend is declared in a dependent context, don't even try to
match it up with a declaration in the outer scope.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85628
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 30 Oct 2009 22:09:44 +0000 (22:09 +0000)]
Improved fix for PR3844, which recovers better for class template
partial specializations and explicit instantiations of non-templates.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85620
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 30 Oct 2009 22:01:29 +0000 (22:01 +0000)]
Tighten computation of ExprVal using ?: expression. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85618
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 30 Oct 2009 21:46:58 +0000 (21:46 +0000)]
Improve diagnostics when parsing something like
template<> struct foo<int> { ... };
where "foo" does not refer to a template. Fixes PR3844.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85616
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 30 Oct 2009 21:07:27 +0000 (21:07 +0000)]
Instantiate class template friends better; fixes PR5332.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85612
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 30 Oct 2009 18:12:31 +0000 (18:12 +0000)]
Remove clang-cc code for handling -mmacosx-version-min and
-miphoneos-version-min.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85601
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 30 Oct 2009 18:12:20 +0000 (18:12 +0000)]
Change the driver to do the Darwin triple mangling itself instead of forwarding
-mmacosx-version-min and -miphoneos-version-min to clang-cc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85600
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Fri, 30 Oct 2009 17:53:18 +0000 (17:53 +0000)]
Finally suppress a compiler warning from gcc on release-asserts. Also fixes
a crash on <vector> in same, which bears additional investigation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85598
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 30 Oct 2009 17:47:32 +0000 (17:47 +0000)]
Make checkers run in deterministic order.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85597
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 30 Oct 2009 17:28:40 +0000 (17:28 +0000)]
Move NullDerefChecker.h instead a 'Checkers' subdirectory.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85596
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 30 Oct 2009 17:24:47 +0000 (17:24 +0000)]
Move all logic for the null dereference checker from GRExprEngineInternalChecks.cpp to a separate .cpp file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85595
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 30 Oct 2009 16:50:04 +0000 (16:50 +0000)]
Include macros in code-completion results
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85594
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 30 Oct 2009 14:54:38 +0000 (14:54 +0000)]
Doug says this is medium done.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85592
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 30 Oct 2009 14:41:58 +0000 (14:41 +0000)]
cxx_status: fix some missing/wrong cells.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85591
91177308 -0d34-0410-b5e6-
96231b3b80d8
John Thompson [Fri, 30 Oct 2009 13:49:06 +0000 (13:49 +0000)]
Re-arranged some internal functions for coming __has_include changes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85589
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 30 Oct 2009 12:57:13 +0000 (12:57 +0000)]
Add C++ include paths for Exherbo. Patch by Daniel Mierswa!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85588
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 30 Oct 2009 07:19:39 +0000 (07:19 +0000)]
Fix PR5316: make assignment expressions can be visited as lvalue. Then we
can get the correct base lvalue.
Revert r85578.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85579
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 30 Oct 2009 05:48:30 +0000 (05:48 +0000)]
Handle loading of field values from LazyCompoundVals in GRExprEngine::VisitMemberExpr().
This fixes the crash reported in PR 5316.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85578
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Oct 2009 04:01:58 +0000 (04:01 +0000)]
warn about returning the address of a label.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85576
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 30 Oct 2009 02:27:02 +0000 (02:27 +0000)]
Get throws limping along, still a bunch of FIXMEs. Too bad we don't support catching anything yet :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85574
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 30 Oct 2009 01:52:02 +0000 (01:52 +0000)]
Fix thinko, mangleCXXRtti should obviously take a QualType!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85565
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 30 Oct 2009 01:42:31 +0000 (01:42 +0000)]
Add CGException.cpp, to be used for exception related code generation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85560
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 30 Oct 2009 01:26:12 +0000 (01:26 +0000)]
mangleCXXRtti obviously needs to take a type, what was I thinking...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85555
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 30 Oct 2009 01:13:23 +0000 (01:13 +0000)]
This patch computes composite type of two objective-c expressions
used in a conditional expression by finding the most-derived common
super class of the two and qualifies the resulting type by the
intersection of the protocl qualifier list of the two objective-c
pointer types. ( this is continuation of radar
7334235 ).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85554
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 30 Oct 2009 00:46:35 +0000 (00:46 +0000)]
Add a CK_DerivedToBaseMemberPointer cast kind and use it in Sema (Still no codegen).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85552
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Fri, 30 Oct 2009 00:37:20 +0000 (00:37 +0000)]
Include pointee type information in the diagnostic for creating bad pointers or
arrays.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85550
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Fri, 30 Oct 2009 00:06:24 +0000 (00:06 +0000)]
Report accurate source-location information when rebuilding types during
template instantiation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85545
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 29 Oct 2009 23:34:20 +0000 (23:34 +0000)]
Fix one more bug with __builtin_object_size.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85538
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 29 Oct 2009 23:29:54 +0000 (23:29 +0000)]
Add yet more testcases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85535
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 29 Oct 2009 23:22:14 +0000 (23:22 +0000)]
Add some more testcases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85534
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 29 Oct 2009 23:20:43 +0000 (23:20 +0000)]
Silence a gcc warning where it notices that default-constructing a class
doesn't initialize anything.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85533
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 29 Oct 2009 23:08:22 +0000 (23:08 +0000)]
We may need to instantiate a class template specialization as part of a derived-to-base pointer case
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85532
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 29 Oct 2009 22:21:39 +0000 (22:21 +0000)]
Slightly improve source-location information during template instantiation
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85529
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 29 Oct 2009 21:11:04 +0000 (21:11 +0000)]
- Add/tweak some comments.
- change ObjCCategoryImplDecl::getCategoryClass() to getCategoryDecl().
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85528
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 29 Oct 2009 21:05:18 +0000 (21:05 +0000)]
Move some clang-cc errors to use diagnostics, and simplify.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85527
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 29 Oct 2009 20:48:09 +0000 (20:48 +0000)]
Fix some issues Daniel pointed out.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85526
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Thu, 29 Oct 2009 20:17:01 +0000 (20:17 +0000)]
Properly instantiate usage of overloaded operator []. Fixes PR5345.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85524
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 29 Oct 2009 18:55:50 +0000 (18:55 +0000)]
clang_getDeclSpelling(): For category implementations, make sure we hand back the category name (not the class name). This fixes <rdar://problem/
7297518 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85521
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 29 Oct 2009 18:45:58 +0000 (18:45 +0000)]
A few TemplateArgumentLoc clean-ups. Try to remember the Expr for a declaration.
Provide an API for getting the SourceRange of a TAL and use it judiciously.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85520
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 29 Oct 2009 17:56:10 +0000 (17:56 +0000)]
Yet more instantiation-location information. Fixes PR5336.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85516
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 29 Oct 2009 16:22:54 +0000 (16:22 +0000)]
Patch for destruction of array of objects on block exit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85512
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 29 Oct 2009 16:18:45 +0000 (16:18 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85511
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 29 Oct 2009 15:46:07 +0000 (15:46 +0000)]
Make sure to call CompleteConstructorCall for bases and members that are initialized implicitly in constructors so that default arguments etc are set correctly. Fixes PR5283.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85510
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 29 Oct 2009 15:25:40 +0000 (15:25 +0000)]
Fix Release-Asserts build breakage
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85509
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nuno Lopes [Thu, 29 Oct 2009 11:27:06 +0000 (11:27 +0000)]
make clang emit undefs for padding of structs and unions instead of zeros. this enables constant compaction optimizations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85504
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 29 Oct 2009 08:17:34 +0000 (08:17 +0000)]
Apparently when is now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85501
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 29 Oct 2009 08:12:44 +0000 (08:12 +0000)]
Track source information for template arguments and template specialization
types. Preserve it through template instantiation. Preserve it through PCH,
although TSTs themselves aren't serializable, so that's pretty much meaningless.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85500
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 29 Oct 2009 07:48:15 +0000 (07:48 +0000)]
Extract TemplateArgument into a new header just for common template
classes. Move its implementation into a new module.
This will seem marginally more justified in a bit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85499
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 29 Oct 2009 05:56:54 +0000 (05:56 +0000)]
Add an assertion to ensure NullDerefChecker exists.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85497
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 29 Oct 2009 05:33:39 +0000 (05:33 +0000)]
Fix accidental use of CheckSVal instead of CheckLocation, and add a
small test case to show we handle dereferences of undefined values.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85492
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 29 Oct 2009 05:26:58 +0000 (05:26 +0000)]
StringSwitch-ify attribute name mapping.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85491
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 29 Oct 2009 05:25:27 +0000 (05:25 +0000)]
make this interpretable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85487
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 29 Oct 2009 05:14:17 +0000 (05:14 +0000)]
Fix an insidious bug in RegionStore::RemoveDeadBindings() pointed out
by Zhongxing Xu. RemoveDeadBindings() would falsely prune
SymbolicRegions from the store that wrapped derived symbols whose
liveness could only be determined after scanning the store.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85484
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 29 Oct 2009 04:55:36 +0000 (04:55 +0000)]
add two new and very exhaustive preprocessor tests, patch by
Ken Dyck!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85482
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 29 Oct 2009 04:54:24 +0000 (04:54 +0000)]
simplify intmax setup, patch by Ken Dyck!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85481
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 29 Oct 2009 02:39:57 +0000 (02:39 +0000)]
Remove some obsolete or unnecessary FIXMEs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85475
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 29 Oct 2009 02:24:45 +0000 (02:24 +0000)]
PR5328: Allow duplicatic -pedantic (and -pedantic-errors) options.
- clang-cc doesn't care about their relative order with other -W options.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85473
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 29 Oct 2009 02:24:37 +0000 (02:24 +0000)]
Kill off MakeFormattedString helper function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85472
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 29 Oct 2009 02:09:30 +0000 (02:09 +0000)]
Move NullDeref and UndefDeref into their own checker.
Add a CheckLocation() interface to Checker.
Now ImplicitNullDeref nodes are cached in NullDerefChecker.
More cleanups follow.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85471
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 29 Oct 2009 01:53:44 +0000 (01:53 +0000)]
Reject -I- in driver instead of clang-cc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85469
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 29 Oct 2009 01:53:18 +0000 (01:53 +0000)]
Formatting fixes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85468
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 29 Oct 2009 01:20:34 +0000 (01:20 +0000)]
make this more interesting, test the static const array.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85464
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 29 Oct 2009 00:49:46 +0000 (00:49 +0000)]
Add test case for <rdar://problem/
7342806 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85462
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 29 Oct 2009 00:41:01 +0000 (00:41 +0000)]
[llvm up]
Switch a few ugly switch-on-string-literal constructs to use the new
llvm::StringSwitch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85461
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 29 Oct 2009 00:22:00 +0000 (00:22 +0000)]
optimize out some ifdefs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85453
91177308 -0d34-0410-b5e6-
96231b3b80d8
John Thompson [Thu, 29 Oct 2009 00:10:42 +0000 (00:10 +0000)]
Fix some Window-isms to get these tests to pass on Windows.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85450
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 29 Oct 2009 00:04:11 +0000 (00:04 +0000)]
Implement support for semantic checking and template instantiation of
class template partial specializations of member templates. Also,
fixes a silly little bug in the marking of "used" template parameters
in member templates. Fixes PR5236.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85447
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Oct 2009 23:59:40 +0000 (23:59 +0000)]
Implement clang support for indirect branch and address of label
using the new LLVM support for this. This is temporarily hiding
behind horrible and ugly #ifdefs until the time when the optimizer
is stable (hopefully a week or so). Until then, lets make it "opt in" :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85446
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 28 Oct 2009 22:18:22 +0000 (22:18 +0000)]
Unused ivars checker: also check methods in categories that are defined in the same translation unit. Fixes <rdar://problem/
6260004 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85442
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 28 Oct 2009 22:03:49 +0000 (22:03 +0000)]
Fix <rdar://problem/
7330784 >. Avoid crashing on 'Class<p>' when generating meta-data for a class.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85440
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 28 Oct 2009 21:22:24 +0000 (21:22 +0000)]
Refine __builtin_object_size. Don't try and get a size for things
that don't have sizes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85435
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 28 Oct 2009 21:07:28 +0000 (21:07 +0000)]
Minor cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85434
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 28 Oct 2009 20:55:41 +0000 (20:55 +0000)]
Code gen for array construction - WIP
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85432
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 28 Oct 2009 20:44:47 +0000 (20:44 +0000)]
Remove _clang_initCXLookupHint() and _clang_getCursorWithHint(). Related to <rdar://problem/
7310688 >.
Localize the optimization to ResolveLocationInAST(). The last valid AST location is now stored with ASTUnit. There still isn't optimal, however it's an improvement (with a much cleaner API). Having the client manage an "hint" is error prone and complex.
I wanted to land the major changes before finishing up the optimizations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85425
91177308 -0d34-0410-b5e6-
96231b3b80d8