search for: instantiate_decl

Displaying 5 results from an estimated 5 matches for "instantiate_decl".

2009 Dec 04
4
[LLVMdev] r72619
...member template, it's instantiation is *not* suppressed (despite being in basic_string<char>), so we emit it as a weak definition. I don't have a debug llvm-gcc available to see why this might be happening. The logic to suppress instantiation based on an extern template is in instantiate_decl (gcc/cp/pt.c): /* Check to see whether we know that this template will be instantiated in some other file, as with "extern template" extension. */ external_p = (DECL_INTERFACE_KNOWN (d) && DECL_REALLY_EXTERN (d)); /* In general, we do not instantiate such te...
2009 Dec 04
0
[LLVMdev] r72619
...;s instantiation is *not* suppressed (despite being > in basic_string<char>), so we emit it as a weak definition. > > I don't have a debug llvm-gcc available to see why this might be > happening. The logic to suppress instantiation based on an extern > template is in instantiate_decl (gcc/cp/pt.c): > > /* Check to see whether we know that this template will be > instantiated in some other file, as with "extern template" > extension. */ > external_p = (DECL_INTERFACE_KNOWN (d) && DECL_REALLY_EXTERN (d)); > /* In general, we d...
2009 Dec 04
0
[LLVMdev] r72619
Hi Bill, > Here's what I get with TOT compiling with -Os. The orig.ll is what I get > before r72619. Notice that orig.ll has only one function in it. Both the > one you sent and duncan.ll have more than one function. It's not the > fact that more than one function is showing up, but these functions in > particular shouldn't be there because of the implicit/explicit
2009 Dec 04
2
[LLVMdev] r72619
...* suppressed (despite >> being >> in basic_string<char>), so we emit it as a weak definition. >> >> I don't have a debug llvm-gcc available to see why this might be >> happening. The logic to suppress instantiation based on an extern >> template is in instantiate_decl (gcc/cp/pt.c): >> >> /* Check to see whether we know that this template will be >> instantiated in some other file, as with "extern template" >> extension. */ >> external_p = (DECL_INTERFACE_KNOWN (d) && DECL_REALLY_EXTERN (d)); >> /...
2009 Dec 04
2
[LLVMdev] r72619
On Dec 4, 2009, at 12:52 AM, Duncan Sands wrote: > Hi Bill, > >> There's a problem with your check-in for r72619 is causing "weak >> external" symbols to appear in C++ code when it shouldn't. Take >> this code for example, >> #include <stdexcept> >> void dummysymbol() { >> throw(std::runtime_error("string"));