[llvm-bugs] [Bug 44016] New: __declspec(dllexport) ignored on specialized function definitions
    via llvm-bugs 
    llvm-bugs at lists.llvm.org
       
    Fri Nov 15 14:01:05 PST 2019
    
    
  
https://bugs.llvm.org/show_bug.cgi?id=44016
            Bug ID: 44016
           Summary: __declspec(dllexport) ignored on specialized function
                    definitions
           Product: clang
           Version: 8.0
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: -New Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: me at mark-ingram.com
                CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org,
                    neeilans at live.com, richard-llvm at metafoo.co.uk
Created attachment 22817
  --> https://bugs.llvm.org/attachment.cgi?id=22817&action=edit
Example
Please see the attached files. Templated class functions that are specialized,
aren't added to the list of exported functions. In the attached example, any
binary linking to this shared library will fail to find dll<int>::Func().
// dll.hpp
#ifdef DLL_EXPORT
#define DLL_API __declspec(dllexport)
#else
#define DLL_API __declspec(dllimport)
#endif
template <typename T>
struct dll
{
    DLL_API static void Func();
};
// dll.cpp
#define DLL_EXPORT
#include "dll.hpp"
#include <stdio.h>
template <>
void dll<int>::Func()
{
    printf("dll<int>::Func1\n");
}
template class DLL_API dll<int>;
-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20191115/c246d74d/attachment-0001.html>
    
    
More information about the llvm-bugs
mailing list