c++: Make extern-C mismatch an error
authorNathan Sidwell <nathan@acm.org>
Tue, 3 Nov 2020 16:35:53 +0000 (08:35 -0800)
committerNathan Sidwell <nathan@acm.org>
Tue, 3 Nov 2020 16:49:26 +0000 (08:49 -0800)
commit770ec066b8b5d70921dfab9fcd1bbb87abeb0dc5
tree6a77dd4e5833dca8b806912e1d0a906b9fbd1129
parent082a7b239096caf422f7ef138e2729b2730c0d70
c++: Make extern-C mismatch an error

duplicate_decls was being lenient about extern-c mismatches, allowing
you to have two declarations in the symbol table after emitting an
error.  This resulted in duplicate error messages in modules, when we
find the same problem multiple times.  Let's just not let that happen.

gcc/cp/
* decl.c (duplicate_decls): Return error_mark_node fo extern-c
mismatch.
gcc/cp/decl.c