CLion EAP: less bugs – more stable

Posted on by Anastasia Kazakova

Following our statistics more than 6.5K unique users are running latest CLion EAP every week and a lot of you are using it for the everyday development. That’s why we’ve got so many questions about the EAP build expiring this week, and we are not going to let you down – new build is coming today!

This EAP is mainly about the bug fixing. You can check the long list in our tracker.

Summarizing the most important changes:

  • Several fixes were introduced to enhance the performance of the editor. Check if you get the improvement and share the feedback with us.
  • Issues with arrays were fixed in this build: CLion now understands the array sizes better (CPP-1568) and thus array length checks work correctly; false ‘compound array initializer’ was fixed (CPP-347).
  • A couple of problems with type casting were addressed (CPP-1567, CPP-1571, CPP-975).
  • CPP-1195 – Parameter info working incorrectly for some cases.
  • CPP-1390 – Incorrect handling of variable’s initialization.
  • CPP-994 – Errors caused by unnamed parameters when performing Rename or Change Signature.
  • CPP-1282 – The regression came to second EAP unfortunately – Rename files in project wasn’t working. Fixed now, and sorry for the inconvenience.
  • A couple of exceptions and fatal failures were fixed in this build as well.

Latest build is available on our EAP page.

Be sure to check the quick start guide to learn how to quickly get started with CLion, as well as to download default keyboard reference for Windows/Linux and for OS X in PDF format from our site, or just find them in Help | Default Keymap Reference.

Develop with pleasure!
JetBrains CLion team

Comments below can no longer be edited.

29 Responses to CLion EAP: less bugs – more stable

  1. Andreas Schneider says:

    November 25, 2014

    Wow, the new Build is really awesome. It’s still a bit CPU hungry in my case, but it works very fluent now and parses much quicker than before.

    I can already use it for productive development 🙂 (Because even if there’s a bug here and there, it’s still a hell of alot better coding experience than with most of the other C++ IDEs.)

    Thanks JetBrains 🙂

    • Anastasia Kazakova says:

      November 25, 2014

      Glad to hear such a feedback! Thanks.

    • Mike says:

      November 26, 2014

      +1

      Way easier to put up with the small bugs and occasional interruptions on CLion EAP than work with Eclipse CDT or Qt Creator.

      Looking forward to the full release 🙂

      • Brendan says:

        December 5, 2014

        Or Visual Studio, for that matter. The fact that CLion is already leagues ahead of any other IDE really shows how awful the previous selection is, not to disparage CLion. It’s a fantastic product and if it shapes up to be anything like IntelliJ, it will be far and away the best C++ IDE in existence. Already is, really.

  2. Drew Noakes says:

    November 25, 2014

    Great news. I’m really enjoying seeing the progress of this EAP and have been looking forward to this build. Time to try it out right now… 🙂

  3. D Co says:

    November 25, 2014

    I downloaded the EAP build, unfortunately it does not support MinGW-64. I do not know what exactly is wrong as I set everything as expected. Any idea? The version of MinGW-64 I’m using is from here (http://mingw-w64.sourceforge.net/download.php ).

    • Anastasia Kazakova says:

      November 26, 2014

      That’s strange, it should work. Could you please attach the screenshot of Build, Execution, Deployment | Toolchain settings? You can just send it to our support address: clion-support at jetbrains.com

  4. Mateusz Paluszkiewicz says:

    November 25, 2014

    Awesome!
    I love all products of JetBrains <3
    Better is now. I can now write own system . Uff..

  5. Lex Chou says:

    November 26, 2014

    The OS X version would be useless if it doesn’t support lldb.

  6. Hans Salomonsson says:

    November 26, 2014

    Thanks!!! …for making CLion! It is SO much better than eclipse, code::blocks, Netbeans, KDevelop, etc. for C development. I really hope that you continue to devote to this project and make it par with intellij and pyCharm (which I use and love).

    Now, back to C coding in a nice environment, finally!

    Cheers

    • Anastasia Kazakova says:

      November 26, 2014

      Thanks for such a great feedback!

  7. wl.nicholas says:

    November 27, 2014

    This version is much more usable. Great job!

    Hope the stable release gets out soon.

  8. abcd says:

    November 27, 2014

    finally!

  9. Greg says:

    November 28, 2014

    Great! Thanks!
    Hope Android/NDK support is in foreseeable future 😀

  10. Jake says:

    November 28, 2014

    It’s actually feels less stable to me, I’m getting it in states where it gets confused about what methods are available to what objects, and the like. (I never had any trouble with the September 29th build). I haven’t been able to reliably reproduce this, tho, and exiting and re-opening fixes it.

    But much thanks regardless, and I look forward to buying the real release when it comes out.

    • Anastasia Kazakova says:

      November 29, 2014

      If you manage to reproduce the problem on some sample project feel free to report the issue to the tracker. We’ll have a look. And thanks for the support.

  11. Vincent says:

    December 2, 2014

    Hi,
    During the install process, as well as during the first launch, it seems the compiler is used to create executables in background, but these are detected by viruses by Avast Antivirus, causing the tests to fail. Here is a sample popup :
    http://screencast.com/t/9QTcKFKmV
    I’m sure it’s a false positive, but as the filename is randomly generated, I don’t think I can tell Avast to ignore one specific file 🙁
    Keep on the good work,

    Vincent

    • Vincent says:

      December 2, 2014

      detected *as* viruses, not *by* viruses, of course

    • Anastasia Kazakova says:

      December 2, 2014

      We are trying to perform the simple check (just as Autotools do). CLion actually tries to build a simple program to check your toolchain and to report you the problems.

      • Vincent says:

        December 5, 2014

        Yeah, I guess so, and I’m not worried about that program in itself.
        But the result is that CLion is unusable if Avast is running on my computer.
        Maybe changing that program so that it looks more “legit” to Avast would do ? Or contacting Avast so that they don’t detect that program as a threat…
        Just my 2 cents 🙂

        • Anastasia Kazakova says:

          December 6, 2014

          We’ll see for sure what we can do.

          • Fer says:

            February 21, 2017

            Same happens with Symantec Antivirus. On the first start of the programs as when you open a new project, the antivirus detect those .exe files and clion config fails.

            • Anastasia Kazakova says:

              February 21, 2017

              CLion doesn’t include any software that can make a harm to your computer. This .exe is a test program that CLion uses to check that the Toolchains are configured properly. So to continue with CLion configure your antivirus to allow CLion to run it.

  12. Radomír Polách says:

    January 6, 2015

    I just tried the latest EAP version, it does not support std::enable_if and variable number of arguments in templates.

    • Radomír Polách says:

      January 6, 2015

      Example of variable number of arguments template:


      template
      class variant_base;

      template
      class variant_base {
      static const size_t data_size = ST::value;
      static const size_t data_align = AT::value;

      using data_t = typename std::aligned_storage::type;
      protected:

      size_t type_id;
      data_t data;

      variant_base() { this->type_id = 0; }
      };

      template
      class variant_base : public variant_base {
      protected:
      variant_base() { this->type_id = 0; }
      public:
      using variant_base::variant_base;

      variant_base(const F& value) { this->type_id = typeid(F).hash_code(); new (&this->data) F(value); }
      variant_base(F&& value) { this->type_id = typeid(F).hash_code(); new (&this->data) F(std::move(value)); }
      };

      • Radomír Polách says:

        January 6, 2015

        Ooops, it has been mangeled somehow, trying again:

        template
        class variant_base {

        template
        class variant_base : public variant_base {

        protected:

        • Radomír Polách says:

          January 6, 2015

          Nope, it doesn’t post correctly here.

Subscribe

Subscribe for updates