IBM Support

IV49636: 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

    IV49636

  • Reported component name

    XL C/C++ FOR AI

  • Reported component ID

    5725C7200

  • Reported release

    C10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2013-09-18

  • Closed date

    2013-09-18

  • Last modified date

    2013-09-20

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

    LI77494

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

Fix information

  • Fixed component name

    XL C/C++ FOR AI

  • Fixed component ID

    5725C7200

Applicable component levels

  • RC10 PSN UP06/09/13

       C

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSGH3R","label":"XL C\/C++ for AIX"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"12.1","Edition":"","Line of Business":{"code":"LOB73","label":"Power TPS"}}]

Document Information

Modified date:
21 August 2024