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

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

[Octave-bug-tracker] [bug #41178] ov-classdef.h: constructing a map of a


From: Michael C. Grant
Subject: [Octave-bug-tracker] [bug #41178] ov-classdef.h: constructing a map of an incomplete type
Date: Thu, 09 Jan 2014 21:00:11 +0000
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36

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

                 Summary: ov-classdef.h: constructing a map of an incomplete
type
                 Project: GNU Octave
            Submitted by: mcgrant
            Submitted on: Thu 09 Jan 2014 09:00:10 PM GMT
                Category: Interpreter
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Build Failure
                  Status: None
             Assigned to: None
         Originator Name: Michael C. Grant
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: dev
        Operating System: Any

    _______________________________________________________

Details:

I've been struggling to compile the dev sources on Mac OSX with the latest
Xcode, and it has proven quite frustrating. But I think I've figured out why:
you've got some code in there that technically is *not* standards compliant,
and clang++ is deciding to be particularly strict about it.

Specifically: on line 448 of libinterp/octave-value/ov-classdef.h, which looks
to be autogenerated, you have this:


  std::map< cdef_class, std::list<cdef_class> > ctor_list;


cdef_class is declared on line 611. But C++ requires that all template
parameters in the standard library containers be complete types, so this is
non-compliant.

The standard says that compiler behavior is undefined in this case: compilers
are allowed to reject it completely, or they can compile it, their choice.
Apparently clang is not making the choice I'd like here. Why it is more
permissive other times I am frankly not sure.





    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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