]> granicus.if.org Git - clang/log
clang
15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 years agoPull ivar scanning logic into another utility function. This refactoring will enable...
Ted Kremenek [Wed, 28 Oct 2009 20:37:47 +0000 (20:37 +0000)]
Pull ivar scanning logic into another utility function. This refactoring will enable scanning
categories as well (WIP). No functionality change yet.

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

15 years agofactor a creation of Int32Ty.
Chris Lattner [Wed, 28 Oct 2009 20:36:47 +0000 (20:36 +0000)]
factor a creation of Int32Ty.

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

15 years agoUse array's base element type in getting to its
Fariborz Jahanian [Wed, 28 Oct 2009 19:04:36 +0000 (19:04 +0000)]
Use array's base element type in getting to its
constructor. WIP.

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

15 years agoRemoved an unnecessary arguement passed to InitializeVarWithConstructor
Fariborz Jahanian [Wed, 28 Oct 2009 18:41:06 +0000 (18:41 +0000)]
Removed an unnecessary arguement passed to InitializeVarWithConstructor
which should come from the variable and wasn't correct for arrays in any case.
No change in functionality.

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

15 years agoRestored note on pointer to members with a pointer
Fariborz Jahanian [Wed, 28 Oct 2009 18:06:53 +0000 (18:06 +0000)]
Restored note on pointer to members with a pointer
to issue involved.

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

15 years agorandom tidying
Chris Lattner [Wed, 28 Oct 2009 17:39:19 +0000 (17:39 +0000)]
random tidying

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

15 years agoRemoved a Note related to pointer to member functions which
Fariborz Jahanian [Wed, 28 Oct 2009 17:25:01 +0000 (17:25 +0000)]
Removed a Note related to pointer to member functions which
does not seem to exist any longer.

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

15 years agoDiagnose use of data pointer member in a function call
Fariborz Jahanian [Wed, 28 Oct 2009 16:49:46 +0000 (16:49 +0000)]
Diagnose use of data pointer member in a function call
expression instead of crashing.

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

15 years agoMangle based on the declaration we're given, not the canonical
Douglas Gregor [Wed, 28 Oct 2009 16:31:34 +0000 (16:31 +0000)]
Mangle based on the declaration we're given, not the canonical
declaration, since attributes that affect mangling may have been added
to subsequent declarations. However, to determine the linkage of the
declaration, we need to look at the canonical declaration. Fixes PR4412.

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

15 years agoFix for PR4887, Credit to Jonathan Gray.
Edward O'Callaghan [Wed, 28 Oct 2009 15:13:08 +0000 (15:13 +0000)]
Fix for PR4887, Credit to Jonathan Gray.

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