Mbed Studio 1.4.2 linter bugs

I’ve been working on a project that mixes C and C++ with the ARM compiler for few months without issues. Yesterday I upgraded Mbed Studio to the 1.4.2 version and now the linter is showing many false problems. I refer to them as false because the code compiles just fine.

Captura

So far I could identify the following issues:

  • Unknown type name ‘uintX_t’

I had the stdint.h header included beforehand in another header used by a source file. On this source file the ‘quick fix’ suggests including stdint.h, and if I click fix it is included but the error remains.

  • Use of undeclared identifier ‘memcpy’; did you mean ‘wmemcpy’? (fix available)

I need to use ‘memcpy’ and I’m including string.h. Then, even if I click on fix, then the following error appears: No matching function for call to ‘wmemcpy’

Again, these “problems” don’t prevent the code from compiling. The errors are only shown in the source files, no matter if they are C or C++.

Any way to fix this? Thanks in advance.

1 Like

Hi, I have the exact same problem, however my code that compiled perfectly in 1.4.1, does not now compile because it says “L6218E: Undefined symbol rtos::ThisThread::sleep_for(…etc”

My install of 1.4.2 is complaining about ‘strlen’, ‘strtok’ and ‘strcpy’

Does anyone know where I can download the 1.4.1 installer so I can get back up and running again?

Hey, I had the same issue with the ThisThread::sleep_for() method. Try to change it to millisenconds (just the number: 100) instead of writing “5s” or “100ms”. That worked for me yesterday, but today I had to add the "unit"again. So weird…

I did try that, I then got the warning message telling me to add the ‘s’ or ‘ms’ but it still didn’t compile it.

Sometimes working with MBED can be so frustrating.

Same issue with memset (including string.h does not help).

Hello,

this issue occurs in Keil Studio without a solution for few months.
I don’t remember if I already reported it or not. There is not public list of actual known issues and its status.

@arekzaluski any comment?

BR, Jan

Same issue with ThisThread::sleep_for() and “memcopy” after updating to 1.4.2.

Uninstall and reinstalled 1.4.0 but now I get TickerBase::attach error also (sleep_for error continues).

Error: L6218E: Undefined symbol mbed::TickerBase::attach(mbed::Callback<void…
Error: L6218E: Undefined symbol rtos::ThisThread::sleep_for(std::__2…
Error: L6218E: Undefined symbol std::__2::basic_string<char, std::__2::char_tra…

Same problem with 1.4.2 MbedStudio.

How can i back to 1.4.1 version?
Where download previous version?

Thx,
YSI

Clearly there is an issue with the latest upgrade. I am having a problem with “strlen”. Worked in version 1.4.1 but gives issues with 1.4.2. I assumed it was my own ignorance and have spent many hours trying to solve the problem - with no success.

I’m sure many of us would like to know how to resolve the problem, or how to revert an Mbed Studio installation to version 1.4.1.

Jim Herd

1 Like

Hi.
We are also having problems. All worked OK on 1.4.1 but after update Studio to 1.4.2 Lint cannot find many header files (such as stddef.h, stdint.h and so on). Same question: where to find older version installation or what have to be done to solve this problem on updated version??? Big project has stopped… If we do not have any solution in a short time we will have to change IDE to some other one…

Hello, I happen to have the Mbed studio 1.4.1 installation executable saved on my machine, for you looking “revert” I guess the best option would be to uninstall 1.4.2 and install 1.4.1 instead, and then just never clicking the update prompt. I am not sure if posting download links is allowed, but see the link below for a download.

2 Likes

Hello, before taking the decision to uninstall and switch back to version 1.4.1 provided by Tijn_Losekoot I tried different things including a clean build.
And this clean build solved my Error: L6218E.

1 Like

When I build/clean build my system I get the following messages

However, the compile completes without any errors. I am unable to test this code on my hardware at this time so cannot tell if there are any issues.

Should I just ignore these problems?

Thanks

Jim Herd

Hello,

I am using Mbed Studio under Ubuntu 18.04 and I have the same problem as you

Marc.

Hi everyone,

The Mbed Studio team are investigating the issues reported with C/C++ support in version 1.4.2. This is most likely caused by the upgrade from Arm Compiler 6.15 to 6.16.

Apologies for any inconvenience, we’ll keep you posted on the fix.

If you are affected by this issue, you can roll back to the old release:

  1. Uninstall 1.4.2
  2. Download and install 1.4.1 for your platform: Linux Windows Mac
  3. Ignore any tools updates until a fix is available

Matt

3 Likes

@mgordon01
Thanks for the links to the older versions.
I figured out the link for v1.4.0
Now at least i can revert back to that version and get rid of the linting errors and also have my printf and friends function properly which have been broken since v1.4.1

I’m having a similar problem with the linter, although I’m using gcc as the compiler. Maybe it’s also an issue with clangd?

Hi all,

We’ve just released Mbed Studio 1.4.3 with fixes for the C/C++ language support with Arm Compiler.

The new version is live on Mbed Studio | Mbed and will be rolling out over auto-update in the next few days.

Thanks,
Matthew

3 Likes

I just downloaded and installed Mbed Studio 1.3. I’m still having the same linter issues.

Note that I’m using gcc instead of the ARMCC.


o

Thanks,

-Dan Fay

I’m seeing similar issues with Intellisense in Mbed Studio 1.4.3 where say int32_t and bool are flagged up as being ‘Use of Undeclared Identifier’ in the editor (using clang?), Intellisense with both stdint.h and stdboo.h included. The code compiles fine with the default (Arm?) compiler tool chain.
I only see the issue if the file I’m compiling is a .c file. If I change the suffix to .cpp to invoke the compiler in C++ mode with C++ includes then the intellisense issues go away.