]> granicus.if.org Git - clang/log
clang
14 years agoRemove GRExprEngine::CheckerVisitLocation(). It was only called in one place, so...
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

14 years agoProperty declared in continuation class can only be used to
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

14 years agoAdded __has_include and __has_include_next.
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

14 years agoHopefully make gcc-4.0 happy with respect to the following warning:
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

14 years agoSort export list.
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

14 years agoRemove unused header.
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

14 years agoclean up namespace.
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

14 years agoAdd note to FIXME about PR5371.
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

14 years agoAdd "virtual" keywords for clarity.
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

14 years agoDiagnose implementation of a property declared in a category
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

14 years agoWhen determining whether a reference to a static data member is an
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

14 years agoWithin a template, qualified name lookup can refer to a non-dependent type
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

14 years agoAdd missing colons for FileCheck.
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

14 years agoFix -pthread on dragonfly. Patch by Sascha Wildner.
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

14 years agoRefine vcall/vbase ordering with vtable construction.
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

14 years agoImplement "incremental" template instantiation for non-type template
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

14 years agoFix the type of __builtin_expect, from Ed Schouten!
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

14 years agoAdd two missing CINDEX_LINKAGE uses, in libCIndex, from Kovarththanan
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

14 years agoUpdate CMake file.
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

14 years agoMove CheckDivZero into its own files.
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

14 years agoMove UndefDerefChecker into its own file.
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

14 years agoAdd header comments.
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

14 years agofix 80-col.
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

14 years agoFix a crazy canonical-types bug because canonicalizing a
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

14 years agoWhen looking for a copy-assignment operator to determine the cv-qualifiers on its...
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

14 years agoWhen a friend is declared in a dependent context, don't even try to
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

14 years agoImproved fix for PR3844, which recovers better for class template
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

14 years agoTighten computation of ExprVal using ?: expression. No functionality change.
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

14 years agoImprove diagnostics when parsing something like
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

14 years agoInstantiate class template friends better; fixes PR5332.
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

14 years agoRemove clang-cc code for handling -mmacosx-version-min and
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

14 years agoChange the driver to do the Darwin triple mangling itself instead of forwarding
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

14 years agoFinally suppress a compiler warning from gcc on release-asserts. Also fixes
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

14 years agoMake checkers run in deterministic order.
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

14 years agoMove NullDerefChecker.h instead a 'Checkers' subdirectory.
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

14 years agoMove all logic for the null dereference checker from GRExprEngineInternalChecks.cpp...
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

14 years agoInclude macros in code-completion results
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

14 years agoDoug says this is medium done.
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

14 years agocxx_status: fix some missing/wrong cells.
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

14 years agoRe-arranged some internal functions for coming __has_include changes.
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

14 years agoAdd C++ include paths for Exherbo. Patch by Daniel Mierswa!
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

14 years agoFix PR5316: make assignment expressions can be visited as lvalue. Then we
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

14 years agoHandle loading of field values from LazyCompoundVals in GRExprEngine::VisitMemberExpr().
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

14 years agowarn about returning the address of a label.
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

14 years agoGet throws limping along, still a bunch of FIXMEs. Too bad we don't support catching...
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

14 years agoFix thinko, mangleCXXRtti should obviously take a QualType!
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

14 years agoAdd CGException.cpp, to be used for exception related code generation.
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

14 years agomangleCXXRtti obviously needs to take a type, what was I thinking...
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

14 years agoThis patch computes composite type of two objective-c expressions
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

14 years agoAdd a CK_DerivedToBaseMemberPointer cast kind and use it in Sema (Still no codegen).
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

14 years agoInclude pointee type information in the diagnostic for creating bad pointers or
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

14 years agoReport accurate source-location information when rebuilding types during
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

14 years agoFix one more bug with __builtin_object_size.
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

14 years agoAdd yet more testcases.
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

14 years agoAdd some more testcases.
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

14 years agoSilence a gcc warning where it notices that default-constructing a class
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

14 years agoWe may need to instantiate a class template specialization as part of a derived-to...
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

14 years agoSlightly improve source-location information during template instantiation
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

14 years ago- Add/tweak some comments.
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

14 years agoMove some clang-cc errors to use diagnostics, and simplify.
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

14 years agoFix some issues Daniel pointed out.
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

14 years agoProperly instantiate usage of overloaded operator []. Fixes PR5345.
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

14 years agoclang_getDeclSpelling(): For category implementations, make sure we hand back the...
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

14 years agoA few TemplateArgumentLoc clean-ups. Try to remember the Expr for a declaration.
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

14 years agoYet more instantiation-location information. Fixes PR5336.
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

14 years agoPatch for destruction of array of objects on block exit.
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

14 years agoUpdate checker build.
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

14 years agoMake sure to call CompleteConstructorCall for bases and members that are initialized...
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

14 years agoFix Release-Asserts build breakage
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

14 years agomake clang emit undefs for padding of structs and unions instead of zeros. this enabl...
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

14 years agoApparently when is now.
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

14 years agoTrack source information for template arguments and template specialization
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

14 years agoExtract TemplateArgument into a new header just for common template
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

14 years agoAdd an assertion to ensure NullDerefChecker exists.
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

14 years agoFix accidental use of CheckSVal instead of CheckLocation, and add a
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

14 years agoStringSwitch-ify attribute name mapping.
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

14 years agomake this interpretable.
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

14 years agoFix an insidious bug in RegionStore::RemoveDeadBindings() pointed out
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

14 years agoadd two new and very exhaustive preprocessor tests, patch by
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

14 years agosimplify intmax setup, patch by Ken Dyck!
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

14 years agoRemove some obsolete or unnecessary FIXMEs.
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

14 years agoPR5328: Allow duplicatic -pedantic (and -pedantic-errors) options.
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

14 years agoKill off MakeFormattedString helper function.
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

14 years agoMove NullDeref and UndefDeref into their own checker.
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

14 years agoReject -I- in driver instead of clang-cc.
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

14 years agoFormatting fixes.
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

14 years agomake this more interesting, test the static const array.
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

14 years agoAdd test case for <rdar://problem/7342806>.
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

14 years ago[llvm up]
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

14 years agooptimize out some ifdefs.
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

14 years agoFix some Window-isms to get these tests to pass on Windows.
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

14 years agoImplement support for semantic checking and template instantiation of
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

14 years agoImplement clang support for indirect branch and address of label
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

14 years agoUnused ivars checker: also check methods in categories that are defined in the same...
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

14 years agoFix <rdar://problem/7330784>. Avoid crashing on 'Class<p>' when generating meta-data...
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

14 years agoRefine __builtin_object_size. Don't try and get a size for things
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

14 years agoMinor cleanup.
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

14 years agoCode gen for array construction - WIP
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

14 years agoRemove _clang_initCXLookupHint() and _clang_getCursorWithHint(). Related to <rdar...
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

14 years agoRefactor a bit.
Mike Stump [Wed, 28 Oct 2009 20:44:03 +0000 (20:44 +0000)]
Refactor a bit.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85424 91177308-0d34-0410-b5e6-96231b3b80d8