rspec/rules/S3730/rule.adoc
Arseniy Zaostrovnykh 7ca29f686f Force linebreaks
2021-02-02 15:02:10 +01:00

20 lines
822 B
Plaintext

``++#include_next++`` is a gcc-specific language extension that alters the search path for the specified header file by starting the search from the header file directory _after_ the one in which the directive was encountered. It also ignores the distinction between ``++"file"++`` and ``++<file>++``. It is typically used when you have two (probably related) header files with the same name, although there is nothing in the extension to enforce or limit the use to same-name files.
Use of this extension can be tricky to get right, and is almost never justified. Instead, you should use an absolute path in the ``++#include++`` statement or rename one of the files.
== Noncompliant Code Example
----
#include_next "foo.h" // Noncompliant
----
== Compliant Solution
----
#include "/usr/local/include/foo.h"
----