summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* When transforming a C++ "new" expression that was not explicitly givenDouglas Gregor2009-12-221-0/+25
| | | | | | | a size, check whether the transformed type is itself an array type. If so, take the major array bound as the size to allocate. Fixes PR5833. llvm-svn: 91907
* Switch parameter-passing for calls via function pointers (where weDouglas Gregor2009-12-223-18/+30
| | | | | | don't have a FunctionDecl) over to InitializationSequence. llvm-svn: 91906
* Switch InitializedEntity from TypeLoc down to just QualTypes, since we don't ↵Douglas Gregor2009-12-225-150/+60
| | | | | | use the location information but we did spend a bunch of time building faked-up TypeLocs llvm-svn: 91905
* Move the implementation of ASTContext::getTypeSizeInChars() to the .cpp file toKen Dyck2009-12-222-0/+11
| | | | | | avoid #including CharUnits.h in ASTContext.h. llvm-svn: 91903
* Switch initialization of parameters in a call over toDouglas Gregor2009-12-222-6/+33
| | | | | | | | | | | InitializationSequence (when a FunctionDecl is present). This required a few small fixes to initialization sequences: - Make sure to use the adjusted parameter type for initialization of function parameters. - Implement transparent union calling semantics in C llvm-svn: 91902
* Make sure that we mangle overloaded operators that are member functions ↵Anders Carlsson2009-12-221-7/+22
| | | | | | | | correctly, giving them the correct arity. With this seemingly insignificant fix, we are now able to build and link clang using clang itself! (LLVM still has to be built with gcc for the time being). llvm-svn: 91893
* Work around PR5514.Anders Carlsson2009-12-221-1/+2
| | | | llvm-svn: 91891
* fix a bug handling the gnu ?: extension. Patch by Storlek on IRC,Chris Lattner2009-12-221-1/+1
| | | | | | who prefers to be stealthy and mysterious. llvm-svn: 91888
* When we simply return a retained member expression when instantiating, we ↵Anders Carlsson2009-12-221-1/+6
| | | | | | must also mark the member decl as referenced. llvm-svn: 91887
* Zap CheckInitializerTypes.Eli Friedman2009-12-222-116/+0
| | | | llvm-svn: 91884
* Switch default arguments over to InitializationSequence.Eli Friedman2009-12-221-1/+5
| | | | llvm-svn: 91883
* Switch compound literals over to InitializationSequence.Eli Friedman2009-12-222-3/+10
| | | | llvm-svn: 91882
* Switch file-scope assignment initialization over to InitializationSequence.Eli Friedman2009-12-222-14/+21
| | | | llvm-svn: 91881
* x86_64: Structures with no fields but which have padding should be classified asDaniel Dunbar2009-12-221-0/+4
| | | | | | | | integer. - This is consistent, but may not be correct. I will revisit x86_64 ABI handling for C++ as a whole at some point. - PR5831. llvm-svn: 91874
* Centralize the emission/suppression/delay of diagnostics describing runtime ↵Douglas Gregor2009-12-222-60/+53
| | | | | | before in the new function Sema::DiagRuntimeBehavior, addressing one of Chris' comments. llvm-svn: 91870
* Stop diagnosing the use of inner classes as friends. ddunbar asked whetherJohn McCall2009-12-221-7/+4
| | | | | | | | | this was useful, and on review Doug and I decided it was probably on the level of a bug in the standard and therefore not worth a warning even in -pedantic. If someone disagrees and urgently wants clang++ to warn about this in strict c++98 mode, we can talk about it. llvm-svn: 91868
* Template code for rewrite of __block variables - wip.Fariborz Jahanian2009-12-221-0/+7
| | | | llvm-svn: 91865
* Eliminate the ASTContext argument to CXXConstructorDecl::isCopyConstructor, ↵Douglas Gregor2009-12-228-14/+14
| | | | | | since the context is available in the Decl llvm-svn: 91862
* When converting from a type to itself or one of its base classes via aDouglas Gregor2009-12-221-1/+2
| | | | | | | | | constructor call, the conversion is only a standard conversion sequence if that constructor is a copy constructor. This fixes PR5834 in a semi-lame way, because the "real" fix will be to move over to InitializationSequence. That will happen "soonish", but not now. llvm-svn: 91861
* When filling in value initializations within an initializer list, beDouglas Gregor2009-12-221-65/+86
| | | | | | | sure to fill in the initialized member of a union when a member was explicitly designated. Fixes PR5843. llvm-svn: 91858
* Providing support for rewriting of block copy/dispose ofFariborz Jahanian2009-12-211-4/+11
| | | | | | imported block variables. WIP. llvm-svn: 91856
* ARM: Honor -mfpu= and set __VFP_FP__ and __ARM_NEON__ "correctly".Daniel Dunbar2009-12-212-9/+88
| | | | | | | | - Correctly is in quotes, because we are following what I interpreted as GCC's intent (which diverges from practice, naturally). - Also, fix the arch define for arm1136jf-s. llvm-svn: 91855
* When a template-id refers to a single function template, and theDouglas Gregor2009-12-215-27/+206
| | | | | | | | | | explicitly-specified template arguments are enough to determine the instantiation, and either template argument deduction fails or is not performed in that context, we can resolve the template-id down to a function template specialization (so sayeth C++0x [temp.arg.explicit]p3). Fixes PR5811. llvm-svn: 91852
* Introduce an assertion to ensure that template argument deduction doesDouglas Gregor2009-12-211-1/+1
| | | | | | | | | not deduce an "overload" type. Such a deduction indicates a failure in semantic analysis (e.g., PR5811) that currently isn't caught until code-generation time. This assertions makes it clearer that this particular issue is a semantic-analysis problem, not a code-gen problem. llvm-svn: 91844
* Improve on my previous fix for debug information. Rather thanDouglas Gregor2009-12-211-51/+42
| | | | | | | | | recursing in CGDebugInfo::CreateTypeNode, teach CanonicalizeTypeForDebugInfo---now called UnwrapTypeForDebugInfo---to keep unwrapping the type until we hit something that can be represented by debug information. Thanks to Anders for pointing this out! llvm-svn: 91840
* Teach debug info generation to handle TemplateSpecializationType,Douglas Gregor2009-12-211-3/+50
| | | | | | | | ElaboratedType, QualifiedNameType, and SubstTemplateTypeParmType type nodes. Also, produce an "unsupported" diagnostic for C++0x type nodes and "typeof" nodes, rather than asserting nondescriptly. llvm-svn: 91837
* Add ToolChain::getDriver() and use it instead of going through the HostInfoDaniel Dunbar2009-12-213-45/+48
| | | | | | object. llvm-svn: 91830
* Allow comparison of 'void *' with function pointer Fariborz Jahanian2009-12-211-1/+12
| | | | | | as a g++ extension (fixes radar 7481987). llvm-svn: 91827
* Reorganize the base-lookup bits of ActOnMemInitializer in order to betterJohn McCall2009-12-211-8/+24
| | | | | | support diagnostics and error recovery. llvm-svn: 91825
* Add comments.Zhongxing Xu2009-12-211-0/+1
| | | | llvm-svn: 91818
* Fix for PR5840: fix the kind of name lookup used for classes inEli Friedman2009-12-211-2/+6
| | | | | | | | | | Sema::getTypeName. "LookupNestedNameSpecifierName" isn't quite the right kind of lookup, though; it doesn't ignore namespaces. Someone more familiar with the lookup code should fix this properly. llvm-svn: 91809
* Small comment fix.Eli Friedman2009-12-211-1/+1
| | | | llvm-svn: 91808
* indentation fixChris Lattner2009-12-211-1/+1
| | | | llvm-svn: 91807
* Incomplete structs should also have internal linkage.Anders Carlsson2009-12-211-9/+76
| | | | llvm-svn: 91805
* Correcly handle pointers to member pointer types where the class or the ↵Anders Carlsson2009-12-201-42/+48
| | | | | | pointee is incomplete. llvm-svn: 91804
* fix PR4010: add support for the warn_unused_result for function pointersNuno Lopes2009-12-203-8/+11
| | | | llvm-svn: 91803
* fix PR5500: clang fails to parse inline asm with :: in C++ mode Chris Lattner2009-12-201-7/+22
| | | | llvm-svn: 91802
* refactor asm stmt parsing to avoid nesting as much, andChris Lattner2009-12-201-39/+38
| | | | | | pull ':' eating out of ParseAsmOperandsOpt. llvm-svn: 91801
* Rework the way pointer types are handled by the RTTI builder. We now get the ↵Anders Carlsson2009-12-201-101/+354
| | | | | | right linkage for indirect pointers to incomplete structs. llvm-svn: 91799
* Make sure we instantiate the destructor for variables initialized byEli Friedman2009-12-201-0/+9
| | | | | | assignment. llvm-svn: 91798
* Fix review comment; no visible change.Eli Friedman2009-12-201-28/+29
| | | | llvm-svn: 91797
* Switch default-initialization of variables of class type (or array thereof) ↵Douglas Gregor2009-12-202-21/+13
| | | | | | over to InitializationSequence. I could swear that this fixes a PR somewhere, but I couldn't figure out which one llvm-svn: 91796
* Revert accidental commitDouglas Gregor2009-12-201-11/+20
| | | | llvm-svn: 91795
* Fix CMake build on windows, from Cedric VenetDouglas Gregor2009-12-201-20/+11
| | | | llvm-svn: 91794
* Don't inject the class name until that magical lbrace.John McCall2009-12-203-24/+37
| | | | | | | | | | | | | | | | Because of the rules of base-class lookup* and the restrictions on typedefs, it was actually impossible for this to cause any problems more serious than the spurious acceptance of template <class T> class A : B<A> { ... }; instead of template <class T> class A : B<A<T> > { ... }; but I'm sure we can all agree that that is a very important restriction which is well worth making another Parser->Sema call for. (*) n.b. clang++ does not implement these rules correctly; we are not ignoring non-type names llvm-svn: 91792
* Parse base specifiers within the scope of the class. This is possibly notJohn McCall2009-12-191-12/+18
| | | | | | quite right; I'll come back to it later. It does fix PR 5741. llvm-svn: 91789
* Remove ';' after method definition. Noticed by clang++, which one would thinkDaniel Dunbar2009-12-194-19/+19
| | | | | | | would have a higher respect for its own code. This is getting old, is this warning really adding value? llvm-svn: 91779
* Kill off PreDeclaratorDC.John McCall2009-12-192-6/+2
| | | | llvm-svn: 91772
* Refactor to remove more dependencies on PreDeclaratorDC. I seem to have madeJohn McCall2009-12-195-72/+76
| | | | | | | the redeclaration problems in the [temp.explicit]p3 testcase worse, but I can live with that; they'll need to be fixed more holistically anyhow. llvm-svn: 91771
* Don't use EnterDeclaratorContext when rebuilding a type in the currentJohn McCall2009-12-191-2/+5
| | | | | | instantiation, since we're not using a Scope object for that anyway. llvm-svn: 91770
OpenPOWER on IntegriCloud