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/01/30 05:44:34 UTC

[jira] Issue Comment Edited: (STDCXX-302) [Compaq C++] unsats for template specializations in tests

    [ https://issues.apache.org/jira/browse/STDCXX-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12448911#action_12448911 ] 

sebor edited comment on STDCXX-302 at 1/29/08 8:44 PM:
--------------------------------------------------------------

{noformat}
This is almost certainly because of the ugly hackery in makefile common that tries to create the name of the repository by using the $(*F) make variable in the definition of another variable (see below). This needs to be reworked.

# SRCDIRS must be defined in GNUmakefile that includes this file
ifeq ($(ONE_REPOSITORY),)

  ifneq ($(CXX_REPOSITORY),)

    # compose the name of the template instantiation repository from
    # the name of the test and a unique suffix (so that each test has
    # its own and same names with different definitions do not cause
    # conflicts) and append it to the name of the compiler and linker
    #
    # e.g., Compaq C++ where this will expand to something like
    #     -ptr foo.ti
    # or IBM VisualAge where it will be along the lines of
    #    --qtempinc=foo.ti
    # or
    #    --qtemplateregistry=foo.ti
    #
    repository_name = $(shell basename $(*F) 2>/dev/null).ti
{noformat}

      was (Author: sebor):
    This is almost certainly because of the ugly hackery in makefile common that tries to create the name of the repository by using the $(*F) make variable in the definition of another variable (see below). This needs to be reworked.

# SRCDIRS must be defined in GNUmakefile that includes this file
ifeq ($(ONE_REPOSITORY),)

  ifneq ($(CXX_REPOSITORY),)

    # compose the name of the template instantiation repository from
    # the name of the test and a unique suffix (so that each test has
    # its own and same names with different definitions do not cause
    # conflicts) and append it to the name of the compiler and linker
    #
    # e.g., Compaq C++ where this will expand to something like
    #     -ptr foo.ti
    # or IBM VisualAge where it will be along the lines of
    #    --qtempinc=foo.ti
    # or
    #    --qtemplateregistry=foo.ti
    #
    repository_name = $(shell basename $(*F) 2>/dev/null).ti


  
> [Compaq C++] unsats for template specializations in tests
> ---------------------------------------------------------
>
>                 Key: STDCXX-302
>                 URL: https://issues.apache.org/jira/browse/STDCXX-302
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: Tests
>    Affects Versions: 4.2.0
>         Environment: Compaq C++, Tru64 UNIX
>            Reporter: Martin Sebor
>            Assignee: Martin Sebor
>             Fix For: 4.2.1
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> Many tests are failing to link due to unsats for template specializations instantiated in them. From the command line below it looks like the link line is missing the name of the template repository named on the compiler line by the argument to the -ptr option:
> cxx -c -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build2/batman/5.0.0/builds/33198521/source-buildspace/include -I/build2/batman/5.0.0/builds/33198521/source-buildspace/build/include -I/build2/batman/5.0.0/builds/33198521/source-buildspace/../rwtest -I/build2/batman/5.0.0/builds/33198521/source-buildspace/../rwtest/include -I/build2/batman/5.0.0/builds/33198521/source-buildspace/tests/include  -x cxx -nocxxstd -std strict_ansi_errors -g  -ptr 0.valcmp.ti -w1 -msg_disable 450  /build2/batman/5.0.0/builds/33198521/source-buildspace/tests/self/0.valcmp.cpp
> cxx 0.valcmp.o -o 0.valcmp -L/build2/batman/5.0.0/builds/33198521/source-buildspace/build/rwtest -lrwtest -nocxxstd -liconv   -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build2/batman/5.0.0/builds/33198521/source-buildspace/include -I/build2/batman/5.0.0/builds/33198521/source-buildspace/build/include -I/build2/batman/5.0.0/builds/33198521/source-buildspace/../rwtest -I/build2/batman/5.0.0/builds/33198521/source-buildspace/../rwtest/include -I/build2/batman/5.0.0/builds/33198521/source-buildspace/tests/include  -ptr .ti -L/build2/batman/5.0.0/builds/33198521/source-buildspace/build/lib -lstd   -lm
> ld:
> Unresolved:
> run_test(const char*, const char*)
> run_test(const signed char*, const char*)
> run_test(const unsigned char*, const char*)
> run_test(const short*, const char*)
> run_test(const unsigned short*, const char*)
> run_test(const int*, const char*)
> run_test(const unsigned int*, const char*)
> run_test(const long*, const char*)
> run_test(const unsigned long*, const char*)
> run_test(const long long*, const char*)
> run_test(const unsigned long long*, const char*)
> run_test(const wchar_t*, const char*)
> gmake: *** [0.valcmp] Error 1

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.