aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2009-11-16Parameterize the constant-generating macros in stdint.h with new built-inKen Dyck
__INTn_C_SUFFIX__ macros that are defined for types with corresponding constant suffixes (i.e. long and long long). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88914 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16Pass a value for the isSigned parameter of CreateIntCast, rather thanDuncan Sands
passing the name (an exotic way of specifying that the result is signed!). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88909 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16Implement most of dynamic_cast. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88901 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16Make GetAddrOfConstantStringFromLiteral return a constant of the correct type.Eli Friedman
This doesn't have any visible effects at the moment because normally the implicit cast code forces the type to the expected type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88896 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16Some minor cleanup for EmitCastLValue.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88894 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16Set the cast kind for a few more code paths.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88893 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16Fix a couple of cases where we weren't generating the right kind of callEli Friedman
for a call to a virtual function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88891 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16Implement two-argument form of delete operator.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88890 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16* Do the same thing to the basicstore as in r84163.Zhongxing Xu
* Add a load type to GRExprEngine::EvalLoad(). * When retrieve from 'theValue' of OSAtomic funcitions, use the type of the region instead of the argument expression as the load type. * Then we can convert CastRetrievedSVal to a pure assertion. In the future we can let all Retrieve() methods simply return SVal. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88888 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16Add constant evaluation for comma operator with floating-point operand. FixesEli Friedman
PR5449. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88885 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16Remove an unused parameter.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88882 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15Fix a missing include from r88876.Chandler Carruth
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88879 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15When generating the deleting ctor, emit a call to delete.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88878 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15Make sure that virtual destructors have delete operators.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88877 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15Add DeclarationName::dump().Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88876 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15Peer through refernces for typeid. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88871 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15Deallocation functions must also be static.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88859 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15allocation functions are always static.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88858 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15Factor finding a deallocation function for a record type out into a separate ↵Anders Carlsson
function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88857 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15Finish off zero check for typeid(*p) so that it will do a __cxa_bad_typeid.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88852 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15If we find a deallocation function in the class scope, but it is a placement ↵Anders Carlsson
function we should not look for a deallocation function in the global scope. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88851 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15Add MIPS support to Triple for Linux and the PSP. Credit to Bruno Cardoso Lopes.Edward O'Callaghan
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88850 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15When performing a static downcast as part of a static_cast, make sureDouglas Gregor
that we're dealing with canonical types like the documentation say (yay, CanQualType). Alas, this is another instance where using getQualifiers() on a non-canonical QualType got us in trouble. Good news: with this fix, Clang can now parse all of its own headers! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88848 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15Don't gratuitously mark the default constructors of base or member ↵Douglas Gregor
initializers as used git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88847 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15When adding the underlying declaration of a decl to a lookup-resultsDouglas Gregor
set, expand overloaded function declarations. Long-term, this should actually be done by the name-lookup code rather than here, but this part of the code (involving using declarations) is getting a makeover now and the test-case is useful. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88846 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15Implement typeid for class types.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88843 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15When looking for operator() to type-check a call to an object of classDouglas Gregor
type, use full qualified name lookup rather than the poking the declaration context directly. This makes sure that we see operator()'s in superclasses. Also, move the complete-type check before this name lookup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88842 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15If any errors have occurred by the time we hit the end of a function body, ↵Douglas Gregor
clear out any remaining temporaries so they aren't seen later. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88834 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15Add TargetOptions and use it when constructing targets.Daniel Dunbar
- This ended up being hard to factor, sorry for the large diff. - Some post-commit cleanup to come. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88833 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15Finish off support for typeinfo generation for classes.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88828 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14Finisgh off rest of class_type_info rtti generation.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88823 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14When dumping implicit cast exprs, print out whether the cast is an lvalue ↵Anders Carlsson
cast or not. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88821 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14Add clang -mcpu=native support, patch by Roman Divacky, varioustweaks by me.Daniel Dunbar
- We still need support for detecting the target features, since the name doesn't actually do a good job of decribing what the CPU supports (for LLVM). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88819 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14Add an internal CreateRecordDecl that will create a CXXRecordDecl when ↵Anders Carlsson
compiling C++ and a RecordDecl otherwise. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88816 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14Always build a builtin operator expression for the __extension__ unary operator.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88811 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14Handle CK_BitCast in EmitCastLValue.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88810 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14- Have TryStaticImplicitCast set the cast kind to NoOp when binding a ↵Sebastian Redl
reference. CheckReferenceInit already inserts implicit casts to the necessary types. This fixes an assertion in CodeGen for some casts and brings a fix for PR5453 close, if I understand that bug correctly. - Also, perform calculated implicit cast sequences if they're determined to work. This finally diagnoses static_cast to ambiguous or implicit bases and fixes two long-standing fixmes in the test case. For the C-style cast, this requires propagating the access check suppression pretty deep into other functions. - Pass the expressions for TryStaticCast and TryStaticImplicitCast by reference. This should lead to a better AST being emitted for such casts, and also fixes a memory leak, because CheckReferenceInit and PerformImplicitConversion wrap the node passed to them. These wrappers were previously lost. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88809 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14Canonicalize the type before trying to create a debug type.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88808 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14Have CGDebugInfo::getOrCreateType cache the QualType instead of having every ↵Anders Carlsson
ConvertType overload do it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88807 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14Move DISABLE_INLINE to the front of the decl so MSVC can parse it. Patch by ↵Benjamin Kramer
Amine Khaldi! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88797 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14Build up more of the rtti info for a class. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88795 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14Add the name to the rtti data structure.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88792 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14Change *BugReport constructors to take StringRefs.Benjamin Kramer
- Eliminates many calls to std::string.c_str() - Fixes an invalid read in ReturnStackAddressChecker due to an unsafe call to StringRef.data() which doesn't guarantee null-termination. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88779 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14Add FrontendActions for all preprocessor based clang-cc actions.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88774 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14Add FrontendActions, which provides a FrontendAction interface to all the ↵Daniel Dunbar
existing AST consumer based clang-cc actions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88773 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14Add FrontendAction interface, for encapsulating a "clang-cc" style action.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88772 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14Avoid assert-crash in a case where the expression passed to EmitConstantExprEli Friedman
legitimately has side-effects (and needs to be generated as a non-constant). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88767 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14Make __func__ and friends work correctly within the initializer for a staticEli Friedman
local variable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88766 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14Shuffle VerifyDiagnosticsClient API to be less fragile.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88765 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14Add CompilerInstance::InitializeSourceManager.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88764 91177308-0d34-0410-b5e6-96231b3b80d8