[Lldb-commits] [PATCH] D156997: [LLDB][CMake][NFC] Remove unused LLDB_LINKER_SUPPORTS_GROUPS variable

2023-08-04 Thread J. Ryan Stinnett via Phabricator via lldb-commits
This revision was automatically updated to reflect the committed changes.
Closed by commit rGe383776ad0fb: [LLDB][CMake][NFC] Remove unused 
LLDB_LINKER_SUPPORTS_GROUPS variable (authored by jryans).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D156997/new/

https://reviews.llvm.org/D156997

Files:
  lldb/cmake/modules/LLDBConfig.cmake


Index: lldb/cmake/modules/LLDBConfig.cmake
===
--- lldb/cmake/modules/LLDBConfig.cmake
+++ lldb/cmake/modules/LLDBConfig.cmake
@@ -17,12 +17,6 @@
 "`CMakeFiles'. Please delete them.")
 endif()
 
-set(LLDB_LINKER_SUPPORTS_GROUPS OFF)
-if (LLVM_COMPILER_IS_GCC_COMPATIBLE AND NOT "${CMAKE_SYSTEM_NAME}" MATCHES 
"Darwin")
-  # The Darwin linker doesn't understand --start-group/--end-group.
-  set(LLDB_LINKER_SUPPORTS_GROUPS ON)
-endif()
-
 macro(add_optional_dependency variable description package found)
   cmake_parse_arguments(ARG
 "QUIET"


Index: lldb/cmake/modules/LLDBConfig.cmake
===
--- lldb/cmake/modules/LLDBConfig.cmake
+++ lldb/cmake/modules/LLDBConfig.cmake
@@ -17,12 +17,6 @@
 "`CMakeFiles'. Please delete them.")
 endif()
 
