Skip to content

Multiline raw Strings not parsed in Macro #3352

Closed
@romanseidl

Description

@romanseidl

Basic Infos

The esp8266 toolkit uses gcc 4.8.2 an thus it fails to parse a multiline raw String when it is passed as an argument to a macro. The same sketch as below will build without errors when using the original Arduino toolkit (when switching to AVR / Arduino Hardware in the Arduino IDE).

This was fixed in gcc 4.9 :
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57824

Sketch

#include <Arduino.h>

#define S(s) s

const char y[] = S(R"(
abc
)");

void setup() {
}

void loop() {
}

Error Message

sketch_jun13a:3: error: unterminated raw string
 const char y[] = S(R"(
                    ^
exit status 1
unterminated raw string

Resolution?

Is there a reason on why you are using the 4.8.2 version of gcc? Max Filippov seems to provide newer versions on https://github.com/jcmvbkbc/linux-xtensa

So would it be possible to use a newer gcc version? Or would one have to "backfix" the old gcc for some reason?

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    pFad - Phonifier reborn

    Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

    Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


    Alternative Proxies:

    Alternative Proxy

    pFad Proxy

    pFad v3 Proxy

    pFad v4 Proxy