Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions llvm/docs/ProgrammersManual.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3358,15 +3358,15 @@ the ``PassManager.h`` system, and there is a more detailed introduction to it
by Sean Parent in several of his talks and papers:

#. `Inheritance Is The Base Class of Evil
<http://channel9.msdn.com/Events/GoingNative/2013/Inheritance-Is-The-Base-Class-of-Evil>`_
<https://learn.microsoft.com/en-us/shows/goingnative-2013/inheritance-base-class-of-evil>`_
- The GoingNative 2013 talk describing this technique, and probably the best
place to start.
#. `Value Semantics and Concepts-based Polymorphism
<http://www.youtube.com/watch?v=_BpMYeUFXv8>`_ - The C++Now! 2012 talk
describing this technique in more detail.
#. `Sean Parent's Papers and Presentations
<http://github.com/sean-parent/sean-parent.github.com/wiki/Papers-and-Presentations>`_
- A GitHub project full of links to slides, video, and sometimes code.
<https://sean-parent.stlab.cc/papers-and-presentations>`_
- Links to slides, videos, and sometimes code.

When deciding between creating a type hierarchy (with either tagged or virtual
dispatch) and using templates or concepts-based polymorphism, consider whether
Expand Down
4 changes: 2 additions & 2 deletions llvm/include/llvm/IR/PassManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@
/// polymorphism as outlined in the "Value Semantics and Concept-based
/// Polymorphism" talk (or its abbreviated sibling "Inheritance Is The Base
/// Class of Evil") by Sean Parent:
/// * http://github.com/sean-parent/sean-parent.github.com/wiki/Papers-and-Presentations
/// * https://sean-parent.stlab.cc/papers-and-presentations
/// * http://www.youtube.com/watch?v=_BpMYeUFXv8
/// * http://channel9.msdn.com/Events/GoingNative/2013/Inheritance-Is-The-Base-Class-of-Evil
/// * https://learn.microsoft.com/en-us/shows/goingnative-2013/inheritance-base-class-of-evil
///
//===----------------------------------------------------------------------===//

Expand Down
Loading