summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [Lex] Add support for 'user specified system frameworks' (see test case).Daniel Dunbar2012-04-058-9/+89
| | | | | | - Developers of system frameworks need a way for their framework to be treated as a "system framework" during development. Otherwise, they are unable to properly test how their framework behaves when installed because of the semantic changes (in warning behavior) applied to system frameworks. llvm-svn: 154105
* [Lex] HeaderSearch: Introduce a FrameworkCacheEntry structure to hold the ↵Daniel Dunbar2012-04-052-16/+19
| | | | | | | | FrameworkMap items. - No functionality change. llvm-svn: 154104
* Simplify.Daniel Dunbar2012-04-051-2/+1
| | | | llvm-svn: 154103
* Improve & simplify diagnostic for missing 'class' in template template ↵David Blaikie2012-04-054-12/+10
| | | | | | | | parameter. Change suggested by Sebastian Redl on review feedback from r153887. llvm-svn: 154102
* Added support for unpredictable ADC/SBC instructions on ARM, and also fixed ↵Silviu Baranga2012-04-052-4/+21
| | | | | | some corner cases involving the PC register as an operand for these instructions. llvm-svn: 154101
* Added support for handling unpredictable arithmetic instructions on ARM.Silviu Baranga2012-04-053-12/+9
| | | | llvm-svn: 154100
* Added a new Host class: ReadWriteLockGreg Clayton2012-04-0514-646/+1085
| | | | | | | | | | | | This abstracts read/write locks on the current host system. It is currently backed by pthread_rwlock_t objects so it should work on all unix systems. We also need a way to control multi-threaded access to the process through the public API when it is running. For example it isn't a good idea to try and get stack frames while the process is running. To implement this, the lldb_private::Process class now contains a ReadWriteLock member variable named m_run_lock which is used to control the public process state. The public process state represents the state of the process as the client knows it. The private is used to control the actual current process state. So the public state of the process can be stopped, yet the private state can be running when evaluating an expression for example. Adding the read/write lock where readers are clients that want the process to stay stopped, and writers are clients that run the process, allows us to accurately control multi-threaded access to the process. Switched the SBThread and SBFrame over to us shared pointers to the ExecutionContextRef class instead of making their own class to track this. This fixed an issue with assigning on SBFrame to another and will also centralize the code that tracks weak references to execution context objects into one location. llvm-svn: 154099
* BBVectorize: Add the const modifier to the VectorizeConfig because we won'tHongbin Zheng2012-04-051-1/+1
| | | | | | modify it. llvm-svn: 154098
* [asan] make __asan::Deallocate immune to racy double-free (issue #57)Kostya Serebryany2012-04-054-4/+17
| | | | llvm-svn: 154097
* Introduce the VectorizeConfig class, with which we can control the behaviorHongbin Zheng2012-04-052-34/+126
| | | | | | | | | of the BBVectorizePass without using command line option. As pointed out by Hal, we can ask the TargetLoweringInfo for the architecture specific VectorizeConfig to perform vectorizing with architecture specific information. llvm-svn: 154096
* Fix the remaining atomic tests, all of which were wrong for the case where aDavid Chisnall2012-04-057-16/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | compare-and-exchange failed (it should update the expected value to the current value, and the tests were checking that it didn't...). Results of the atomics part of the test suite on FreeBSD with clang trunk and the atomic.c from compiler-rt (currently kludged into the test, not installed properly): **************************************************** Results for /root/libc++/test/atomics: using clang version 3.1 (trunk 153415) Target: x86_64-unknown-freebsd10.0 Thread model: posix with -std=c++0x -stdlib=libc++ -pthread /tmp/atomic.o ---------------------------------------------------- sections without tests : 0 sections with failures : 0 sections without failures: 14 + ---- total number of sections : 14 ---------------------------------------------------- number of tests failed : 0 number of tests passed : 52 + ---- total number of tests : 52 **************************************************** Yay! llvm-svn: 154095
* Fix test cases that were trying to make atomic things that are not trivially ↵David Chisnall2012-04-0511-44/+0
| | | | | | | | copyable. Now all of the test cases compile. Some of them even run! llvm-svn: 154094
* Fix use of __atomic_is_lock_free() intrinsic.David Chisnall2012-04-051-2/+2
| | | | llvm-svn: 154093
* Introduce the use_sigaltstack flag (off by default), which enables using ↵Alexander Potapenko2012-04-055-1/+53
| | | | | | | | | alternate per-thread stacks for signal handling. This allows to print more verbose error reports for stack overflows. llvm-svn: 154092
* Allow calling GetCurrentTidOrMinusOne() before AsanThreadRegistry was ↵Alexander Potapenko2012-04-052-0/+4
| | | | | | initialized. llvm-svn: 154091
* An oversight when applying the patches for r150956 and r150957 to a vanilla ↵James Molloy2012-04-052-0/+76
| | | | | | | | tree meant I forgot to svn add these testcases. Noticed while investigating PR12274! llvm-svn: 154090
* Add the function "vectorizeBasicBlock" which allow users vectorize aHongbin Zheng2012-04-052-6/+32
| | | | | | | BasicBlock in other passes, e.g. we can call vectorizeBasicBlock in the loop unroll pass right after the loop is unrolled. llvm-svn: 154089
* ARM assembly aliases for two-operand V[R]SHR instructions.Jim Grosbach2012-04-052-5/+106
| | | | | | rdar://11189467 llvm-svn: 154087
* The DynamicLoaderPOSIXDYLD calls aren't available on Apple systems.Bill Wendling2012-04-051-2/+4
| | | | llvm-svn: 154086
* Add Security framework to the list of frameworks needed for linking.Bill Wendling2012-04-051-1/+1
| | | | llvm-svn: 154085
* Handle symbolicating a reference in an initializer expression that we don't ↵Ted Kremenek2012-04-052-1/+16
| | | | | | understand. llvm-svn: 154084
* Teach ObjCContainersChecker that the array passed to CFArrayGetValueAtIndex ↵Ted Kremenek2012-04-052-3/+10
| | | | | | might not be a symbolic value. llvm-svn: 154083
* In MemoryBuffer::getOpenFile() make sure that the buffer is null-terminated ifArgyrios Kyrtzidis2012-04-051-0/+11
| | | | | | | | | | | | | the caller requested a null-terminated one. When mapping the file there could be a racing issue that resulted in the file being larger than the FileSize passed by the caller. We already have an assertion for this in MemoryBuffer::init() but have a runtime guarantee that the buffer will be null-terminated, so do a copy that adds a null-terminator. Protects against crash of rdar://11161822. llvm-svn: 154082
* Do not crash in the callgraph construction when encountering deleted ↵Ted Kremenek2012-04-052-1/+7
| | | | | | function definitions. Fixes <rdar://problem/11178609>. llvm-svn: 154081
* ARM assembly parsing for 'msr' plain 'cpsr' operand.Jim Grosbach2012-04-052-1/+4
| | | | | | | | Plain 'cpsr' is an alias for 'cpsr_fc'. rdar://11153753 llvm-svn: 154080
* Pass the right sign to TLI->isLegalICmpImmediate.Jakob Stoklund Olesen2012-04-052-2/+15
| | | | | | | | | | | | | | | | | | LSR can fold three addressing modes into its ICmpZero node: ICmpZero BaseReg + Offset => ICmp BaseReg, -Offset ICmpZero -1*ScaleReg + Offset => ICmp ScaleReg, Offset ICmpZero BaseReg + -1*ScaleReg => ICmp BaseReg, ScaleReg The first two cases are only used if TLI->isLegalICmpImmediate() likes the offset. Make sure the right Offset sign is passed to this method in the second case. The ARM version is not symmetric. <rdar://problem/11184260> llvm-svn: 154079
* [analyzer] Move stats calculation out of AnalysisConsumer destructor.Anna Zaks2012-04-051-7/+8
| | | | | | | The ASTConsumer does not get deleted with clang --analyze (for performance reasons), we still want the diagnostics to work. llvm-svn: 154078
* [analyzer] Change warding in a path diagnostic:Anna Zaks2012-04-051-1/+1
| | | | | | | "No method actually called because receiver is nil" -> "No method is called because receiver is nil" llvm-svn: 154077
* [analyzer] Add a coverage calculation to FunctionSummaries.Anna Zaks2012-04-051-0/+10
| | | | llvm-svn: 154076
* [analyzer] Remove redundant if statement (pointed out by Ted).Anna Zaks2012-04-051-4/+0
| | | | llvm-svn: 154075
* Tolerate decimal points in the LLDB version number.Sean Callanan2012-04-051-1/+1
| | | | | | | | They are truncated when generating the version numbers seen in the headers, so for example lldb-100.1 would have #define LLDB_VERSION=100 llvm-svn: 154074
* Improve diagnostics for invalid use of non-static members / this:Richard Smith2012-04-0513-44/+57
| | | | | | | | | | | | * s/nonstatic/non-static/ in the diagnostics, since the latter form outvoted the former by 28-2 in our diagnostics. * Fix the "use of member in static member function" diagnostic to correctly detect this situation inside a block or lambda. * Produce a more specific "invalid use of non-static member" diagnostic for the case where a nested class member refers to a member of a lexically-surrounding class. llvm-svn: 154073
* Add triples to these tests to keep them working on Windows,Richard Smith2012-04-052-2/+2
| | | | | | where wchar_t is only 16 bits wide. llvm-svn: 154072
* RelNote improvements made to -Wliteral-conversion by r141955.David Blaikie2012-04-051-1/+2
| | | | llvm-svn: 154071
* Do not include multiple -arch options in CPPFLAGS.Bob Wilson2012-04-051-3/+2
| | | | llvm-svn: 154070
* Fix assertions and wrong output from StmtPrinter's string literal printing.Richard Smith2012-04-053-7/+55
| | | | | | | | | | String literals (including unicode ones) can contain non-Unicode codepoints if they were written using \x or similar. Write those out using \x, but be careful that the following character can't be misinterpreted as part of the \x escape sequence. Convert UTF-16 surrogate pairs back to codepoints before rendering them. llvm-svn: 154069
* Enable warn_impcast_literal_float_to_integer by default.David Blaikie2012-04-058-12/+17
| | | | | | | | | | | | | | | | | This diagnostic seems to be production ready, it's just an oversight that it wasn't turned on by default. The test changes are a bit of a mixed bag. Some tests that seemed like they clearly didn't need to use this behavior have been modified not to use it. Others that I couldn't be sure about, I added the necessary expected-warnings to. It's possible the diagnostic message could be improved to make it clearer that this warning can be suppressed by using a value that won't lose precision when converted to the target type (but can still be a floating point literal, such as "bool b = 1.0;"). llvm-svn: 154068
* Fixed a problem where we did not read propertiesSean Callanan2012-04-055-25/+153
| | | | | | | | | | | | | | | | correctly if the setter/getter were not present in the debug information. The fixes are as follows: - We not only look for the method by its full name, but also look for automatically-generated methods when searching for a selector in an Objective-C interface. This is necessary to find accessors. - Extract the getter and setter name from the DW_TAG_APPLE_Property declaration in the DWARF if they are present; generate them if not. llvm-svn: 154067
* clang/test/Tooling/clang-check.cpp: Mark it as XFAIL also on cygwin.NAKAMURA Takumi2012-04-041-1/+2
| | | | | | It seems clang-check doesn't like gcc driver on cygming. Investigating. llvm-svn: 154066
* Allow a conversion from the empty initializer list {} to anDouglas Gregor2012-04-042-0/+19
| | | | | | | std::initializer_list<T> so long as <T> is known. This conversion has identity rank. llvm-svn: 154065
* Honor -fno-pic, -fno-PIC, -fno-pie, -fno-PIE.Nico Weber2012-04-043-1/+12
| | | | | | Review at http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20120402/055759.html llvm-svn: 154064
* Fix -Wnon-virtual-dtor warnings.Michael J. Spencer2012-04-041-0/+20
| | | | llvm-svn: 154063
* Reapply 154038 without the failing test.Akira Hatanaka2012-04-043-18/+18
| | | | llvm-svn: 154062
* [driver] When using the -mfpmath= option, add an error message when trying to Chad Rosier2012-04-043-3/+15
| | | | | | | enable neonfp on a CPU that doesn't support NEON. rdar://11108618 llvm-svn: 154061
* Initial, very rough cut at a new CMake build system for compiler-rt.Chandler Carruth2012-04-043-0/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some high-level notes: 1) An explicit goal is to support building compiler-rt as a subproject build, checked out into the projects/compiler-rt directory. There are many other possible ways of building the code here, but this is optimized for development on LLVM/Clang/compiler-rt, and incremental trial and testing of the toolchain. 2) The current support is targeted at Linux. I would love to see this generalized to other platforms, but for the sake of simplicity in testing, I'm focusing here first. Much of this patch was paired with Manuel, and I credit him with the majority of the work here. Some important caveats that I'll be working on in subsequent patches: 1) This uses the host compiler rather than using the just-built-clang. 2) Currently only x86 is supported. 3) Currently, none of the tests are built or run. 4) Uses CMake's builtin globbing which doesn't update correctly. 5) This is still turned off from LLVM's CMake build until these issues are addressed llvm-svn: 154060
* Remove the old, and non-functional CMake build system from CompilerRT.Chandler Carruth2012-04-0415-403/+0
| | | | | | | | | I cannot build any part of this successfully on either Linux or Darwin, and the replacement is worlds simpler by requiring that this be built as a subproject of LLVM. If this breaks you for any reason, please let me know, and let me know what your use case is. llvm-svn: 154059
* Hardcode a triple to prevent the test failing on targets which don't support ↵Richard Smith2012-04-041-1/+1
| | | | | | __thread. llvm-svn: 154058
* Test commit to check commit access.Simon Atanasyan2012-04-041-1/+0
| | | | llvm-svn: 154056
* Order the initializations so that they reflect how they're declared in the ↵Bill Wendling2012-04-041-1/+1
| | | | | | class. llvm-svn: 154055
* Revert r154038. It was causing make check failures.Owen Anderson2012-04-044-64/+18
| | | | llvm-svn: 154054
OpenPOWER on IntegriCloud