hanchenye-llvm-project/clang
Hans Wennborg c5877e9803 Delay emitting dllexport explicitly defaulted members until the class is fully parsed (PR40006)
This is similar to r245139, but that only addressed dllexported classes.
It was still possible to run into the same problem with dllexported
members in an otherwise normal class (see bug). This uses the same
strategy to fix: delay defining the method until the whole class has
been parsed.

(The easiest way to see the ordering problem is in
Parser::ParseCXXMemberSpecification(): it calls
ParseLexedMemberInitializers() *after* ActOnFinishCXXMemberDecls(),
which was trying to define the dllexport method. Now we delay it to
ActOnFinishCXXNonNestedClass() which is called after both of those.)

Differential revision: https://reviews.llvm.org/D65511

llvm-svn: 367520
2019-08-01 08:01:09 +00:00
..
INPUTS
bindings [clang][Tooling] Infer target and mode from argv[0] when using JSONCompilationDatabase 2019-06-26 07:39:03 +00:00
cmake [CMake][Fuchsia] Define asan+noexcept multilib 2019-07-13 08:07:10 +00:00
docs [NFC] Remove LLVM_ALIGNAS 2019-07-31 03:22:08 +00:00
examples Update the SimpleJIT class in the clang-interpreter example to use ORCv2. 2019-07-18 22:47:18 +00:00
include Delay emitting dllexport explicitly defaulted members until the class is fully parsed (PR40006) 2019-08-01 08:01:09 +00:00
lib Delay emitting dllexport explicitly defaulted members until the class is fully parsed (PR40006) 2019-08-01 08:01:09 +00:00
runtime
test Delay emitting dllexport explicitly defaulted members until the class is fully parsed (PR40006) 2019-08-01 08:01:09 +00:00
tools Fix exporting SARIF files from scan-build on Windows. 2019-07-24 20:03:27 +00:00
unittests Remove cache for macro arg stringization 2019-07-30 17:58:22 +00:00
utils Improve MSVC visualizers for DeclSpec and TemplateName 2019-07-29 03:34:40 +00:00
www Fix cxx_status html for r367027 2019-07-25 17:14:37 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [CMake] Don't set Python_ADDITIONAL_VERSIONS 2019-07-18 15:17:42 +00:00
CODE_OWNERS.TXT
INSTALL.txt
LICENSE.TXT
ModuleInfo.txt
NOTES.txt
README.txt

README.txt

//===----------------------------------------------------------------------===//
// C Language Family Front-end
//===----------------------------------------------------------------------===//

Welcome to Clang.  This is a compiler front-end for the C family of languages
(C, C++, Objective-C, and Objective-C++) which is built as part of the LLVM
compiler infrastructure project.

Unlike many other compiler frontends, Clang is useful for a number of things
beyond just compiling code: we intend for Clang to be host to a number of
different source-level tools.  One example of this is the Clang Static Analyzer.

If you're interested in more (including how to build Clang) it is best to read
the relevant web sites.  Here are some pointers:

Information on Clang:             http://clang.llvm.org/
Building and using Clang:         http://clang.llvm.org/get_started.html
Clang Static Analyzer:            http://clang-analyzer.llvm.org/
Information on the LLVM project:  http://llvm.org/

If you have questions or comments about Clang, a great place to discuss them is
on the Clang development mailing list:
  http://lists.llvm.org/mailman/listinfo/cfe-dev

If you find a bug in Clang, please file it in the LLVM bug tracker:
  http://llvm.org/bugs/