-set(LLDB_LINKER_SUPPORTS_GROUPS OFF)
-if (LLVM_COMPILER_IS_GCC_COMPATIBLE AND NOT "${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
-  # The Darwin linker doesn't understand --start-group/--end-group.
-  set(LLDB_LINKER_SUPPORTS_GROUPS ON)
-endif()
-
 macro(add_optional_dependency variable description package found)
   cmake_parse_arguments(ARG
 "QUIET"
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D156997: [LLDB][CMake][NFC] Remove unused LLDB_LINKER_SUPPORTS_GROUPS variable

2023-08-03 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans created this revision.
jryans added a reviewer: JDevlieghere.
Herald added a subscriber: ekilmer.
Herald added a project: All.
jryans added a project: LLDB.
jryans published this revision for review.
Herald added a subscriber: lldb-commits.

The `LLDB_LINKER_SUPPORTS_GROUPS` CMake variable was added back in 2019 as part
of https://reviews.llvm.org/D71306, but it appears to have been unused even
then. This removes the unused variable.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D156997

Files:
  lldb/cmake/modules/LLDBConfig.cmake


Index: lldb/cmake/modules/LLDBConfig.cmake
===
--- lldb/cmake/modules/LLDBConfig.cmake
+++ lldb/cmake/modules/LLDBConfig.cmake
@@ -17,12 +17,6 @@
 "`CMakeFiles'. Please delete them.")
 endif()
 
-set(LLDB_LINKER_SUPPORTS_GROUPS OFF)
-if (LLVM_COMPILER_IS_GCC_COMPATIBLE AND NOT "${CMAKE_SYSTEM_NAME}" MATCHES 
"Darwin")
-  # The Darwin linker doesn't understand --start-group/--end-group.
-  set(LLDB_LINKER_SUPPORTS_GROUPS ON)
-endif()
-
 macro(add_optional_dependency variable description package found)
   cmake_parse_arguments(ARG
 "QUIET"


Index: lldb/cmake/modules/LLDBConfig.cmake
===
--- lldb/cmake/modules/LLDBConfig.cmake
+++ lldb/cmake/modules/LLDBConfig.cmake
@@ -17,12 +17,6 @@
 "`CMakeFiles'. Please delete them.")
 endif()
 
-set(LLDB_LINKER_SUPPORTS_GROUPS OFF)
-if (LLVM_COMPILER_IS_GCC_COMPATIBLE AND NOT "${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
-  # The Darwin linker doesn't understand --start-group/--end-group.
-  set(LLDB_LINKER_SUPPORTS_GROUPS ON)
-endif()
-
 macro(add_optional_dependency variable description package found)
   cmake_parse_arguments(ARG
 "QUIET"
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D149213: [lldb] Add basic support for Rust enums in TypeSystemClang

2023-07-21 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans added a comment.

In D149213#4491889 , @VladimirMakaev 
wrote:

> I think there was an attempt in the past to build TypeSystemRust. Rust 
> Project had a fork of LLDB with this implemented by Tom Tromey and CodeLLDB 
> maintainer(vadimcn) has one. Both of them were not able to merge that into 
> LLDB codebase. A relevant link to a discussion 
> https://rust-lang.zulipchat.com/#narrow/stream/317568-t-compiler.2Fwg-debugging/topic/upstreaming.20rust.20support.20into.20lldb
>
> Apart from just implementing type system itself (which is much bigger scope 
> than this change) there are other non-trivial issues:
>
> 1. There is no "compiler-as-a-service" in Rust so getting expressions to work 
> is non-trivial. An interpreter of some sort needs to be built with subset of 
> Rust support
> 2. Infra changes (DEVOPS) changes are required to start building Rust 
> inferiors to run tests on CI
> 3. LLVM / rustc cross repository logistics. Rustc probably needs to live in 
> LLVM to make this work well.

I know this is not exactly the focus of this patch, but I just wanted to reply 
to this portion (since you've mentioned it). While some people did try to 
suggest things like your points 2 and 3 in previous Rust support attempts, I 
would say it seems impractical to require pulling a whole language 
implementation into LLVM just to add debugging support. If LLDB really wants to 
be a many-language debugger, I would strongly urge looking for testing 
solutions that do not require somehow adding an full implementation of each one 
into the tree. After all, the whole point of debug info formats like DWARF is 
that the producer and consumer do not need to be tightly coupled (since there's 
a standard format in between).

I would argue a more practical approach would involve test cases based on 
whatever IR or AST might be appropriate for the feature under test, e.g. DWARF 
output from Rust, Rust IR or MIR, etc. These things are just data, and LLDB 
(and / or small helper tools) could process this data without the need for an 
entire language implementation.

A discussion from 2019 
(https://discourse.llvm.org/t/rust-support-in-lldb-again/53210) seemed to 
potentially be open to such an idea, but perhaps it's worth starting a new 
discussion thread focused on the testing requirements for language support in 
LLDB which attempts to work out guidelines which allow for languages whose 
implementations live outside of the LLVM tree.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D149213/new/

https://reviews.llvm.org/D149213

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D135577: Summary: This documentation patch adds information to allow remote users to also use the plugin as it will be invisible to them using the current instructions. It solve

2022-10-13 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans added a comment.

Ah yes, it’s all done now, feel free to clean up your local state however you 
prefer.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D135577/new/

https://reviews.llvm.org/D135577

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D135577: Summary: This documentation patch adds information to allow remote users to also use the plugin as it will be invisible to them using the current instructions. It solve

2022-10-13 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans added a comment.

No, once it has been committed, it can’t really be removed from a project of 
this size. Changes can be reverted, but the existence of the commits and 
messages remains. Don’t worry about it for this one, just something to think 
about next time.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D135577/new/

https://reviews.llvm.org/D135577

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D135577: Summary: This documentation patch adds information to allow remote users to also use the plugin as it will be invisible to them using the current instructions. It solve

2022-10-12 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans added a comment.

Exciting, welcome to the LLVM community! 

Overall your commit looks okay, but here are a few tips for the future... The 
"Summary:" prefix in the commit title is not needed. It's good to start the 
commit title with an active verb e.g. "Add foo to bar". You can optionally use 
prefix tags like "[Docs]" to suggest the area. I recommend looking over other 
commit messages (https://github.com/llvm/llvm-project/commits/main) to get a 
feel for the typical style.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D135577/new/

https://reviews.llvm.org/D135577

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D135577: Summary:

2022-10-10 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans added a comment.

Please also give this patch a title that would make sense as the first line of 
a commit message. It currently just says "Summary:" at the moment.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D135577/new/

https://reviews.llvm.org/D135577

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D65437: [lldb][docs] Update landing page for monorepo

2019-07-30 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans accepted this revision.
jryans added a comment.

Thanks for working on this! 




Comment at: lldb/docs/index.rst:104
 `__ mailing list , and
 this is also the preferred mailing list for patch submissions.
 

At some point, we should clarify that Phabricator is where reviews happen these 
days, but that's an LLVM-wide issue (see the [recent 
RFC](https://lists.llvm.org/pipermail/llvm-dev/2019-June/133162.html) and 
D63488 hoping to clarify).

Perhaps LLDB can update its own pages independently of that process, but once 
again, I suppose that's a separate topic and separate patch from this one.  


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65437/new/

https://reviews.llvm.org/D65437



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D65330: [lldb][docs] Update documentation for monorepo and CMake caches

2019-07-29 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans accepted this revision.
jryans added a comment.

Current version looks great to me! 




Comment at: lldb/docs/resources/build.rst:90
+
+  > git clone https://github.com/llvm/llvm-project.git
 

This could be done in a separate patch, but I happened to notice that [Get 
Involved section on the LLDB main 
page](https://lldb.llvm.org/index.html#get-involved) currently suggests 
Subversion at the moment. It would be nice to have this updated to Git as well.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65330/new/

https://reviews.llvm.org/D65330



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D65330: [lldb][docs] Update documentation for monorepo and CMake caches

2019-07-26 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans added a comment.

In D65330#1602779 , @sgraenitz wrote:

> Where did you find the //sub-project list of versioned docs//?


On http://releases.llvm.org/, for some recent versions like 8.0.0, the 
"Documentation" column has separate versioned links for "llvm clang lld 
clang-extra libc++ polly", but lldb doesn't appear there.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65330/new/

https://reviews.llvm.org/D65330



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D65330: [lldb][docs] Update documentation for monorepo and CMake caches

2019-07-26 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans accepted this revision.
jryans added a comment.

In D65330#1602737 , @sgraenitz wrote:

> I added a few links to LLVM documentation here and wondered what to do with 
> them, if this gets cherry-picked to `release/9.x`, e.g. 
> https://llvm.org/docs/CMake.html Ideally they would point to their 9.x 
> counterparts, e.g. https://releases.llvm.org/9.0.0/docs/CMake.html and with 
> 9.0.1 it should become https://releases.llvm.org/9.0.1/docs/CMake.html
>
> `llvm/docs/AdvancedBuilds.rst` links within one build directory using 
> ":doc:`CMake`", but apparently this doesn't work cross-project?
>
> I could imaging to patch it once for the release and use `configure_file` 
> from CMake to import the current version, but I am no sure if it's worth the 
> effort =)
>
> Is there a simple way to do this in Sphinx? Ideas / opinions?


Hmm, are there the LLDB docs archived per release? For LLVM overall, there's 
https://releases.llvm.org/ with links to say 
https://releases.llvm.org/8.0.0/docs/index.html, but LLDB doesn't seem to 
appear in sub-project list of versioned docs... I would say it's fine to not 
worry about this for now, and we can improve in a separate patch if needed.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65330/new/

https://reviews.llvm.org/D65330



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D65330: [lldb][docs] Update documentation for monorepo and CMake caches

2019-07-26 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans added a comment.

In D65330#1602715 , @sgraenitz wrote:

> Cool, patch `Diff 211951` has the change. Here's the difference in generated 
> output:
>  https://weliveindetail.github.io/blog/res/lldb-docs/resources/build.html
>  
> https://weliveindetail.github.io/blog/res/lldb-docs/resources/build-merged-vs.html


Thanks, this looks good to me.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65330/new/

https://reviews.llvm.org/D65330



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D65330: [lldb][docs] Update documentation for monorepo and CMake caches

2019-07-26 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans added a comment.

In D65330#1602583 , @sgraenitz wrote:

> Since //Visual Studio// is the only section in //Building LLDB with CMake and 
> Other Generators// now, I would like to:
>
> - move it merge it with another one, preferably //Common CMake options > 
> Windows//
> - rename //Building LLDB with CMake & Ninja// into //Building LLDB with 
> CMake// (analog and with a link to http://llvm.org/docs/CMake.html)
>
>   Would that be acceptable?


Yes, this sounds like a good plan.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65330/new/

https://reviews.llvm.org/D65330



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D65330: [lldb][docs] Update documentation for monorepo and CMake caches

2019-07-26 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans accepted this revision.
jryans added a comment.
This revision is now accepted and ready to land.

Great!  Thanks for working on this!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65330/new/

https://reviews.llvm.org/D65330



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D65330: [lldb][docs] Update documentation for monorepo and CMake caches

2019-07-26 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans added a comment.

In general, this looks great overall! I added few comments on things that would 
be good to clarify.




Comment at: lldb/docs/resources/build.rst:108
+subprojects to build in addition to LLVM. Read more about additional options in
+the CMake Options paragraph. Now run ninja to perform the actual build. We pass
+``lldb`` here as the target, so it only builds what is necessary to run the

Nit: It would be nice to have this link to the CMake Options paragraph.



Comment at: lldb/docs/resources/build.rst:144
+  -DLLVM_DIR=/path/to/llvm-build/lib/cmake/llvm \
+  -DClang_DIR=/path/to/llvm-build/lib/cmake/clang \
+  [] /path/to/llvm-project/lldb

Is the casing of `Clang_DIR` important here? (In most cases, CMake defines are 
all upper case, but perhaps this one is special?) If the casing is important, I 
would suggest noting that here. If it's not important, it's probably simpler go 
all upper case to match other usages.



Comment at: lldb/docs/resources/build.rst:242
+`lldb/cmake/caches/ 
`_
+directory. 
+

It's unclear from reading the paragraph if using these caches is recommended 
for most users. If it is, it would helpful to state that. In general, some kind 
of statement that answers "who should use this" would help.



Comment at: lldb/docs/resources/build.rst:260
+
+Build LLDB Standalone for development with Xcode:
+

Nit: Standalone -> standalone perhaps?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65330/new/

https://reviews.llvm.org/D65330



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D62654: [Docs] Modernize references to macOS

2019-05-30 Thread J. Ryan Stinnett via Phabricator via lldb-commits
This revision was automatically updated to reflect the committed changes.
Closed by commit rL362113: [Docs] Modernize references to macOS (authored by 
jryans, committed by ).

Changed prior to commit:
  https://reviews.llvm.org/D62654?vs=202161=202247#toc

Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62654/new/

https://reviews.llvm.org/D62654

Files:
  cfe/trunk/docs/AddressSanitizer.rst
  cfe/trunk/docs/AutomaticReferenceCounting.rst
  cfe/trunk/docs/ClangCommandLineReference.rst
  cfe/trunk/docs/CommandGuide/clang.rst
  cfe/trunk/docs/LeakSanitizer.rst
  cfe/trunk/docs/Modules.rst
  cfe/trunk/docs/SafeStack.rst
  cfe/trunk/docs/UndefinedBehaviorSanitizer.rst
  cfe/trunk/docs/UsersManual.rst
  cfe/trunk/docs/analyzer/checkers.rst
  cfe/trunk/docs/analyzer/developer-docs/DebugChecks.rst
  libcxx/trunk/docs/BuildingLibcxx.rst
  libcxx/trunk/docs/UsingLibcxx.rst
  libcxx/trunk/docs/index.rst
  libunwind/trunk/docs/index.rst
  lld/trunk/docs/sphinx_intro.rst
  lldb/trunk/docs/lldb-gdb-remote.txt
  lldb/trunk/docs/resources/build.rst
  lldb/trunk/docs/use/remote.rst
  llvm/trunk/docs/CMake.rst
  llvm/trunk/docs/CommandGuide/llvm-ar.rst
  llvm/trunk/docs/CompilerWriterInfo.rst
  llvm/trunk/docs/DebuggingJITedCode.rst
  llvm/trunk/docs/GettingStarted.rst
  llvm/trunk/docs/ProgrammersManual.rst
  llvm/trunk/docs/TestingGuide.rst
  llvm/trunk/docs/WritingAnLLVMPass.rst

Index: libcxx/trunk/docs/index.rst
===
--- libcxx/trunk/docs/index.rst
+++ libcxx/trunk/docs/index.rst
@@ -93,7 +93,7 @@
    
 OS   Arch CompilersABI Library
    
-Mac OS X i386, x86_64 Clang, GCC   libc++abi
+macOSi386, x86_64 Clang, GCC   libc++abi
 FreeBSD 10+  i386, x86_64, ARMClang, GCC   libcxxrt, libc++abi
 Linuxi386, x86_64 Clang, GCC   libc++abi
    
Index: libcxx/trunk/docs/BuildingLibcxx.rst
===
--- libcxx/trunk/docs/BuildingLibcxx.rst
+++ libcxx/trunk/docs/BuildingLibcxx.rst
@@ -41,7 +41,7 @@
 
.. warning::
  * Replacing your systems libc++ installation could render the system non-functional.
- * Mac OS X will not boot without a valid copy of ``libc++.1.dylib`` in ``/usr/lib``.
+ * macOS will not boot without a valid copy of ``libc++.1.dylib`` in ``/usr/lib``.
 
 
 The instructions are for building libc++ on
Index: libcxx/trunk/docs/UsingLibcxx.rst
===
--- libcxx/trunk/docs/UsingLibcxx.rst
+++ libcxx/trunk/docs/UsingLibcxx.rst
@@ -15,7 +15,7 @@
 $ clang++ -stdlib=libc++ test.cpp
 $ clang++ -std=c++11 -stdlib=libc++ test.cpp
 
-On OS X and FreeBSD libc++ is the default standard library
+On macOS and FreeBSD libc++ is the default standard library
 and the ``-stdlib=libc++`` is not required.
 
 .. _alternate libcxx:
@@ -34,7 +34,7 @@
 The option ``-Wl,-rpath,/lib`` adds a runtime library
 search path. Meaning that the systems dynamic linker will look for libc++ in
 ``/lib`` whenever the program is run. Alternatively the
-environment variable ``LD_LIBRARY_PATH`` (``DYLD_LIBRARY_PATH`` on OS X) can
+environment variable ``LD_LIBRARY_PATH`` (``DYLD_LIBRARY_PATH`` on macOS) can
 be used to change the dynamic linkers search paths after a program is compiled.
 
 An example of using ``LD_LIBRARY_PATH``:
Index: lld/trunk/docs/sphinx_intro.rst
===
--- lld/trunk/docs/sphinx_intro.rst
+++ lld/trunk/docs/sphinx_intro.rst
@@ -43,8 +43,8 @@
 Use your distribution's standard package management tool to install it,
 i.e., ``apt-get install easy_install`` or ``yum install easy_install``.
 
-  Mac OS X
-All modern Mac OS X systems come with ``easy_install`` as part of the base
+  macOS
+All modern macOS systems come with ``easy_install`` as part of the base
 system.
 
   Windows
Index: llvm/trunk/docs/CMake.rst
===
--- llvm/trunk/docs/CMake.rst
+++ llvm/trunk/docs/CMake.rst
@@ -533,7 +533,7 @@
   `share/doc/llvm/ocaml-html`.
 
 **LLVM_CREATE_XCODE_TOOLCHAIN**:BOOL
-  OS X Only: If enabled CMake will generate a target named
+  macOS Only: If enabled CMake will generate a target named
   'install-xcode-toolchain'. This target will create a directory at
   $CMAKE_INSTALL_PREFIX/Toolchains containing an xctoolchain directory which can
   be used to override the default system tools.
Index: llvm/trunk/docs/DebuggingJITedCode.rst
===
--- llvm/trunk/docs/DebuggingJITedCode.rst
+++ llvm/trunk/docs/DebuggingJITedCode.rst
@@ -29,7 +29,7 @@

[Lldb-commits] [PATCH] D62654: [Docs] Modernize references to macOS

2019-05-30 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans created this revision.
jryans added a reviewer: JDevlieghere.
Herald added subscribers: llvm-commits, libcxx-commits, lldb-commits, 
cfe-commits, arphaman, christof, mgorny.
Herald added projects: clang, LLDB, libc++, LLVM.

This updates all places in documentation that refer to "Mac OS X", "OS X", etc.
to instead use the modern name "macOS" when no specific version number is
mentioned.

If a specific version is mentioned, this attempts to use the OS name at the time
of that version:

- Mac OS X for 10.0 - 10.7
- OS X for 10.8 - 10.11
- macOS for 10.12 - present


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D62654

Files:
  clang/docs/AddressSanitizer.rst
  clang/docs/AutomaticReferenceCounting.rst
  clang/docs/ClangCommandLineReference.rst
  clang/docs/CommandGuide/clang.rst
  clang/docs/LeakSanitizer.rst
  clang/docs/Modules.rst
  clang/docs/SafeStack.rst
  clang/docs/UndefinedBehaviorSanitizer.rst
  clang/docs/UsersManual.rst
  clang/docs/analyzer/checkers.rst
  clang/docs/analyzer/developer-docs/DebugChecks.rst
  libcxx/docs/BuildingLibcxx.rst
  libcxx/docs/UsingLibcxx.rst
  libcxx/docs/index.rst
  libunwind/docs/index.rst
  lld/docs/sphinx_intro.rst
  lldb/docs/lldb-gdb-remote.txt
  lldb/docs/resources/build.rst
  lldb/docs/use/remote.rst
  llvm/docs/CMake.rst
  llvm/docs/CommandGuide/llvm-ar.rst
  llvm/docs/CompilerWriterInfo.rst
  llvm/docs/DebuggingJITedCode.rst
  llvm/docs/GettingStarted.rst
  llvm/docs/ProgrammersManual.rst
  llvm/docs/TestingGuide.rst
  llvm/docs/WritingAnLLVMPass.rst

Index: llvm/docs/WritingAnLLVMPass.rst
===
--- llvm/docs/WritingAnLLVMPass.rst
+++ llvm/docs/WritingAnLLVMPass.rst
@@ -77,7 +77,7 @@
 is to be compiled and linked into a shared object ``$(LEVEL)/lib/LLVMHello.so`` that
 can be dynamically loaded by the :program:`opt` tool via its :option:`-load`
 option. If your operating system uses a suffix other than ``.so`` (such as
-Windows or Mac OS X), the appropriate extension will be used.
+Windows or macOS), the appropriate extension will be used.
 
 Now that we have the build scripts set up, we just need to write the code for
 the pass itself.
Index: llvm/docs/TestingGuide.rst
===
--- llvm/docs/TestingGuide.rst
+++ llvm/docs/TestingGuide.rst
@@ -511,7 +511,7 @@
The suffix for the host platforms shared library files. This includes the
period as the first character.
 
-   Example: ``.so`` (Linux), ``.dylib`` (OS X), ``.dll`` (Windows)
+   Example: ``.so`` (Linux), ``.dylib`` (macOS), ``.dll`` (Windows)
 
 ``%exeext``
The suffix for the host platforms executable files. This includes the
Index: llvm/docs/ProgrammersManual.rst
===
--- llvm/docs/ProgrammersManual.rst
+++ llvm/docs/ProgrammersManual.rst
@@ -1372,8 +1372,8 @@
 
 Getting this to work requires a small amount of setup.  On Unix systems
 with X11, install the `graphviz `_ toolkit, and make
-sure 'dot' and 'gv' are in your path.  If you are running on Mac OS X, download
-and install the Mac OS X `Graphviz program
+sure 'dot' and 'gv' are in your path.  If you are running on macOS, download
+and install the macOS `Graphviz program
 `_ and add
 ``/Applications/Graphviz.app/Contents/MacOS/`` (or wherever you install it) to
 your path. The programs need not be present when configuring, building or
Index: llvm/docs/GettingStarted.rst
===
--- llvm/docs/GettingStarted.rst
+++ llvm/docs/GettingStarted.rst
@@ -128,8 +128,8 @@
 FreeBSDamd64 GCC, Clang
 NetBSD x86\ :sup:`1` GCC, Clang
 NetBSD amd64 GCC, Clang
-MacOS X\ :sup:`2`  PowerPC   GCC
-MacOS Xx86   GCC, Clang
+macOS\ :sup:`2`PowerPC   GCC
+macOS  x86   GCC, Clang
 Cygwin/Win32   x86\ :sup:`1, 3`  GCC
 Windowsx86\ :sup:`1` Visual Studio
 Windows x64x86-64Visual Studio
@@ -272,7 +272,7 @@
 Getting a Modern Host C++ Toolchain
 ^^^
 
-This section mostly applies to Linux and older BSDs. On Mac OS X, you should
+This section mostly applies to Linux and older BSDs. On macOS, you should
 have a sufficiently modern Xcode, or you will likely need to upgrade until you
 do. Windows does not have a "system compiler", so you must install either Visual
 Studio 2015 or a recent version of mingw64. FreeBSD 10.0 and newer have a modern
@@ -711,7 +711,7 @@
 
 The result of such a build is executables that are not runnable on the build
 host but can be executed on the target. As an example the following CMake
-invocation can generate build files targeting iOS. This will work on Mac OS X
+invocation 

[Lldb-commits] [PATCH] D62041: [Docs] Remove SVN checkout from LLDB build steps

2019-05-17 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans marked 2 inline comments as done.
jryans added a comment.

Thanks for the review @JDevlieghere!  This should be ready for another look. I 
don't have commit access yet, so assuming it's approved, please commit when you 
have time.




Comment at: lldb/docs/resources/build.rst:242
 
-We first need to checkout the source trees into the appropriate locations. Both
-Clang and LLDB build as subprojects of LLVM. This means we will be checking out
-the source for both Clang and LLDB into the tools subdirectory of LLVM. We will
-be setting up a directory hierarchy looking something like this:
-
-::
-
-  llvm
-  |
-  `-- tools
-  |
-  +-- clang
-  |
-  `-- lldb
-
-For reference, we will call the root of the LLVM project tree $llvm, and the
-roots of the Clang and LLDB source trees $clang and $lldb respectively.
-
-Change to the directory where you want to do development work and checkout
-LLVM:
-
-::
-
-  > svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
-
-
-Now switch to LLVM’s tools subdirectory and checkout both Clang and LLDB:
-
-::
-
-  > cd $llvm/tools
-  > svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
-  > svn co http://llvm.org/svn/llvm-project/lldb/trunk lldb
-
-In general, building the LLDB trunk revision requires trunk revisions of both
-LLVM and Clang.
-
 It is highly recommended that you build the system out of tree. Create a second
 build directory and configure the LLVM project tree to your specifications as

JDevlieghere wrote:
> Let's remove the next paragraph as well and remove the whole section.
Makes sense to me! I have updated to do so.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62041/new/

https://reviews.llvm.org/D62041



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D62041: [Docs] Remove SVN checkout from LLDB build steps

2019-05-17 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans updated this revision to Diff 13.
jryans added a comment.

Updated to remove the whole section


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62041/new/

https://reviews.llvm.org/D62041

Files:
  lldb/docs/resources/build.rst


Index: lldb/docs/resources/build.rst
===
--- lldb/docs/resources/build.rst
+++ lldb/docs/resources/build.rst
@@ -236,59 +236,8 @@
 
   > pkgin install swig python27 cmake ninja-build
 
-
-**Building LLDB**
-
-We first need to checkout the source trees into the appropriate locations. Both
-Clang and LLDB build as subprojects of LLVM. This means we will be checking out
-the source for both Clang and LLDB into the tools subdirectory of LLVM. We will
-be setting up a directory hierarchy looking something like this:
-
-::
-
-  llvm
-  |
-  `-- tools
-  |
-  +-- clang
-  |
-  `-- lldb
-
-For reference, we will call the root of the LLVM project tree $llvm, and the
-roots of the Clang and LLDB source trees $clang and $lldb respectively.
-
-Change to the directory where you want to do development work and checkout
-LLVM:
-
-::
-
-  > svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
-
-
-Now switch to LLVM’s tools subdirectory and checkout both Clang and LLDB:
-
-::
-
-  > cd $llvm/tools
-  > svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
-  > svn co http://llvm.org/svn/llvm-project/lldb/trunk lldb
-
-In general, building the LLDB trunk revision requires trunk revisions of both
-LLVM and Clang.
-
-It is highly recommended that you build the system out of tree. Create a second
-build directory and configure the LLVM project tree to your specifications as
-outlined in LLVM’s Getting Started Guide. A typical build procedure might be:
-
-::
-
-  > cd $llvm/..
-  > mkdir build
-  > cd build
-
 **To build with CMake**
 
-
 Using CMake is documented on the `Building LLVM with CMake
 `_ page. Building LLDB is possible using one
 of the following generators:


Index: lldb/docs/resources/build.rst
===
--- lldb/docs/resources/build.rst
+++ lldb/docs/resources/build.rst
@@ -236,59 +236,8 @@
 
   > pkgin install swig python27 cmake ninja-build
 
-
-**Building LLDB**
-
-We first need to checkout the source trees into the appropriate locations. Both
-Clang and LLDB build as subprojects of LLVM. This means we will be checking out
-the source for both Clang and LLDB into the tools subdirectory of LLVM. We will
-be setting up a directory hierarchy looking something like this:
-
-::
-
-  llvm
-  |
-  `-- tools
-  |
-  +-- clang
-  |
-  `-- lldb
-
-For reference, we will call the root of the LLVM project tree $llvm, and the
-roots of the Clang and LLDB source trees $clang and $lldb respectively.
-
-Change to the directory where you want to do development work and checkout
-LLVM:
-
-::
-
-  > svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
-
-
-Now switch to LLVM’s tools subdirectory and checkout both Clang and LLDB:
-
-::
-
-  > cd $llvm/tools
-  > svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
-  > svn co http://llvm.org/svn/llvm-project/lldb/trunk lldb
-
-In general, building the LLDB trunk revision requires trunk revisions of both
-LLVM and Clang.
-
-It is highly recommended that you build the system out of tree. Create a second
-build directory and configure the LLVM project tree to your specifications as
-outlined in LLVM’s Getting Started Guide. A typical build procedure might be:
-
-::
-
-  > cd $llvm/..
-  > mkdir build
-  > cd build
-
 **To build with CMake**
 
-
 Using CMake is documented on the `Building LLVM with CMake
 `_ page. Building LLDB is possible using one
 of the following generators:
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D62041: [Docs] Remove SVN checkout from LLDB build steps

2019-05-16 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans created this revision.
jryans added a reviewer: JDevlieghere.
Herald added a project: LLDB.

This removes several older paragraphs in the LLDB build steps for Unix systems
which suggested checking out various components via SVN. Since there's a
separate page about getting the LLDB source which only mentions Git, it seems
appropriate to remove this older info from the build docs.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D62041

Files:
  lldb/docs/resources/build.rst


Index: lldb/docs/resources/build.rst
===
--- lldb/docs/resources/build.rst
+++ lldb/docs/resources/build.rst
@@ -239,43 +239,6 @@
 
 **Building LLDB**
 
-We first need to checkout the source trees into the appropriate locations. Both
-Clang and LLDB build as subprojects of LLVM. This means we will be checking out
-the source for both Clang and LLDB into the tools subdirectory of LLVM. We will
-be setting up a directory hierarchy looking something like this:
-
-::
-
-  llvm
-  |
-  `-- tools
-  |
-  +-- clang
-  |
-  `-- lldb
-
-For reference, we will call the root of the LLVM project tree $llvm, and the
-roots of the Clang and LLDB source trees $clang and $lldb respectively.
-
-Change to the directory where you want to do development work and checkout
-LLVM:
-
-::
-
-  > svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
-
-
-Now switch to LLVM’s tools subdirectory and checkout both Clang and LLDB:
-
-::
-
-  > cd $llvm/tools
-  > svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
-  > svn co http://llvm.org/svn/llvm-project/lldb/trunk lldb
-
-In general, building the LLDB trunk revision requires trunk revisions of both
-LLVM and Clang.
-
 It is highly recommended that you build the system out of tree. Create a second
 build directory and configure the LLVM project tree to your specifications as
 outlined in LLVM’s Getting Started Guide. A typical build procedure might be:


Index: lldb/docs/resources/build.rst
===
--- lldb/docs/resources/build.rst
+++ lldb/docs/resources/build.rst
@@ -239,43 +239,6 @@
 
 **Building LLDB**
 
-We first need to checkout the source trees into the appropriate locations. Both
-Clang and LLDB build as subprojects of LLVM. This means we will be checking out
-the source for both Clang and LLDB into the tools subdirectory of LLVM. We will
-be setting up a directory hierarchy looking something like this:
-
-::
-
-  llvm
-  |
-  `-- tools
-  |
-  +-- clang
-  |
-  `-- lldb
-
-For reference, we will call the root of the LLVM project tree $llvm, and the
-roots of the Clang and LLDB source trees $clang and $lldb respectively.
-
-Change to the directory where you want to do development work and checkout
-LLVM:
-
-::
-
-  > svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
-
-
-Now switch to LLVM’s tools subdirectory and checkout both Clang and LLDB:
-
-::
-
-  > cd $llvm/tools
-  > svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
-  > svn co http://llvm.org/svn/llvm-project/lldb/trunk lldb
-
-In general, building the LLDB trunk revision requires trunk revisions of both
-LLVM and Clang.
-
 It is highly recommended that you build the system out of tree. Create a second
 build directory and configure the LLVM project tree to your specifications as
 outlined in LLVM’s Getting Started Guide. A typical build procedure might be:
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D61877: [CMake] Add error to clarify that lldb requires libcxx

2019-05-15 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans added a comment.

@sgraenitz Thanks for committing!  I guess the original author info is lost 
for this one, but consider adding a "Patch by" line 
 for future commits 
from those without access.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D61877/new/

https://reviews.llvm.org/D61877



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D61877: [CMake] Add error to clarify that lldb requires libcxx

2019-05-14 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans marked 3 inline comments as done.
jryans added a comment.

Thanks all for the review! 

In D61877#1500981 , @sgraenitz wrote:

> Thanks for adding this. Would it make sense to use 
> `LLVM_ENABLE_PROJECTS_USED`? 
> https://github.com/llvm/llvm-project/blob/a568222d/llvm/CMakeLists.txt#L128
>
> BTW `LLVM_ENABLE_PROJECTS` can be "all" but LLVM should already have handled 
> it at this point.


`LLVM_ENABLE_PROJECTS_USED` seems to be about "what did we use last time", 
which felt confusing to test here, so I have avoided that so far.

In the updated version, I have changed to testing `if(NOT TARGET cxx)`, which 
should cover all cases, including:

- LLVM_ENABLE_PROJECTS='clang;lldb;libcxx'
- LLVM_ENABLE_PROJECTS='all'
- Old layout




Comment at: lldb/CMakeLists.txt:127
   else()
+if(NOT libcxx IN_LIST LLVM_ENABLE_PROJECTS)
+  message(FATAL_ERROR

sgraenitz wrote:
> JDevlieghere wrote:
> > Should we check that LLVM_ENABLE_PROJECTS is not empty, for people that are 
> > still using the old layout?
> +1
Ah yes, thanks for catching that! I have updated this to support the old layout 
as well.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D61877/new/

https://reviews.llvm.org/D61877



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D61877: [CMake] Add error to clarify that lldb requires libcxx

2019-05-14 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans updated this revision to Diff 199394.
jryans added a comment.

Updated to support old project layout as well


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D61877/new/

https://reviews.llvm.org/D61877

Files:
  lldb/CMakeLists.txt
  lldb/docs/resources/build.rst


Index: lldb/docs/resources/build.rst
===
--- lldb/docs/resources/build.rst
+++ lldb/docs/resources/build.rst
@@ -152,6 +152,12 @@
 LLVM, then you can pass LLVM-specific CMake variables to cmake when building
 LLDB.
 
+If you are building both Clang and LLDB together, be sure to also add libc++,
+which is currently required for testing on macOS:
+
+::
+
+  > cmake -D LLVM_ENABLE_PROJECTS='clang;lldb;libcxx' $PATH_TO_LLVM -G Ninja
 
 Here are some commonly used LLDB-specific CMake variables:
 
Index: lldb/CMakeLists.txt
===
--- lldb/CMakeLists.txt
+++ lldb/CMakeLists.txt
@@ -124,6 +124,24 @@
   message(WARNING "LLDB test suite requires libc++ in 
llvm/projects/libcxx or an existing build symlinked to ${cxx_dir}")
 endif()
   else()
+# We require libcxx for the test suite, so if we aren't building it,
+# try to provide a helpful error about how to resolve the situation.
+if(NOT TARGET cxx)
+  if(LLVM_ENABLE_PROJECTS STREQUAL "")
+# If `LLVM_ENABLE_PROJECTS` is not being used (implying that we are
+# using the old layout), suggest checking it out.
+message(FATAL_ERROR
+  "LLDB test suite requires libc++, but it is currently disabled. "
+  "Please checkout `libcxx` in `llvm/projects` or disable tests "
+  "via `LLDB_INCLUDE_TESTS=OFF`.")
+  else()
+# If `LLVM_ENABLE_PROJECTS` is being used, suggest adding it.
+message(FATAL_ERROR
+  "LLDB test suite requires libc++, but it is currently disabled. "
+  "Please add `libcxx` to `LLVM_ENABLE_PROJECTS` or disable tests "
+  "via `LLDB_INCLUDE_TESTS=OFF`.")
+  endif()
+endif()
 list(APPEND LLDB_TEST_DEPS cxx)
   endif()
 endif()


Index: lldb/docs/resources/build.rst
===
--- lldb/docs/resources/build.rst
+++ lldb/docs/resources/build.rst
@@ -152,6 +152,12 @@
 LLVM, then you can pass LLVM-specific CMake variables to cmake when building
 LLDB.
 
+If you are building both Clang and LLDB together, be sure to also add libc++,
+which is currently required for testing on macOS:
+
+::
+
+  > cmake -D LLVM_ENABLE_PROJECTS='clang;lldb;libcxx' $PATH_TO_LLVM -G Ninja
 
 Here are some commonly used LLDB-specific CMake variables:
 
Index: lldb/CMakeLists.txt
===
--- lldb/CMakeLists.txt
+++ lldb/CMakeLists.txt
@@ -124,6 +124,24 @@
   message(WARNING "LLDB test suite requires libc++ in llvm/projects/libcxx or an existing build symlinked to ${cxx_dir}")
 endif()
   else()
+# We require libcxx for the test suite, so if we aren't building it,
+# try to provide a helpful error about how to resolve the situation.
+if(NOT TARGET cxx)
+  if(LLVM_ENABLE_PROJECTS STREQUAL "")
+# If `LLVM_ENABLE_PROJECTS` is not being used (implying that we are
+# using the old layout), suggest checking it out.
+message(FATAL_ERROR
+  "LLDB test suite requires libc++, but it is currently disabled. "
+  "Please checkout `libcxx` in `llvm/projects` or disable tests "
+  "via `LLDB_INCLUDE_TESTS=OFF`.")
+  else()
+# If `LLVM_ENABLE_PROJECTS` is being used, suggest adding it.
+message(FATAL_ERROR
+  "LLDB test suite requires libc++, but it is currently disabled. "
+  "Please add `libcxx` to `LLVM_ENABLE_PROJECTS` or disable tests "
+  "via `LLDB_INCLUDE_TESTS=OFF`.")
+  endif()
+endif()
 list(APPEND LLDB_TEST_DEPS cxx)
   endif()
 endif()
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D61877: [CMake] Add error to clarify that lldb requires libcxx

2019-05-13 Thread J. Ryan Stinnett via Phabricator via lldb-commits
jryans created this revision.
jryans added reviewers: sgraenitz, JDevlieghere.
Herald added a subscriber: mgorny.
Herald added a reviewer: EricWF.
Herald added a project: LLDB.

This adds a specific error message to clarify that lldb requires libcxx when
built together with clang on macOS. In addition, the lldb building docs are also
updated.

Fixes https://bugs.llvm.org/show_bug.cgi?id=41866


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D61877

Files:
  lldb/CMakeLists.txt
  lldb/docs/resources/build.rst


Index: lldb/docs/resources/build.rst
===
--- lldb/docs/resources/build.rst
+++ lldb/docs/resources/build.rst
@@ -152,6 +152,12 @@
 LLVM, then you can pass LLVM-specific CMake variables to cmake when building
 LLDB.
 
+If you are building both Clang and LLDB together, be sure to also add libc++,
+which is currently required for testing on macOS:
+
+::
+
+  > cmake -D LLVM_ENABLE_PROJECTS='clang;lldb;libcxx' $PATH_TO_LLVM -G Ninja
 
 Here are some commonly used LLDB-specific CMake variables:
 
Index: lldb/CMakeLists.txt
===
--- lldb/CMakeLists.txt
+++ lldb/CMakeLists.txt
@@ -124,6 +124,11 @@
   message(WARNING "LLDB test suite requires libc++ in 
llvm/projects/libcxx or an existing build symlinked to ${cxx_dir}")
 endif()
   else()
+if(NOT libcxx IN_LIST LLVM_ENABLE_PROJECTS)
+  message(FATAL_ERROR
+"LLDB test suite requires libc++, but it is currently disabled. "
+"Please add `libcxx` to `LLVM_ENABLE_PROJECTS`.")
+endif()
 list(APPEND LLDB_TEST_DEPS cxx)
   endif()
 endif()


Index: lldb/docs/resources/build.rst
===
--- lldb/docs/resources/build.rst
+++ lldb/docs/resources/build.rst
@@ -152,6 +152,12 @@
 LLVM, then you can pass LLVM-specific CMake variables to cmake when building
 LLDB.
 
+If you are building both Clang and LLDB together, be sure to also add libc++,
+which is currently required for testing on macOS:
+
+::
+
+  > cmake -D LLVM_ENABLE_PROJECTS='clang;lldb;libcxx' $PATH_TO_LLVM -G Ninja
 
 Here are some commonly used LLDB-specific CMake variables:
 
Index: lldb/CMakeLists.txt
===
--- lldb/CMakeLists.txt
+++ lldb/CMakeLists.txt
@@ -124,6 +124,11 @@
   message(WARNING "LLDB test suite requires libc++ in llvm/projects/libcxx or an existing build symlinked to ${cxx_dir}")
 endif()
   else()
+if(NOT libcxx IN_LIST LLVM_ENABLE_PROJECTS)
+  message(FATAL_ERROR
+"LLDB test suite requires libc++, but it is currently disabled. "
+"Please add `libcxx` to `LLVM_ENABLE_PROJECTS`.")
+endif()
 list(APPEND LLDB_TEST_DEPS cxx)
   endif()
 endif()
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits