IBM Support

LI77494: COMPILER ISSUES UNDEFINED REFERENCE ERROR

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Consider the following example:
    
    
    File main.cpp:
    ---------------------------------
    $cat main.cpp
    #include "virtual.h"
    
    int main(){
    
     /// --- comment out below to avoid error (a) ---
     /// --- (start) ---
     vector1 vec1; f(vec1); // <- error
     /// --- (end) ---
    }
    
    
    File vector.cpp
    ---------------------------------
    $cat vector.cpp
    #include "vector.h"
    
    void f(const vector1& v) {}
    
    
    
    File vector.h:
    ---------------------------------
    $cat vector.h
    #include <cstddef> // <- for std::size_t
    
    // template class and specialization
    template <std::size_t N, typename T> class vector {};
    template <typename T> class vector<2,T> {};
    
    typedef vector<2,double> vector1;
    
    // function using template
    void f(const vector1& v);
    
    
    
    Compile as:
    
    xlC -g -o vector.o -c vector.cpp
    xlC -g -o main.o -c main.cpp
    xlC -g main.o vector.o -o test
    
    At the last step (linking) compiler incorrectly issues the
    undefined reference error:
    
    main.o: In function `main':
    main.cpp:7: undefined reference to `f(vector<(size_t)1, double>
    const&)'
    

Local fix

  • N/A
    

Problem summary

  • Undefined reference error
    

Problem conclusion

  • The problem had been fixed
    

Temporary fix

Comments

APAR Information

  • APAR number

    LI77494

  • Reported component name

    XL C/C++ FOR BG

  • Reported component ID

    5799AG100

  • Reported release

    C10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-07-10

  • Closed date

    2013-09-11

  • Last modified date

    2013-09-11

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    IV49636 LI77627

Fix information

  • Fixed component name

    XL C/C++ FOR BG

  • Fixed component ID

    5799AG100

Applicable component levels

  • RC10 PSY

       UP



Document information

More support for: XL C/C++ for Blue Gene/Q
Compiler

Software version: 12.1

Reference #: LI77494

Modified date: 11 September 2013