octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #51639] 'struct help_system' violates the C++


From: Dmitri A. Sergatskov
Subject: [Octave-bug-tracker] [bug #51639] 'struct help_system' violates the C++ One Definition Rule
Date: Tue, 1 Aug 2017 16:16:39 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0

URL:
  <http://savannah.gnu.org/bugs/?51639>

                 Summary: 'struct help_system' violates the C++ One Definition
Rule
                 Project: GNU Octave
            Submitted by: dasergatskov
            Submitted on: Tue 01 Aug 2017 08:16:38 PM UTC
                Category: None
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Build Failure
                  Status: None
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: dev
        Operating System: GNU/Linux

    _______________________________________________________

Details:

I noticed in fedora lto builds (gcc 7.1.1):


libtool: link: ( cd "libinterp/dldfcn/.libs" && rm -f "qr.la" && ln -s
"../qr.la" "qr.la" )
/usr/bin/install -c libinterp/dldfcn/.libs/qr.so libinterp/dldfcn/qr.oct
../src/libinterp/corefcn/help.h:39:9: warning: type 'struct help_system'
violates the C++ One Definition Rule [-Wodr]
   class help_system
         ^
../src/libinterp/corefcn/help.h:39:9: note: a different type is defined in
another translation unit
   class help_system
         ^
../src/libinterp/corefcn/help.h:138:18: note: the first difference of
corresponding definitions is field 'm_interpreter'
     interpreter& m_interpreter;
                  ^
../src/libinterp/corefcn/help.h:138:18: note: a field of same name but
different type is defined in another translation unit
     interpreter& m_interpreter;
                  ^
../src/libinterp/corefcn/help.h:33:7: note: type name 'interpreter' should
match type name 'octave::interpreter'
 class interpreter;
       ^
../src/libinterp/corefcn/interpreter.h:66:23: note: the incompatible type is
defined here
   class OCTINTERP_API interpreter
                       ^


See e.g.:



http://buildbot.octave.org:8010/builders/gcc-lto-fedora/builds/640/steps/compile/logs/stdio



Dmitri.





    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?51639>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]