summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ItaniumCXXABI.cpp: Fix a warning. [-Wunused-variable]NAKAMURA Takumi2015-09-151-2/+1
| | | | llvm-svn: 247655
* [modules] A using-declaration doesn't introduce a new entity, just a new nameRichard Smith2015-09-155-3/+112
| | | | | | | for an existing entity, and as such a using-declaration doesn't need to conflict with a hidden entity (nor vice versa). llvm-svn: 247654
* [analyzer] Skip Pre/Post handlers for ObjC calls when receiver is nil.Devin Coughlin2015-09-158-50/+230
| | | | | | | | | | | | | | | | | | | | | | | | | In Objective-C, method calls with nil receivers are essentially no-ops. They do not fault (although the returned value may be garbage depending on the declared return type and architecture). Programmers are aware of this behavior and will complain about a false alarm when the analyzer diagnoses API violations for method calls when the receiver is known to be nil. Rather than require each individual checker to be aware of this behavior and suppress a warning when the receiver is nil, this commit changes ExprEngineObjC so that VisitObjCMessage skips calling checker pre/post handlers when the receiver is definitely nil. Instead, it adds a new event, ObjCMessageNil, that is only called in that case. The CallAndMessageChecker explicitly cares about this case, so I've changed it to add a callback for ObjCMessageNil and moved the logic in PreObjCMessage that handles nil receivers to the new callback. rdar://problem/18092611 Differential Revision: http://reviews.llvm.org/D12123 llvm-svn: 247653
* ELF2: Simplify by removing temporary variables.Rui Ueyama2015-09-151-7/+2
| | | | llvm-svn: 247652
* [MS ABI] Overwide bool bitfields should be permittedDavid Majnemer2015-09-152-6/+9
| | | | | | | | Overwide bool bitfields have eight bits of storage size, make sure we take the padding into account when determining whether or not they are problematic. llvm-svn: 247651
* small test bugfixPiotr Padlewski2015-09-151-2/+2
| | | | llvm-svn: 247650
* [WebAssembly] Implement int64-to-int32 conversion.Dan Gohman2015-09-152-0/+19
| | | | llvm-svn: 247649
* Revert "Fixup XFAIL marking on TestConstVariables for clang version"Chaoren Lin2015-09-151-3/+1
| | | | | | | | | | | | | | | Summary: Linux with ToT clang (3.8) fails. This reverts commit r247633. Reviewers: tfiala Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12868 llvm-svn: 247648
* Fix error on windows:Ryan Brown2015-09-151-0/+2
| | | | | | | c:\buildbot\lldb-windows-x86\lldb-windows-x86\llvm\tools\lldb\source\symbol\goastcontext.cpp(906) : warning C4715: 'lldb_private::GoASTContext::GetBitSize' : not all control paths return a value c:\buildbot\lldb-windows-x86\lldb-windows-x86\llvm\tools\lldb\source\symbol\goastcontext.cpp(1175) : error C4716: 'lldb_private::GoASTContext::ConvertStringToFloatValue' : must return a value llvm-svn: 247647
* Generating assumption loads of vptr after ctor call (fixed)Piotr Padlewski2015-09-1514-151/+641
| | | | | | | | | | | | | | | | | | Generating call assume(icmp %vtable, %global_vtable) after constructor call for devirtualization purposes. For more info go to: http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html Edit: Fixed version because of PR24479 and other bug caused in chrome. After this patch got reverted because of ScalarEvolution bug (D12719) Merged after John McCall big patch (Added Address). http://reviews.llvm.org/D11859 http://reviews.llvm.org/D12865 llvm-svn: 247646
* Fix typo.Rui Ueyama2015-09-151-1/+1
| | | | llvm-svn: 247645
* Fix style.Rui Ueyama2015-09-151-8/+4
| | | | llvm-svn: 247644
* Prevent implicit re-interpret casts between ExtVector and Scalar types.Stephen Canon2015-09-152-0/+27
| | | | | | Previously, in certain cases lax vector conversions could occur between scalar floating-point values and ExtVector types; these conversions would be simple bitcasts. We need to allow them with other vector types to support some common headers, but we don't need them for ExtVector. Preventing them here makes them behave like other operations involving scalars and ExtVectors. llvm-svn: 247643
* Support inline functions symbolization in Addr2Line symbolizer.Alexey Samsonov2015-09-143-26/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch by Maxim Ostapenko! Summary: Right now, Addr2Line symbolizer in asan_symbolize.py doesn't support inline functions symbolization. This might be a useful feature for using ASan on embedded systems. Test results: $ cat test.c static inline void FooBarBaz() { __sanitizer_print_stack_trace(); } int main() { FooBarBaz(); return 0; } $ clang test.c -fsanitize=address -g -O2 -o test.x && ./test.x &> /tmp/test.log $ ./projects/compiler-rt/lib/asan/scripts/asan_symbolize.py -l /tmp/test.log #0 0x42095e in __sanitizer_print_stack_trace _asan_rtl_ #1 0x4cec07 in FooBarBaz /home/max/build/llvm/asan/test.c:4 #2 0x4cec07 in main /home/max/build/llvm/asan/test.c:8 #3 0x7f89f0891ec4 in __libc_start_main /build/buildd/eglibc-2.19/csu/libc-start.c:287 Reviewers: glider, samsonov Subscribers: jevinskie, llvm-commits, ygribov Differential Revision: http://reviews.llvm.org/D12153 llvm-svn: 247642
* Avoid a crash in the test suite where if we have a ObjC "id" type and we ask ↵Greg Clayton2015-09-141-1/+1
| | | | | | it for the PointeeType() we would get a CompilerType with a valid TypeSystem, but invalid opaque type, and ClangASTContext::IsClangType() previously would return true saying that it was a valid clang type and it would crash in removing qualifiers from a clang::QualType that was constructed with an NULL opaque type. llvm-svn: 247641
* clang/test/CodeGenCXX/2009-04-23-bool2.cpp: Avoid -mms-bitfields to add ↵NAKAMURA Takumi2015-09-141-1/+1
| | | | | | | explicit triple. FIXME: Better way to cancel -mms-bitfields? llvm-svn: 247640
* Marked TestEvents test as flakey on Linux.Todd Fiala2015-09-141-1/+1
| | | | | | | It's passing all the time for me (50/50), and was passing what looks like 9/10 times for the originator. llvm-svn: 247639
* Darwin has a debug info format that stores module types in stand alone files ↵Greg Clayton2015-09-141-2/+5
| | | | | | and it uses some of the DWO attributes. Don't assert in SymbolFileDWARFDwo, just return null so everything works. llvm-svn: 247638
* Simplify, NFC.Rafael Espindola2015-09-141-4/+2
| | | | | | Thanks to Rui for the suggestion. llvm-svn: 247637
* dsymutil: Remove the now obsolete RelocMgr argument from cloneDIE. (NFC)Adrian Prantl2015-09-141-8/+6
| | | | llvm-svn: 247636
* [llvm-cov] Disable name and path truncationVedant Kumar2015-09-142-6/+22
| | | | | | | | | | | Change the output of llvm-cov s.t it does not truncate function names and file paths when printing coverage reports. Differential Revision: http://reviews.llvm.org/D12647 rdar://22531141 llvm-svn: 247635
* [Solaris] Default to -fno-cxa-finalize.Rafael Espindola2015-09-142-6/+7
| | | | | | | | | | | There is no __cxa_finalize symbol available on recent Solaris OS versions, so we need this flag to make non trivial C++ programs run. Also stop looking for cxa_finalize.o, since it won't be there. Patch by Xan López! llvm-svn: 247634
* Fixup XFAIL marking on TestConstVariables for clang versionTodd Fiala2015-09-141-1/+3
| | | | | | | | | | Linux/clang on clang 3.6+ is passing this test. As OS X was in a similar position, I'm guessing this was fixed by a recent compiler. Might work on 3.5/3.4, but it is definitely working on clang 3.6. I didn't break out FreeBSD since this appears to be related to a compiler fix. llvm-svn: 247633
* [CMake] Refactor and cleanup generating and installing symlinks to tools.Chris Bieneman2015-09-144-58/+78
| | | | | | | | | | | | Summary: This change generalizes symlink generation and makes symlinks to tools obey LLVM_TOOLCHAIN_TOOLS. It makes it so that if you exclude llvm-ar from LLVM_TOOLCHAIN_TOOLS you don't end up with broken symlinks to llvm-lib and llvm-ranlib in your install. Reviewers: bogner, chapuni, rafael Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12864 llvm-svn: 247632
* Fix the Xcode project to compile Cocoa.cpp instead of Coca.cpp.Greg Clayton2015-09-141-4/+4
| | | | llvm-svn: 247631
* Remove include that isn't needed.Greg Clayton2015-09-141-1/+0
| | | | llvm-svn: 247630
* Add a TypeSystem for GoRyan Brown2015-09-1419-26/+2932
| | | | | | | | Add GoASTContext and DWARFASTParserGo to support go. Differential Revision: http://reviews.llvm.org/D12585 llvm-svn: 247629
* Fix CMake build.Chaoren Lin2015-09-142-0/+2
| | | | | | | - Typo: Coca.cpp -> Cocoa.cpp - Missing include. llvm-svn: 247628
* Move Objective-C data formatters to the Objective-C language plugin where ↵Enrico Granata2015-09-1418-380/+394
| | | | | | they belong llvm-svn: 247627
* DwarfDebug: Emit dwo_id+dwo_name for DICompileUnits that provide a dwoId.Adrian Prantl2015-09-142-0/+23
| | | | | | | For module debugging clang emits prefabricated skeleton compile units that can be recognized by a nonzero dwoId. llvm-svn: 247626
* Add content to the .hash section.Rafael Espindola2015-09-142-51/+98
| | | | | | | | | This also sets DT_HASH. With this simple shared libraries created by lld can be loaded by the dynamic linker. llvm-svn: 247625
* [WebAssembly] Define the atomic type sizesDan Gohman2015-09-142-26/+25
| | | | | | | | | | | | | WebAssembly's spec has now been updated to specify some guarantees about lock free atomic accesses. Update clang to match. This also updates sig_atomic_t to be 64-bit on wasm64. WebAssembly does not presently have asynchronous interrupts, but this change is within the spirit of how they will work if they are added. Differential Revision: http://reviews.llvm.org/D12862 llvm-svn: 247624
* [WebAssembly] Simplify code by avoiding duplicating the default behavior.Dan Gohman2015-09-141-1/+0
| | | | llvm-svn: 247623
* [WebAssembly] Use "long long" for int_fast64_t and int_least64_t on wasm64Dan Gohman2015-09-143-22/+36
| | | | | | | | | This makes int_fast64_t and int_least64_t the same type as int64_t, and eliminates a difference between wasm32 and wasm64. Differential Revision: http://reviews.llvm.org/D12861 llvm-svn: 247622
* [opaque pointer types] Add an explicit value type to GlobalObjectDavid Blaikie2015-09-143-12/+10
| | | | | | | | | This is needed by all GlobalObjects (GlobalAlias, Function, GlobalVariable), see the GlobalObject::getValueType which is used in many places. If at some point that can be removed, then we can remove this member. llvm-svn: 247621
* Revert "Always_inline codegen rewrite" and 2 follow-ups.Evgeniy Stepanov2015-09-1416-365/+28
| | | | | | | | | | Revert "Update cxx-irgen.cpp test to allow signext in alwaysinline functions." Revert "[CodeGen] Remove wrapper-free always_inline functions from COMDATs" Revert "Always_inline codegen rewrite." Reason for revert: PR24793. llvm-svn: 247620
* PR24595: Ignore calling convention modifiers for structors in MS ABI.Andrey Bokhanko2015-09-148-17/+68
| | | | | | | | | | MS compiler ignores calling convention modifiers for structors. This patch makes clang do the same (for MS ABI). This fixes PR24595 and makes vswriter.h header (from Windows SDK 8.1) compilable. Differential Revision: http://reviews.llvm.org/D12402 llvm-svn: 247619
* C11 _Bool bitfield diagnosticRachel Craik2015-09-1412-39/+43
| | | | | | | | | | | | Summary: Implement DR262 (for C). This patch will mainly affect bitfields of type _Bool Reviewers: fraggamuffin, rsmith Subscribers: hubert.reinterpretcast, cfe-commits Differential Revision: http://reviews.llvm.org/D10018 llvm-svn: 247618
* [analyzer] Update SATestBuild.py to set -isysroot for preprocessed filesDevin Coughlin2015-09-141-2/+19
| | | | | | | | | Update the static analyzer buildbot script to set -isysroot to the OS X SDK path when analyzing preprocessed files on OS X. Differential Revision: http://reviews.llvm.org/D12769 llvm-svn: 247617
* RegisterPressure: constify getRegSetPressureAtPos()Matthias Braun2015-09-141-1/+3
| | | | llvm-svn: 247616
* ClangExpressionDeclMap should only disable the Clang parser-specific state onSean Callanan2015-09-141-2/+2
| | | | | | Clang persistent variables. llvm-svn: 247615
* [Static Analyzer] Turn on some nullability checks by default.Gabor Horvath2015-09-141-0/+5
| | | | | | Differential Revision: http://reviews.llvm.org/D12858 llvm-svn: 247614
* Use C++11 member initializers. NFC.Rui Ueyama2015-09-141-5/+4
| | | | llvm-svn: 247613
* [Static Analyzer] Nullability checker optimization.Gabor Horvath2015-09-141-1/+6
| | | | | | Differential Revision: http://reviews.llvm.org/D12848 llvm-svn: 247612
* Driver should forward at most one gdwarf-N flag to cc1as.Douglas Katzman2015-09-142-15/+11
| | | | llvm-svn: 247611
* [opaque pointer types] Switch a few cases of getElementType over, since I ↵David Blaikie2015-09-145-26/+21
| | | | | | had them lying around anyway llvm-svn: 247610
* Start adding the .hash output section.Rafael Espindola2015-09-142-1/+59
| | | | | | It is still empty. Content will be added in the next patch. llvm-svn: 247609
* Final unexpected success cleanup for OS X.Todd Fiala2015-09-141-2/+0
| | | | | | | Top of tree is running with no unexpected successes with this change, on latest available El Capitan and Xcode betas. llvm-svn: 247608
* [CMake] Add options to control building sanitizers and builtins.Chris Bieneman2015-09-142-36/+45
| | | | | | There are situations where a user may want to build only the compiler-rt builtins, or only the sanitizer runtimes. This exposes options to do that. Both default to On, so there should be no implicit change in behavior. llvm-svn: 247607
* [CMake] If COMPILER_RT_INCLUDE_TESTS is off we shouldn't include the root ↵Chris Bieneman2015-09-141-1/+1
| | | | | | test directory. llvm-svn: 247606
OpenPOWER on IntegriCloud