Douglas Gregor
e47f5a76cc
Additional semantic checking for explicit template instantiations,
...
focusing on the scope- and qualifier-related semantic requirements in
C++ [temp.explicit]p2.
llvm-svn: 84154
2009-10-14 23:41:34 +00:00
Douglas Gregor
e266cc218a
Our C++ support is far enough along now that we shouldn't be recommending the use of Elsa
...
llvm-svn: 84149
2009-10-14 21:54:48 +00:00
Douglas Gregor
5d85197edf
Reuse some code for checking the scope of an explicit instantiation
...
llvm-svn: 84148
2009-10-14 21:46:58 +00:00
Douglas Gregor
819c3ddda8
Fix a thinko that John pointed out
...
llvm-svn: 84142
2009-10-14 21:36:34 +00:00
Douglas Gregor
b81005dffc
Check the implicit instantiation of a static data member of a class
...
template that has no out-of-line definition.
llvm-svn: 84141
2009-10-14 21:33:19 +00:00
Douglas Gregor
3cc3cdeea9
Give explicit and implicit instantiations of static data members of
...
class templates the proper linkage.
Daniel, please look over the CodeGenModule bits.
llvm-svn: 84140
2009-10-14 21:29:40 +00:00
Douglas Gregor
3c74d41d27
Testing and some minor fixes for explicit template instantiation.
...
llvm-svn: 84129
2009-10-14 20:14:33 +00:00
Mike Stump
84bc8bda49
Testcase for recent checkin. WIP.
...
llvm-svn: 84123
2009-10-14 18:38:01 +00:00
Mike Stump
b21c4eede4
Shift the vcall slots for non-virtual bases of a virtual base, up into
...
the virtual base so they can be reused properly. Don't reuse vcall
slots across a virtual boundary. WIP. I have a testcase, but there
are still things that need to be fixed before the testcase can go in.
llvm-svn: 84120
2009-10-14 18:14:51 +00:00
Douglas Gregor
568a071dd2
When mapping from an injected-class-name to its corresponding
...
template, make sure to get the template that corresponds to *this*
declaration of the class template or specialization, rather than the
canonical specialization. Fixes PR5187.
llvm-svn: 84119
2009-10-14 17:30:58 +00:00
Rafael Espindola
0a1ac331a3
Add support for having different c++ search dirs with -m32 and -m64. So far
...
this is only used in darwin10, 64 bit ubuntu 9.10 and 64 bit openSUSE 11.1.
llvm-svn: 84115
2009-10-14 17:09:44 +00:00
Devang Patel
f33cfaf760
Copy metadata associated with CI
...
llvm-svn: 84114
2009-10-14 17:03:29 +00:00
Douglas Gregor
4aa2dc41dc
Implement support for overloaded operator uses that result to a call
...
to a member operator template. We missed updating this call site when
adding support for function templates; bug exposed by a test for
PR5072.
llvm-svn: 84111
2009-10-14 16:50:13 +00:00
Duncan Sands
cef56992b0
There is now only one version of eh.selector and eh.typeid.for.
...
Fix the clang build.
llvm-svn: 84107
2009-10-14 16:13:30 +00:00
Sebastian Redl
a44822fdb6
Have the exception specification checkers take partial diagnostics. Use this to merge two diagnostics.
...
llvm-svn: 84105
2009-10-14 16:09:29 +00:00
Sanjiv Gupta
84a0287497
Few targets like PIC16 mangle the names of global variables, so retrieve the name
...
from Var itself rather than the decl for DebugInfo metadata.
llvm-svn: 84102
2009-10-14 15:08:34 +00:00
Sebastian Redl
184edcadbd
Use CanQualType in the exception specification verification type sets.
...
llvm-svn: 84101
2009-10-14 15:06:25 +00:00
Chris Lattner
a3d4f16b12
Teach Lexer::MeasureTokenLength to be able to measure the
...
length of comment tokens. Patch by Abramo Bagnara!
llvm-svn: 84100
2009-10-14 15:04:18 +00:00
Sebastian Redl
7eb5d377d7
Use partial diagnostics properly in call to RequireCompleteType. Among other things, this means we get a note on the declaration of the incomplete type when it is used in an exception specification.
...
llvm-svn: 84099
2009-10-14 14:59:48 +00:00
Sebastian Redl
075b21d4dc
Do exception spec compatibility tests for member pointers, too.
...
llvm-svn: 84098
2009-10-14 14:38:54 +00:00
Zhongxing Xu
8679481408
Now StoreManager::CastRegion() takes a MemRegion, returns a MemRegion.
...
llvm-svn: 84081
2009-10-14 06:55:01 +00:00
Zhongxing Xu
969242948f
Add comments to test.
...
llvm-svn: 84078
2009-10-14 06:05:09 +00:00
Chris Lattner
4f8a2e22c0
fix some cfstring related issues:
...
1) -fwritable-string does affect the non-utf16 version of cfstrings
just not the utf16 ones.
2) utf16 strings should always be marked constant, as the __TEXT segment
is readonly.
3) The name of the global doesn't matter, remove it from TargetInfo.
4) Trust the asmprinter to drop cstrings into the right section, like llvmgcc does now.
This fixes rdar://7115750
llvm-svn: 84077
2009-10-14 05:55:45 +00:00
Chris Lattner
734351d214
unbreak test/CodeGen/builtins.c, reverting Devang's change.
...
llvm-svn: 84075
2009-10-14 05:49:21 +00:00
Zhongxing Xu
9eb2706101
Remove dead code.
...
llvm-svn: 84073
2009-10-14 05:07:51 +00:00
Zhongxing Xu
7d6387bb24
* Remove unused GRState* parameter
...
* Make all Base value the last argument.
llvm-svn: 84071
2009-10-14 03:33:08 +00:00
Ted Kremenek
0a62381d41
Add test case for <rdar://problem/7257223>, and XFAIL this test until it passes.
...
llvm-svn: 84070
2009-10-14 01:54:16 +00:00
Fariborz Jahanian
31481d8b22
Handle ambiguity of reference initialization.
...
Removes a FIXME.
llvm-svn: 84068
2009-10-14 00:52:43 +00:00
Ted Kremenek
b4ec3fc42d
retain/release checker: Recognize that calls to
...
'CVPixelBufferCreateWithPlanarBytes()' and
'CVPixelBufferCreateWithBytes' (Core Video API) can indirectly release
a pixel buffer object via a callback.
This fixes <rdar://problem/7283567>.
llvm-svn: 84064
2009-10-14 00:27:24 +00:00
Douglas Gregor
3362bde8ec
Remove some non-ASCII characters
...
llvm-svn: 84058
2009-10-13 23:52:38 +00:00
Douglas Gregor
a14b43bba8
Member function templates (and instantiations/specializations thereof)
...
are never copy constructors or copy assignment operators.
llvm-svn: 84057
2009-10-13 23:45:19 +00:00
Douglas Gregor
15e5602e59
Improve diagnostics when the parser encounters a declarator with an
...
unknown type name, e.g.,
foo::bar x;
when "bar" does not refer to a type in "foo".
With this change, the parser now calls into the action to perform
diagnostics and can try to recover by substituting in an appropriate
type. For example, this allows us to easily diagnose some missing
"typename" specifiers, which we now do:
test/SemaCXX/unknown-type-name.cpp:29:1: error: missing 'typename'
prior to dependent type name 'A<T>::type'
A<T>::type A<T>::f() { return type(); }
^~~~~~~~~~
typename
Fixes PR3990.
llvm-svn: 84053
2009-10-13 23:27:22 +00:00
Edward O'Callaghan
f258caa718
Fix for PR 5181.
...
llvm-svn: 84051
2009-10-13 23:05:14 +00:00
Devang Patel
3b3f0f6b65
Check void type before using replaceAllUsesWith().
...
llvm-svn: 84050
2009-10-13 22:59:11 +00:00
Anders Carlsson
fbd2d49398
The operator loc points to the operator, not the function decl.
...
llvm-svn: 84048
2009-10-13 22:55:59 +00:00
Ted Kremenek
80816acf9b
retain/release checker: retained objects passed to pthread_create (as
...
the data argument) should not be tracked further until we support full IPA.
(fixes <rdar://problem/7299394>)
llvm-svn: 84047
2009-10-13 22:55:33 +00:00
Mike Stump
284312176a
Refine handling for non-virtual bases in return value adjustments for
...
covariant thunks. WIP.
llvm-svn: 84046
2009-10-13 22:54:56 +00:00
Anders Carlsson
e4f4b5e919
Check the return type of binary operators and the arrow operator.
...
llvm-svn: 84043
2009-10-13 22:43:21 +00:00
Anders Carlsson
834facc2b0
Check the return type of operator[]() and fix a thinko that lead to a crash in SemaCXX/overloaded-operator.cpp.
...
llvm-svn: 84041
2009-10-13 22:22:09 +00:00
Chris Lattner
a2f9bd5339
fix test/CodeGen/statements.c on 32-bit hosts.
...
llvm-svn: 84039
2009-10-13 22:12:09 +00:00
Anders Carlsson
3d5829cd4f
More return type checking.
...
llvm-svn: 84034
2009-10-13 21:49:31 +00:00
Mike Stump
7373095ebf
Ensure we sign extend.
...
llvm-svn: 84031
2009-10-13 21:31:09 +00:00
Anders Carlsson
f64a3dae04
Diagnose invalid return types for unary operators.
...
llvm-svn: 84030
2009-10-13 21:19:37 +00:00
Douglas Gregor
e40876a50c
Unify our diagnostic printing for errors of the form, "we didn't like
...
what we found when we looked into <blah>", where <blah> is a
DeclContext*. We can now format DeclContext*'s in nice ways, e.g.,
"namespace N", "the global namespace", "'class Foo'".
This is part of PR3990, but we're not quite there yet.
llvm-svn: 84028
2009-10-13 21:16:44 +00:00
Anders Carlsson
8523d20af3
Pass the right SourceLocation to Actions.ActOnOverloadedOperatorReferenceExpr and Actions.ActOnConversionOperatorReferenceExpr. Update incomplete-call.cpp test.
...
llvm-svn: 84026
2009-10-13 21:02:07 +00:00
Douglas Gregor
054060c4ec
Give ourselves an A- on ASTs for explicit specializations, since they
...
aren't rich enough to reproduce the source accurately.
llvm-svn: 84012
2009-10-13 19:41:44 +00:00
John Thompson
4334ce6bda
Fixes pth.c on Windows.
...
llvm-svn: 84007
2009-10-13 18:51:32 +00:00
John Thompson
271f1f07bc
Converted to use FileCheck.
...
llvm-svn: 84005
2009-10-13 18:51:26 +00:00
John McCall
04f531238d
Turn -Wparentheses on by default.
...
llvm-svn: 83993
2009-10-13 17:57:23 +00:00
Anders Carlsson
6bfee8f3e3
Don't assume that the LHS and RHS of a member pointer expression is a DeclRefExpr. Fixes PR5177.
...
llvm-svn: 83986
2009-10-13 17:41:28 +00:00