summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix Linux exportswip/pending-upstreamIvan Donchevskii2018-08-031-0/+2
| | | | | Change-Id: I2da3929fb0a14a85ce6a53a266897f9341604df1 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Fix macOS buildIvan Donchevskii2018-08-031-0/+4
| | | | | Change-Id: Ifd8e5f02e437e6033c4f3dff169480ee4e236821 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Patch to generate temporary YAML format for clangd indexIvan Donchevskii2018-08-0311-10/+207
| | | | | | | Revert or change it when clangd format changes. Change-Id: Ie0916b6c61383909db3bcebc451a1f1905dd060d Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Index while build. Non-Apple platformsIvan Donchevskii2018-08-0110-107/+162
| | | | | | | https://reviews.llvm.org/D49009 adapted for 6.0 Change-Id: If42f023af1e032b49c40b6d94e2c9ad8b91a8461 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Index whild build. Part 3Ivan Donchevskii2018-08-0157-12/+5466
| | | | | | | https://reviews.llvm.org/D41407 Change-Id: I73563f2318d48e70f96b1082337f3b5a7a6c62b2 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Index whild build. Part 2Ivan Donchevskii2018-08-0122-18/+2937
| | | | | | | https://reviews.llvm.org/D40992 Change-Id: I93aef444354e69224884fbc7df16ea9ff411f417 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Index whild build. Part 1Ivan Donchevskii2018-08-0154-140/+1827
| | | | | | | https://reviews.llvm.org/D39050 adapted for 6.0 Change-Id: I2cb9c7d94c95fde7c3eb3042a6de0e55ab186974 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Add missing includeIvan Donchevskii2018-06-211-0/+1
| | | | | Change-Id: I641f96048aaf37fffad979ef0cc37c918382173d Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* [libclang] Allow skipping warnings from all included filesNikolai Kosjar2018-06-218-3/+41
| | | | | | | | | | | | | | | ------------------------------------------------------------------ * https://reviews.llvm.org/D48116 ------------------------------------------------------------------ Depending on the included files and the used warning flags, e.g. - Weverything, a huge number of warnings can be reported for included files. As processing that many diagnostics comes with a performance impact and not all clients are interested in those diagnostics, add a flag to skip them. Change-Id: Ia738a9382b43d210046bff68b3be8cb9dd89206f Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* [Frontend] Share global completions cacheIvan Donchevskii2018-06-212-86/+104
| | | | | | | | | | Append ASTUnit cache with global completions cache. In case of multiple translation units for the same file reduces the memory consumption and save completions cache generation time. Change-Id: I9acd8734f81f622fedd3aac08dbd45e208a70918 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* [Frontend] Cache preamble-related dataIvan Donchevskii2018-06-212-145/+237
| | | | | | | | | In case two translation units are created for the same file - reuse preamble data to reduce memory and save time on extra preamble generation. Change-Id: I9c1a5fe8c433cec9a5d75d1bded97064346b946c Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* [backported/clang-7][libclang] Optionally add code completion results for ↵Ivan Donchevskii2018-06-148-32/+313
| | | | | | | | | | | | | | arrow instead of dot -------------------------------------------------------------------------- * https://reviews.llvm.org/D46862 -------------------------------------------------------------------------- Follow up for https://reviews.llvm.org/D41537 - libclang part is extracted into this review Change-Id: Ib166eb7b8675be605c81330df0c5f342942815ce Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* [backported/clang-7][Frontend] Honor UserFilesAreVolatile flag getting file ↵Ivan Donchevskii2018-06-084-36/+66
| | | | | | | | | | | | | | | | buffer in ASTUnit -------------------------------------------------------------------------- * https://reviews.llvm.org/D47460 -------------------------------------------------------------------------- Do not memory map the main file if the flag UserFilesAreVolatile is set to true in ASTUnit when calling FileSystem::getBufferForFile. Task-number: QTCREATORBUG-15449 Change-Id: I283d684f4c1ca38a4689ce09bd594700678679c1 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* [backported/clang-7][Sema] Pop function scope when instantiating a func with ↵Ilya Biryukov2018-06-011-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | skipped body -------------------------------------------------------------------------- * Fixes a completion crash for which the test case was introduced with "[backported/clang-7][Sema] Don't skip function bodies with 'auto' without trailing return type" - so this makes tests pass again. -------------------------------------------------------------------------- Summary: By calling ActOnFinishFunctionBody(). Previously we were only calling ActOnSkippedFunctionBody, which didn't pop the function scope. This causes a crash when running on our internal code. No test-case, though, since I couldn't come up with a small example in reasonable time. The bug was introduced in r321174. Reviewers: bkramer, sammccall, sepavloff, aaron.ballman Reviewed By: sammccall, aaron.ballman Subscribers: aaron.ballman, cfe-commits Differential Revision: https://reviews.llvm.org/D44439 Change-Id: I45ddee589212ea4178462b1e0f9fd032ded6fdf7 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@327504 91177308-0d34-0410-b5e6-96231b3b80d8 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* [backported/clang-7][Sema] Don't skip function bodies with 'auto' without ↵Ilya Biryukov2018-05-313-2/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | trailing return type -------------------------------------------------------------------------- * https://reviews.llvm.org/D44480 -------------------------------------------------------------------------- Summary: Skipping them was clearly not intentional. It's impossible to guarantee correctness if the bodies are skipped. Also adds a test case for r327504, now that it does not produce invalid errors that made the test fail. Reviewers: aaron.ballman, sammccall, rsmith Reviewed By: rsmith Subscribers: rayglover-ibm, rwols, cfe-commits Differential Revision: https://reviews.llvm.org/D44480 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@333538 91177308-0d34-0410-b5e6-96231b3b80d8 Task-number: QTCREATORBUG-20515 Change-Id: I5d60a094a967dc0e1e401256a1d70093084909f5 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* [backported/clang-7] Optionally add code completion results for arrow ↵Ivan Donchevskii2018-05-2910-90/+248
| | | | | | | | | | | | | | | | | instead of dot -------------------------------------------------------------------------- * https://reviews.llvm.org/D41537 -------------------------------------------------------------------------- Currently getting such completions requires source correction, reparsing and calling completion again. And if it shows no results and rollback is required then it costs one more reparse. With this change it's possible to get all results which can be later filtered to split changes which require correction. Change-Id: Id2fc3f0518fd53f2a6d0097da3ee723ddeb372ab Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* [backported/clang-7][libclang] Allow skipping function bodies in preamble onlyNikolai Kosjar2018-05-177-10/+60
| | | | | | | | | | | | | | | | | | | | -------------------------------------------------------------------------- * https://reviews.llvm.org/D45815 * Speed ups parse/reparse significantly but on the other hand does not issue any more diagnostics from template functions from headers. -------------------------------------------------------------------------- As an addition to CXTranslationUnit_SkipFunctionBodies, provide the new option CXTranslationUnit_LimitSkipFunctionBodiesToPreamble, which constraints the skipping of functions bodies to the preamble only. Function bodies in the main file are not affected if this option is set. Skipping function bodies only in the preamble is what clangd already does and the introduced flag implements it for libclang clients. Change-Id: I092a2d78d1e59a9e546d317ee2f18c98cdc7dcdb Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* [backported/clang-7][Frontend] Avoid running plugins during code completion ↵Nikolai Kosjar2018-05-172-0/+11
| | | | | | | | | | | | | | | | | | | | parse -------------------------------------------------------------------------- * https://reviews.llvm.org/D46050 * Fixes slow completion if tidy/clazy checks are activated. -------------------------------------------------------------------------- The parsing that is done for code completion is a special case that will discard any generated diagnostics, so avoid running plugins for this case in the first place to avoid performance penalties due to the plugins. A scenario for this is for example libclang with extra plugins like tidy. Change-Id: Ibd325f234823e4650553d2a9a3c20d993d57c87d Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* [Driver] Statically link tools into clang executableNikolai Kosjar2018-05-022-0/+18
| | | | | | | | | | This enables running tidy/clazy from the "clang" executable (driver) and thus avoids separate extra invocations for the tools resulting in a speed up. Change-Id: Ib14314443d68ee3346198915d109b3594bdbc647 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* Fix completion involving overloaded static functions for templatesNikolai Kosjar2018-04-202-40/+88
| | | | | | | | | | | -------------------------------------------------------------------------- * https://reviews.llvm.org/D43453 -------------------------------------------------------------------------- Apply almost the same fix as D36390 but for templates. Change-Id: I80b44d69898237f2f2b4310bc330120b7dfc49a8 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* [libclang] Statically link clazy into libclangNikolai Kosjar2018-04-202-0/+5
| | | | | | | This enables libclang to emit clazy diagnostics, too. Change-Id: I47acc9f2d74f61de2b4161cc61785edd45012f82 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* [backported/clang-7][libclang] Only mark CXCursors for explicit attributes ↵Nikolai Kosjar2018-04-202-1/+21
| | | | | | | | | | | | | | | | | | | | | | | with a type ------------------------------------------------------------------------- * https://reviews.llvm.org/D38615 * Fixes highlighting of classes e.g. in Qt Creator's texteditor.cpp. ------------------------------------------------------------------------- All attributes have a source range associated with it. However, implicit attributes are added by the compiler, and not added because the user wrote something in the input. So no token type should be set to CXCursor_*Attr. The problem was visible when a class gets marked by e.g. MSInheritanceAttr, which has the full CXXRecordDecl's range as its own range. The effect of marking that range as CXCursor_UnexposedAttr was that all cursors for the record decl, including all child decls, would become CXCursor_UnexposedAttr. Change-Id: If447dd6f21611adff8eaa2752eba2109e2f7ef35 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* [backported/clang-7][libclang] Add PrintingPolicy for pretty printing ↵Nikolai Kosjar2018-04-196-12/+428
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | declarations ------------------------------------------------------------------------- * Improves pretty printing for Qt Creator's tooltips. ------------------------------------------------------------------------- Summary: Introduce clang_getCursorPrettyPrinted() for pretty printing declarations. Expose also PrintingPolicy, so the user gets more fine-grained control of the entities being printed. The already existing clang_getCursorDisplayName() is pretty limited - for example, it does not handle return types, parameter names or default arguments for function declarations. Addressing these issues in clang_getCursorDisplayName() would mean to duplicate existing code (e.g. clang::DeclPrinter), so rather expose new API to access the existing functionality. Reviewed By: jbcoe Subscribers: cfe-commits Tags: #clang Patch by nik (Nikolai Kosjar) Differential Revision: https://reviews.llvm.org/D39903 Change-Id: I509a01bb5a1e4e1d899c2725f50ed78e482c075f Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* [backported/clang-7][libclang] Support querying whether a declaration is invalidNikolai Kosjar2018-04-196-17/+40
| | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ * Enables fix for https://bugreports.qt.io/browse/QTCREATORBUG-18686 ------------------------------------------------------------------------ This is useful for e.g. highlighting purposes in an IDE. Note: First version of this patch was reverted due to failing tests in opencl-types.cl with -target ppc64le-unknown-linux. These tests are adapted now. Patch by Nikolai Kosjar. Differential Revision: https://reviews.llvm.org/D40072 Change-Id: Iac9d51f729bda7493c56d4d14f9bc1ff2891b465 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Merging r325651:Simon Dardis2018-04-117-1/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r325651 | sdardis | 2018-02-21 00:05:05 +0000 (Wed, 21 Feb 2018) | 34 lines [mips] Spectre variant two mitigation for MIPSR2 This patch provides mitigation for CVE-2017-5715, Spectre variant two, which affects the P5600 and P6600. It provides the option -mindirect-jump=hazard, which instructs the LLVM backend to replace indirect branches with their hazard barrier variants. This option is accepted when targeting MIPS revision two or later. The migitation strategy suggested by MIPS for these processors is to use two hazard barrier instructions. 'jalr.hb' and 'jr.hb' are hazard barrier variants of the 'jalr' and 'jr' instructions respectively. These instructions impede the execution of instruction stream until architecturally defined hazards (changes to the instruction stream, privileged registers which may affect execution) are cleared. These instructions in MIPS' designs are not speculated past. These instructions are used with the option -mindirect-jump=hazard when branching indirectly and for indirect function calls. These instructions are defined by the MIPS32R2 ISA, so this mitigation method is not compatible with processors which implement an earlier revision of the MIPS ISA. Implementation note: I've opted to provide this as an -mindirect-jump={hazard,...} style option in case alternative mitigation methods are required for other implementations of the MIPS ISA in future, e.g. retpoline style solutions. Reviewers: atanasyan Differential Revision: https://reviews.llvm.org/D43487 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@329799 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r328829:Tom Stellard2018-04-102-1/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r328829 | manojgupta | 2018-03-29 14:11:15 -0700 (Thu, 29 Mar 2018) | 23 lines [AArch64]: Add support for parsing rN registers. Summary: Allow rN registers to be simply parsed as correspoing xN registers. The "register ... asm("rN")" is an command to the compiler's register allocator, not an operand to any individual assembly instruction. GCC documents this syntax as "...the name of the register that should be used." This is needed to support the changes in Linux kernel (see https://lkml.org/lkml/2018/3/1/268 ) Note: This will add support only for the limited use case of register ... asm("rN"). Any other uses that make rN leak into assembly are not supported. Reviewers: kristof.beyls, rengolin, peter.smith, t.p.northover Reviewed By: peter.smith Subscribers: javed.absar, eraman, cfe-commits, srhines Differential Revision: https://reviews.llvm.org/D44815 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@329669 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r329052:Tom Stellard2018-04-091-1/+1
| | | | | | | | | | ------------------------------------------------------------------------ r329052 | hans | 2018-04-03 02:28:21 -0700 (Tue, 03 Apr 2018) | 1 line UsersManual.rst: update text for /GX- to match r328708 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@329625 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r328708:Tom Stellard2018-04-091-1/+1
| | | | | | | | | | ------------------------------------------------------------------------ r328708 | hans | 2018-03-28 07:57:49 -0700 (Wed, 28 Mar 2018) | 1 line clang-cl: s/Enable/Disable/ in help text for /GX- ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@329624 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r327099:Tom Stellard2018-04-072-4/+16
| | | | | | | | | | | | ------------------------------------------------------------------------ r327099 | rsmith | 2018-03-08 18:00:01 -0800 (Thu, 08 Mar 2018) | 3 lines PR36645: Go looking for an appropriate array bound when constant-evaluating a name of an array object. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@329478 91177308-0d34-0410-b5e6-96231b3b80d8
* ReleaseNotes: move the retpoline bullets higherHans Wennborg2018-03-021-18/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@326550 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some minimal release notes for retpolines.Chandler Carruth2018-03-021-0/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@326540 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo in the section about C++2a features; it follows C++17, not C++14Martin Storsjo2018-02-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@326317 91177308-0d34-0410-b5e6-96231b3b80d8
* A few release notes updates for C++ support in Clang 6.0.Richard Smith2018-02-281-0/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@326297 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate docs/AttributeReference.rstHans Wennborg2018-02-271-19/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@326197 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r326195:Hans Wennborg2018-02-271-20/+20
| | | | | | | | | | | ------------------------------------------------------------------------ r326195 | hans | 2018-02-27 14:48:50 +0100 (Tue, 27 Feb 2018) | 1 line AttrDocs.td: fix some bad code-blocks ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@326196 91177308-0d34-0410-b5e6-96231b3b80d8
* ReleaseNotes: tidy upHans Wennborg2018-02-271-139/+68
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@326190 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate DiagnosticsReference.rstHans Wennborg2018-02-231-129/+148
| | | | | | | | | | $ bin/clang-tblgen -gen-diag-docs -I../cfe.src/include/clang/Basic \ ../cfe.src/include/clang/Basic/Diagnostic.td \ -o ../cfe.src/docs/DiagnosticsReference.rst git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@325889 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate ClangCommandLineReference.rstHans Wennborg2018-02-221-0/+8
| | | | | | | | | | $ bin/clang-tblgen -gen-opt-docs -I../cfe.src/include \ -I../cfe.src/include/clang/Driver -I../llvm.src/include \ ../cfe.src/include/clang/Driver/ClangOptionDocs.td \ -o ../cfe.src/docs/ClangCommandLineReference.rst git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@325793 91177308-0d34-0410-b5e6-96231b3b80d8
* docs: remove in-progress warningsHans Wennborg2018-02-221-14/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@325787 91177308-0d34-0410-b5e6-96231b3b80d8
* ReleaseNotes: mention new -nostdlib++ flag, and clang-cl exposing --versionHans Wennborg2018-02-221-0/+5
| | | | | | | By Nico Weber git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@325781 91177308-0d34-0410-b5e6-96231b3b80d8
* ReleaseNotes: mention improvements to -Wdelete-non-virtual-dtor and ↵Hans Wennborg2018-02-221-0/+6
| | | | | | | | | -Wunreachable-code By Nico Weber! git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@325780 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r324308:Hans Wennborg2018-02-222-1/+17
| | | | | | | | | | | | | | ------------------------------------------------------------------------ r324308 | rtrieu | 2018-02-06 03:58:21 +0100 (Tue, 06 Feb 2018) | 4 lines Fix crash on invalid. Don't call a method when the pointer is null. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@325766 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r325655:Hans Wennborg2018-02-212-3/+4
| | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r325655 | ctopper | 2018-02-21 01:16:50 +0100 (Wed, 21 Feb 2018) | 8 lines [X86] Disable CLWB in Cannon Lake Cannon Lake does not support CLWB, therefore it does not include all features listed under SKX. Patch by Gabor Buella Differential Revision: https://reviews.llvm.org/D43459 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@325672 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r325576:Hans Wennborg2018-02-202-37/+5
| | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r325576 | hans | 2018-02-20 13:43:02 +0100 (Tue, 20 Feb 2018) | 13 lines Revert r325375 "[MS] Make constexpr static data members implicitly inline" This broke Clang bootstrap on Windows, PR36453. > This handles them exactly the same way that we handle const integral > static data members with inline definitions, which is what MSVC does. > > As a follow-up, now that we have a way to mark variables inline in the > AST, we should consider marking them implicitly inline there instead of > only treating them as inline in CodeGen. Unfortunately, this breaks a > lot of dllimport test cases, so that is future work for now. > > Fixes PR36125. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@325577 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r325375:Hans Wennborg2018-02-192-5/+37
| | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r325375 | rnk | 2018-02-16 20:44:47 +0100 (Fri, 16 Feb 2018) | 11 lines [MS] Make constexpr static data members implicitly inline This handles them exactly the same way that we handle const integral static data members with inline definitions, which is what MSVC does. As a follow-up, now that we have a way to mark variables inline in the AST, we should consider marking them implicitly inline there instead of only treating them as inline in CodeGen. Unfortunately, this breaks a lot of dllimport test cases, so that is future work for now. Fixes PR36125. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@325500 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r319777 for PR36357Hans Wennborg2018-02-144-29/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@325114 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r323998:Hans Wennborg2018-02-143-0/+23
| | | | | | | | | | | | | | | ------------------------------------------------------------------------ r323998 | rsmith | 2018-02-01 21:01:49 +0100 (Thu, 01 Feb 2018) | 5 lines PR36157: When injecting an implicit function declaration in C89, find the right DeclContext rather than injecting it wherever we happen to be. This avoids creating functions whose DeclContext is a struct or similar. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@325104 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r324537:Hans Wennborg2018-02-093-12/+59
| | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r324537 | rsmith | 2018-02-07 23:25:16 +0100 (Wed, 07 Feb 2018) | 14 lines PR36055: fix computation of *-dependence in nested initializer lists. When we synthesize an implicit inner initializer list when analyzing an outer initializer list, we add it to the outer list immediately, and then fill in the inner list. This gives the outer list no chance to update its *-dependence bits with those of the completed inner list. To fix this, re-add the inner list to the outer list once it's completed. Note that we do not recompute the *-dependence bits from scratch when we complete an outer list; this would give the wrong result for the case where a designated initializer overwrites a dependent initializer with a non-dependent one. The resulting list in that case should still be dependent, even though all traces of the dependence were removed from the semantic form. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@324719 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r324594:Hans Wennborg2018-02-092-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r324594 | aivchenk | 2018-02-08 12:15:21 +0100 (Thu, 08 Feb 2018) | 17 lines Fix for #31362 - ms_abi is implemented incorrectly for values >=16 bytes. Summary: This patch is a fix for following issue: https://bugs.llvm.org/show_bug.cgi?id=31362 The problem was caused by front end lowering C calling conventions without taking into account calling conventions enforced by attribute. In this case win64cc was no correctly lowered on targets other than Windows. Reviewed By: rnk (Reid Kleckner) Differential Revision: https://reviews.llvm.org/D43016 Author: belickim <mateusz.belicki@intel.com> ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@324718 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r324514:Hans Wennborg2018-02-082-0/+23
| | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r324514 | arphaman | 2018-02-07 21:45:39 +0100 (Wed, 07 Feb 2018) | 10 lines [PR36008] Avoid -Wsign-compare warning for enum constants in typeof expressions This commit looks through typeof type at the original expression when diagnosing -Wsign-compare to avoid an unfriendly diagnostic. rdar://36588828 Differential Revision: https://reviews.llvm.org/D42561 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@324602 91177308-0d34-0410-b5e6-96231b3b80d8