Issue Details (XML | Word | Printable)

Key: STDCXX-302
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Martin Sebor
Reporter: Martin Sebor
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
C++ Standard Library

[Compaq C++] unsats for template specializations in tests

Created: 11/Nov/06 12:38 AM   Updated: 12/Nov/08 03:42 AM
Return to search
Component/s: Tests
Affects Version/s: 4.2.0
Fix Version/s: 4.3.0

Time Tracking:
Original Estimate: 8h
Original Estimate - 8h
Remaining Estimate: 8h
Remaining Estimate - 8h
Time Spent: Not Specified
Remaining Estimate - 8h

Environment: Compaq C++, Tru64 UNIX
Issue Links:
Reference
 

Severity: Linker Error


 Description  « Hide
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


 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Martin Sebor added a comment - 11/Nov/06 12:46 AM - edited
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

Martin Sebor added a comment - 30/May/07 12:43 AM
Scheduled for 4.2.0.

Martin Sebor added a comment - 16/Oct/07 01:59 AM
This affects tests only. Deferred for 4.2.1.

Martin Sebor added a comment - 30/Jan/08 04:50 AM
Added the {noformat} Wiki tag to make the Description more readable.

Martin Sebor added a comment - 25/Apr/08 12:58 AM
Similar to the library unsats in STDCXX-406.

Martin Sebor added a comment - 25/Apr/08 12:58 AM
Deferred to 4.2.2.

Martin Sebor added a comment - 12/Nov/08 03:42 AM
Deferred until we have access to this platform.