CLion 2020.1.2 Bug-fix Update

Posted on by Anastasia Kazakova

The second bug-fix update, CLion 2020.1.2 (build 201.7846.88), is now available for download. Get it from our website, via the Toolbox App, or via snap (for Ubuntu). A patch update will be available shortly.

DOWNLOAD CLION

Here are the main highlights:

  • Performance improvements cover cases with laggy typing (CPP-19613, CPP-16207) and slow runs of Google Tests (CPP-20012).
  • Improvements in C++ support including:
    • Quick-fix which suppresses the Unused warning with the [[maybe_unused]] attribute is now more accurate:
      Maybe unused quick-fix
    • Unused parameter check from the Data Flow Analysis inside virtual functions is disabled.
    • Fixes in Clangd-based code completion.
    • New formatter options for spaces before and after the colon in bit fields.
    • And many other small fixes in code analysis.
  • Fixes for CUDA development:
    • Code highlighting no longer breaks after a CUDA kernel code (CPP-20356).
    • Support for the __device__ and __host__ attributes before parameter lists in lambda expressions.
    • A regression which caused CUDA run configurations to disappear in the previous 2020.1.1 update has been fixed (CPP-20178).
  • Fixes for embedded development:
    • When collecting IAR compiler info, CLion no longer actually builds the project. So projects with the IAR compiler will be loaded in CLion successfully even if some compilation errors are present (CPP-19327).
    • The PlatformIO plugin got a significant update:
      • Highlighting in platformio.ini files is enabled:
        PlatformIO
      • CMake Profiles are created for the CMAKE_CONFIGURATION_TYPES entries in PlatformIO CMake projects (CPP-19478).
      • Various Run/Debug Configurations for running PlatformIO-based projects are now added automatically when a new project is created.
      • The PlatformIO build directory is excluded from the project indexing.
      • PlatformIO actions are now available in Find Action dialog.
  • Unit testing:
    • CLion now supports Catch2 template tests:
      Catch2 template test
    • Fixes for Google Tests in CLionโ€™s built-in test runner, which was not always correctly reporting successful tests.

The full release notes are available here. And stay tuned! The EAP program for the upcoming 2020.2 release is just around the corner ๐Ÿ˜‰

DOWNLOAD CLION

Your CLion team
JetBrains
The Drive to Develop

Comments below can no longer be edited.

