]> granicus.if.org Git - clang/commit
If a global initializer has a non-trivial constructor or destructor, we never want...
authorAnders Carlsson <andersca@mac.com>
Thu, 8 Oct 2009 17:28:59 +0000 (17:28 +0000)
committerAnders Carlsson <andersca@mac.com>
Thu, 8 Oct 2009 17:28:59 +0000 (17:28 +0000)
commit74d644abe56809d9bcea7311f37aa9063ab9e064
tree235bd644018667d05cd5bdc62c1bfee76ec333da
parenta3f36ab6dd9567ae4d1f1703a8413df911b91863
If a global initializer has a non-trivial constructor or destructor, we never want to defer generation of it, even if it is declared static.

With this change we're finally able to compile and run the (infamous)

#include <string>
#include <iostream>

int main(int argc, char **argv) {
  std::cout << "Hello, World" << std::endl;
}

$ clang hello.cpp -lstdc++ -o hello
$ ./hello
Hello, World

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83559 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CodeGenModule.cpp
test/CodeGenCXX/global-init.cpp