The #include syntax (from cppreference.com)
  1. # include < h-char-sequence > new-line
  2. # include " h-char-sequence " new-line
  3. # include pp-tokens new-line
The pp-tokens in (3) is a macro that get expanded until it matches (1) or (2), and when it doesn't it is undefined behavior.

This proposal is to add another syntax for #include

  1. # include < h-char-sequence > new-line
  2. # include " h-char-sequence " new-line
  3. # include once new-line
  4. # include pp-tokens new-line

The fact that by convention all macros are written in all uppercase pr starts with underscore make this proposal very unlikely to break existing code.

The implementation for this proposal is already done using the compiler-specific #pragma once syntax but here it will be more convenient and a standard way to not include it more than once.