[ 
http://issues.apache.org/jira/browse/STDCXX-302?page=comments#action_12448911 ] 
            
Martin Sebor commented on STDCXX-302:
-------------------------------------

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: http://issues.apache.org/jira/browse/STDCXX-302
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: Build
>         Environment: Compaq C++, Tru64 UNIX
>            Reporter: Martin Sebor
>         Assigned To: Martin Sebor
>
> 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.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to