28 Responses to CLion 2020.1.2 Bug-fix Update

  1. Jonas says:

    June 4, 2020

    Still missing QTest. Is there already a feature request for QTest support?

    • Anastasia Kazakova says:

      June 4, 2020

      I don’t think so. Feel free to create one and add some details about your expectations. Thanks

  2. Taw says:

    June 4, 2020

    Hi Anastasia, thanks for the release, I have some questions.

    1. DFA is fixed for good? I disabled it because of slow typing and because it’s recommended by your team to improve performance (https://www.jetbrains.com/help/clion/performance-tuning-tips.html)

    2. Why is DFA disabled for virtual functions?

    3. Are any exceptions problem fixed in this release? I get at least 3-4 exceptions daily from CLion and IDEA.

    4. When I get an exception, is it enough to press “Report to JetBrains” (I don’t remember the exact name of the button) or should I open a bug also?

    Thanks

    P.S. Congrats on the CppCast podcast, it was very nice ๐Ÿ™‚

    • Anastasia Kazakova says:

      June 4, 2020

      1. Yes, DFA actually improved greatly since move to Clang-based engine in 2020.1. We plan to track the progress and to update the performance tuning instruction in a few months when users confirm it’s better now.
      2. Sorry for the inaccurate text here. I’ve lost the ticket link and the text became unclear. Generally, DFA works in virtual functions, but Unused Parameter check is not. Mostly because otherwise there are lots of false positives for libraries, API functions, etc.
      3. There are a few. But if you are interested in any in particular – feel free to ask. Main question is if there is something broken after the exection or you just see it in the log and so worry about it?
      4. It’s enough, yes.

      Thank you for the kind words on the CppCast edition!

      • Taw says:

        June 4, 2020

        3. I don’t manually check CLion’s logs, I get the red warning blinking and a big window appearing.
        examples:
        https://youtrack.jetbrains.com/issue/CPP-20338
        https://youtrack.jetbrains.com/issue/CPP-20025
        https://youtrack.jetbrains.com/issue/CPP-19923

        • Anastasia Kazakova says:

          June 4, 2020

          This happens only in EAP builds. Not in the release ones. And once again, is there smth broken after the exception happens? Depending on that the priority of the exception is different for us. For sure, if smth got broken, we need to fix it asap, but sometimes exceptions just indicate problematic places, which is definitely a reason to pay attention to but not a critical bug.

          • Taw says:

            June 4, 2020

            Maybe it happens only in EAP builds, but I am using at least 50% EAP builds, otherwise I could not test latest features. ๐Ÿ™‚
            I am using 2020.1 only until 2020.2 EAP is released, then I switch to EAP. ๐Ÿ™‚

            There is nothing broken, but exceptions occur.

            Maybe is there a switch “disable exceptions in EAP build”? Smth that I can also export in settings?

            • Anastasia Kazakova says:

              June 4, 2020

              I don’t think it’s a good idea. EAP builds are for testing and we definitely want exceptions to be visible. It’s not a production quality build and so it’s not intended for regular work. Though of course many people use it that way)

          • Taw says:

            June 5, 2020

            Maybe I should formulate better: I don’t want intrusive exceptions, because sometimes the same exception occured every 5 minutes and it was very unpleasant to see the red dot blinking there…

          • Taw says:

            June 5, 2020

            Btw, if EAP is not intended for regular work, how can we test it properly, other than doing regular work?
            And how can we work with it if we get red button blinking 10 times a dat, because of intrusive exceptions?

            • Anastasia Kazakova says:

              June 5, 2020

              EAP is not intended for a long-term work. It’s a preview build and we hope you can give it a try on a real project and share the feedback. I understand of course exceptions are annoying. But we don’t want EAP users turn them off in EAP builds.

          • Taw says:

            June 5, 2020

            Are you sure that exceptions are thrown only on EAP builds? I just got one in 2020.1.2

            java.lang.Throwable: Assertion failed
            at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:182)
            at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:191)
            at com.intellij.refactoring.changeSignature.ChangeSignatureDialogBase.doUpdateSignature(ChangeSignatureDialogBase.java:605)
            at com.intellij.refactoring.changeSignature.ChangeSignatureDialogBase.updateSignatureAlarmFired(ChangeSignatureDialogBase.java:600)
            at com.jetbrains.cidr.lang.refactoring.changeSignature.OCChangeSignatureDialog.updateSignatureAlarmFired(OCChangeSignatureDialog.java:185)
            at com.intellij.refactoring.changeSignature.ChangeSignatureDialogBase.lambda$null$0(ChangeSignatureDialogBase.java:593)
            at com.intellij.psi.impl.PsiDocumentManagerBase.lambda$null$10(PsiDocumentManagerBase.java:625)
            at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:201)
            at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
            at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:310)
            at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:80)

            • Anastasia Kazakova says:

              June 5, 2020

              They are thrown on all builds. But notifications are shown to the users only in EAP. In release builds you can only notice them in logs.

          • Taw says:

            June 7, 2020

            Anastasia, what do you mean by “notifications are shown to the users only in EAP”?
            I got a red warning blinking in the release build (2020.1.2), NOT in an EAP build.

            I did NOT check any log manually.

            Should I open a bug for this?

            • Anastasia Kazakova says:

              June 7, 2020

              Maybe you have internal mode turn on? Can you please check Help | Edit Custom Properties – if you have the internal flag there?

          • Taw says:

            June 9, 2020

            You are right…perhaps forgotten there after some bug reporting…thanks Anastasia ๐Ÿ™‚

  3. Ernst says:

    June 4, 2020

    hi team

    what’s about JB account’s sync? not fixed keymaps syncing across clion instances ((

    • Anastasia Kazakova says:

      June 4, 2020

      Do you mean some particular bug report? Can you please point me to it? Not sure I fully understand what it is about.

  4. Ernst says:

    June 4, 2020

    this topic on the forum, which also contains a reference to youtrack
    https://intellij-support.jetbrains.com/hc/en-us/community/posts/360003487820-CLion-account-sync-not-working-for-keymaps

    • Ernst says:

      June 4, 2020

      oops , sorry , please move this reply to correct branch ….

    • Anastasia Kazakova says:

      June 4, 2020

      Ah, I see now. Thanks. I’ll check with the team and we’ll update you on the estimation.

    • Anastasia Kazakova says:

      June 4, 2020

      There is a plan for massive rework later this year. And the team will check if some temporary fix is possible in the closest 2020.2 release

      • Ernst says:

        June 5, 2020

        thank you for the update!
        even temporary fix would be very helpful for me and , I believe, for many others )

  5. Pete says:

    June 4, 2020

    I am happy, that CPP-19613 is now fixed. I was missing DFA,

  6. mumin16 says:

    June 5, 2020

    ExecutionException: Cppcheck Error : Exit Code – 1 : /snap/bin/cppcheck “–template=[{file}:{line}]: ({severity}) {id}: {message}” -I/home/x64/project1 –enable=warning,performance,portability,style –language=c++ /tmp/___main.cpp

    • Anastasia Kazakova says:

      June 5, 2020

      Do you have CppCheck plugin installed? Probably, you have to report an issue to its author (it’s a 3rd party plugin)

  7. rgutierrez2004 says:

    June 13, 2020

    Any new updates for Rust plugin in CLion, still having issues with recognizing Tokio runtime modules like tokio::net:UdpSocket, please fix these issues, I use CLion just for the Rust plugin.

Subscribe

Subscribe for updates