aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-02-07modern objc abi rewriter: mode protocol metadataFariborz Jahanian
for modern objc abi. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150011 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Fix indentation and an 80-column violation.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150010 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07non-literal strftime format string is not unsafe.Jean-Daniel Dupas
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150009 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07[libclang] Do not index implicit C++ member functions. rdar://10769813Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150007 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Revert my patches which removed Diagnostic.h includes by moving some ↵Benjamin Kramer
operator overloads out of line. This seems to negatively affect compile time onsome ObjC tests (which use a lot of partial diagnostics I assume). I have to come up with a way to keep them inline without including Diagnostic.h everywhere. Now adding a new diagnostic requires a full rebuild of e.g. the static analyzer which doesn't even use those diagnostics. This reverts commit 6496bd10dc3a6d5e3266348f08b6e35f8184bc99. This reverts commit 7af19b817ba964ac560b50c1ed6183235f699789. This reverts commit fdd15602a42bbe26185978ef1e17019f6d969aa7. This reverts commit 00bd44d5677783527d7517c1ffe45e4d75a0f56f. This reverts commit ef9b60ffed980864a8db26ad30344be429e58ff5. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150006 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07objc rewriter: modern metadata for protocol decls. wip.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150002 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07In r149662, setDiagnosticMapping was modified to not allow warnings mapped to Chad Rosier
MAP_ERROR to be remapped to MAP_WARNING. These new APIs are being added to allow the diagnostic mapping's "no Werror" bit to be set, and potentially downgrade anything already mapped to be a warning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150001 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Make use of const-correct ParseCommandLineOptionsDavid Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150000 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Implements support of format_arg attribute on C++ member.Jean-Daniel Dupas
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149998 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Remove tabs.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149996 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Emit debug info for properites that are not backed by an ivar.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149995 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07objc rewriter: start supporting modern objective-c abiFariborz Jahanian
in objective-c rewriter. wip. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149989 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Make parsing of objc @implementations more robust.Argyrios Kyrtzidis
Parsing of @implementations was based on modifying global state from the parser; the logic for late parsing of methods was spread in multiple places making it difficult to have a robust error recovery. -it was difficult to ensure that we don't neglect parsing the lexed methods. -it was difficult to setup the original objc container context for parsing the lexed methods after completing ParseObjCAtImplementationDeclaration and returning to top level context. Enhance parsing of @implementations by centralizing it in Parser::ParseObjCAtImplementationDeclaration(). ParseObjCAtImplementationDeclaration now returns only after an @implementation is fully parsed; all the data and logic for late parsing of methods is now in one place. This allows us to provide code-completion for late parsed methods with mis-matched braces. rdar://10775381 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149987 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Hex literals without a significand no longer crash the lexer. Fixes bug 7910Aaron Ballman
Patch by Eitan Adler git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149984 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Print NamedDecls directly to a raw_ostream where possible.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149982 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Switch the ObjC*Decl raw_stream overloads to take a reference, for ↵Benjamin Kramer
consistency with NamedDecls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149981 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Introduce basic ASTs for lambda expressions. This covers:Douglas Gregor
- Capturing variables by-reference and by-copy within a lambda - The representation of lambda captures - The creation of the non-static data members in the lambda class that store the captured variables - The initialization of the non-static data members from the captured variables - Pretty-printing lambda expressions There are a number of FIXMEs, both explicit and implied, including: - Creating a field for a capture of 'this' - Improved diagnostics for initialization failures when capturing variables by copy - Dealing with temporaries created during said initialization - Template instantiation - AST (de-)serialization - Binding and returning the lambda expression; turning it into a proper temporary - Lots and lots of semantic constraints - Parameter pack captures git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149977 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Use SmallVector instead of std::vector.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149976 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Use 'ArrayRef<>' instead of 'std::vector<>&' for passed-in arguments.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149975 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Calculate the .size() of the vector once.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149974 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Reserve a moderate amount of space for the back-end arguments.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149973 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Fix a bug in semantic analysis involving anonymous structs and flexible arrays.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149966 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Fix a couple of nasty bugs involving negative enum constants. ↵Eli Friedman
<rdar://problem/10760113>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149965 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Update test case.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149964 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Make FunctionDecl::doesDeclarationForceExternallyVisibleDefinition use the ↵Eli Friedman
same logic as FunctionDecl::isInlineDefinitionExternallyVisible to figure out whether to emit a definition. Based on work by Anton Yartsev. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149963 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Create PathDiagnosticCallEnter and PathDiagnosticCallExit, to remark calls ↵Ted Kremenek
in PathDiagnostics from other events. This will have potential uses later. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149960 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Tweak BugReporter extensive diagnostics to not add edges between function calls.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149959 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Quote name of function in path diagnostics.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149958 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Remove the unused TypoCorrectionConsumer::MaxEditDistance.Kaelyn Uhrain
MaxEditDistance was effectively unused as it being initialized to the max unsigned valued but never updated. Removing it avoids conversion headaches once the "edit distance" of a typo correction is a weighted composite of several values instead of roughly the number of characters changed; comparing the weighted composite value to the number of characters in a typo would require some form of normalization to make it comparable to the old, character-based notion of edit distance. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149953 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Filter a few more options not recognized by gcc. <rdar://problem/10814020>Bob Wilson
These are new options that gcc doesn't recognize so the clang driver needs to remove them when it falls back to invoking gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149951 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Add C11 FLT_TRUE_MIN and friends. <rdar://problem/10812837>.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149949 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07[analyzer] Allow each CString check to be enabled/disabledAnna Zaks
separately. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149947 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Bump up the initial vector size to avoid having to grow the vector more often.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149945 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07simplify a bunch of code to use the well-known LLVM IR types computed by ↵Chris Lattner
CodeGenModule. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149943 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07tidy up code, make the common case (1-byte strings) come firstChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149942 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Add basic BugReporter support for CallEnter/CallExit. WIP.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149939 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Misc improvements to the diagnostic when a variable is odr-used in a context ↵Eli Friedman
that is not allowed to capture variables. Fixes PR11883. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149937 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Use a more efficient container for these values. Also reserve space when using aBill Wendling
std::vector. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149936 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Use a SmallVector instead of std::vector. This improves compilation time inBill Wendling
445.gobmk by ~1.7%. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149935 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06Don't recalculate the size of the array each time through the for-loop.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149933 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06Minor comment clarification.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149931 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06Fix a minor regression from my potentially-evaluated expression changes.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149930 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06Relax valid location check. This fixes a clang crash while emitting debug ↵Devang Patel
info for properties that are synthesized by the compiler by default. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149929 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06build wide strings with ConstantDataArray, just because we can.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149928 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06improve the code that handles IR generation of byte-sized string literals to ↵Chris Lattner
avoid allocating an std::string. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149924 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06Added source location for the template keyword in ↵Abramo Bagnara
DependentTemplateSpecializationTypeLoc nodes (DTSTLoc). The new info is propagated to TSTLoc on template instantiation, getting rid of 3 FIXMEs in TreeTransform.h and another one Parser.cpp. Simplified code in TypeSpecLocFiller visitor methods for DTSTLoc and DependentNameTypeLoc by removing what now seems to be dead code (adding corresponding assertions). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149923 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06use cheaper llvm APIs for various bits of IR generation.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149916 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06simplify code and smallvectorize.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149915 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06Canonicalize the base class used in the nested-name-specifier of a generatedManuel Klimek
assignment operator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149909 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06Fix the result of VarDecl::checkInitIsICE so it is consistently accurate in ↵Eli Friedman
C++11 mode. PR11928. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149908 91177308-0d34-0410-b5e6-96231b3b80d8