From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 64011 invoked by alias); 12 Mar 2018 14:47:22 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 63998 invoked by uid 89); 12 Mar 2018 14:47:22 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.9 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=H*c:alternative, road X-HELO: mail-vk0-f49.google.com Received: from mail-vk0-f49.google.com (HELO mail-vk0-f49.google.com) (209.85.213.49) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 12 Mar 2018 14:47:20 +0000 Received: by mail-vk0-f49.google.com with SMTP id q7so6356960vkh.3 for ; Mon, 12 Mar 2018 07:47:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=UxeMLQTjj4jd1KVvVSAyf8jQnRHaRS71CkU/nIsEWZQ=; b=IMFKZv4ZQx5HvtsIhk0WZc6PK3lWhk2I7FOzwp0NmWoH4v6dJfPc9OuJdUwsGF48qW G0qd5QTFIVljHH/m5H5Xvdr6HM2/MI4u0230CuPh1BLDXQw7eKM+GOERuOw1WsC36qM4 kx32LWhgls+Nmv5NBC89+r0P1EHEQYf53aJbdO1bmGiZsxPtG6fRrE+L576ahiEteGPR OAv9apIV/LtrEu+VTEigGnE47cbmvGqisHuq1stCoIgwGlG48Yqliei+5rqZitKUOV8p 0BCimjPxdZkv2veiDDaHz8Si5hLtOgJ3thqC/OAQUshGXG+wW9wcb5dcoDMyggt0HgtT CJPA== X-Gm-Message-State: AElRT7GT/FsB6w1oEfXirDvD6kEiIR1mZWKjidZszRLda+bYk+Bb02zb uJAe5hHP+bdYznLrcd2mD/7YrxoBl6DsCj5QyEI= X-Google-Smtp-Source: AG47ELv364BmhkszSW6z4pGoGPX7/Gy1CH9NBFKqNdqhLB2AS+Zjqri9D16aIu5on0R0ORmM1iaUaKIl/foLxgNIOTM= X-Received: by 10.31.133.207 with SMTP id h198mr5122043vkd.5.1520866038741; Mon, 12 Mar 2018 07:47:18 -0700 (PDT) MIME-Version: 1.0 Received: by 10.176.68.70 with HTTP; Mon, 12 Mar 2018 07:47:18 -0700 (PDT) From: Deruupu Sutoomo Date: Mon, 12 Mar 2018 14:47:00 -0000 Message-ID: Subject: [ Plugins ] Read-only, or...? To: gcc@gcc.gnu.org Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2018-03/txt/msg00141.txt.bz2 Hello! I have a question regarding Plugins... I implemented a small one as a test to get used to working with GIMPLE and basic blocks. I read the Plugin API page, the wiki, and followed a tutorial to get started. However, I seem to have hit a bit of a road block in actually modifying the output of the compiled program itself. Are plugins a "read-only" look at the compilation model? If I wanted to provide an implementation of an intrinsic or modify a C++-compiled Translation Unit in some fashion, are plugins what I should be looking at? Background: I am attempting to add a function which relies on "compiler magic" and the file system to pull data made available to the program, replacing every instance of that function with the appropriate implementation (the data is to be constexpr). ( This is my first time on the mailing list, after carefully reading the descriptions for the others and asking around, this seemed to be appropriate. Let em know if I have the wrong space! )