summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Implement C++11 [temp.arg.nontype]'s permission to use the address of an objectRichard Smith2012-04-045-52/+128
| | | | | | or function with internal linkage as a non-type template argument. llvm-svn: 154053
* Fix an oversight: don't run ARC optimization cleanup at -O0.Dan Gohman2012-04-041-1/+2
| | | | llvm-svn: 154052
* REG_SEQUENCE expansion to COPY instructions wasn't taking account of sub ↵Pete Cooper2012-04-041-1/+2
| | | | | | register indices on the source registers. No simple test case llvm-svn: 154051
* Whitespace.Chad Rosier2012-04-041-2/+2
| | | | llvm-svn: 154050
* [driver] Add a static helper function for handling -mfpu= to remove some codeChad Rosier2012-04-041-76/+45
| | | | | | duplication. No functional change intended. llvm-svn: 154049
* <rdar://problem/11184458>Greg Clayton2012-04-042-5/+20
| | | | | | | | | | | Found an issue where we might still have shared pointer references to lldb_private::Thread objects where the object itself is not valid and has been removed from the Process. When a thread is removed from a process, it will call Thread::DestroyThread() which well set a boolean member variable which is exposed now via: bool Thread::IsValid() const; We then check the thread validity before handing out a shared pointer. llvm-svn: 154048
* Reduce variable scope.David Blaikie2012-04-041-2/+1
| | | | llvm-svn: 154047
* [driver] Create a new -mfpmath= option, which is used to control whether clangChad Rosier2012-04-044-1/+53
| | | | | | | | | | | uses Neon instructions for single-precision FP. -mfpmath=neon is analogous to passing llc -mattr=+neonfp. -mfpmath=[vfp|vfp2|vfp3|vfp4] is analogous to passing llc -mattr=-neonfp. rdar://11108618 llvm-svn: 154046
* Change SBAddress back to using a std::auto_ptr to a lldb_private::Address as ↵Greg Clayton2012-04-043-108/+45
| | | | | | the lldb_private::Address has a weak pointer to the section which has a weak pointer back to the module, so it is safe to have just a lldb_private::Address object now. llvm-svn: 154045
* Fix a C++11 UDL conflict.Benjamin Kramer2012-04-041-1/+1
| | | | | | Still not fixed in the standard ;) llvm-svn: 154044
* Use LLDB as the default debugger for launcherXPCService.Greg Clayton2012-04-041-1/+2
| | | | llvm-svn: 154043
* objc-arc: provide a warning when 'receiver' of a message is 'weak'Fariborz Jahanian2012-04-043-0/+27
| | | | | | | in arc mode and opted-in with -Wreceiver-is-weak flag. // rdar://10225276 llvm-svn: 154042
* Fixed the C++11 #defines that wrap std::weak_ptr to actually use std::weak_ptr.Greg Clayton2012-04-042-2/+2
| | | | llvm-svn: 154041
* Look through chains of 'x = y = z' when employing silencing heuristics in ↵Ted Kremenek2012-04-042-8/+52
| | | | | | | | the DeadStoresChecker. Fixes <rdar://problem/11185138>. llvm-svn: 154040
* f16 FREM can now be legalized by promoting to f32Pete Cooper2012-04-041-0/+1
| | | | llvm-svn: 154039
* Fix LowerGlobalAddress to produce instructions with the correct relocationAkira Hatanaka2012-04-044-18/+64
| | | | | | types for N32 ABI. Add new test case and update existing ones. llvm-svn: 154038
* modern objc translator. Add moreFariborz Jahanian2012-04-042-5/+10
| | | | | | | rewriter specific option to cc1 with -rewrite-objc. // rdar://11143173 llvm-svn: 154037
* Fix LowerJumpTable to produce instructions with the correct relocationAkira Hatanaka2012-04-041-2/+2
| | | | | | | types for N32 ABI. Test case will be updated after the patch that fixes TargetLowering::getPICJumpTableRelocBase is checked in. llvm-svn: 154036
* Remove unused argument.Fariborz Jahanian2012-04-041-2/+2
| | | | llvm-svn: 154035
* Fix LowerConstantPool to produce instructions with the correct relocationAkira Hatanaka2012-04-042-7/+20
| | | | | | types for N32 ABI and update test case. llvm-svn: 154034
* Implement ARMBaseInstrInfo::commuteInstruction() for MOVCCr.Jakob Stoklund Olesen2012-04-048-7/+95
| | | | | | | | | | A MOVCCr instruction can be commuted by inverting the condition. This can help reduce register pressure and remove unnecessary copies in some cases. <rdar://problem/11182914> llvm-svn: 154033
OpenPOWER on IntegriCloud