[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/
- [Octave-bug-tracker] [bug #41178] ov-classdef.h: constructing a map of an incomplete type,
Michael C. Grant <=