summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* The IRInterpreter's constant evaluator wasn'tSean Callanan2012-02-081-12/+50
| | | | | | | | | | sufficiently general - it could only handle literals and operations that didn't change the data. Now the constant evaluator passes APInt values around, and can handle GetElementPtr constants. llvm-svn: 150034
* [libclang] For CXXOperatorCallExprs, give a valid source location to the ↵Argyrios Kyrtzidis2012-02-086-12/+48
| | | | | | | | | | DeclRefExpr that is referencing the member function, so we can index the referenced function. Fixes rdar://10762375&10324915 & http://llvm.org/PR11192 llvm-svn: 150033
* Refine the 'watchpoint set' command to now require either the '-v' option ↵Johnny Chen2012-02-0810-55/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (for watching of a variable) or the '-e' option (for watching of an address) to be present. Update some existing test cases with the required option and add some more test cases. Since the '-v' option takes <variable-name> and the '-e' option takes <expr> as the command arg, the existing infrastructure for generating the option usage can produce confusing help message, like: watchpoint set -e [-w <watch-type>] [-x <byte-size>] <variable-name | expr> watchpoint set -v [-w <watch-type>] [-x <byte-size>] <variable-name | expr> The solution adopted is to provide an extra member field to the struct CommandArgumentData called (uint32_t)arg_opt_set_association, whose purpose is to link this particular argument data with some option set(s). Also modify the signature of CommandObject::GetFormattedCommandArguments() to: GetFormattedCommandArguments (Stream &str, uint32_t opt_set_mask = LLDB_OPT_SET_ALL) it now takes an additional opt_set_mask which can be used to generate a filtered formatted command args for help message. Options::GenerateOptionUsage() impl is modified to call the GetFormattedCommandArguments() appropriately. So that the help message now looks like: watchpoint set -e [-w <watch-type>] [-x <byte-size>] <expr> watchpoint set -v [-w <watch-type>] [-x <byte-size>] <variable-name> rdar://problem/10703256 llvm-svn: 150032
* Don't use static CTORs for the Attributes constants, while still keeping the ↵Kostya Serebryany2012-02-081-48/+78
| | | | | | class type-safe llvm-svn: 150031
* modern objc rewriter: mode metadata stuff. wip.Fariborz Jahanian2012-02-081-127/+40
| | | | llvm-svn: 150030
* Only complain about __strong __strong id, not __strong SomeStrongTypedefJohn McCall2012-02-084-17/+71
| | | | | | or __strong __typeof__(some.strong.thing). llvm-svn: 150029
* Revise the SplitQualType interface to make it its own thing instead ofJohn McCall2012-02-0810-61/+109
| | | | | | | | | | | | | | a typedef of std::pair. This slightly improves type-safety, but mostly makes code using it clearer to read as well as making it possible to add methods to the type. Add such a method for efficiently single-step desugaring a split type. Add a method to single-step desugaring a locally-unqualified type. Implement both the SplitQualType and QualType methods in terms of that. Also, fix a typo ("ObjCGLifetime"). llvm-svn: 150028
* [asan] better warning messages for double-free bugs (provide ↵Kostya Serebryany2012-02-082-2/+6
| | | | | | allocation/deallocation stack traces) llvm-svn: 150027
* Whitespace.Eric Christopher2012-02-081-3/+3
| | | | llvm-svn: 150026
* Use the new forward declaration scheme for records. Also add moreEric Christopher2012-02-083-20/+47
| | | | | | | | caching of results after we create them. Fixes rdar://10809898 llvm-svn: 150025
* Add support for a temporary forward decl type. We want this so weEric Christopher2012-02-082-0/+26
| | | | | | | | can rauw forward declarations if we decide to emit the full type. Part of rdar://10809898 llvm-svn: 150024
* Remove tabs.Devang Patel2012-02-084-22/+22
| | | | llvm-svn: 150022
* Remove tabs.Devang Patel2012-02-081-18/+18
| | | | llvm-svn: 150021
* If a struct needs to be laid out, and it has notSean Callanan2012-02-081-0/+4
| | | | | | | | been completed yet, then complete it if possible. This fixes some assertion failures encountered by LLDB. llvm-svn: 150020
* [fast-isel] Add support for indirect branches.Chad Rosier2012-02-072-0/+30
| | | | llvm-svn: 150014
* Remove tabs.Devang Patel2012-02-071-17/+17
| | | | llvm-svn: 150012
* modern objc abi rewriter: mode protocol metadataFariborz Jahanian2012-02-071-10/+59
| | | | | | for modern objc abi. llvm-svn: 150011
* Fix indentation and an 80-column violation.Chad Rosier2012-02-071-5/+7
| | | | llvm-svn: 150010
* non-literal strftime format string is not unsafe.Jean-Daniel Dupas2012-02-072-1/+7
| | | | llvm-svn: 150009
* Use LEA to adjust stack ptr for Atom. Patch by Andy Zhang.Evan Cheng2012-02-074-21/+52
| | | | llvm-svn: 150008
* [libclang] Do not index implicit C++ member functions. rdar://10769813Argyrios Kyrtzidis2012-02-073-2/+5
| | | | llvm-svn: 150007
* Revert my patches which removed Diagnostic.h includes by moving some ↵Benjamin Kramer2012-02-0746-224/+159
| | | | | | | | | | | | | | | | | | 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. llvm-svn: 150006
* Added a .gitignore so that "git status" isn'tSean Callanan2012-02-071-0/+7
| | | | | | quite as busy. llvm-svn: 150005
* Made SymbolFileDWARF be less strict when lookingSean Callanan2012-02-071-19/+17
| | | | | | | | for types that can be uniqued to the given type. This is especially helpful when types are missing file and line information. llvm-svn: 150004
* Allow bugpoint to recognize -bb-vectorizeHal Finkel2012-02-071-0/+1
| | | | llvm-svn: 150003
* 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
* Correct use of const in ParseCommandLineOptionsDavid Blaikie2012-02-072-6/+6
| | | | llvm-svn: 149999
* Implements support of format_arg attribute on C++ member.Jean-Daniel Dupas2012-02-072-20/+37
| | | | llvm-svn: 149998
* ocaml bindings: landing pad is now the last opcode.Benjamin Kramer2012-02-071-1/+1
| | | | llvm-svn: 149997
* 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
* [asan] GET_CALLER_PC macro for Win. Patch by timurrrr@google.comKostya Serebryany2012-02-071-5/+9
| | | | llvm-svn: 149994
* [asan] print 'ALL TESTS PASSED' in makefile when running tests (convenience)Kostya Serebryany2012-02-071-0/+1
| | | | llvm-svn: 149990
* 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
* Add a unittest for rotating a really big APInt.Benjamin Kramer2012-02-071-0/+4
| | | | | | Clang miscompiles it under certain circumstances, and it's a good exercise for APInt. llvm-svn: 149986
* 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
* Bitcode/BitstreamReader.h: Tweak for big endian hosts.NAKAMURA Takumi2012-02-071-4/+6
| | | | llvm-svn: 149980
* 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
* Rephrase to add clarity.Bill Wendling2012-02-071-3/+3
| | | | llvm-svn: 149972
* test commitAnat Shemer2012-02-071-0/+1
| | | | llvm-svn: 149971
* Do not fold ADD / SUB into load / store (to form pre-indexed, post-indexedEvan Cheng2012-02-071-24/+58
| | | | | | | | load / store) if the ADD / SUB has a live definition of CPSR. Bug reported by David Meyer. Alas, no test case. llvm-svn: 149970
OpenPOWER on IntegriCloud