Don't warn about legal extern "C++" {} block

This commit is contained in:
Seth R Johnson 2022-02-10 07:18:43 -05:00 committed by Olly Betts
commit 2ecc5bc214
2 changed files with 5 additions and 1 deletions

View file

@ -18,6 +18,7 @@ thread_local extern int teval;
extern "C" thread_local int ectval;
extern "C" { thread_local int ectval2; }
extern "C++" thread_local int ecpptval;
extern "C++" { thread_local int ecpptval2; }
thread_local int ThreadLocals::stval = 11;
thread_local int ThreadLocals::tsval = 22;
@ -34,4 +35,5 @@ thread_local int teval = 44;
thread_local int ectval = 55;
thread_local int ectval2 = 56;
thread_local int ecpptval = 66;
thread_local int ecpptval2 = 67;
%}

View file

@ -3139,7 +3139,9 @@ c_declaration : c_decl {
n = nextSibling(n);
}
} else {
Swig_warning(WARN_PARSE_UNDEFINED_EXTERN,cparse_file, cparse_line,"Unrecognized extern type \"%s\".\n", $2);
if (!Equal($2,"C++")) {
Swig_warning(WARN_PARSE_UNDEFINED_EXTERN,cparse_file, cparse_line,"Unrecognized extern type \"%s\".\n", $2);
}
$$ = new_node("extern");
Setattr($$,"name",$2);
appendChild($$,firstChild($5));