{"id":137,"date":"2015-05-14T20:23:40","date_gmt":"2015-05-14T18:23:40","guid":{"rendered":"https:\/\/predaelli.wordpress.com\/?p=137"},"modified":"2015-05-14T20:23:40","modified_gmt":"2015-05-14T18:23:40","slug":"137","status":"publish","type":"post","link":"https:\/\/monodes.com\/predaelli\/2015\/05\/14\/137\/","title":{"rendered":""},"content":{"rendered":"<p>Time to dive into GCC:<\/p>\n<p>[code lang=&#8221;bash&#8221;]<\/p>\n<p>git clone git:\/\/gcc.gnu.org\/git\/gcc.git<\/p>\n<p>[\/code]<\/p>\n<p>From https:\/\/gcc.gnu.org\/wiki\/GitMirror. And study <a title=\"Permanent Link: Parsing C++ with GCC plugins, Part 1\" href=\"http:\/\/codesynthesis.com\/%7Eboris\/blog\/2010\/05\/03\/parsing-cxx-with-gcc-plugin-part-1\/\" rel=\"bookmark\">Parsing C++ with GCC plugins, (Part 1<\/a> <a title=\"Permanent Link: Parsing C++ with GCC plugins, Part 2\" href=\"http:\/\/codesynthesis.com\/%7Eboris\/blog\/2010\/05\/10\/parsing-cxx-with-gcc-plugin-part-2\/\" rel=\"bookmark\">Part 2<\/a> and <a title=\"Permanent Link: Parsing C++ with GCC plugins, Part 3\" href=\"http:\/\/codesynthesis.com\/%7Eboris\/blog\/2010\/05\/17\/parsing-cxx-with-gcc-plugin-part-3\/\" rel=\"bookmark\">Part 3<\/a>) together with <a href=\"https:\/\/gcc.gnu.org\/onlinedocs\/gccint\/\">GCC Internals Manual<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p><!--more--><\/p>\n<p>Why? Because I used gccxml to build a wrapper generator for LibertyEiffel. Nowadays gccxml is not updated to the unyielding march of gcc releases so it has been lagging behind to the point that while it still easily parse POSIX headers and several GNU libraries (namely Gtk and other GObject libraries) it fails to parse <strong>the<\/strong> C++ library that I wich most to wrap: Qt.<\/p>\n<p>Also interfacing with GCC is today far, far easier compared to some years ago. Actually interfacing with Gcc looked like sheer black magic to me when I started wrappers-generator. I can&#8217;t believe almost 8 years have already been passed!<\/p>\n","protected":false},"excerpt":{"rendered":"<p class=\"excerpt\">Time to dive into GCC: [code lang=&#8221;bash&#8221;] git clone git:\/\/gcc.gnu.org\/git\/gcc.git [\/code] From https:\/\/gcc.gnu.org\/wiki\/GitMirror. And study Parsing C++ with GCC plugins, (Part 1 Part 2 and Part 3) together with GCC Internals Manual. &nbsp;<\/p>\n<p class=\"more-link-p\"><a class=\"more-link\" href=\"https:\/\/monodes.com\/predaelli\/2015\/05\/14\/137\/\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-137","post","type-post","status-publish","format-standard","hentry","category-senza-categoria"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/s6daft-137","jetpack-related-posts":[{"id":148,"url":"https:\/\/monodes.com\/predaelli\/2015\/05\/16\/148\/","url_meta":{"origin":137,"position":0},"title":"Ok, I feel stupid. I'm\u2026","author":"Paolo Redaelli","date":"2015-05-16","format":false,"excerpt":"Ok, I feel stupid. I'm reading several weeks of unread mail discovering this one of 26th of march: Hi Folks, I'm happy to announce CastXML, a successor to GCC-XML [1]. CastXML is hosted here: https:\/\/github.com\/CastXML\/CastXML#readme It is a tool based on LLVM\/Clang that generates the same XML output format as\u2026","rel":"","context":"In &quot;Senza categoria&quot;","block_context":{"text":"Senza categoria","link":"https:\/\/monodes.com\/predaelli\/category\/senza-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":776,"url":"https:\/\/monodes.com\/predaelli\/2015\/11\/04\/gcc5-and-libertyeiffel\/","url_meta":{"origin":137,"position":1},"title":"GCC5 and LibertyEiffel","author":"Paolo Redaelli","date":"2015-11-04","format":false,"excerpt":"From: JIT-compilation using GCC 5 | Red Hat Developer Blog This post is about something more user-visible: as of GCC 5, GCC\u2019s code-generation backend can now be built as a shared library. ... The new library in GCC 5 is named libgccjit, since it can be used to implement Just-In-Time\u2026","rel":"","context":"In &quot;Senza categoria&quot;","block_context":{"text":"Senza categoria","link":"https:\/\/monodes.com\/predaelli\/category\/senza-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4639,"url":"https:\/\/monodes.com\/predaelli\/2018\/10\/13\/gcc-optimizing-everything\/","url_meta":{"origin":137,"position":2},"title":"GCC: Optimizing Everything","author":"Paolo Redaelli","date":"2018-10-13","format":"link","excerpt":"Software is useless if computers can't run it. Even the most talented developer is at the mercy of the compiler when it comes to run-time performance - if you don\u2019t have a reliable compiler toolchain you can\u2019t build anything serious. The GNU Compiler Collection (GCC) provides a robust, mature and\u2026","rel":"","context":"In &quot;Senza categoria&quot;","block_context":{"text":"Senza categoria","link":"https:\/\/monodes.com\/predaelli\/category\/senza-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1096,"url":"https:\/\/monodes.com\/predaelli\/2016\/03\/07\/castxml-or-gccxml\/","url_meta":{"origin":137,"position":3},"title":"castxml or gccxml?","author":"Paolo Redaelli","date":"2016-03-07","format":false,"excerpt":"Debian Package castxml is not available in Debian stable so it's wiser to stick to gccxml until Liberty Eiffel bell is released. stretch (testing) (devel): C-family abstract syntax tree XML output tool 0.1+git20150807-1+b1: amd64 0.1+git20150807-1: arm64 armel armhf i386 mips mipsel powerpc ppc64el s390x sid (unstable) (devel): C-family abstract syntax\u2026","rel":"","context":"In &quot;Debian&quot;","block_context":{"text":"Debian","link":"https:\/\/monodes.com\/predaelli\/category\/debian\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":9166,"url":"https:\/\/monodes.com\/predaelli\/2022\/03\/20\/bootstrappable-builds-2\/","url_meta":{"origin":137,"position":4},"title":"Bootstrappable builds","author":"Paolo Redaelli","date":"2022-03-20","format":false,"excerpt":"Source: Bootstrappable builds Do you know how to make yoghurt? The first step is to add yoghurt to milk! How can you build a compiler like GCC? The first step is to get a compiler that can compile the compiler.","rel":"","context":"In &quot;Senza categoria&quot;","block_context":{"text":"Senza categoria","link":"https:\/\/monodes.com\/predaelli\/category\/senza-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":9756,"url":"https:\/\/monodes.com\/predaelli\/2022\/10\/20\/offensivo\/","url_meta":{"origin":137,"position":5},"title":"Offensivo","author":"Paolo Redaelli","date":"2022-10-20","format":false,"excerpt":"Ferrari hackerata, azienda smentisce violazione. Cos\u00ec esordisce It2go Milano ed in bella mostra mettono questa copertina piena di schermate di terminale, tra cui \u00e8 riconoscibilissimo htop in basso a destra oltre a tree, delle opzioni di gcc e dei comuni log di sistema. Francamente trovo questa associazione offensiva. \u00c8 come\u2026","rel":"","context":"In &quot;Mood&quot;","block_context":{"text":"Mood","link":"https:\/\/monodes.com\/predaelli\/category\/mood\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/137","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/comments?post=137"}],"version-history":[{"count":0,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/137\/revisions"}],"wp:attachment":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/media?parent=137"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/categories?post=137"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/tags?post=137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}