aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-10-23Fixed a code gen bug (by fixing the AST) involving user-definedFariborz Jahanian
pointer-to-member type conversion follwed by a pointer-to-member standard conversion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84955 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-23Rebuild dependently-sized ext vectors if either the element type or the sizeJohn McCall
changed under the transform. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84953 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-23Silence GCC 4.3 warning.Benjamin Kramer
TreeTransform.h:2333: warning: suggest parentheses around && within || git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84949 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-23Emit calls using the canonical prototype of the called function.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84947 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-23Add comment.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84930 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-23Fix integer overflow in PCHReader when reading the length of anTed Kremenek
identifier. This caused a crash when reading PCH files that contained long identifier names. The issue is that 'StrLenPtr' was previously a 'const char *', meaning the byte loaded from it would be interpretted as a signed integer. If the topmost bit was set, conversion to 'unsigned' would extend that bit, causing an overflow. The solution is to make 'StrLenPtr' an 'unsigned char *', always treating the value as an unsigned integer. This fixes: <rdar://problem/7328900> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84925 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-23Fixed undefined behavior in pushMappings when the stack has to resize.John Thompson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84924 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-23Add radar number.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84923 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-23Fixup the return type of functions.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84922 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-23FunctionTypeLocs don't necessarily provide ParmVarDecls, so don't crash ifJohn McCall
one was PCH'ed without any. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84920 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22Preserve type source information when substituting into FieldDecls.John McCall
Just r84734 now that some fundamental work has been completed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84914 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22Preserve source information for anonymous struct/union declarations.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84913 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22Complete code gen for '.*' binary expression forFariborz Jahanian
both scalar and aggregates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84910 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22Fixes a warning.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84909 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22When building types from declarators, instead of building two types (one forJohn McCall
the DeclaratorInfo, one for semantic analysis), just build a single type whose canonical type will reflect the semantic analysis (assuming the type is well-formed, of course). To make that work, make a few changes to the type system: * allow the nominal pointee type of a reference type to be a (possibly sugared) reference type. Also, preserve the original spelling of the reference type. Both of these can be ignored on canonical reference types. * Remove ObjCProtocolListType and preserve the associated source information on the various ObjC TypeLocs. Preserve the spelling of protocol lists except in the canonical form. * Preserve some level of source type structure on parameter types, but canonicalize on the canonical function type. This is still a WIP. Drops code size, makes strides towards accurate source location representation, slight (~1.7%) progression on Cocoa.h because of complexity drop. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84907 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22Always emit error diagnostics when an error occurs within ↵Ted Kremenek
clang_createTranslationUnit() and clang_createTranslationUnitFromSource(). These kind of errors are ones that shouldn't be missed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84904 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22Disable Microsoft extensions to fix failure on Windows.John Thompson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84893 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22Canonicality is a property of qualified types, not unqualified types.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84891 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22fix #2 :)Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84889 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22fix testcase, thanks Daniel.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84888 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22When replacing a template-id expression with a declaration reference ↵Douglas Gregor
expression after overloading completes, make sure to keep the qualifier. Still not ready with that test-case... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84880 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22Split clang_getCursor() into clang_getCursor() and clang_getCursorWithHint().Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84873 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22When building and instantiating a template-id reference expression, such asDouglas Gregor
N::f<int> keep track of the full nested-name-specifier. This is mainly QoI and relatively hard to test; will try to come up with a printing-based test once we also retain the explicit template arguments past overload resolution. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84869 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22Update test; the driver can find a different gcc tool chain directory whenDaniel Dunbar
simulating running on a different system. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84862 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22Try to instantiate templates before doing hierarchy checks in static_cast. ↵Sebastian Redl
Fixes PR5261. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84860 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22When a template-id expression refers to a member function template, turn it ↵Douglas Gregor
into an (implicit) member access expression. Fixes PR5220 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84848 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22Refactor our handling of implicit member reference expressions to get most ↵Douglas Gregor
of the logic out of BuildDeclarationNameExpr git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84847 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22fix PR5265: the size of a float3 should be rounded up to its alignment. Chris Lattner
This ensures that arrays of float3 are correctly padded. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84833 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22Add some explanatory diagnostics when clang_createTranslationUnitFromSource ↵Ted Kremenek
fails. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84825 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22Rename: CheckBadDiv->CheckDivZero.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84824 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22Remove some misguided code.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84823 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22Extend out the block descriptor structure for debug information withMike Stump
the copy/dispose helpers as appropriate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84817 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22Driver: Fix thinko in logic for finding gcc's tool chain directory.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84805 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22Enhance 'clang_createTranslationUnitFromSourceFile()' in two ways:Ted Kremenek
(1) Allow the source file to be specified in the actual command line arguments by allowing the caller to set 'source_filename' to NULL. (2) Automatically strip off the arguments '-emit-ast', '-fsyntax-only', and '-c'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84802 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21Code gen for '.*' binary expressions - WIP.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84800 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21Don't (directly) call RequireCompleteType with an invalid source location.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84793 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21Turn on the preallocation of all BlockDeclRefExprs.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84789 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21Don't generate pointer types for void or base classes when findingDouglas Gregor
conversion types for builtin overloaded operator candidates; I misread this section in the standard the first time around. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84788 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21Refine collection of BlockDeclRefExprs. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84787 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21Driver: don't produce bogus osx version numbers if no version (aka 0) was ↵Benjamin Kramer
specified. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84781 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21Expand on code gen. for pointer to data members so it worksFariborz Jahanian
for base classe members as well. Test case enhanced for this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84780 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21Force triple; this test was failing on non-darwin platforms due to differentBenjamin Kramer
asm comment styles (## vs #). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84777 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21Code gen for pointer-to-datamember - WIP.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84771 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21Fix typo.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84770 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21Refactor.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84769 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21Complete out debug info generation for captured __block variables. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84768 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21Change FixOverloadedFunctionReference to return a (possibly new) expression. ↵Anders Carlsson
Substitute TemplateIdRefExprs with DeclRefExprs. Doug, plz review :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84763 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21Downgrade "function declared 'noreturn' should not return" from anDouglas Gregor
error (by default) to a warning, per C++0x [dcl.attr.noreturn]. Patch from Sean Hunt! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84762 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21Extend clang_getCursor() to take a 'relativeDecl' argument (so speed up ↵Steve Naroff
searching). Without a 'relativeDecl', the algorithm is n-squared. For example, running the following command on 'Large.m' takes hours without a 'relatvieDecl'. snaroff% time ../../Debug/bin/c-index-test Large.ast all > Large.out snaroff% cat Large.m #import <Cocoa/Cocoa.h> #import <QuickTime/QuickTime.h> #import <OpenGL/OpenGL.h> With a 'relativeDecl', it takes <30 seconds:-) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84760 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21Add AuroraUX ABI Triple in correct place.Edward O'Callaghan
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84758 91177308-0d34-0410-b5e6-96231b3b80d8