aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-05-01C/ObjC work well enough with clang for them not to be a gcc strength anymore.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70528 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-01add wordChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70527 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-01C/ObjC work well enough to claim support for them now.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70526 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-01Don't assert when we think we need copy/dispose, but don't need them.Mike Stump
Radar 6838889 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70525 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-01Don't use indirect memory destinations for inline asm. Fixes 6841383.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70523 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30C++ destructors can have a single unnamed void parameter. Fixes ↵Anders Carlsson
<rdar://problem/6841210>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70519 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30Remove a warning when this file is compiled optimized.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70518 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30Rework the way we handle constructor decls to be less hacky and fix PR3948 ↵Anders Carlsson
completely. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70516 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30Use of super class ivar to synthesize property is back to being error.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70514 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30retain/release checker: Hook up attributes 'objc_ownership_retain' andTed Kremenek
'objc_ownership_release' to the effects on receivers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70507 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30Make a home for exception specs in the AST. Now Sema can hook them up.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70506 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30Allow attributes 'objc_ownership_retain' and 'objc_ownership_release' to beTed Kremenek
applied to ObjCMethodDecls, not just parameters. This allows one to specific side-effects on the receiver of a message expression. No checker support yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70505 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30Hook up Sema support for attributes on Objective-C method declarations thatTed Kremenek
appear between the return type and the selector. This is a separate code path from regular attribute processing, as we only want to (a) accept only a specific set of attributes in this place and (b) want to distinguish to clients the context in which an attribute was added to an ObjCMethodDecl. Currently, the attribute 'objc_ownership_returns' is the only attribute that uses this new feature. Shortly I will add a warning for 'objc_ownership_returns' to be placed at the end of a method declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70504 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30Add parsing support in an Objective-C method declaration for attributes betweenTed Kremenek
the return type and selector. Haven't hooked this up to Sema yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70501 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30Name the "return-type" DiagGroup and reference it in a few places.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70500 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30Properly compute the alignment of typedefs that make use of theDouglas Gregor
"aligned" attribute. Previously, we were skipping over these attributes when we jumped directly to the canonical type. Now, ASTContext::getTypeInfo walks through typedefs and other "non-canonical" types manually, looking for "aligned" attributes on typedefs. As part of this change, I moved the GNU-specific logic (such as determining the alignment of void or of a function pointer) out of the expression evaluator and into ASTContext::getTypeInfo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70497 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30API for message dispatch of methods returning floatsFariborz Jahanian
to match gcc's closely. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70493 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30Warn about invalid return statements by default.Steve Naroff
This fixes <rdar://problem/6839489> 10A345: Clang does not warm about mismatched returns (void return from a bool function) Will implement -Wreturn-type, -Wno-return-type in another commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70492 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70489 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30Fix for PR4108: be a bit looser with the casts that we accept in Eli Friedman
constant initializers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70483 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30accept and ignore two new warning specifiers. -Wno-discard-qual seems easy Chris Lattner
to hook up if someone was interested. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70482 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30fix i128 to return in 2 64-bit registers (rax/rdx on x86-64)Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70481 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30only support int128_t on 64-bit and larger targets. 32-bit targets don'tChris Lattner
have support for __divti3 and friends. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70480 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30Handle case in EvalReturn where we cache out in the ExplodedGraph.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70475 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30retain/release checker: Use the ObjCMethodDecl in the @implementation if noTed Kremenek
matching ObjCMethodDecl exists in the @interface. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70474 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30retain/release checker: Resolve method decl in @interface after getting theTed Kremenek
ObjCInterfaceDecl, not before. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70473 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30int128_t is apparently 128-bit aligned on all 64-bit targets, andChris Lattner
not supported on 32-bit targets, so we can define it to be 128-bit aligned there too :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70465 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30initial support for __[u]int128_t, which should be basicallyChris Lattner
compatible with VC++ and GCC. The codegen/mangling angle hasn't been fully ironed out yet. Note that we accept int128_t even in 32-bit mode, unlike gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70464 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30Remove two unused options.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70457 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30Sema checking for incorrect placement of __block. Radar 6441502Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70452 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29Use the new code gen optimization enum instead of passing in the optimizationBill Wendling
level. This is more expressive. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70451 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29Make DISABLE_SMART_POINTERS work, againDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70443 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29Change to warning when property uses an ivar in super classFariborz Jahanian
in an @synthesize diective, as it breaks few projects. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70441 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29Just because a declaration has the same name as its containing class doesn't ↵Anders Carlsson
mean that it's a constructor. Fixes rdar://problem/6815988. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70436 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29Revert r70424. We don't need itDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70432 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29retain/release checker: When determining whether an analyzed method can returnTed Kremenek
an owned object, consult its summary instead of inspecting the selector. This picks up annotations, and is just more general. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70429 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29Add PCH version to the -v outputDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70424 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29Undid setting of the flag for msg_Send for 32bit code gen.Fariborz Jahanian
It seems to effect code gen. Add a FIXME instead. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70423 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29Format cleanup. No functionality change.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70420 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29Implement semantic analysis for transparent unions. This is largelyDouglas Gregor
based on a patch from Anders Johnsen. CodeGen support is incomplete, in that we do not properly coerce to the first field's type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70419 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29Remove extra line.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70418 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29Fix null dereference.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70417 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29BugReporter/PathDiagnostics:Ted Kremenek
- Add an (optional) short description for BugReports for clients that want to distinguish between long and short descriptions for bugs - Make the bug report for VLA less obscene for Plist diagnostics by using the short description git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70415 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29use of an ivar specified on a property @synthesizeFariborz Jahanian
and found in super class triggers a diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70414 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29Fixup Sema and CodeGen for block literal attributes when the returnMike Stump
type and argument types are missing, and let return type deduction happen before we give errors for returning from a noreturn block. Radar 6441502 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70413 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29Reformat long line. No functionality change.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70412 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29Match addPassesToEmitFile API change.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70409 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29Export lazy references of .objc_class_name of class namesFariborz Jahanian
referenced in a category implementation meta-data (Next objc 32bit abi). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70407 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29Minor simplification; also silences gcc warning.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70406 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29Type of msgSend message dispatch API is a vararg.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70404 91177308-0d34-0410-b5e6-96231b3b80d8