summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* R600/SI: Add pattern for fceil.Michel Danzer2013-02-221-1/+3
| | | | | | | | | 9 more little piglits with radeonsi. NOTE: This is a candidate for the Mesa stable branch. Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175885
* Make ARMAsmPrinter generate the correct alignment specifier syntax in ↵Kristof Beyls2013-02-2228-409/+408
| | | | | | | | | instructions. The Printer will now print instructions with the correct alignment specifier syntax, like vld1.8 {d16}, [r0:64] llvm-svn: 175884
* [msan] MSanDR: initial commit.Evgeniy Stepanov2013-02-224-0/+730
| | | | | | | MSanDR is a DynamoRio-based tool that handles uninstrumented libraries and dynamically generated code for MSan. llvm-svn: 175883
* C++11 status page:Richard Smith2013-02-221-3/+3
| | | | | | | | * Mark attributes as done in SVN. * Downgrade alignment support from 'Clang 3.0' to 'SVN', now that we actually implement the rules. * Upgrade 'Dynamic initialization with concurrency' from 'No' to 'Clang 2.9' -- all that is required here is the ABI-mandated locking for the initialization of static locals. llvm-svn: 175882
* Use attributes references on call/invoke instructions.Bill Wendling2013-02-224-24/+31
| | | | llvm-svn: 175881
* Don't crash if we try to apply 'alignas' to a variable declared with anRichard Smith2013-02-222-1/+4
| | | | | | incomplete type. llvm-svn: 175880
* Don't accidentally and silently accept C++11 attributes in decl-specifier-seqsRichard Smith2013-02-223-1/+6
| | | | | | in C++98. llvm-svn: 175879
* Update to use references to attribute groups instead of listing the ↵Bill Wendling2013-02-2238-243/+308
| | | | | | attributes on the call/invoke instructions. llvm-svn: 175878
* Use references to attribute groups on the call/invoke instructions.Bill Wendling2013-02-2240-158/+248
| | | | | | | Listing all of the attributes for the callee of a call/invoke instruction is way too much and makes the IR unreadable. Use references to attributes instead. llvm-svn: 175877
* Per the grammar in [dcl.dcl]p1, a simple-declaration can only have attributesRichard Smith2013-02-223-8/+15
| | | | | | if it has declarators. We were missing the check for this in a couple of places. llvm-svn: 175876
* Handle alignas(foo...) pack expansions.Richard Smith2013-02-229-75/+154
| | | | llvm-svn: 175875
* Support: clang-formatTobias Grosser2013-02-222-144/+128
| | | | llvm-svn: 175874
* Remove unintended comment.Jason Molenda2013-02-221-2/+0
| | | | llvm-svn: 175873
* CodeGen: clang-formatTobias Grosser2013-02-225-87/+84
| | | | llvm-svn: 175872
* [asan] move the .preinit_array hack into a separate file (added used attribute)Kostya Serebryany2013-02-224-15/+30
| | | | llvm-svn: 175871
* Change debugserver from using the mach port number (in debugserver'sJason Molenda2013-02-2214-107/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | own port namepsace) as the thread identifier to using the system-wide globally unique thread id as the thread identifier number. MachThread.cpp keeps both the unique id and the mach port number for each thread. All layers outside MachThread class use the unique id with three exceptions: (1) Mach exceptions come in with the port number (thread_port) which needs to be translated, (2) any calls to low-level thread_get_state/thread_set_state/thread_suspend etc need to use the mach port number, (3) MachThreadList::UpdateThreadList which creates the MachThread objects gets the unique id and passes it to the MachThread ctor as an argument. In general, any time nub_thread_t is used, it is now referring to a unique thread id. Any time a thread_t is used, it is now referring to a mach port number. There was some interchangability of these types previously. nub_thread_t has also been changed to a 64-bit type which necessitated some printf specification string changes. I haven't been able to test these changes extensively yet but want to checkpoint the work. The scenarios I've been testing are all working correctly so while there may be some corner cases I haven't hit yet, I think it is substantially correct. <rdar://problem/12931414> llvm-svn: 175870
* In LookupResult::resolveKind(), when handling multiple found declarations, ↵Argyrios Kyrtzidis2013-02-223-5/+14
| | | | | | | | | ignore invalid declarations. This reduces the "ambiguous reference" errors (which are rather strange in C/ObjC) and fixes an assertion hit with an invalid code test case. llvm-svn: 175869
* When a parameter list in a C function has an error, recover by forming a K&R ↵Argyrios Kyrtzidis2013-02-223-1/+7
| | | | | | | | function, instead of a non-function type. llvm-svn: 175868
* Don't crash when applying an alloc_size attribute on a K&R function.Argyrios Kyrtzidis2013-02-222-1/+6
| | | | llvm-svn: 175867
* Don't skip '_Alignas' when disambiguating 'final'. '_Alignas' can't appear here,Richard Smith2013-02-222-10/+6
| | | | | | and we used to assert if it did. llvm-svn: 175866
* Fix a nomenclature mistake. Slt->Slti in the functions. The "i" refersReed Kotler2013-02-222-8/+8
| | | | | | to the immediate operand of sli or cmp function. llvm-svn: 175865
* Teach -ast-print how to print trailing-return-types.Richard Smith2013-02-222-4/+7
| | | | llvm-svn: 175864
* [analyzer] Implement "Loop executed 0 times" diagnostic correctly.Ted Kremenek2013-02-222-53/+1614
| | | | | | Fixes <rdar://problem/13236549> llvm-svn: 175863
* Expand mips16 SelT form pseudso/macros.Reed Kotler2013-02-2210-4/+166
| | | | llvm-svn: 175862
* Implement C++11 [dcl.align]p6-p8, and C11 6.7.5/7. This had to be split out ofRichard Smith2013-02-228-32/+292
| | | | | | | | the normal attribute-merging path, because we can't merge alignment attributes without knowing the complete set of alignment attributes which apply to a particular declaration. llvm-svn: 175861
* [libclang] Fix a crash with invalid code, while skip function bodies is enabled.Argyrios Kyrtzidis2013-02-223-3/+7
| | | | llvm-svn: 175860
* Decl.cpp/mergeTemplateLV(): Tweak a description. [-Wdocumentation]NAKAMURA Takumi2013-02-221-1/+1
| | | | llvm-svn: 175859
* Only suppress instance context if a member is actuallyJohn McCall2013-02-222-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | accessible in its declaring class; otherwise we might fail to apply [class.protected] when considering accessibility in derived classes. Noticed by inspection; <rdar://13270329>. I had an existing test wrong. Here's why it's wrong: Follow the rules (and notation) of [class.access]p5. The naming class (N) is B and the context (R) is D::getX. - 'x' as a member of B is protected, but R does not occur in a member or friend of a class derived from B. - There does exist a base class of B, A, which is accessible from R, and 'x' is accessible at R when named in A because 'x' as a member of A is protected and R occurs in a member of a class, D, that is derived from A; however, by [class.protected], the class of the object expression must be equal to or derived from that class, and A does not derive from D. llvm-svn: 175858
* [analyzer] Place all inlining policy checks into one palceAnna Zaks2013-02-223-176/+184
| | | | | | | | | | | | | Previously, we had the decisions about inlining spread out over multiple functions. In addition to the refactor, this commit ensures that we will always inline BodyFarm functions as long as the Decl is available. This fixes false positives due to those functions not being inlined when no or minimal inlining is enabled such (as shallow mode). llvm-svn: 175857
* Using __package__ and __name__ seems redundant - __name__ should always ↵Enrico Granata2013-02-221-11/+4
| | | | | | contain the fully qualified module name llvm-svn: 175856
* Add -fbracket-depth=N, analogous to -ftemplate-depth= and -fconstexpr-depth=,Richard Smith2013-02-2210-5/+37
| | | | | | | | | | | to control the check for the C 5.2.4.1 / C++ [implimits] restriction on nesting levels for parentheses, brackets and braces. Some code with heavy macro use exceeds the default limit of 256, but we don't want to increase it generally to avoid stack overflow on stack-constrained systems. llvm-svn: 175855
* [analyzer] Make sure a materialized temporary matches its bindings.Jordan Rose2013-02-225-52/+64
| | | | | | | | | | | | | | | | | This is a follow-up to r175830, which made sure a temporary object region created for, say, a struct rvalue matched up with the initial bindings being stored into it. This does the same for the case in which the AST actually tells us that we need to create a temporary via a MaterializeObjectExpr. I've unified the two code paths and moved a static helper function onto ExprEngine. This also caused a bit of test churn, causing us to go back to describing temporary regions without a 'const' qualifier. This seems acceptable; it's our behavior from a few months ago. <rdar://problem/13265460> (part 2) llvm-svn: 175854
* Fix isa<> check which could never be true.Pete Cooper2013-02-222-1/+33
| | | | | | | | | | | | It was incorrectly checking a Function* being an IntrinsicInst* which isn't possible. It should always have been checking the CallInst* instead. Added test case for x86 which ensures we only get one constant load. It was 2 before this change. rdar://problem/13267920 llvm-svn: 175853
* Fix regression in modeling assignments of an address of a variable to ↵Ted Kremenek2013-02-222-3/+7
| | | | | | itself. Fixes <rdar://problem/13226577>. llvm-svn: 175852
* Make sure we only use the output file as a base for debug splittingEric Christopher2013-02-222-1/+7
| | | | | | if we're compiling. llvm-svn: 175851
* objective-C arc: Diagnostic can not say to use bridgeFariborz Jahanian2013-02-223-8/+38
| | | | | | | casts with c++ named casts. Change notes to say use bridge with c-style cast instead. // rdar://12788838 llvm-svn: 175850
* Remove code copied from GenRegisterInfo.inc.Andrew Trick2013-02-222-57/+0
| | | | | | | | There's no apparent reason this code was copied from generated source into a .cpp. It sets a bad example for those working on other targets and trying to understand the register info API. llvm-svn: 175849
* [analyzer] Fix buildbot by not reusing a variable name.Jordan Rose2013-02-221-4/+4
| | | | llvm-svn: 175848
* Code cleanup: pass Offset by pointer to parseInstruction to more explicitlyEli Bendersky2013-02-221-29/+33
| | | | | | | convey that it's a INOUT argument. Also, if parsing of entry instructions fails, don't push the entry. llvm-svn: 175847
* Remove warning about default covering no cases.Bill Wendling2013-02-221-3/+2
| | | | llvm-svn: 175846
* Fixing the watchpoint test case to reflect changes in error reportingEnrico Granata2013-02-221-5/+1
| | | | llvm-svn: 175845
* Make the lldbtest tear down routine a little less error proneDaniel Malea2013-02-221-6/+8
| | | | | | | - replace "catch-all" except clause with one that specifically catches what pexpect throws - handle case where child is already terminated (or is terminating) by the time tear-down is run llvm-svn: 175844
* Add a bitmask for NoBuiltin. This should *not* be used.Bill Wendling2013-02-221-1/+2
| | | | llvm-svn: 175843
* Ignore the check for com.apple.main-thread - it is not critical for the test ↵Enrico Granata2013-02-221-2/+1
| | | | | | case's logic llvm-svn: 175842
* The summary for const char* was not cascading.Enrico Granata2013-02-221-1/+1
| | | | | | This was preventing us from providing a summary for the result of std::string.c_str() with libc++ llvm-svn: 175841
* Preproceessor: fix #if skipping under -traditional-cpp.Jordan Rose2013-02-222-1/+17
| | | | | | | | | | | | When parsing directives within skipped #if blocks, we don't want to retain any whitespace. Previously we were just skipping comments, but it's not possible to skip comments and retain other whitespace. This change matches the usual behavior for parsing directives (i.e. the behavior outside of skipped #if blocks). <rdar://problem/13267695> llvm-svn: 175840
* Make logic smaller.Eric Christopher2013-02-221-7/+4
| | | | llvm-svn: 175839
* Added a footnote to the documentation for objc_storeStrong that makes it clearMichael Gottesman2013-02-221-1/+6
| | | | | | | that a __strong object of block type is a valid argument to objc_storeStrong but that an objc_retain and not an objc_retainBlock will be emitted. llvm-svn: 175838
* Removing has_getDecl (added in r175532). It cause a build break for MSVC, ↵Aaron Ballman2013-02-221-15/+2
| | | | | | and was not yet being used in the codebase. If we start using std::enable_if, we can look into resurrecting the idea in a more portable fashion. llvm-svn: 175837
* Apply the 'nobuiltin' attribute to call sites when the user specifies ↵Bill Wendling2013-02-223-5/+11
| | | | | | `-fno-builtin' on the command line. llvm-svn: 175836
OpenPOWER on IntegriCloud