<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in mfcall.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>eb46c95c - [CMake] Use normalized Windows target triples</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/compiler-rt/test/cfi/mfcall.cpp#eb46c95c</link>
        <description>[CMake] Use normalized Windows target triplesChanges the default Windows target triple returned byGetHostTriple.cmake from the old environment names (which we wanted tomove away from) to newer, normalized ones. This also requires updatingall tests to use the new systems names in constraints.Differential Revision: https://reviews.llvm.org/D47381llvm-svn: 339307

            List of files:
            /llvm-project-15.0.7/compiler-rt/test/cfi/mfcall.cpp</description>
        <pubDate>Thu, 09 Aug 2018 02:16:18 +0000</pubDate>
        <dc:creator>Petr Hosek &lt;phosek@chromium.org&gt;</dc:creator>
    </item>
<item>
        <title>f99bc0b2 - Mark mfcall.cpp as UNSUPPORTED: win32.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/compiler-rt/test/cfi/mfcall.cpp#f99bc0b2</link>
        <description>Mark mfcall.cpp as UNSUPPORTED: win32.llvm-svn: 335573

            List of files:
            /llvm-project-15.0.7/compiler-rt/test/cfi/mfcall.cpp</description>
        <pubDate>Tue, 26 Jun 2018 02:59:22 +0000</pubDate>
        <dc:creator>Peter Collingbourne &lt;peter@pcc.me.uk&gt;</dc:creator>
    </item>
<item>
        <title>e44acadf - Implement CFI for indirect calls via a member function pointer.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/compiler-rt/test/cfi/mfcall.cpp#e44acadf</link>
        <description>Implement CFI for indirect calls via a member function pointer.Similarly to CFI on virtual and indirect calls, this implementationtries to use program type information to make the checks as preciseas possible.  The basic way that it works is as follows, where `C`is the name of the class being defined or the target of a call andthe function type is assumed to be `void()`.For virtual calls:- Attach type metadata to the addresses of function pointers in vtables  (not the functions themselves) of type `void (B::*)()` for each `B`  that is a recursive dynamic base class of `C`, including `C` itself.  This type metadata has an annotation that the type is for virtual  calls (to distinguish it from the non-virtual case).- At the call site, check that the computed address of the function  pointer in the vtable has type `void (C::*)()`.For non-virtual calls:- Attach type metadata to each non-virtual member function whose address  can be taken with a member function pointer. The type of a function  in class `C` of type `void()` is each of the types `void (B::*)()`  where `B` is a most-base class of `C`. A most-base class of `C`  is defined as a recursive base class of `C`, including `C` itself,  that does not have any bases.- At the call site, check that the function pointer has one of the types  `void (B::*)()` where `B` is a most-base class of `C`.Differential Revision: https://reviews.llvm.org/D47567llvm-svn: 335569

            List of files:
            /llvm-project-15.0.7/compiler-rt/test/cfi/mfcall.cpp</description>
        <pubDate>Tue, 26 Jun 2018 02:15:47 +0000</pubDate>
        <dc:creator>Peter Collingbourne &lt;peter@pcc.me.uk&gt;</dc:creator>
    </item>
</channel>
</rss>
