Skip to content

GNU99 #8302

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
1 task done
podaen opened this issue Jun 9, 2023 · 9 comments
Closed
1 task done

GNU99 #8302

podaen opened this issue Jun 9, 2023 · 9 comments
Labels
Type: Feature request Feature request for Arduino ESP32

Comments

@podaen
Copy link

podaen commented Jun 9, 2023

Related area

N/A

Hardware specification

N/

Is your feature request related to a problem?

In

platform.txt

compiler.c.flags....= -std=gnu99 is using a linux sdk from 1999. Many Linux developers don't use those anymore.

While

compiler.cpp.flags....= -std=gnu++11

For S3, S2, C3 it is the same

Describe the solution you'd like

Why not using std11?? same year as c++.

Describe alternatives you've considered

No response

Additional context

No response

I have checked existing list of Feature requests and the Contribution Guide

  • I confirm I have checked existing list of Feature requests and Contribution Guide.
@podaen podaen added the Type: Feature request Feature request for Arduino ESP32 label Jun 9, 2023
@podaen
Copy link
Author

podaen commented Jun 9, 2023

Maybe this is related

#8225

@podaen
Copy link
Author

podaen commented Jun 10, 2023

I reached the question once on the IDF core and no body could give me a profound answer on the std version in use. I think it's imbedded in tool chain "xtensa-esp32-elf.exe" so nobody actually knows. And as I sad it keeps hanging on that very old version 1999 in platform.txt. I got some answers like... oh it's there isn't much of difference. Yeah, untill you make a big project! I would say this: How longer we wait, how difficult it is to step over from one to an other, because of the they way around that has been programmed that can't been changed for backwards compatibility.

I found this

https://github.com/espressif/gcc

and that's the one that is probably in use, not actually sure.
Here is the tool to config it

https://github.com/espressif/esp-xtensaconfig-lib

This is a part of the ESP Arduino core... Still don't know what plugin and what version IDF is using (and what about all those other components that has been added the last years. You see what I am telling? Seems that this issue is has put on the long way.

https://github.com/espressif/esp-idf/releases/tag/v4.4.4

Not one md file that tells me what c or c++ is used and everything runs on it.

Probably those two files that contain the information [D:\Code\VS\2022\repos\Arduino\hardware\espressif\esp32\tools\xtensa-esp32-elf\bin]

libgcc_s_sjlj-1.dll
libstdc++-6.dll

Those seems redustrutables

libexec has some exe's that contains a wrapper. The version of libexec we can find easly 8.4.0...

@Jason2866
Copy link
Collaborator

The used toolchains for core 2.0.9 and IDF v4.4.4 are based on gcc v8.4.0 and built with crosstool-NG https://github.com/espressif/crosstool-NG/tree/esp-2021r2-patch5

@podaen
Copy link
Author

podaen commented Jun 11, 2023

Yeah, it supports C++17. We are on c++11, but I didn't had issues with that in the past. Std flag is and the 8.4.0 support vectors so it have to be >C11. Still there is C99 in the platform.txt

@lbernstone
Copy link
Contributor

I would say this: How longer we wait, how difficult it is to step over from one to an other, because of the they way around that has been programmed that can't been changed for backwards compatibility.

Are you saying that if you change this in platform.txt, there is a significant difference in compile time?

@podaen
Copy link
Author

podaen commented Jun 17, 2023

Yeah, speeding up the compiling time for sure, but it demands a decrease of the clock speed if you want to use vectors, regarding there will be nothing to handle those complex values. Still this is my opinion what it could be!

@podaen podaen closed this as completed Jun 17, 2023
@podaen
Copy link
Author

podaen commented Aug 7, 2023

I got some news,

I did some research and this link below you see we now using IDF 4.4 When we look at the IDF SDK 4.4.5 It is using by default std=gnu99 and std=gnu++11 You could use a new version, but it is not recommended by IDF or the Arduino core.

When we look at IDF 5.0, we see finally some movement for C too 17 and for C++ to 20... finally not really! They quickly step over ( IDF 5.1 ) to C17 and C++23. And this look promising out of my experience with the standard language, working with the Arduino-ESP core and external lib's.

The Arduino core 2.0.3 was first released May 4, 2022 when the IDF 4.4.1 was released on Apr 19, 2022. This looks promising! Let the count down begin!!!

:-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-)

@podaen podaen reopened this Aug 7, 2023
@Shaquum
Copy link

Shaquum commented Oct 2, 2023 via email

@Parsaabasi
Copy link

Hello,

Due to the overwhelming volume of issues currently being addressed, we have decided to close the previously received tickets. If you still require assistance or if the issue persists, please don't hesitate to reopen the ticket.

Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Feature request Feature request for Arduino ESP32
Projects
None yet
Development

No branches or pull requests

5 participants