summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* Testcase for recent checkin. WIP.Mike Stump2009-10-141-0/+119
| | | | llvm-svn: 84123
* Shift the vcall slots for non-virtual bases of a virtual base, up intoMike Stump2009-10-141-6/+34
| | | | | | | | 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
* When mapping from an injected-class-name to its correspondingDouglas Gregor2009-10-142-1/+21
| | | | | | | | 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
* Add support for having different c++ search dirs with -m32 and -m64. So farRafael Espindola2009-10-142-25/+72
| | | | | | this is only used in darwin10, 64 bit ubuntu 9.10 and 64 bit openSUSE 11.1. llvm-svn: 84115
* Copy metadata associated with CIDevang Patel2009-10-141-0/+4
| | | | llvm-svn: 84114
* Implement support for overloaded operator uses that result to a callDouglas Gregor2009-10-142-4/+51
| | | | | | | | 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
* There is now only one version of eh.selector and eh.typeid.for.Duncan Sands2009-10-142-17/+12
| | | | | | Fix the clang build. llvm-svn: 84107
* Have the exception specification checkers take partial diagnostics. Use this ↵Sebastian Redl2009-10-143-18/+21
| | | | | | to merge two diagnostics. llvm-svn: 84105
* Few targets like PIC16 mangle the names of global variables, so retrieve the ↵Sanjiv Gupta2009-10-141-1/+1
| | | | | | | | name from Var itself rather than the decl for DebugInfo metadata. llvm-svn: 84102
* Use CanQualType in the exception specification verification type sets.Sebastian Redl2009-10-141-3/+3
| | | | llvm-svn: 84101
* Teach Lexer::MeasureTokenLength to be able to measure theChris Lattner2009-10-141-0/+1
| | | | | | length of comment tokens. Patch by Abramo Bagnara! llvm-svn: 84100
* Use partial diagnostics properly in call to RequireCompleteType. Among other ↵Sebastian Redl2009-10-143-10/+13
| | | | | | 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
* Do exception spec compatibility tests for member pointers, too.Sebastian Redl2009-10-142-0/+19
| | | | llvm-svn: 84098
* Now StoreManager::CastRegion() takes a MemRegion, returns a MemRegion.Zhongxing Xu2009-10-143-41/+30
| | | | llvm-svn: 84081
* Add comments to test.Zhongxing Xu2009-10-141-2/+2
| | | | llvm-svn: 84078
* fix some cfstring related issues: Chris Lattner2009-10-144-35/+14
| | | | | | | | | | | | | 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
* unbreak test/CodeGen/builtins.c, reverting Devang's change.Chris Lattner2009-10-141-2/+2
| | | | llvm-svn: 84075
* Remove dead code.Zhongxing Xu2009-10-141-13/+0
| | | | llvm-svn: 84073
* * Remove unused GRState* parameterZhongxing Xu2009-10-145-72/+50
| | | | | | * Make all Base value the last argument. llvm-svn: 84071
* Add test case for <rdar://problem/7257223>, and XFAIL this test until it passes.Ted Kremenek2009-10-141-0/+24
| | | | llvm-svn: 84070
* Handle ambiguity of reference initialization.Fariborz Jahanian2009-10-143-1/+40
| | | | | | Removes a FIXME. llvm-svn: 84068
* retain/release checker: Recognize that calls toTed Kremenek2009-10-142-3/+126
| | | | | | | | | | 'CVPixelBufferCreateWithPlanarBytes()' and 'CVPixelBufferCreateWithBytes' (Core Video API) can indirectly release a pixel buffer object via a callback. This fixes <rdar://problem/7283567>. llvm-svn: 84064
* Remove some non-ASCII charactersDouglas Gregor2009-10-131-2/+2
| | | | llvm-svn: 84058
* Member function templates (and instantiations/specializations thereof)Douglas Gregor2009-10-131-2/+10
| | | | | | are never copy constructors or copy assignment operators. llvm-svn: 84057
* Improve diagnostics when the parser encounters a declarator with anDouglas Gregor2009-10-1312-20/+141
| | | | | | | | | | | | | | | | | | | | | | | 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
* Fix for PR 5181.Edward O'Callaghan2009-10-131-1/+4
| | | | llvm-svn: 84051
* Check void type before using replaceAllUsesWith().Devang Patel2009-10-131-1/+2
| | | | llvm-svn: 84050
* The operator loc points to the operator, not the function decl.Anders Carlsson2009-10-131-1/+1
| | | | llvm-svn: 84048
* retain/release checker: retained objects passed to pthread_create (asTed Kremenek2009-10-132-1/+38
| | | | | | | | the data argument) should not be tracked further until we support full IPA. (fixes <rdar://problem/7299394>) llvm-svn: 84047
* Refine handling for non-virtual bases in return value adjustments forMike Stump2009-10-132-14/+30
| | | | | | covariant thunks. WIP. llvm-svn: 84046
* Check the return type of binary operators and the arrow operator.Anders Carlsson2009-10-133-9/+26
| | | | llvm-svn: 84043
* Check the return type of operator[]() and fix a thinko that lead to a crash ↵Anders Carlsson2009-10-132-7/+16
| | | | | | in SemaCXX/overloaded-operator.cpp. llvm-svn: 84041
* fix test/CodeGen/statements.c on 32-bit hosts.Chris Lattner2009-10-132-1/+19
| | | | llvm-svn: 84039
* More return type checking.Anders Carlsson2009-10-133-8/+19
| | | | llvm-svn: 84034
* Ensure we sign extend.Mike Stump2009-10-131-2/+2
| | | | llvm-svn: 84031
* Diagnose invalid return types for unary operators.Anders Carlsson2009-10-132-7/+15
| | | | llvm-svn: 84030
* Unify our diagnostic printing for errors of the form, "we didn't likeDouglas Gregor2009-10-1314-127/+147
| | | | | | | | | | 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
* Pass the right SourceLocation to ↵Anders Carlsson2009-10-132-3/+10
| | | | | | Actions.ActOnOverloadedOperatorReferenceExpr and Actions.ActOnConversionOperatorReferenceExpr. Update incomplete-call.cpp test. llvm-svn: 84026
* Give ourselves an A- on ASTs for explicit specializations, since theyDouglas Gregor2009-10-131-2/+2
| | | | | | aren't rich enough to reproduce the source accurately. llvm-svn: 84012
* Fixes pth.c on Windows.John Thompson2009-10-131-6/+5
| | | | llvm-svn: 84007
* Converted to use FileCheck.John Thompson2009-10-135-16/+26
| | | | llvm-svn: 84005
* Turn -Wparentheses on by default.John McCall2009-10-132-2/+2
| | | | llvm-svn: 83993
* Don't assume that the LHS and RHS of a member pointer expression is a ↵Anders Carlsson2009-10-132-5/+23
| | | | | | DeclRefExpr. Fixes PR5177. llvm-svn: 83986
* Remove FIXME. We construct VBIndex very early, before any calls to ↵Mike Stump2009-10-131-1/+0
| | | | | | OverrideMethod. llvm-svn: 83981
* Diagnose attempts to add default function arguments to aDouglas Gregor2009-10-134-5/+54
| | | | | | specialization. This completes C++ [temp.expl.spec]! llvm-svn: 83980
* Remove extra white space line.Devang Patel2009-10-131-1/+0
| | | | llvm-svn: 83979
* Do not check use_empty() before invoking replaceAllUsesWith().Devang Patel2009-10-131-2/+3
| | | | | | Let replaceAllUsesWith() adjust VHs even though there are no uses. llvm-svn: 83978
* -funit-at-a-time is the default however some current makefiles pass ↵Edward O'Callaghan2009-10-131-1/+1
| | | | | | -fno-unit-at-a-time which is ignored by GCC, we should warn about this not error out. llvm-svn: 83976
* When explicitly specializing a member that is a template, mark theDouglas Gregor2009-10-139-26/+172
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | template as a specialization. For example, this occurs with: template<typename T> struct X { template<typename U> struct Inner { /* ... */ }; }; template<> template<typename T> struct X<int>::Inner { T member; }; We need to treat templates that are member specializations as special in two contexts: - When looking for a definition of a member template, we look through the instantiation chain until we hit the primary template *or a member specialization*. This allows us to distinguish between the primary "Inner" definition and the X<int>::Inner definition, above. - When computing all of the levels of template arguments needed to instantiate a member template, don't add template arguments from contexts outside of the instantiation of a member specialization, since the user has already manually substituted those arguments. Fix up the existing test for p18, which was actually wrong (but we didn't diagnose it because of our poor handling of member specializations of templates), and add a new test for member specializations of templates. llvm-svn: 83974
* Improve the internal representation and semantic analysis of friendDouglas Gregor2009-10-137-34/+151
| | | | | | | | | | | | | | | function templates. This commit ensures that friend function templates are constructed as FunctionTemplateDecls rather than partial FunctionDecls (as they previously were). It then implements template instantiation for friend function templates, injecting the friend function template only when no previous declaration exists at the time of instantiation. Oh, and make sure that explicit specialization declarations are not friends. llvm-svn: 83970
OpenPOWER on IntegriCloud