[gcc r11-5065] C-family : Fix a C++ ODR violation [PR97854].

Iain D Sandoe iains@gcc.gnu.org
Mon Nov 16 21:38:51 GMT 2020


https://gcc.gnu.org/g:814e016318646d06b1662219cc716d502b76d8ce

commit r11-5065-g814e016318646d06b1662219cc716d502b76d8ce
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Mon Nov 16 19:33:35 2020 +0000

    C-family : Fix a C++ ODR violation [PR97854].
    
    The changes in r11-4799 introduced a dummy enum rid type with
    a different initial member name to the actual version (an ODR
    violation).  Fixed by including the header declaring the
    actual type.
    
    gcc/c-family/ChangeLog:
    
            PR objc/97854
            * stub-objc.c: Include c-common.h to declare enum rid.

Diff:
---
 gcc/c-family/stub-objc.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/gcc/c-family/stub-objc.c b/gcc/c-family/stub-objc.c
index 26941aa2cb4..1914432678e 100644
--- a/gcc/c-family/stub-objc.c
+++ b/gcc/c-family/stub-objc.c
@@ -25,10 +25,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree.h"
 #include "vec.h"
 
-/* Provide a dummy type for the RID enum used as an argument to
-   objc_prop_attr_kind_for_rid () */
-enum rid { DUMMY };
-
+#include "c-common.h" /* for enum rid.  */
 #include "c-objc.h"
 
 tree


More information about the Gcc-cvs mailing list