Skip to content

preprocessor issue when "{" is present #51

Closed
@ffissore

Description

@ffissore

From @qbahn21 on November 9, 2015 15:27

Arduino 1.6.6 and 1.6.7:
Try to compile this sketch for an AVR board. It results in a compilation error: "'f2' was not declared in this scope".

ifdef SAM3X8E // Arduino Due compatible

void fake()
{
}

else

void fake ()
{
}

endif

void f1(){ f2(); }
void f2(){;}

void setup() {
}
void loop() {
}

But when lines 3 and 4 are commented out like this:

ifdef SAM3X8E // Arduino Due compatible

void fake()
//{
//}

else

...
the sketch compiles just fine. Why does a code that shouldn't be included prevents a compilation?

Copied from original issue: arduino/Arduino#4118

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions