[cfe-commits] [patch] Template instantiation and visibility

Rafael EspĂ­ndola rafael.espindola at gmail.com
Sun Apr 22 17:30:19 PDT 2012


> Sorry, make that trunk @ r155317. 155304 is my llvm revision number 9_9
>
> tests-MacBook-Pro-2:clang test$ ../../Release+Asserts/bin/clang --version
> clang version 3.2 (trunk 155317) (llvm/trunk 155304)

Thanks.

What was missing was a similar treatment of function templates. The
attached patch should do it. With it we now agree with gcc 4.7 about

namespace t1 {
  struct HIDDEN foo {
  };
  template<class T>
  DEFAULT void bar() {}
  template DEFAULT void bar<foo>();
}
namespace t2 {
  struct HIDDEN foo {
  };
  template<class T>
  DEFAULT void bar() {}
  template void bar<foo>();
}

I just started a linux build of chrome with

export GYP_GENERATORS='ninja'
export GYP_DEFINES='component=shared_library clang=1 disable_nacl=1
clang_use_chrome_plugins=0'

and will start an OS X one too.

Cheers,
Rafael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: t.patch
Type: application/octet-stream
Size: 6372 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120422/6be02dcf/attachment.obj>


More information about the cfe-commits mailing list