Ted Kremenek
b006b82daf
Refactor StoreManager::BindDecl() to take a VarRegion* instead of a VarDecl*, and modify GRExprEngine::EvalBind() to handle decl initialization as well. This paves the way for adding "checker" visitation in EvalBind().
...
llvm-svn: 85983
2009-11-04 00:09:15 +00:00
Mike Stump
8117848174
Misc cleanups.
...
llvm-svn: 85978
2009-11-03 23:50:34 +00:00
Mike Stump
6de15a8881
Test case for recent checkin.
...
llvm-svn: 85972
2009-11-03 23:32:42 +00:00
Ted Kremenek
0fbbb0877d
Change GRTransferFuncs::RegisterChecks() to take a GRExprEngine& instead of a BugReporter&. This paves the way for pulling some of the retain/release checker into a "Checker" class.
...
llvm-svn: 85971
2009-11-03 23:30:34 +00:00
Mike Stump
53f9ded62b
Refine volatile handling, specifically, we must have the canonical
...
type to look at the volatile specifier. I found these all from just
hand auditing the code.
llvm-svn: 85967
2009-11-03 23:25:48 +00:00
Douglas Gregor
3cf81317e4
Parsing and semantic analysis for template-ids that name overloaded
...
operators, e.g.,
operator+<int>
which now works in declarators, id-expressions, and member access
expressions. This commit only implements the non-dependent case, where
we can resolve the template-id to an actual declaration.
llvm-svn: 85966
2009-11-03 23:16:33 +00:00
Nuno Lopes
f94d35387e
make 'make clean' work on Solaris, per Gabor Greif comment
...
llvm-svn: 85958
2009-11-03 22:39:56 +00:00
Nuno Lopes
6a20b2df3e
make 'make clean' clean everything
...
llvm-svn: 85957
2009-11-03 22:21:28 +00:00
Mike Stump
96638affa6
We have to ensure we have the canonical type to do this. This is but
...
one instance of a large problem. assert for non-canoical types would
help track down these things.
llvm-svn: 85956
2009-11-03 22:20:01 +00:00
Douglas Gregor
127ea59872
Tweak some comments about unqualified-id and id-expression parsing. No functionality change
...
llvm-svn: 85942
2009-11-03 21:24:04 +00:00
John McCall
5e6253bbd0
CFieldCallback doesn't need to create an ExtensionRAIIObject: it's actually
...
automatically shadowed by the ExtensionRAIIObject created by
ParseStructDeclaration.
llvm-svn: 85941
2009-11-03 21:13:47 +00:00
Douglas Gregor
7f4d7ea3a9
Remove a bunch of #if 0'd code made irrelevant by the latest ParseUnqualifiedId changes
...
llvm-svn: 85938
2009-11-03 20:53:48 +00:00
Fariborz Jahanian
7ad3616659
Remove previous patch for pr5296 due to further clarification
...
of value-initialization and trivial constructors.
llvm-svn: 85935
2009-11-03 20:38:53 +00:00
Chris Lattner
e9d7d78ab3
Implement support for the -undef command line option, patch by
...
Roman Divacky! PR5363
llvm-svn: 85932
2009-11-03 19:50:27 +00:00
Chris Lattner
4f10559ba8
silence a warning.
...
llvm-svn: 85931
2009-11-03 19:48:51 +00:00
Douglas Gregor
30d60cb36e
Replace the code that parses member access expressions after "." or
...
"->" with a use of ParseUnqualifiedId. Collapse
ActOnMemberReferenceExpr, ActOnDestructorReferenceExpr (both of them),
ActOnOverloadedOperatorReferenceExpr,
ActOnConversionOperatorReferenceExpr, and
ActOnMemberTemplateIdReferenceExpr into a single, new action
ActOnMemberAccessExpr that does the same thing more cleanly (and can
keep more source-location information).
llvm-svn: 85930
2009-11-03 19:44:04 +00:00
John McCall
37958aa864
Silence a warning by giving Parser::FieldCallback a virtual destructor, and
...
anchor the vtable to Parser.cpp for good measure.
llvm-svn: 85927
2009-11-03 19:33:12 +00:00
Mike Stump
f6968a5749
vtable testcase for recent work on vcall/vbase offsets.
...
llvm-svn: 85925
2009-11-03 19:28:52 +00:00
John McCall
d5a36321b9
Reorganize the parsing of decl groups / function definitions so that
...
declarators are parsed primarily within a single function (at least for
these cases). Remove some excess diagnostics arising during parse failures.
llvm-svn: 85924
2009-11-03 19:26:08 +00:00
Mike Stump
4627132ebc
Refine codegen for covariant thunks that return references.
...
llvm-svn: 85916
2009-11-03 19:03:17 +00:00
Ted Kremenek
8d43a6ac3d
Merge NullDerefChecker.[h,cpp] and UndefDerefChecker.[h,cpp]. They are essentially two parts of the same check.
...
llvm-svn: 85911
2009-11-03 18:41:06 +00:00
Daniel Dunbar
eec7d75a4e
Fix tests to not depend on /dev/null existing.
...
llvm-svn: 85908
2009-11-03 17:56:18 +00:00
Mike Stump
77738205e6
Refine return value adjustments for thunks.
...
llvm-svn: 85905
2009-11-03 16:59:27 +00:00
Douglas Gregor
a121b75d9d
Use ParseUnqualifiedId when parsing id-expressions. This eliminates
...
yet another copy of the unqualified-id parsing code.
Also, use UnqualifiedId to simplify the Action interface for building
id-expressions. ActOnIdentifierExpr, ActOnCXXOperatorFunctionIdExpr,
ActOnCXXConversionFunctionExpr, and ActOnTemplateIdExpr have all been
removed in favor of the new ActOnIdExpression action.
llvm-svn: 85904
2009-11-03 16:56:39 +00:00
Mike Stump
462a4aa787
Fix documentation.
...
llvm-svn: 85901
2009-11-03 16:11:57 +00:00
Benjamin Kramer
8a712c7866
Update CMakeLists.
...
llvm-svn: 85898
2009-11-03 13:37:33 +00:00
Zhongxing Xu
27fee83ec4
Pull VLA size checker into its own files.
...
Split it to two checkers, one for undefined size,
the other for zero size, so that we don't need to query the size
when emitting the bug report.
llvm-svn: 85895
2009-11-03 12:13:38 +00:00
Daniel Dunbar
865418a462
Add link to FatELF project.
...
llvm-svn: 85888
2009-11-03 08:18:34 +00:00
Ted Kremenek
18c7ceee16
Implement: <rdar://problem/6250216> Warn against using -[NSAutoreleasePool release] in GC mode
...
llvm-svn: 85887
2009-11-03 08:03:59 +00:00
Ted Kremenek
924316d7d7
Move 'static inline' functions GetNullarySelector() and GetUnarySelector() from CFRefCount.cpp to ASTContext.h. These functions are likely to be generally useful.
...
llvm-svn: 85886
2009-11-03 08:00:42 +00:00
Daniel Dunbar
83e3714902
XFAIL Driver/hello.c on Windows.
...
llvm-svn: 85885
2009-11-03 07:49:31 +00:00
Zhongxing Xu
9b9d731a8b
Pull AttrNonNullChecker into its own files.
...
llvm-svn: 85883
2009-11-03 07:35:33 +00:00
Daniel Dunbar
a3b52d7fb4
Add target_triple to Clang site configuration.
...
llvm-svn: 85881
2009-11-03 07:25:53 +00:00
Daniel Dunbar
a530841b4f
Switch XFAIL format to match LLVM.
...
llvm-svn: 85880
2009-11-03 07:25:45 +00:00
Zhongxing Xu
b42929d773
Update CMake file.
...
llvm-svn: 85879
2009-11-03 07:14:39 +00:00
Ted Kremenek
df8016aabb
Rename NSErrorCheck to NSErrorChecker.
...
llvm-svn: 85877
2009-11-03 06:59:59 +00:00
Ted Kremenek
3684c65ded
Update CMake file.
...
llvm-svn: 85876
2009-11-03 06:46:41 +00:00
Zhongxing Xu
ab162e1873
Pull UndefinedArgChecker into its own files.
...
llvm-svn: 85875
2009-11-03 06:46:03 +00:00
Ted Kremenek
66791d5dc5
Fix buffer overflow in PrintMacroDefinition() by inverting the check to see if the target buffer needs to be resized. Fixes <rdar://problem/7255377>.
...
llvm-svn: 85872
2009-11-03 06:18:05 +00:00
Zhongxing Xu
0deca3486e
Pull BadCallChecker into its own files.
...
llvm-svn: 85868
2009-11-03 05:48:04 +00:00
Ted Kremenek
43edaa8432
retain/release checker: CGBitmapContextCreateWithData() returns an owned object.
...
llvm-svn: 85867
2009-11-03 05:39:12 +00:00
Ted Kremenek
d1b67db2e8
retain/release checker: Add special handling of CGBitmapContextCreateWithData().
...
Fixes: <rdar://problem/7358899>
llvm-svn: 85864
2009-11-03 05:34:07 +00:00
Chris Lattner
3deabca934
pr5371 likely has nothing to do with this.
...
llvm-svn: 85862
2009-11-03 05:11:39 +00:00
Mike Stump
92e5f8cb39
Refine codegen for non-virtual this adjustments for thunks.
...
llvm-svn: 85856
2009-11-03 03:16:46 +00:00
John McCall
cfefb6d197
Switch ParseStructDeclaration to a callback-based API. This will make
...
it easier to track within Sema whether the parser is parsing a declaration.
llvm-svn: 85855
2009-11-03 02:38:08 +00:00
John Thompson
616798c31f
Fixed for running on Windows.
...
llvm-svn: 85854
2009-11-03 02:36:47 +00:00
Mike Stump
f358972fdc
Add virtual adjustments for this for thunks.
...
llvm-svn: 85852
2009-11-03 02:12:59 +00:00
Douglas Gregor
7861a80346
Introduce a new class, UnqualifiedId, that provides a parsed
...
representation of a C++ unqualified-id, along with a single parsing
function (Parser::ParseUnqualifiedId) that will parse all of the
various forms of unqualified-id in C++.
Replace the representation of the declarator name in Declarator with
the new UnqualifiedId class, simplifying declarator-id parsing
considerably and providing more source-location information to
Sema. In the future, I hope to migrate all of the other
unqualified-id-parsing code over to this single representation, then
begin to merge actions that are currently only different because we
didn't have a unqualified notion of the name in the parser.
llvm-svn: 85851
2009-11-03 01:35:08 +00:00
Fariborz Jahanian
a386d9533b
Assortment of property attributes declared in continuation
...
class must match those of same property declared
in its primary class. (Fixes radar 7352425)
llvm-svn: 85843
2009-11-03 00:01:38 +00:00
Mike Stump
31e1d43729
Add basic codegen for thunks that return values.
...
llvm-svn: 85842
2009-11-02 23:47:45 +00:00
Mike Stump
33ccd9e354
Refine codegen for thunks.
...
llvm-svn: 85839
2009-11-02 23:22:01 +00:00
Ted Kremenek
fac290d359
Remove GRExprEngine::CheckerVisitLocation(). It was only called in one place, so we inlined it in to GRExprEngine::EvalLocation().
...
llvm-svn: 85838
2009-11-02 23:19:29 +00:00
Fariborz Jahanian
de8db16a7d
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).
llvm-svn: 85836
2009-11-02 22:45:15 +00:00
John Thompson
ac0b098d4d
Added __has_include and __has_include_next.
...
llvm-svn: 85834
2009-11-02 22:28:12 +00:00
Ted Kremenek
f639b84bc5
Hopefully make gcc-4.0 happy with respect to the following warning:
...
warning: 'class clang::StackFrameContext' has virtual functions but non-virtual destructor
llvm-svn: 85833
2009-11-02 22:24:53 +00:00
Daniel Dunbar
cb68cdfb03
Sort export list.
...
llvm-svn: 85832
2009-11-02 22:23:08 +00:00
Daniel Dunbar
1e6add1fbb
Remove unused header.
...
llvm-svn: 85828
2009-11-02 22:11:26 +00:00
Chris Lattner
3fab58d867
clean up namespace.
...
llvm-svn: 85826
2009-11-02 21:48:09 +00:00
Edward O'Callaghan
06231460b3
Add note to FIXME about PR5371.
...
llvm-svn: 85825
2009-11-02 21:25:11 +00:00
Ted Kremenek
69e584d12b
Add "virtual" keywords for clarity.
...
llvm-svn: 85815
2009-11-02 18:54:58 +00:00
Fariborz Jahanian
ec344ed2f5
Diagnose implementation of a property declared in a category
...
in its class implementation instead of crashing. Fixes radar 7350345.
llvm-svn: 85813
2009-11-02 18:45:36 +00:00
Douglas Gregor
0840cc02ce
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).
llvm-svn: 85741
2009-11-01 20:32:48 +00:00
Douglas Gregor
5897e097a6
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.
llvm-svn: 85718
2009-11-01 17:08:18 +00:00
Benjamin Kramer
170a56f135
Add missing colons for FileCheck.
...
llvm-svn: 85683
2009-10-31 20:42:26 +00:00
Mike Stump
0a65b636ce
Fix -pthread on dragonfly. Patch by Sascha Wildner.
...
llvm-svn: 85679
2009-10-31 20:11:46 +00:00
Mike Stump
75ce573815
Refine vcall/vbase ordering with vtable construction.
...
llvm-svn: 85677
2009-10-31 20:06:59 +00:00
Douglas Gregor
954de17977
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.
llvm-svn: 85669
2009-10-31 17:21:17 +00:00
Douglas Gregor
bff4e7d180
Fix the type of __builtin_expect, from Ed Schouten!
...
llvm-svn: 85666
2009-10-31 16:04:14 +00:00
Douglas Gregor
249c121883
Add two missing CINDEX_LINKAGE uses, in libCIndex, from Kovarththanan
...
Rajaratnam!
llvm-svn: 85665
2009-10-31 15:48:08 +00:00
Benjamin Kramer
6b289a9cf6
Update CMake file.
...
llvm-svn: 85652
2009-10-31 12:15:23 +00:00
Zhongxing Xu
b1c24724dd
Move CheckDivZero into its own files.
...
llvm-svn: 85651
2009-10-31 10:02:37 +00:00
Zhongxing Xu
358ced08d0
Move UndefDerefChecker into its own file.
...
llvm-svn: 85645
2009-10-31 08:44:33 +00:00
Zhongxing Xu
2261bcadd1
Add header comments.
...
llvm-svn: 85644
2009-10-31 04:12:21 +00:00
Zhongxing Xu
5f5c954329
fix 80-col.
...
llvm-svn: 85642
2009-10-31 03:36:08 +00:00
Douglas Gregor
326b2fa03e
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 :(
llvm-svn: 85633
2009-10-30 22:56:57 +00:00
Douglas Gregor
62b885d43c
When looking for a copy-assignment operator to determine the cv-qualifiers on its argument type, ignore assignment operator templates
...
llvm-svn: 85629
2009-10-30 22:48:49 +00:00
Douglas Gregor
bb3b46eb74
When a friend is declared in a dependent context, don't even try to
...
match it up with a declaration in the outer scope.
llvm-svn: 85628
2009-10-30 22:42:42 +00:00
Douglas Gregor
1d0015f8e1
Improved fix for PR3844, which recovers better for class template
...
partial specializations and explicit instantiations of non-templates.
llvm-svn: 85620
2009-10-30 22:09:44 +00:00
Ted Kremenek
5c2040b182
Tighten computation of ExprVal using ?: expression. No functionality change.
...
llvm-svn: 85618
2009-10-30 22:01:29 +00:00
Douglas Gregor
916462b2f7
Improve diagnostics when parsing something like
...
template<> struct foo<int> { ... };
where "foo" does not refer to a template. Fixes PR3844.
llvm-svn: 85616
2009-10-30 21:46:58 +00:00
Douglas Gregor
412e8bc56d
Instantiate class template friends better; fixes PR5332.
...
llvm-svn: 85612
2009-10-30 21:07:27 +00:00
Daniel Dunbar
f3355a61c4
Remove clang-cc code for handling -mmacosx-version-min and
...
-miphoneos-version-min.
llvm-svn: 85601
2009-10-30 18:12:31 +00:00
Daniel Dunbar
624c21b029
Change the driver to do the Darwin triple mangling itself instead of forwarding
...
-mmacosx-version-min and -miphoneos-version-min to clang-cc.
llvm-svn: 85600
2009-10-30 18:12:20 +00:00
John McCall
edf97c4b02
Finally suppress a compiler warning from gcc on release-asserts. Also fixes
...
a crash on <vector> in same, which bears additional investigation.
llvm-svn: 85598
2009-10-30 17:53:18 +00:00
Ted Kremenek
6f2a705a24
Make checkers run in deterministic order.
...
llvm-svn: 85597
2009-10-30 17:47:32 +00:00
Ted Kremenek
89f5c189db
Move NullDerefChecker.h instead a 'Checkers' subdirectory.
...
llvm-svn: 85596
2009-10-30 17:28:40 +00:00
Ted Kremenek
f613e89617
Move all logic for the null dereference checker from GRExprEngineInternalChecks.cpp to a separate .cpp file.
...
llvm-svn: 85595
2009-10-30 17:24:47 +00:00
Douglas Gregor
f329c7c3c0
Include macros in code-completion results
...
llvm-svn: 85594
2009-10-30 16:50:04 +00:00
Benjamin Kramer
53ba5f21ff
Doug says this is medium done.
...
llvm-svn: 85592
2009-10-30 14:54:38 +00:00
Benjamin Kramer
c1dea5dded
cxx_status: fix some missing/wrong cells.
...
llvm-svn: 85591
2009-10-30 14:41:58 +00:00
John Thompson
b535352681
Re-arranged some internal functions for coming __has_include changes.
...
llvm-svn: 85589
2009-10-30 13:49:06 +00:00
Benjamin Kramer
305f9f8fed
Add C++ include paths for Exherbo. Patch by Daniel Mierswa!
...
llvm-svn: 85588
2009-10-30 12:57:13 +00:00
Zhongxing Xu
b9eda67380
Fix PR5316: make assignment expressions can be visited as lvalue. Then we
...
can get the correct base lvalue.
Revert r85578.
llvm-svn: 85579
2009-10-30 07:19:39 +00:00
Ted Kremenek
e96a30a531
Handle loading of field values from LazyCompoundVals in GRExprEngine::VisitMemberExpr().
...
This fixes the crash reported in PR 5316.
llvm-svn: 85578
2009-10-30 05:48:30 +00:00
Chris Lattner
252d36e74c
warn about returning the address of a label.
...
llvm-svn: 85576
2009-10-30 04:01:58 +00:00
Anders Carlsson
32e1b1c169
Get throws limping along, still a bunch of FIXMEs. Too bad we don't support catching anything yet :)
...
llvm-svn: 85574
2009-10-30 02:27:02 +00:00
Anders Carlsson
958c9f8524
Fix thinko, mangleCXXRtti should obviously take a QualType!
...
llvm-svn: 85565
2009-10-30 01:52:02 +00:00
Anders Carlsson
4b08db7a62
Add CGException.cpp, to be used for exception related code generation.
...
llvm-svn: 85560
2009-10-30 01:42:31 +00:00
Anders Carlsson
430046321b
mangleCXXRtti obviously needs to take a type, what was I thinking...
...
llvm-svn: 85555
2009-10-30 01:26:12 +00:00
Fariborz Jahanian
6c5a8e2555
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).
llvm-svn: 85554
2009-10-30 01:13:23 +00:00
Anders Carlsson
3f0db2beb1
Add a CK_DerivedToBaseMemberPointer cast kind and use it in Sema (Still no codegen).
...
llvm-svn: 85552
2009-10-30 00:46:35 +00:00
John McCall
41b215eef6
Include pointee type information in the diagnostic for creating bad pointers or
...
arrays.
llvm-svn: 85550
2009-10-30 00:37:20 +00:00
John McCall
70dd5f6574
Report accurate source-location information when rebuilding types during
...
template instantiation.
llvm-svn: 85545
2009-10-30 00:06:24 +00:00
Mike Stump
f3eb5ec2c0
Fix one more bug with __builtin_object_size.
...
llvm-svn: 85538
2009-10-29 23:34:20 +00:00
Mike Stump
dc28a8b997
Add yet more testcases.
...
llvm-svn: 85535
2009-10-29 23:29:54 +00:00
Mike Stump
eb5c92b399
Add some more testcases.
...
llvm-svn: 85534
2009-10-29 23:22:14 +00:00
John McCall
314681a338
Silence a gcc warning where it notices that default-constructing a class
...
doesn't initialize anything.
llvm-svn: 85533
2009-10-29 23:20:43 +00:00
Douglas Gregor
e6fb91f2cb
We may need to instantiate a class template specialization as part of a derived-to-base pointer case
...
llvm-svn: 85532
2009-10-29 23:08:22 +00:00
Douglas Gregor
07cc4ac606
Slightly improve source-location information during template instantiation
...
llvm-svn: 85529
2009-10-29 22:21:39 +00:00
Steve Naroff
f406f4d99b
- Add/tweak some comments.
...
- change ObjCCategoryImplDecl::getCategoryClass() to getCategoryDecl().
No functionality change.
llvm-svn: 85528
2009-10-29 21:11:04 +00:00
Daniel Dunbar
7ad807f248
Move some clang-cc errors to use diagnostics, and simplify.
...
llvm-svn: 85527
2009-10-29 21:05:18 +00:00
Mike Stump
fa50290b49
Fix some issues Daniel pointed out.
...
llvm-svn: 85526
2009-10-29 20:48:09 +00:00
Sebastian Redl
adba46edc2
Properly instantiate usage of overloaded operator []. Fixes PR5345.
...
llvm-svn: 85524
2009-10-29 20:17:01 +00:00
Steve Naroff
a4aeed6958
clang_getDeclSpelling(): For category implementations, make sure we hand back the category name (not the class name). This fixes <rdar://problem/7297518>.
...
llvm-svn: 85521
2009-10-29 18:55:50 +00:00
John McCall
0d07eb32de
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.
llvm-svn: 85520
2009-10-29 18:45:58 +00:00
Douglas Gregor
ba91b89711
Yet more instantiation-location information. Fixes PR5336.
...
llvm-svn: 85516
2009-10-29 17:56:10 +00:00
Fariborz Jahanian
c9076fecdf
Patch for destruction of array of objects on block exit.
...
llvm-svn: 85512
2009-10-29 16:22:54 +00:00
Ted Kremenek
a4bb75e486
Update checker build.
...
llvm-svn: 85511
2009-10-29 16:18:45 +00:00
Anders Carlsson
561f793890
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.
...
llvm-svn: 85510
2009-10-29 15:46:07 +00:00
Douglas Gregor
2b09590321
Fix Release-Asserts build breakage
...
llvm-svn: 85509
2009-10-29 15:25:40 +00:00
Nuno Lopes
09bd8656c3
make clang emit undefs for padding of structs and unions instead of zeros. this enables constant compaction optimizations.
...
llvm-svn: 85504
2009-10-29 11:27:06 +00:00
John McCall
901668f306
Apparently when is now.
...
llvm-svn: 85501
2009-10-29 08:17:34 +00:00
John McCall
0ad166672f
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.
llvm-svn: 85500
2009-10-29 08:12:44 +00:00
John McCall
588d2d585d
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.
llvm-svn: 85499
2009-10-29 07:48:15 +00:00
Zhongxing Xu
aa4121d062
Add an assertion to ensure NullDerefChecker exists.
...
llvm-svn: 85497
2009-10-29 05:56:54 +00:00
Ted Kremenek
1dbdbcc04c
Fix accidental use of CheckSVal instead of CheckLocation, and add a
...
small test case to show we handle dereferences of undefined values.
llvm-svn: 85492
2009-10-29 05:33:39 +00:00
Douglas Gregor
98261735b4
StringSwitch-ify attribute name mapping.
...
llvm-svn: 85491
2009-10-29 05:26:58 +00:00
Chris Lattner
08bb9ef7f7
make this interpretable.
...
llvm-svn: 85487
2009-10-29 05:25:27 +00:00
Ted Kremenek
1f0a56e4c9
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.
llvm-svn: 85484
2009-10-29 05:14:17 +00:00
Chris Lattner
e963d092d8
add two new and very exhaustive preprocessor tests, patch by
...
Ken Dyck!
llvm-svn: 85482
2009-10-29 04:55:36 +00:00
Chris Lattner
d0952749f7
simplify intmax setup, patch by Ken Dyck!
...
llvm-svn: 85481
2009-10-29 04:54:24 +00:00
Daniel Dunbar
1a8a2e8e97
Remove some obsolete or unnecessary FIXMEs.
...
llvm-svn: 85475
2009-10-29 02:39:57 +00:00
Daniel Dunbar
945577ce93
PR5328: Allow duplicatic -pedantic (and -pedantic-errors) options.
...
- clang-cc doesn't care about their relative order with other -W options.
llvm-svn: 85473
2009-10-29 02:24:45 +00:00
Daniel Dunbar
b0b18615e2
Kill off MakeFormattedString helper function.
...
llvm-svn: 85472
2009-10-29 02:24:37 +00:00
Zhongxing Xu
6b8bfb376b
Move NullDeref and UndefDeref into their own checker.
...
Add a CheckLocation() interface to Checker.
Now ImplicitNullDeref nodes are cached in NullDerefChecker.
More cleanups follow.
llvm-svn: 85471
2009-10-29 02:09:30 +00:00
Daniel Dunbar
38b6279ce4
Reject -I- in driver instead of clang-cc.
...
llvm-svn: 85469
2009-10-29 01:53:44 +00:00
Daniel Dunbar
938eb27b25
Formatting fixes.
...
llvm-svn: 85468
2009-10-29 01:53:18 +00:00
Chris Lattner
29fb551a36
make this more interesting, test the static const array.
...
llvm-svn: 85464
2009-10-29 01:20:34 +00:00
Ted Kremenek
33335b1504
Add test case for <rdar://problem/7342806>.
...
llvm-svn: 85462
2009-10-29 00:49:46 +00:00
Douglas Gregor
f7b87cb529
[llvm up]
...
Switch a few ugly switch-on-string-literal constructs to use the new
llvm::StringSwitch.
llvm-svn: 85461
2009-10-29 00:41:01 +00:00
Chris Lattner
edc56ef41c
optimize out some ifdefs.
...
llvm-svn: 85453
2009-10-29 00:22:00 +00:00
John Thompson
e413e88f2e
Fix some Window-isms to get these tests to pass on Windows.
...
llvm-svn: 85450
2009-10-29 00:10:42 +00:00
Douglas Gregor
21610380de
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.
llvm-svn: 85447
2009-10-29 00:04:11 +00:00
Chris Lattner
6c4d255bf3
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" :)
llvm-svn: 85446
2009-10-28 23:59:40 +00:00
Ted Kremenek
1c9401ec15
Unused ivars checker: also check methods in categories that are defined in the same translation unit. Fixes <rdar://problem/6260004>.
...
llvm-svn: 85442
2009-10-28 22:18:22 +00:00
Steve Naroff
f0c8611d3f
Fix <rdar://problem/7330784>. Avoid crashing on 'Class<p>' when generating meta-data for a class.
...
llvm-svn: 85440
2009-10-28 22:03:49 +00:00
Mike Stump
5179f308a2
Refine __builtin_object_size. Don't try and get a size for things
...
that don't have sizes.
llvm-svn: 85435
2009-10-28 21:22:24 +00:00
Fariborz Jahanian
29baa2b1ba
Minor cleanup.
...
llvm-svn: 85434
2009-10-28 21:07:28 +00:00
Fariborz Jahanian
f1639fffbc
Code gen for array construction - WIP
...
llvm-svn: 85432
2009-10-28 20:55:41 +00:00
Steve Naroff
58bd62d190
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.
llvm-svn: 85425
2009-10-28 20:44:47 +00:00
Mike Stump
476e2dfe19
Refactor a bit.
...
llvm-svn: 85424
2009-10-28 20:44:03 +00:00
Ted Kremenek
faba9fe5e4
Pull ivar scanning logic into another utility function. This refactoring will enable scanning
...
categories as well (WIP). No functionality change yet.
llvm-svn: 85423
2009-10-28 20:37:47 +00:00
Chris Lattner
a0c0d88ba8
factor a creation of Int32Ty.
...
llvm-svn: 85422
2009-10-28 20:36:47 +00:00
Fariborz Jahanian
d264ee0cba
Use array's base element type in getting to its
...
constructor. WIP.
llvm-svn: 85420
2009-10-28 19:04:36 +00:00
Fariborz Jahanian
57277c5cae
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.
llvm-svn: 85415
2009-10-28 18:41:06 +00:00
Fariborz Jahanian
370606afee
Restored note on pointer to members with a pointer
...
to issue involved.
llvm-svn: 85409
2009-10-28 18:06:53 +00:00
Chris Lattner
ab5e0af8bc
random tidying
...
llvm-svn: 85408
2009-10-28 17:39:19 +00:00
Fariborz Jahanian
7e4e44f5fa
Removed a Note related to pointer to member functions which
...
does not seem to exist any longer.
llvm-svn: 85405
2009-10-28 17:25:01 +00:00
Fariborz Jahanian
42f666342c
Diagnose use of data pointer member in a function call
...
expression instead of crashing.
llvm-svn: 85401
2009-10-28 16:49:46 +00:00
Douglas Gregor
05925031f7
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.
llvm-svn: 85400
2009-10-28 16:31:34 +00:00
Edward O'Callaghan
5c5214626c
Fix for PR4887, Credit to Jonathan Gray.
...
llvm-svn: 85392
2009-10-28 15:13:08 +00:00
Zhongxing Xu
cb131542f1
make CallGraph more flexible by letting it accept ASTContext instead of ASTUnit.
...
Patch by Simone Pellegrini.
llvm-svn: 85386
2009-10-28 12:23:03 +00:00
Chris Lattner
5e71d43155
adjust for a pending LLVM change.
...
llvm-svn: 85373
2009-10-28 05:12:07 +00:00
Mike Stump
82d25e4e5e
Add mangling for VTTs.
...
llvm-svn: 85363
2009-10-28 01:51:46 +00:00
Mike Stump
375faa8dd7
Finish off pure virtual function handling.
...
llvm-svn: 85354
2009-10-28 00:35:46 +00:00
Douglas Gregor
3da3c06578
Slightly improve source location information during template instantiation
...
llvm-svn: 85353
2009-10-28 00:29:27 +00:00
Douglas Gregor
19f3d70149
Test
...
explicit-instantiation-declaration-after-explicit-instantiation-definition
errors. This wraps up explicit template instantiation for now.
llvm-svn: 85347
2009-10-27 23:55:05 +00:00
Mike Stump
bb9ff05778
Prep work for putting ___cxa_pure_virtual in the vtables for pure functions.
...
llvm-svn: 85345
2009-10-27 23:46:47 +00:00
Mike Stump
18e8b477e8
Refactor code a little.
...
llvm-svn: 85343
2009-10-27 23:36:26 +00:00
Douglas Gregor
b7e5c847c4
Implement proper linkage for explicit instantiation declarations of
...
inlined functions. For example, given
template<typename T>
class string {
unsigned Len;
public:
unsigned size() const { return Len; }
};
extern template class string<char>;
we now give the instantiation of string<char>::size
available_externally linkage (if it is ever instantiated!), as
permitted by the C++0x standard.
llvm-svn: 85340
2009-10-27 23:26:40 +00:00
Fariborz Jahanian
ef8b8ce207
Type of a conditional expression with two distinct objective-c
...
class pointer is the most derived common class of the two.
This is <rdar://problem/7334235>.
llvm-svn: 85337
2009-10-27 23:02:38 +00:00
Mike Stump
876387ba4f
__builtin_object_size refinements. Ensure we handle expressions with
...
side-effects up front, as when we switch to the llvm intrinsic call
for __builtin_object_size later, it will have two evaluations.
We also finish off the intrinsic version of the code so we can just
turn it on once llvm has the intrinsic.
llvm-svn: 85324
2009-10-27 22:09:17 +00:00
Oscar Fuentes
843c828ed5
CMake: Respect LLVM_LIBDIR_SUFFIX for clang-specific headers under
...
${libdir}/clang
Patch by Ingmar Vanhassel!
llvm-svn: 85308
2009-10-27 21:15:21 +00:00
Douglas Gregor
583dcafce4
Introduce FunctionDecl::isInlined() to tell whether a function should
...
be inlined.
llvm-svn: 85307
2009-10-27 21:11:48 +00:00
Douglas Gregor
35b5753e17
Rename FunctionDecl::isInline/setInline to
...
FunctionDecl::isInlineSpecified/setInlineSpecified.
llvm-svn: 85305
2009-10-27 21:01:01 +00:00
Douglas Gregor
afca3b4a5c
Explicit instantiation suppresses the instantiation of non-inline
...
function template specializations and member functions of class
template specializations.
llvm-svn: 85300
2009-10-27 20:53:28 +00:00
Oscar Fuentes
e814afd7b0
Rather than excluding quite some things, and still installing
...
CMakeLists.txt, Makefiles, ... it's better to whitelist what we really
want to install.
Patch by Ingmar Vanhassel!
llvm-svn: 85283
2009-10-27 19:59:34 +00:00
Daniel Dunbar
c369d73405
Set OptimizeForSize LLVM function attribute with -Os.
...
llvm-svn: 85278
2009-10-27 19:48:08 +00:00
Daniel Dunbar
59ca7f1a1e
Convert test to FileCheck.
...
llvm-svn: 85277
2009-10-27 19:48:00 +00:00
Oscar Fuentes
e6fc25321f
CMake: Append LLVM_LIBDIR_SUFFIX to library destination.
...
Based on a patch by Ingmar Vanhassel.
llvm-svn: 85276
2009-10-27 19:42:21 +00:00
Daniel Dunbar
c14753b781
Fix crash when synthesizing property setters when the property type and ivar
...
type have mismatched Objective-C types.
- <rdar://problem/7336352> [irgen] crash in synthesized property construction
llvm-svn: 85275
2009-10-27 19:21:30 +00:00
Douglas Gregor
1d957a336f
An explicit instantiation definition only instantiations those class
...
members that have a definition. Also, use
CheckSpecializationInstantiationRedecl as part of this instantiation
to make sure that we diagnose the various kinds of problems that can
occur with explicit instantiations.
llvm-svn: 85270
2009-10-27 18:42:08 +00:00
Fariborz Jahanian
115654873d
Generate constructor for value-initialization cases, even if the
...
implementation technique doesn't call the constructor at that point.
DR302. Fixes pr5296.
llvm-svn: 85249
2009-10-27 16:51:19 +00:00
Douglas Gregor
04a0a6c461
Test for interaction between explicit instantiations and specializations
...
llvm-svn: 85244
2009-10-27 15:36:37 +00:00
Douglas Gregor
969c2a238c
Test various aspects of explicit instantiation that were already implemented.
...
llvm-svn: 85243
2009-10-27 15:00:12 +00:00
John Thompson
995c845e5c
Disabling some MS extensions which cause this test to fail
...
llvm-svn: 85242
2009-10-27 14:58:27 +00:00
Rafael Espindola
177f1d979d
Split AddDefaultSystemIncludePaths into C, C++ and framework specific functions.
...
The user visible changes are:
*) Frameworks are only searched on OS X
*) The Cygwin c++ headers are now marked as c++ aware. I am almost
sure that not marking them was a bug.
llvm-svn: 85240
2009-10-27 14:47:31 +00:00
Steve Naroff
6231f18793
Add support for 'CXFile' (<rdar://problem/7303360>).
...
- 4 new functions (clang_getCursorSourceFile, clang_getDeclSourceFile, clang_getFileName, clang_getFileTime).
- Should remove clang_getDeclSource() and clang_getCursorSource(). For now, just put 'deprecate' comment in header.
- Also changed CXX style comment to C style (to eliminate warning).
llvm-svn: 85238
2009-10-27 14:35:18 +00:00
Anders Carlsson
29295bff61
Add a PrettyStackTraceDecl in CodeGenModule::EmitGlobalDefinition.
...
llvm-svn: 85237
2009-10-27 14:32:27 +00:00
John Thompson
ec87bb5c46
Disabling some MS extensions which cause these tests to fail
...
llvm-svn: 85236
2009-10-27 14:31:53 +00:00
John Thompson
de258b5ab9
Changes for building as a Windows DLL
...
llvm-svn: 85234
2009-10-27 13:42:56 +00:00
Benjamin Kramer
59b7cf6a6d
Make test independent of darwin system headers.
...
llvm-svn: 85232
2009-10-27 12:19:13 +00:00
Sebastian Redl
4461507151
Implement Chris's suggestions for the precendence warnings. Reformat the code a bit. Test the fixits.
...
llvm-svn: 85231
2009-10-27 12:10:02 +00:00
Nuno Lopes
0e86b8675f
fix tests
...
llvm-svn: 85223
2009-10-27 10:09:29 +00:00
Douglas Gregor
ef6ab417c1
Only set the point of instantiation for an implicit or explicit
...
instantiation once we have committed to performing the
instantiation. As part of this, make our makeshift
template-instantiation location information suck slightly less.
Fixes PR5264.
llvm-svn: 85209
2009-10-27 06:26:26 +00:00
Edward O'Callaghan
6d9350b73b
Typo in revision 85201.
...
llvm-svn: 85202
2009-10-27 03:59:44 +00:00
Edward O'Callaghan
7cd5c818da
Convert Preprocessor Clang tests to FileCheck in regards to PR5307.
...
llvm-svn: 85201
2009-10-27 03:47:36 +00:00
Edward O'Callaghan
576a03fed2
Fix a broken test in rev. 85199.
...
llvm-svn: 85200
2009-10-27 03:14:56 +00:00
Edward O'Callaghan
f78edf52de
Convert Preprocessor Clang tests to FileCheck in regards to PR5307.
...
llvm-svn: 85199
2009-10-27 02:36:32 +00:00
Mike Stump
989dc73c48
Almost missed this one... Doc update for last change.
...
llvm-svn: 85196
2009-10-27 02:07:23 +00:00
Mike Stump
ab8b2e08c3
Refine noreturn handling. Fixes -Wmissing-noreturn so that it doesn't
...
complain that functions that have a return statement should be
declared noreturn. Fixed PR5286.
llvm-svn: 85195
2009-10-27 01:59:05 +00:00
Edward O'Callaghan
60c143eff0
Preprocessor tests are whitespace sensitive, as per Revision: 85170 review.
...
llvm-svn: 85194
2009-10-27 01:45:51 +00:00
Ted Kremenek
f3afe1e900
Use a pred_iterator instead of a succ_iterator (wrong typedef).
...
llvm-svn: 85193
2009-10-27 01:07:53 +00:00
Ted Kremenek
64fd20d243
Add test cases for <rdar://problem/7332673>.
...
llvm-svn: 85191
2009-10-27 01:05:20 +00:00
Rafael Espindola
bb85c2644a
Document -nobuiltininc
...
llvm-svn: 85188
2009-10-27 00:29:40 +00:00
Mike Stump
7a484dd6a9
Prep for future __builtin_object_size refinements. The theory is that
...
someone will add an llvm intrinsic for us to use, so the optimizer can
figure out the hard cases. WIP.
For those that want to help, double check with Eric before starting.
He has a bit of code this will plug into.
llvm-svn: 85175
2009-10-26 23:39:48 +00:00
Mike Stump
5183a14bfb
__builtin_object_size refinements. Also handle stack based objects. WIP.
...
llvm-svn: 85174
2009-10-26 23:05:19 +00:00
Edward O'Callaghan
0e2f7930fb
Convert a few tests to FileCheck for PR5307.
...
llvm-svn: 85170
2009-10-26 22:51:02 +00:00
Ted Kremenek
12e678d550
Unify Unix and Windows code paths when executing 'clang'.
...
llvm-svn: 85163
2009-10-26 22:14:08 +00:00
Ted Kremenek
bf0690c99f
Remove unnecessary calls to 'flush()'.
...
llvm-svn: 85162
2009-10-26 22:08:39 +00:00
Fariborz Jahanian
038374f887
Add Code gen support for '->*' operator which fell
...
through the crack.
llvm-svn: 85160
2009-10-26 21:58:25 +00:00
Mike Stump
10bd7e1c5b
__builtin_object_size refinements. When we run out of object, be sure
...
to clamp at 0 bytes left. WIP.
llvm-svn: 85157
2009-10-26 21:38:39 +00:00
Edward O'Callaghan
72af806797
Convert a few tests to FileCheck for PR5307.
...
llvm-svn: 85154
2009-10-26 20:49:20 +00:00
Fariborz Jahanian
59f64202d6
Add 'fixit' hint on mis-use of pointer-to-member
...
binary operators.
llvm-svn: 85153
2009-10-26 20:45:27 +00:00
Steve Naroff
a4a347f0b9
Add some missing header files to the Xcode project.
...
llvm-svn: 85152
2009-10-26 20:36:31 +00:00
Mike Stump
99f11f769e
Be sure to zero-extend. And refactor.
...
llvm-svn: 85140
2009-10-26 18:57:47 +00:00
Mike Stump
722cedfb0d
__builtin_object_size refinements. WIP.
...
llvm-svn: 85136
2009-10-26 18:35:08 +00:00
Sebastian Redl
c6a9254f01
Convert some driver checks to FileCheck.
...
llvm-svn: 85133
2009-10-26 18:07:30 +00:00
Daniel Dunbar
431895f748
clang-cc: Allow building for x86_64 with -mmacosx-version-min=10.4.
...
llvm-svn: 85132
2009-10-26 17:52:49 +00:00
Chandler Carruth
6e0df53865
Switch vtable to linkeonce_odr. Patch by nlewycky.
...
llvm-svn: 85131
2009-10-26 17:14:14 +00:00
Sebastian Redl
4afb7c58a4
Add fixit hint to bitwise precedence warning.
...
llvm-svn: 85129
2009-10-26 17:01:32 +00:00
Douglas Gregor
e0105ad38b
assert -> llvm_unreachable
...
llvm-svn: 85125
2009-10-26 16:27:58 +00:00
Sebastian Redl
4302824fe2
Implement a warning for mixing bitwise logical with comparison ops. Fixes PR5297.
...
llvm-svn: 85117
2009-10-26 15:24:15 +00:00
Rafael Espindola
b3549d74da
Rename -nostdclanginc to -nobuiltininc.
...
llvm-svn: 85116
2009-10-26 13:36:57 +00:00
Zhongxing Xu
b7945461cb
'error' is usually used as a noreturn function. This can suppress some false
...
warnings. Eventually we need a way to import externally defined functions
summaries.
llvm-svn: 85092
2009-10-26 05:18:31 +00:00
Chandler Carruth
a3f084ce16
Update location of DataTypes.h to reflect move in LLVM with r85086.
...
llvm-svn: 85087
2009-10-26 01:37:10 +00:00
Daniel Dunbar
495b478404
Phrase compile time assert in standard way.
...
llvm-svn: 85079
2009-10-25 23:11:15 +00:00
Chris Lattner
c0c043903b
rename getTypeSigned() -> isTypeSigned() per daniel's review.
...
llvm-svn: 85076
2009-10-25 22:49:18 +00:00
Chris Lattner
c77f989687
Fix PR5298 - -Wmissing-noreturn shouldn't warn if the function is already
...
declared noreturn.
llvm-svn: 85075
2009-10-25 22:43:07 +00:00
Chris Lattner
b7df3c66c8
Implement rdar://6756623 - use of deprecated type in deprecated typedef should not warn
...
llvm-svn: 85073
2009-10-25 22:31:57 +00:00
Sebastian Redl
e24b16205f
Make sure we actually have a definition before asking if it is implicit. Fixes PR4674.
...
llvm-svn: 85072
2009-10-25 22:31:45 +00:00
Chris Lattner
ecf328e6dd
When parsing a top level struct declaration, make sure to
...
process decl attributes instead of dropping them on the floor.
This allows us to diagnose cases like the testcase. Also don't
diagnose deprecated stuff in ActOnTag: not all uses of tags
may be 'uses', and SemaType does this now.
llvm-svn: 85071
2009-10-25 22:21:57 +00:00
Chris Lattner
e40853aabd
move calls to DiagnoseUseOfDecl (which warns about deprecated/unavailable
...
types) out of Sema::getTypeName into ConvertDeclSpecToType. getTypeName
is sometimes used as a predicate in the parser, so it could cause redundant
diags to be emitted. This is also needed by two upcoming enhancements.
llvm-svn: 85070
2009-10-25 22:09:09 +00:00
Chris Lattner
de126cfa83
cleanups
...
llvm-svn: 85069
2009-10-25 22:05:13 +00:00
Sebastian Redl
d7b3d7dd79
Remove the Skip parameter from GetTypeForDeclarator and dependents. Take the opportunity to improve an error message and fix PR4498.
...
llvm-svn: 85068
2009-10-25 21:45:37 +00:00
Chris Lattner
588f19acc1
remove a nonsensical todo
...
llvm-svn: 85067
2009-10-25 21:19:07 +00:00
Daniel Dunbar
fb049eef8f
Tweak test, with -strict-whitespace $ won't match on Windows because the buffer
...
will have \r\n.
- Perhaps we should make FileCheck normalize line-endings, even in
strict-whitespace mode?
llvm-svn: 85066
2009-10-25 20:34:02 +00:00
Chris Lattner
1138f04aa5
move the extwarn about using long long out of the entry of
...
GetTypeForDeclarator and into the code that handles long long
already.
llvm-svn: 85063
2009-10-25 18:25:04 +00:00
Chris Lattner
dae17dbbed
simplify interface to ConvertDeclSpecToType, check for inferred
...
block return types only when a TST isn't specified, not every time
through GetTypeForDeclarator.
llvm-svn: 85062
2009-10-25 18:21:37 +00:00
Chris Lattner
ebfde05f29
change ConvertDeclSpecToType to be a static function in SemaType.cpp
...
llvm-svn: 85061
2009-10-25 18:07:27 +00:00
Chris Lattner
1fb66f4323
change Sema::ActOnFriendTypeDecl to use GetTypeForDeclarator instead
...
of ConvertDeclSpecToType, which I'd like to keep private to SemaType.cpp.
We do this by cons'ing up a trivial Declarator for the type.
John, please review.
llvm-svn: 85060
2009-10-25 17:47:27 +00:00
Chris Lattner
22e8563175
various cleanups for SemaType.cpp
...
llvm-svn: 85059
2009-10-25 17:36:50 +00:00
Chris Lattner
a27dd59277
minor reorg: check both attributes before decl.
...
llvm-svn: 85058
2009-10-25 17:21:40 +00:00
Chris Lattner
17e15f18c5
simplify Sema::getTypeName a bit: if control gets out of the switch,
...
IIDecl cannot be null. There is no need to check for both C++ mode and
presence of CXXRecordDecl. ObjC interfaces can't have ScopeSpecs.
llvm-svn: 85057
2009-10-25 17:16:46 +00:00
Chris Lattner
5566290b34
In objc mode, every identifier in a cast expression was using doing a
...
type looking using getTypeName() and every property access was using
NextToken() to do lookahead to see if the identifier is followed by
a '.'. Rearrange this code to not need lookahead and only do the
type lookup if we have "identifier." in the token stream. Also
improve a diagnostic a bit.
llvm-svn: 85056
2009-10-25 17:04:48 +00:00
Sebastian Redl
1054faed32
Audit the code for places where it is assumed that every base specifier refers to a RecordType. Add assertions or conditions as appropriate. This fixes another crash in the Apache stdlib vector.
...
llvm-svn: 85055
2009-10-25 17:03:50 +00:00
Sebastian Redl
c45c03c9dd
Ignore dependent bases in ADL. Fixes PR5271.
...
llvm-svn: 85054
2009-10-25 09:35:33 +00:00
Nate Begeman
e46ee9aaea
Add support for vector shifts, pretty straight forward.
...
llvm-svn: 85033
2009-10-25 02:26:48 +00:00
Nate Begeman
b8326be4d9
Fix a bug in calculating shufflevector indices when constructing vectors from other vectors.
...
If I can find it again, I will check in a testcase.
llvm-svn: 85032
2009-10-25 02:26:01 +00:00
Daniel Dunbar
841fa8e289
Fix cmake failure trying to get SVN info for non-SVN trees.
...
llvm-svn: 85015
2009-10-24 20:32:58 +00:00