summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* objc rewriter: modern metadata for protocol decls. wip.Fariborz Jahanian2012-02-071-8/+88
| | | | llvm-svn: 150002
* In r149662, setDiagnosticMapping was modified to not allow warnings mapped to Chad Rosier2012-02-072-0/+43
| | | | | | | | 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. llvm-svn: 150001
* Make use of const-correct ParseCommandLineOptionsDavid Blaikie2012-02-074-6/+5
| | | | llvm-svn: 150000
* Implements support of format_arg attribute on C++ member.Jean-Daniel Dupas2012-02-072-20/+37
| | | | llvm-svn: 149998
* Remove tabs.Devang Patel2012-02-071-5/+5
| | | | llvm-svn: 149996
* Emit debug info for properites that are not backed by an ivar.Devang Patel2012-02-072-19/+53
| | | | llvm-svn: 149995
* objc rewriter: start supporting modern objective-c abiFariborz Jahanian2012-02-075-7/+6115
| | | | | | in objective-c rewriter. wip. llvm-svn: 149989
* Make parsing of objc @implementations more robust.Argyrios Kyrtzidis2012-02-0710-103/+167
| | | | | | | | | | | | | | | | | | | 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 llvm-svn: 149987
* Hex literals without a significand no longer crash the lexer. Fixes bug 7910Aaron Ballman2012-02-073-0/+9
| | | | | | Patch by Eitan Adler llvm-svn: 149984
* Print NamedDecls directly to a raw_ostream where possible.Benjamin Kramer2012-02-0710-19/+18
| | | | llvm-svn: 149982
* Switch the ObjC*Decl raw_stream overloads to take a reference, for ↵Benjamin Kramer2012-02-076-13/+11
| | | | | | consistency with NamedDecls. llvm-svn: 149981
* Introduce basic ASTs for lambda expressions. This covers:Douglas Gregor2012-02-0724-59/+780
| | | | | | | | | | | | | | | | | | | | | | | | - 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 llvm-svn: 149977
* Use SmallVector instead of std::vector.Bill Wendling2012-02-071-4/+4
| | | | llvm-svn: 149976
* Use 'ArrayRef<>' instead of 'std::vector<>&' for passed-in arguments.Bill Wendling2012-02-071-39/+38
| | | | llvm-svn: 149975
* Calculate the .size() of the vector once.Bill Wendling2012-02-071-5/+5
| | | | llvm-svn: 149974
* Reserve a moderate amount of space for the back-end arguments.Bill Wendling2012-02-071-0/+1
| | | | llvm-svn: 149973
* Fix a bug in semantic analysis involving anonymous structs and flexible arrays.Eli Friedman2012-02-072-2/+20
| | | | llvm-svn: 149966
* Fix a couple of nasty bugs involving negative enum constants. ↵Eli Friedman2012-02-074-26/+30
| | | | | | <rdar://problem/10760113>. llvm-svn: 149965
* Update test case.Ted Kremenek2012-02-071-3/+16
| | | | llvm-svn: 149964
* Make FunctionDecl::doesDeclarationForceExternallyVisibleDefinition use the ↵Eli Friedman2012-02-072-29/+96
| | | | | | same logic as FunctionDecl::isInlineDefinitionExternallyVisible to figure out whether to emit a definition. Based on work by Anton Yartsev. llvm-svn: 149963
* Create PathDiagnosticCallEnter and PathDiagnosticCallExit, to remark calls ↵Ted Kremenek2012-02-075-11/+41
| | | | | | | | in PathDiagnostics from other events. This will have potential uses later. llvm-svn: 149960
* Tweak BugReporter extensive diagnostics to not add edges between function calls.Ted Kremenek2012-02-071-1/+28
| | | | llvm-svn: 149959
* Quote name of function in path diagnostics.Ted Kremenek2012-02-071-1/+1
| | | | llvm-svn: 149958
* Remove the unused TypoCorrectionConsumer::MaxEditDistance.Kaelyn Uhrain2012-02-071-37/+13
| | | | | | | | | | | | 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. llvm-svn: 149953
* Filter a few more options not recognized by gcc. <rdar://problem/10814020>Bob Wilson2012-02-071-3/+17
| | | | | | | These are new options that gcc doesn't recognize so the clang driver needs to remove them when it falls back to invoking gcc. llvm-svn: 149951
* Add C11 FLT_TRUE_MIN and friends. <rdar://problem/10812837>.Eli Friedman2012-02-071-0/+11
| | | | llvm-svn: 149949
* [analyzer] Allow each CString check to be enabled/disabledAnna Zaks2012-02-075-20/+106
| | | | | | separately. llvm-svn: 149947
* Bump up the initial vector size to avoid having to grow the vector more often.Bill Wendling2012-02-071-1/+1
| | | | llvm-svn: 149945
* simplify a bunch of code to use the well-known LLVM IR types computed by ↵Chris Lattner2012-02-0723-217/+133
| | | | | | CodeGenModule. llvm-svn: 149943
* tidy up code, make the common case (1-byte strings) come firstChris Lattner2012-02-071-19/+13
| | | | llvm-svn: 149942
* Add basic BugReporter support for CallEnter/CallExit. WIP.Ted Kremenek2012-02-075-0/+363
| | | | llvm-svn: 149939
* Misc improvements to the diagnostic when a variable is odr-used in a context ↵Eli Friedman2012-02-076-16/+60
| | | | | | | | that is not allowed to capture variables. Fixes PR11883. llvm-svn: 149937
* Use a more efficient container for these values. Also reserve space when using aBill Wendling2012-02-071-3/+6
| | | | | | std::vector. llvm-svn: 149936
* Use a SmallVector instead of std::vector. This improves compilation time inBill Wendling2012-02-071-5/+5
| | | | | | 445.gobmk by ~1.7%. llvm-svn: 149935
* Don't recalculate the size of the array each time through the for-loop.Bill Wendling2012-02-061-2/+2
| | | | llvm-svn: 149933
* Minor comment clarification.Eli Friedman2012-02-061-1/+1
| | | | llvm-svn: 149931
* Fix a minor regression from my potentially-evaluated expression changes.Eli Friedman2012-02-062-0/+13
| | | | llvm-svn: 149930
* Relax valid location check. This fixes a clang crash while emitting debug ↵Devang Patel2012-02-062-2/+21
| | | | | | info for properties that are synthesized by the compiler by default. llvm-svn: 149929
* build wide strings with ConstantDataArray, just because we can.Chris Lattner2012-02-061-12/+18
| | | | llvm-svn: 149928
* improve the code that handles IR generation of byte-sized string literals to ↵Chris Lattner2012-02-061-35/+19
| | | | | | | | avoid allocating an std::string. llvm-svn: 149924
* Added source location for the template keyword in ↵Abramo Bagnara2012-02-069-43/+39
| | | | | | | | | | 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). llvm-svn: 149923
* use cheaper llvm APIs for various bits of IR generation.Chris Lattner2012-02-063-39/+23
| | | | llvm-svn: 149916
* simplify code and smallvectorize.Chris Lattner2012-02-061-6/+7
| | | | llvm-svn: 149915
* Canonicalize the base class used in the nested-name-specifier of a generatedManuel Klimek2012-02-061-1/+2
| | | | | | assignment operator. llvm-svn: 149909
* Fix the result of VarDecl::checkInitIsICE so it is consistently accurate in ↵Eli Friedman2012-02-062-1/+4
| | | | | | C++11 mode. PR11928. llvm-svn: 149908
* Tweak format string checking to work with %@ and ObjC toll-free bridging. ↵Ted Kremenek2012-02-062-3/+22
| | | | | | <rdar://problem/10814120> llvm-svn: 149907
* Added MSVC visualizers for PointerIntPair and PointerUnions.Aaron Ballman2012-02-061-1/+91
| | | | | | Patch by Nikola Smiljanic llvm-svn: 149896
* Rewrite the debug action handling to take -verify into account.Eric Christopher2012-02-062-18/+17
| | | | | | | Add a quiet option for dwarfdump and move it out of NDEBUG only. Still requires an option as we don't want this on by default. llvm-svn: 149894
* Update the command line here and update the comment, we're just goingEric Christopher2012-02-062-3/+4
| | | | | | to leave this as a debug only option for now. llvm-svn: 149890
* Removed redundant location info from ElaboratedTypeLoc / DependentNameLoc / ↵Abramo Bagnara2012-02-069-51/+46
| | | | | | DependentTSTLoc. Uniformed names referencing elaborated keyword. No intended functionality changes. llvm-svn: 149889
OpenPOWER on IntegriCloud