From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32705 invoked by alias); 8 Nov 2011 03:44:42 -0000 Received: (qmail 32687 invoked by uid 22791); 8 Nov 2011 03:44:41 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from oarmail.oarcorp.com (HELO OARmail.OARCORP.com) (67.63.146.244) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 08 Nov 2011 03:44:26 +0000 Received: from [192.168.0.104] (216.186.145.118) by OARmail.OARCORP.com (192.168.2.2) with Microsoft SMTP Server (TLS) id 8.1.436.0; Mon, 7 Nov 2011 21:44:26 -0600 Message-ID: <4EB8A599.9060006@oarcorp.com> Date: Tue, 08 Nov 2011 08:10:00 -0000 From: Joel Sherrill User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.20) Gecko/20110831 Fedora/3.1.12-2.fc14 Lightning/1.0b2 Thunderbird/3.1.12 MIME-Version: 1.0 To: "gcc@gcc.gnu.org" Subject: powerpc rs6000_explicit_options change help request Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 8bit X-IsSubscribed: yes 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 X-SW-Source: 2011-11/txt/msg00196.txt.bz2 Hi, powerpc-rtems does not compile on the head due to what appear to be changes in the way CPU features are represented for the arguments. The compilation error is: /users/joel/test-gcc/gcc-svn/gcc/config/rs6000/rs6000.c -o rs6000.o /users/joel/test-gcc/gcc-svn/gcc/config/rs6000/rs6000.c: In function ‘rs6000_option_override_internal’: /users/joel/test-gcc/gcc-svn/gcc/config/rs6000/rs6000.c:2826:3: error: ‘rs6000_explicit_options’ undeclared (first use in this function) /users/joel/test-gcc/gcc-svn/gcc/config/rs6000/rs6000.c:2826:3: note: each undeclared identifier is reported only once for each function it appears in At top level: The code is in rtems.h is currently: if (TARGET_E500) \ { \ if (TARGET_HARD_FLOAT && !rs6000_explicit_options.float_gprs) \ rs6000_float_gprs = 1; \ if (rs6000_float_gprs != 0 && !rs6000_explicit_options.spe) \ rs6000_spe = 1; \ if (rs6000_spe && !rs6000_explicit_options.spe_abi) \ rs6000_spe_abi = 1; \ } \ I think that changes to something like: if (TARGET_E500) \ { \ if (!global_options_set.x_rs6000_float_gprs) \ rs6000_float_gprs = 1; \ if (!global_options_set.x_rs6000_spe) \ rs6000_spe = 1; \ if (!global_options_set.x_rs6000_spe_abi) \ rs6000_spe_abi = 1; \ } \ That compiles but I wanted a sanity check that it is the right transformation. Thanks. --joel sherrill