|
Boost : |
From: dwolfram_at_[hidden]
Date: 2001-01-22 21:31:46
Hi Jeremy,
Thank you for your detailed reply. We are very interested to hear the
first-hand views of library developers.
You may be interested to know that the following conformance-related
issues have been resolved for Visual C++.NET:
Q240862 BUG: C2555 On Virtual Functions with Covariant Return Types
Q240871 BUG: Explicitly Specified Template Functions Not Overloaded
Correctly
Q241569 BUG: C2258 and C2252 on in Place Initialization of Static
Const Members
Q241706 BUG: C2123 on Function Try Block Syntax
Q241940 BUG: C2954 on using class template as template parameter
Q242192 BUG: uncaught_exception() Always Returns False
Q243444 BUG: CSTDLIB Does Not Define the Namespace STD
Q167733 PRB: Operator New Doesn't Throw bad_alloc Exception on Failure
For loop variable scope.
I shall ensure that your comments are discussed by the team.
David Wolfram
Visual C++ Compiler Team
--- In boost_at_[hidden], Jeremy Siek <jsiek_at_l...> wrote:
> Hi David,
>
> Thank you very much for doing this survey! I really hope that you
take
> action based on the responses.
>
> On Fri, 19 Jan 2001 dwolfram_at_m... wrote:
> dwolfr> 1. Which third-party libraries do you use?
>
> I use Blitz++, the Matrix Template Library (MTL), the boost
libraries
> (especially the graph library), and STLport.
>
> dwolfr> 2. If you cannot use Visual C++ with these libraries, what
are the
> dwolfr> causes of this? For example, does the library require
partial
> dwolfr> template specialization support? Do other issues also
prevent you
> dwolfr> from using the library with Visual C++?
>
> Blitz++ uses partial specialization. The Boost Graph Library and
also MTL
> have lots of #ifdef workarounds for VC++ because of the lack of
partial
> spec. Also, the next version of MTL (BTW, I'm the author) will
includes
> lots of wonderful new features, but they all require partial spec.
>
> dwolfr> 3. If you are a library developer, what workarounds or
design
> dwolfr> constraints were required for compatibility with Visual
C++? What
> dwolfr> were the most significant ones? Did the workarounds or
constraints
> dwolfr> have performance impacts?
>
> The partial specialization is the number one issue. However, there
are
> others. Standard library conformance is also VERY important,
especially
> things like iterator_traits.
>
> Also, for performance, the lightweight object optimization done by
> the KAI C++ compiler greatly improves performance for modern C++
> template libraries. I would like to see VC++ use this optimization
> (or use some equivalent optimization).
>
> In addition, I've run into lots of random internal compiler errors
when
> using/creating template-heavy libraries. I'm afraid these errors
are very
> difficult to characterize.
>
> I probably spend on average 5 hours every week doing workarounds
> for VC++ bugs. My productivity would be greatly enhanced if this
> were no longer the case.
>
> dwolfr> 4. Are you mainly a "consumer" or "producer" of library
templates?
>
> Mainly a producer, though often times the libraries I produce are
> "in the middle", and use other libraries.
>
> dwolfr> I hope to hear from you, and shall summarize the replies if
they are
> dwolfr> numerous.
>
> Great, thanks!
>
> Jeremy
>
> --------------------------------------------------------------------
-- > Jeremy Siek www: http://www.lsc.nd.edu/~jsiek/ > Ph.D. Candidate email: jsiek_at_l... > Univ. of Notre Dame work phone: (219) 631-3906 > -------------------------------------------------------------------- --
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk