summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* Token: complement is() method with isOneOf() to allow easier usageDaniel Marjamaki2015-06-111-0/+7
| | | | llvm-svn: 239526
* [mips] Pass on -m{single,double}-float to GAS.Toma Tabacu2015-06-112-0/+13
| | | | | | | | | | | | | | Summary: We already pass these to the IAS, but not to GAS. Reviewers: dsanders, atanasyan Reviewed By: atanasyan Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10358 llvm-svn: 239525
* [OPENMP] Fox for http://llvm.org/PR23663: OpenMP crashAlexey Bataev2015-06-112-26/+34
| | | | | | Destroy RuntimeCleanupScope before generation of termination instruction in parallel loop precondition. llvm-svn: 239524
* Fix crash in clang-format.Manuel Klimek2015-06-112-3/+8
| | | | | | | | | | | The following example used to crash clang-format. #define a\ /**/} Adjusting the indentation level cache for the line starting with the comment would lead to an out-of-bounds array read. llvm-svn: 239521
* clang-format: Don't add spaces in foreach macro definition.Daniel Jasper2015-06-112-1/+16
| | | | | | | | | | | | Before clang-format would e.g. add a space into #define Q_FOREACH(x, y) which turns this into a non-function-like macro. Patch by Strager Neds, thank you! llvm-svn: 239513
* Reinstate r239499 and r239503David Majnemer2015-06-113-26/+39
| | | | | | | They were reverted because the FileCheck patterns didn't match on release builds. llvm-svn: 239512
* Revert "[MS ABI] Allow fastcall member function pointers to get CodeGen'd"Manuel Klimek2015-06-113-39/+26
| | | | | | | | | | | | Revert "[MS ABI] Allow memfn pointers with unconvertible types to be formed" This reverts r239499 and r239503; the former breaks tests [1] and the latter is based on the former. [1] http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_check/4473/testReport/Clang/CodeGenCXX/microsoft_abi_virtual_member_pointers_cpp/ llvm-svn: 239511
* Clang support for vector quad bit permute and gather instructions through ↵Nemanja Ivanovic2015-06-113-0/+49
| | | | | | | | | | | | | builtins This patch corresponds to review: http://reviews.llvm.org/D10095 This is for just two instructions and related builtins: vbpermq vgbbd llvm-svn: 239506
* [modules] Fix a few places where merging wasn't performed if modules was ↵Richard Smith2015-06-116-4/+30
| | | | | | disabled but local module visibilty was enabled. llvm-svn: 239504
* [MS Compatibility] Handle cleanups we create for a ctor closureDavid Majnemer2015-06-112-0/+17
| | | | | | This fixes PR23801. llvm-svn: 239503
* [MS ABI] Allow fastcall member function pointers to get CodeGen'dDavid Majnemer2015-06-112-19/+18
| | | | | | | This restriction appears unnecessary and most likely came about during early work for musttail. llvm-svn: 239500
* [MS ABI] Allow memfn pointers with unconvertible types to be formedDavid Majnemer2015-06-112-8/+22
| | | | | | | | Remove the restriction which forbade forming pointers to member functions which had parameter types or return types which were not convertible. llvm-svn: 239499
* [bpf] add support for BPF backendAlexei Starovoitov2015-06-103-0/+68
| | | | | | add support for bpfel/bpfeb targets llvm-svn: 239496
* Work around MSVC miscompilation.Richard Smith2015-06-101-3/+2
| | | | llvm-svn: 239494
* [modules] Don't allow use of non-visible (inherited) default template arguments.Richard Smith2015-06-103-8/+12
| | | | llvm-svn: 239487
* [modules] Track all default template arguments for a given parameter acrossRichard Smith2015-06-1011-30/+97
| | | | | | | modules, and allow use of a default template argument if any of the parameters providing it is visible. llvm-svn: 239485
* Do not parse members of incomplete class.Serge Pavlov2015-06-102-2/+16
| | | | | | | | | | If definition of a class is unknown and out-of-line definition of its member is encountered, do not parse the member declaration. This change fixes PR18542. Differential Revision: http://reviews.llvm.org/D8010 llvm-svn: 239483
* Pass down the -flto option to the -cc1 job, and from there into theTeresa Johnson2015-06-106-1/+20
| | | | | | | | | | | | CodeGenOptions and onto the PassManagerBuilder. This enables gating the new EliminateAvailableExternally module pass on whether we are preparing for LTO. If we are preparing for LTO (e.g. a -flto -c compile), the new pass is not included as we want to preserve available externally functions for possible link time inlining. llvm-svn: 239481
* some StmtExprs do not have side-effectsScott Douglass2015-06-103-1/+39
| | | | | | Differential Revision: http://reviews.llvm.org/D10211 llvm-svn: 239476
* add ConstEvaluatedExprVisitorScott Douglass2015-06-106-54/+76
| | | | | | Differential Revision: http://reviews.llvm.org/D10210 llvm-svn: 239474
* PR5172: Fix for a bug in pragma redefine_extname implementation:Alexander Musman2015-06-102-9/+33
| | | | | | | | | | | it doesn't work correctly when a structure is declared before pragma and then a function with the same name declared after pragma. Patch by Andrey Bokhanko Differential Revision: http://reviews.llvm.org/D10187 llvm-svn: 239466
* clang-format: [JS] Only special case top level object literalDaniel Jasper2015-06-102-3/+8
| | | | | | | | | | | | | | | | | | | | | | assignments as enums. Top level object literals are treated as enums, and their k/v pairs are put on separate lines: X.Y = { A: 1, B: 2 }; However assignments within blocks should not be affected: function x() { y = {a:1, b:2}; } This change fixes the second case. Patch by Martin Probst. llvm-svn: 239462
* Fix the test case to handle different IR variable names.Yunzhong Gao2015-06-101-6/+6
| | | | llvm-svn: 239457
* [modules] Reconstruct template default argument inheritance on reload ratherRichard Smith2015-06-102-29/+57
| | | | | | than wasting storage and triggering eager deserializations by serializing it. llvm-svn: 239454
* [cleanup] Remove unused default argument and tidy up.Sean Silva2015-06-102-30/+7
| | | | | | | | | The RequestingModule argument was unused and always its default value of nullptr. Also move a declaration closer to its use, and range-for'ify. llvm-svn: 239453
* Revert accidentally-committed test change from r239447.Richard Smith2015-06-103-12/+1
| | | | llvm-svn: 239452
* Refactor storage of default template arguments.Richard Smith2015-06-109-102/+181
| | | | | | | This is just a preparatory step towards fixing visibility for default template arguments in modules builds. llvm-svn: 239447
* Implementing C99 partial re-initialization behavior (DR-253)Yunzhong Gao2015-06-1028-45/+872
| | | | | | | | | | | | | | | | | | | | | | | | | Based on previous discussion on the mailing list, clang currently lacks support for C99 partial re-initialization behavior: Reference: http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-April/029188.html Reference: http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_253.htm This patch attempts to fix this problem. Given the following code snippet, struct P1 { char x[6]; }; struct LP1 { struct P1 p1; }; struct LP1 l = { .p1 = { "foo" }, .p1.x[2] = 'x' }; // this example is adapted from the example for "struct fred x[]" in DR-253; // currently clang produces in l: { "\0\0x" }, // whereas gcc 4.8 produces { "fox" }; // with this fix, clang will also produce: { "fox" }; Differential Review: http://reviews.llvm.org/D5789 llvm-svn: 239446
* Attach attribute "disable-tail-calls" to the functions in the IR.Akira Hatanaka2015-06-096-12/+23
| | | | | | | | | | | This commit adds back the code that seems to have been dropped unintentionally in r176985. rdar://problem/13752163 Differential Revision: http://reviews.llvm.org/D10100 llvm-svn: 239426
* [ItaniumMangle] Mangle long double as __float128 for some Power targetsDavid Majnemer2015-06-094-1/+25
| | | | | | | | | | GCC mangles long double like __float128 in order to support compatibility with ABI variants which had a different interpretation of long double. This fixes PR23791. llvm-svn: 239421
* Revert "Re-land r236052, "[SEH] Add 32-bit lowering code for __try""Reid Kleckner2015-06-098-278/+153
| | | | | | | This reverts commit r239415. This was committed accidentally, LLVM isn't ready for this. llvm-svn: 239417
* Disable style-on-command-line test on WindowsReid Kleckner2015-06-091-0/+4
| | | | llvm-svn: 239416
* Re-land r236052, "[SEH] Add 32-bit lowering code for __try"Reid Kleckner2015-06-098-153/+278
| | | | | | | | This reverts r236167. LLVM should be ready for this now. llvm-svn: 239415
* [PowerPC] Reformat altivec.h with clang-formatBill Seurer2015-06-091-7361/+4978
| | | | | | This revision just fixes the formatting of altivec.h. llvm-svn: 239408
* Move target-specific Sema test to its own file.Jonathan Roelofs2015-06-092-6/+9
| | | | | | Fixing the build-break introduced in r239406. llvm-svn: 239407
* Fix printing of GCCAsmExprs with input or output arguments.Jonathan Roelofs2015-06-092-2/+10
| | | | | | Patch by Nick Sumner! llvm-svn: 239406
* clang-format: Support //!-comments, increase test coverage.Daniel Jasper2015-06-092-1/+19
| | | | llvm-svn: 239404
* Remove rm invocations where the file is immediately rewritten later.Benjamin Kramer2015-06-091-3/+1
| | | | | | | This may or may not help making this test less flaky on windows. There's a race condition in lit somewhere. llvm-svn: 239402
* Remove unused diagnostics.Benjamin Kramer2015-06-092-6/+2
| | | | | | | -Wreceiver-is-weak is unused but should be ignored, move it to the list of diagnostic groups. llvm-svn: 239401
* Removing spurious semi colons; NFC.Aaron Ballman2015-06-093-3/+3
| | | | llvm-svn: 239400
* clang-format: [JS] Hotfix for runtime issue with deeply nested JS code.Daniel Jasper2015-06-092-3/+7
| | | | | | | | | | | | | | I have not succeeded in writing a proper test case for this yet and we also need to solve the underlying fundamental problem of trying too many combinations with nested blocks (basically this somewhat works around our Dijkstra algorithm). Preventing this linebreak is good anyways as usually the penalties never make us choose it (that's why I can't create a test) and it also looks ugly. Also cleaned up state comparison code that I discovered while hunting this down. llvm-svn: 239398
* clang-cl: Ignore the /o option when /P is specified.Greg Bedwell2015-06-092-15/+7
| | | | | | | | | This matches the cl.exe behavior (tested with 18.00.31101). In order to specify an output file for /P, use the /Fi option instead. Differential Revision: http://reviews.llvm.org/D10313 llvm-svn: 239393
* Reenable Misc/interpreter.c as r239388 correctly handles such targetsDavid Majnemer2015-06-091-1/+1
| | | | llvm-svn: 239389
* [Driver] Preserve the object file format in ComputeEffectiveClangTripleDavid Majnemer2015-06-092-2/+10
| | | | | | | | The object file format is sometimes overridden for MSVC targets to use ELF instead of COFF. Make sure we preserve this choice when setting the msvc version number in the triple. llvm-svn: 239388
* Disable clang/test/Misc/interpreter.c, for now, since r239273 mishandled ↵NAKAMURA Takumi2015-06-091-1/+1
| | | | | | *-msvc-elf. llvm-svn: 239387
* [MSVC Compatibility] Don't diagnose c-style cast from void-ptr to fn-ptrDavid Majnemer2015-06-092-2/+7
| | | | | | | | The machinery added to permit a static_cast from void-ptr to fn-ptr unintentionally gets triggered for c-style casts and function-style casts. The observable effect was a diagnostic issued inappropriately. llvm-svn: 239382
* range-for'ify Args->filtered_begin(...) loopsSean Silva2015-06-095-184/+105
| | | | | | | We already have Args->filtered(...) which is a drop-in range-for replacement. llvm-svn: 239381
* Simplify this code a bit.Sean Silva2015-06-091-6/+5
| | | | | | We weren't using the short-circuiting property anyway. llvm-svn: 239376
* Enable DLL attribute propagation on explicit instantiation definitions (PR23770)Hans Wennborg2015-06-095-57/+79
| | | | | | | | This is a follow-up to r225570 which enabled adding DLL attributes when a class template goes from explicit instantiation declaration to explicit instantiation definition. llvm-svn: 239375
* MinGW: don't allow adding DLL attribute if template already has explicit ↵Hans Wennborg2015-06-093-1/+8
| | | | | | | | instantiation declaration This is a follow-up to r238266 which failed to take MinGW into account. llvm-svn: 239374
OpenPOWER on IntegriCloud