You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@stdcxx.apache.org by "Martin Sebor (JIRA)" <ji...@apache.org> on 2008/11/12 16:47:44 UTC
[jira] Commented: (STDCXX-968) [HP aCC 6.16] Remark #4231 using
std::vector<>::assign
[ https://issues.apache.org/jira/browse/STDCXX-968?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12646932#action_12646932 ]
Martin Sebor commented on STDCXX-968:
-------------------------------------
The 0 looks fine to me. I had at first thought the 1 was there on purpose, to get around some compiler's bug, but going back in the changelog (pre-2005) I don't see an explanation for it. The original code had a 0 there and was changed to 1 without a hint as to why.
{noformat}
#define _RWSTD_DISPATCH(iter) \
((_RW::__rw_select<_RW::__rw_is_int< iter >::_C_val>*)0)
{noformat}
> [HP aCC 6.16] Remark #4231 using std::vector<>::assign
> ------------------------------------------------------
>
> Key: STDCXX-968
> URL: https://issues.apache.org/jira/browse/STDCXX-968
> Project: C++ Standard Library
> Issue Type: Improvement
> Components: 23. Containers
> Affects Versions: 4.2.1
> Reporter: Travis Vitek
> Assignee: Travis Vitek
> Priority: Trivial
> Fix For: 4.2.2
>
> Original Estimate: 1h
> Time Spent: 1h
> Remaining Estimate: 0h
>
> Note that I have removed +W4231 from the build line by modifying {{$(BUILDDIR)/makefile.in}}
> {noformat}
> [vitek@gofish tests]$ cat t.cpp && gmake t.o
> #include <vector>
> struct S { };
> int main ()
> {
> S s;
> std::vector<S> v;
> v.assign (&s, &s + 1);
> return 0;
> }
> aCC -c -D_RWSTDDEBUG \
> -I/amd/devco/vitek/stdcxx/4.3.x/include \
> -I/build/vitek/4.3.0/11S/include \
> -I/amd/devco/vitek/stdcxx/4.3.x/tests/include \
> -AA -g +d +DD64 +w \
> +W392,655,684,818,819,849 \
> +W2193,2236,2261,2340,2401,2487 \
> +W4227,4229,4235,4237,4249 \
> +W4255,4272,4284,4285,4286,4296,4297 \
> +W3348 t.cpp
> "/amd/devco/vitek/stdcxx/4.3.x/include/vector", line 194: remark #4231-D: 64
> bit migration: conversion between types of different sizes has
> occurred (from "int" to "void *" )
> _C_assign (__first, __last, _RWSTD_DISPATCH (_InputIter));
> ^
> detected during instantiation of "void std::vector<_TypeT,
> _Allocator>::assign(_InputIter, _InputIter) [with
> _TypeT=S, _Allocator=std::allocator<S>, _InputIter=S *]"
> at line 10 of "t.cpp"
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.