summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* [WinEH] Fix a build issue in CGException.cppReid Kleckner2015-09-161-2/+1
| | | | | | I was constructing an object without filling in all the fields. llvm-svn: 247851
* [WinEH] Pass the catch adjectives to catchpad directlyReid Kleckner2015-09-1611-105/+111
| | | | | | | | | This avoids building a fake LLVM IR global variable just to ferry an i32 down into LLVM codegen. It also puts a nail in the coffin of using MS ABI C++ EH with landingpads, since now we'll assert in the lpad code when flags are present. llvm-svn: 247843
* [tooling] Add unit tests for change in r247468.Argyrios Kyrtzidis2015-09-161-3/+7
| | | | llvm-svn: 247832
* [analyzer] Improved behavior if Clang was not found, part IIAnton Yartsev2015-09-161-34/+50
| | | | | | | - scan-build help: display 'Could not query Clang for the list of available checkers.' + the reason why it happened so if clang was not found. - display requested/forced help in case of --use-analyzer=Xcode. llvm-svn: 247828
* [sanitizers] Enable memory sanitizer on clangAdhemerval Zanella2015-09-161-1/+1
| | | | | | This patch enables MSan for aarch64/linux llvm-svn: 247808
* CGClass.cpp: Fix a warning in -Asserts. [-Wunused-private-field]NAKAMURA Takumi2015-09-161-0/+1
| | | | llvm-svn: 247778
* [analyzer] SATestBuild.py: Move additional checkers logic so SATestAdd.py ↵Devin Coughlin2015-09-161-4/+6
| | | | | | | | | | | | | can use it as well. Move the logic looking for additional checkers in the SA_ADDITIONAL_CHECKERS environmental variable from SATestBuild's main() to runScanBuild(). This allows SATestAdd.py to use the variable as well. Without it, we won't include additional checkers when building reference results for the build bot. Differential Revision: http://reviews.llvm.org/D12891 llvm-svn: 247767
* [modules] Fix a corner case in the macro override rules: properly handle ↵Richard Smith2015-09-162-3/+11
| | | | | | overridden leaf module macros. llvm-svn: 247765
* Implementation and testing for poisoning vtableNaomi Musgrave2015-09-163-20/+111
| | | | | | | | | | | | | | | | | | | | | | ptr in dtor. Summary: After destruction, invocation of virtual functions prevented by poisoning vtable pointer. Reviewers: eugenis, kcc Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D12712 Fixed testing callback emission order to account for vptr. Poison vtable in either complete or base dtor, depending on if virtual bases exist. If virtual bases exist, poison in complete dtor. Otherwise, poison in base. Remove commented-out block. llvm-svn: 247762
* clang/test/CodeGenCXX/exceptions-cxx-new.cpp: Don't assume the label "entry:".NAKAMURA Takumi2015-09-161-1/+0
| | | | | | Seems it would be redundant. llvm-svn: 247761
* Remove accidental superfluous newline added in r247750.Nico Weber2015-09-151-1/+0
| | | | llvm-svn: 247752
* clang-format: In Java, `assert` is followed by an expression.Nico Weber2015-09-153-1/+8
| | | | | | Before: assert a&& b; Now: assert a && b; llvm-svn: 247750
* Try to appease the build botsDavid Majnemer2015-09-151-15/+15
| | | | llvm-svn: 247743
* [MS ABI] Add a C++ test for -fnew-ms-ehDavid Majnemer2015-09-151-0/+89
| | | | llvm-svn: 247742
* Don't crash when passing &@selector to a _Nonnull parameter. Fixes PR24774.Nico Weber2015-09-152-3/+9
| | | | | | | | | The root cause here is that ObjCSelectorExpr is an rvalue, yet it can have its address taken. That's kind of awkward, but fixing this is awkward in other ways, see https://llvm.org/bugs/show_bug.cgi?id=24774#c16 . For now, just fix the crash. llvm-svn: 247740
* [Static Analyzer] Added an XFAIL test for inlining when the type inference ↵Gabor Horvath2015-09-151-0/+58
| | | | | | involves generic types. llvm-svn: 247739
* invariant.group-for-vptrs test fixPiotr Padlewski2015-09-151-1/+1
| | | | llvm-svn: 247733
* [CMake] Add cache scripts for Apple-style clang builds.Chris Bieneman2015-09-153-0/+79
| | | | | | | | | | | | | | | Summary: These CMake cache scripts are my first pass at replicating Apple's packaging logic from autoconf. They can be used on any Darwin machine to approximate an Apple Clang build. The included README file includes documentation and a sample CMake invocation. Reviewers: chandlerc, echristo Subscribers: echristo, cfe-commits Differential Revision: http://reviews.llvm.org/D12817 llvm-svn: 247726
* Decorating vptr load & stores with !invariant.groupPiotr Padlewski2015-09-1510-28/+144
| | | | | | | | | | Adding !invariant.group to vptr load/stores for devirtualization purposes. For more goto: http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html http://reviews.llvm.org/D12026 llvm-svn: 247725
* Added llvm.module flag for strict vtable pointersPiotr Padlewski2015-09-152-0/+25
| | | | | | | | | | | | It is dangerous to do LTO on code with strict-vtable-pointers, because one module has invariant.group.barriers, and the other one not. In the future I want to just strip all invariant.group metadata from vptrs loads/stores and get rid of invariant.group.barrier calls. http://reviews.llvm.org/D12580 llvm-svn: 247724
* Emiting llvm.invariant.group.barrier when dynamic type changesPiotr Padlewski2015-09-157-3/+243
| | | | | | | | | For more goto: http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html http://reviews.llvm.org/D12312 llvm-svn: 247723
* MS ABI: Don't allow dllexport/import on lambdasHans Wennborg2015-09-154-0/+30
| | | | | | | This is to follow up on David's comment in http://reviews.llvm.org/D12422#235509 llvm-svn: 247718
* Add test coverage for @encode(SEL); completely untested until now.Nico Weber2015-09-151-0/+3
| | | | llvm-svn: 247717
* Allow static local variables specified on data-sharing attribute clauses.Kelvin Li2015-09-1548-99/+666
| | | | | | http://reviews.llvm.org/D11619 llvm-svn: 247715
* [modules] Make sure we make hidden UsingShadowDecls visible to redeclarationRichard Smith2015-09-154-1/+9
| | | | | | lookup for the UsingShadowDecls themselves. llvm-svn: 247714
* Rebase tests after LLVM r247707.Nico Weber2015-09-153-4/+4
| | | | llvm-svn: 247712
* [OPENMP] Emit an additional note during analysis of 'if' clause.Alexey Bataev2015-09-158-14/+20
| | | | | | Patch adds emission of additional note for 'if' clauses with name modifiers in case if 'if' clause without name modified was specified or 'if' clause with the same name modifier was specified. llvm-svn: 247706
* Revert r247692: Replace Triple with a new TargetTuple in MCTargetDesc/* and ↵Daniel Sanders2015-09-152-8/+7
| | | | | | | | related. NFC. Eric has replied and has demanded the patch be reverted. llvm-svn: 247702
* Mention that libcxx is required to build Compiler-RT tests on OS X.Yury Gribov2015-09-151-0/+8
| | | | llvm-svn: 247696
* Silencing a -Wreturn-type warning; NFC.Aaron Ballman2015-09-151-0/+1
| | | | llvm-svn: 247693
* Re-commit r247683: Replace Triple with a new TargetTuple in MCTargetDesc/* ↵Daniel Sanders2015-09-152-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | and related. NFC. Summary: This is the first patch in the series to migrate Triple's (which are ambiguous) to TargetTuple's (which aren't). For the moment, TargetTuple simply passes all requests to the Triple object it holds. Once it has replaced Triple, it will start to implement the interface in a more suitable way. This change makes some changes to the public C++ API. In particular, InitMCSubtargetInfo(), createMCRelocationInfo(), and createMCSymbolizer() now take TargetTuples instead of Triples. The other public C++ API's have been left as-is for the moment to reduce patch size. This commit also contains a trivial patch to clang to account for the C++ API change. Thanks go to Pavel Labath for fixing LLDB for me. Reviewers: rengolin Subscribers: jyknight, dschuff, arsenm, rampitec, danalbert, srhines, javed.absar, dsanders, echristo, emaste, jholewinski, tberghammer, ted, jfb, llvm-commits, rengolin Differential Revision: http://reviews.llvm.org/D10969 llvm-svn: 247692
* Revert r247684 - Replace Triple with a new TargetTuple ...Daniel Sanders2015-09-152-8/+7
| | | | | | LLDB needs to be updated in the same commit. llvm-svn: 247686
* Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC.Daniel Sanders2015-09-152-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This is the first patch in the series to migrate Triple's (which are ambiguous) to TargetTuple's (which aren't). For the moment, TargetTuple simply passes all requests to the Triple object it holds. Once it has replaced Triple, it will start to implement the interface in a more suitable way. This change makes some changes to the public C++ API. In particular, InitMCSubtargetInfo(), createMCRelocationInfo(), and createMCSymbolizer() now take TargetTuples instead of Triples. The other public C++ API's have been left as-is for the moment to reduce patch size. This commit also contains a trivial patch to clang to account for the C++ API change. Reviewers: rengolin Subscribers: jyknight, dschuff, arsenm, rampitec, danalbert, srhines, javed.absar, dsanders, echristo, emaste, jholewinski, tberghammer, ted, jfb, llvm-commits, rengolin Differential Revision: http://reviews.llvm.org/D10969 llvm-svn: 247683
* [OPENMP] Emit __kmpc_cancel_barrier() and code for 'cancellation point' only ↵Alexey Bataev2015-09-1525-193/+505
| | | | | | | | | | | | | | if 'cancel' is found. Patch improves codegen for OpenMP constructs. If the OpenMP region does not have internal 'cancel' construct, a call to 'void __kmpc_barrier()' runtime function is generated for all implicit/explicit barriers. If the region has inner 'cancel' directive, then ``` if (__kmpc_cancel_barrier()) exit from outer construct; ``` code is generated. Also, the code for 'canellation point' directive is not generated if parent directive does not have 'cancel' directive. llvm-svn: 247681
* Run clang-format to unify the switch statement style as suggest here: ↵Alexey Bader2015-09-155-201/+539
| | | | | | | | http://reviews.llvm.org/D12855#246073. NFC. llvm-svn: 247678
* [OpenCL] Add new types for OpenCL 2.0.Alexey Bader2015-09-1523-16/+477
| | | | | | | | Patch by Pedro Ferreira. Reviewers: pekka.jaaskelainen Differential Revision: http://reviews.llvm.org/D12855 llvm-svn: 247676
* Doxygen fix InitializeBuiltins -> initializeBuiltinsIsmail Donmez2015-09-151-1/+1
| | | | llvm-svn: 247668
* Make clang/test/CodeGen/catch-undef-behavior.c* capable of -Asserts with ↵NAKAMURA Takumi2015-09-152-23/+21
| | | | | | | | "opt -instnamer". It reverts r231717. llvm-svn: 247667
* [analyzer] Restore behavior change introduced by r247657.Devin Coughlin2015-09-151-4/+6
| | | | | | | | r247657 fixed warnings about unused variables when compiling without asserts but changed behavior. This commit restores the old behavior but still suppresses the warnings. llvm-svn: 247660
* [MS ABI] Restore our warning for overwide bitfields using the MS ABIDavid Majnemer2015-09-152-20/+27
| | | | | | This restores a diagnostic lost in r247651. llvm-svn: 247659
* ExprEngineObjC.cpp: Fix warnings. [-Wunused-variable]NAKAMURA Takumi2015-09-151-4/+4
| | | | llvm-svn: 247657
* 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
* [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
* 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
* 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
* 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
* [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
OpenPOWER on IntegriCloud