== Why is this an issue?

include::../../../shared_content/cfamily/line_splicing.adoc[]

Several compilers have a loose implementation of _line-splicing_ and allow whitespace after the `\` character.
While this practice was non-portable until {cpp}23, it remains non-portable in C.
Furthermore, readers can easily be confused about the meaning of these whitespaces.

Therefore, for portability and clarity, `\` should be immediately followed by a newline character, as in the following example.

[source,cpp]
----
// Compliant: there is no whitespace after the '\'
#define FOO BAR \
            BAZ
----

== Resources

=== Documentation

* {cpp} reference - https://en.cppreference.com/w/cpp/language/translation_phases[Phases of translation]

=== Related rules

* S2323 - Line-splicing should not be used in "//" comments

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

Remove the whitespace after this "\" character


endif::env-github,rspecator-view[]
