llvm with tablegen backend for capstone disassembler
Go to file
Ilya Biryukov 659cffeec4 [Sema] Add implicit members even for invalid CXXRecordDecls
Summary:
It should be safe, since other code paths are already generating
implicit members even in invalid CXXRecordDecls (e.g. lookup).

If we don't generate implicit members on CXXRecordDecl's completion,
they will be generated by next lookup of constructors. This causes a
crash when the following conditions are met:
  - a CXXRecordDecl is invalid,
  - it is provided via ExternalASTSource (e.g. from PCH),
  - it has inherited constructors (they create ShadowDecls),
  - lookup of its constructors was not run before ASTWriter serialized
    it.

This may require the ShadowDecls created for inherited constructors to
be removed from the class, but that's no longer possible since class is
provided by ExternalASTSource.

See provided lit test for an example.

Reviewers: bkramer

Reviewed By: bkramer

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D42810

llvm-svn: 324062
2018-02-02 08:40:08 +00:00
clang [Sema] Add implicit members even for invalid CXXRecordDecls 2018-02-02 08:40:08 +00:00
clang-tools-extra [clangd] Log dropped diagnostics. 2018-02-01 19:06:45 +00:00
compiler-rt Add new interceptors: strlcpy(3) and strlcat(3) 2018-02-01 23:34:30 +00:00
debuginfo-tests [debuginfo-tests] Support moving debuginfo-tests to llvm/projects 2017-12-12 16:54:20 +00:00
libclc half_powr: Implement using powr 2018-02-01 03:00:35 +00:00
libcxx Disable test in C++<11 mode due to use of alignas. 2018-02-01 23:31:22 +00:00
libcxxabi [demangler] Improve variadic template support 2018-01-31 20:17:06 +00:00
libunwind [cmake] [libunwind] LLVM_FOUND isn't always set, so just test if 2018-01-27 19:31:44 +00:00
lld [WebAssembly] Fix typo in test file 2018-02-02 00:35:04 +00:00
lldb Create a marker for Spotlight to never index $BUILD_DIR. 2018-02-01 22:18:02 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm [SelectionDAG] Add an assert in getNode() for EXTRACT_VECTOR_ELT. 2018-02-02 08:21:53 +00:00
openmp [OpenMP-RT] Fix debug string for NVPTX runtime library 2018-02-01 16:12:16 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly Update polly for r323999. 2018-02-01 20:49:53 +00:00
README.md Add an svn project to contain the files that appear at the root of the 2017-10-19 21:09:49 +00:00

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.