+
+ /* attempt to parse numeric flags as outputted by gcc preprocessor */
+ while (pp_token.kind == T_INTEGER) {
+ /* flags:
+ * 1 - indicates start of a new file
+ * 2 - indicates return from a file
+ * 3 - indicates system header
+ * 4 - indicates implicit extern "C" in C++ mode
+ *
+ * currently we're only interested in "3"
+ */
+ if (streq(pp_token.number.number.begin, "3")) {
+ lexer_pos.is_system_header = true;
+ }
+ next_pp_token();
+ }