From patchwork Thu Aug 16 09:42:03 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nick Clifton X-Patchwork-Id: 177936 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id CB6E22C0093 for ; Thu, 16 Aug 2012 19:48:48 +1000 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1345715329; h=Comment: DomainKey-Signature:Received:Received:Received:Received:Received: From:To:Subject:CC:Date:Message-ID:MIME-Version:Content-Type: Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:Sender:Delivered-To; bh=s22X/JjXfYXpII2CGZOq AaVRS/Q=; b=ZmP2GovZMor6APySNJ1YOgSATq3k45U7eVvqCuJO6YUcECtgYIKm G2D4bzE71+iun7GHGEhLpoFQ8MyW4HYWwA6ZWWFp+3LdssSX0jMfoU3g2LUhjiJZ wkMiD/yNuVxsK9JunbQkHviQ50MjzuyjvB9e4y5cjeJ17E4rVGhjsKc= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:Received:From:To:Subject:CC:Date:Message-ID:MIME-Version:Content-Type:X-IsSubscribed:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=W/J23qq3rhnJQvG55hSdMoPI4Vp4JKR2DS6DGAjCgqZLa9WZvZaVhaVNB3H8vg HTdGdcF9hIbEBT4N8Hw7LfMypch6CnVvbbJhsjyrMHK6i/zm/Ya+zHLFG92mNZlM NVwhP82duxcmEFU9Gi9jhtNq8bIini3HQlB8EhibMTzC8=; Received: (qmail 8189 invoked by alias); 16 Aug 2012 09:48:41 -0000 Received: (qmail 8172 invoked by uid 22791); 16 Aug 2012 09:48:39 -0000 X-SWARE-Spam-Status: No, hits=-6.1 required=5.0 tests=AWL, BAYES_00, KHOP_RCVD_UNTRUST, RCVD_IN_DNSWL_HI, RCVD_IN_HOSTKARMA_W, RP_MATCHES_RCVD, SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 16 Aug 2012 09:48:13 +0000 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q7G9m9sJ026575 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 16 Aug 2012 05:48:09 -0400 Received: from Cadeux.redhat.com (vpn1-5-229.ams2.redhat.com [10.36.5.229]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q7G9llbq018496 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Thu, 16 Aug 2012 05:47:58 -0400 From: Nick Clifton To: chertykov@gmail.com, aesok@post.ru, eric.weddington@atmel.com Subject: Commit: Fixes for building avr-elf with g++. CC: gcc-patches@gcc.gnu.org Date: Thu, 16 Aug 2012 10:42:03 +0100 Message-ID: <87628jrx5g.fsf@redhat.com> MIME-Version: 1.0 X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Hi Denis, Hi Anatoly, Hi Eric, I am applying the patch below as an obvious fix for building the avr-elf port of gcc with a C++ compiler. There were two problems: * t-avr was using $(CC) instead of $(COMPILER) which meant the targets failed to build because they included C++ style headers (eg vec.h). * avr.c was using integer values in places where a specific enum was required. The patch below fixes these problems and allows avr-elf-gcc to be built. Cheers Nick gcc/ChangeLog 2012-08-16 Nick Clifton * config/avr/t-avr: Replace occurrences of $(CC) with $(COMPILER). * config/avr/avr.c (avr_legitimize_reload_address): Add casts for reload_type enums. (DEF_BUILTIN): Cast the icode to enum insn_code. Index: gcc/config/avr/avr.c =================================================================== --- gcc/config/avr/avr.c (revision 190438) +++ gcc/config/avr/avr.c (working copy) @@ -1741,7 +1741,7 @@ push_reload (XEXP (mem, 0), NULL_RTX, &XEXP (mem, 0), NULL, POINTER_REGS, Pmode, VOIDmode, 0, 0, - 1, addr_type); + 1, (enum reload_type) addr_type); if (avr_log.legitimize_reload_address) avr_edump (" RCLASS.2 = %R\n IN = %r\n OUT = %r\n", @@ -1749,7 +1749,7 @@ push_reload (mem, NULL_RTX, &XEXP (x, 0), NULL, BASE_POINTER_REGS, GET_MODE (x), VOIDmode, 0, 0, - opnum, type); + opnum, (enum reload_type) type); if (avr_log.legitimize_reload_address) avr_edump (" RCLASS.2 = %R\n IN = %r\n OUT = %r\n", @@ -1763,7 +1763,7 @@ { push_reload (x, NULL_RTX, px, NULL, POINTER_REGS, GET_MODE (x), VOIDmode, 0, 0, - opnum, type); + opnum, (enum reload_type) type); if (avr_log.legitimize_reload_address) avr_edump (" RCLASS.3 = %R\n IN = %r\n OUT = %r\n", @@ -10338,7 +10338,7 @@ { #define DEF_BUILTIN(NAME, N_ARGS, ID, TYPE, ICODE) \ - { ICODE, NAME, N_ARGS, NULL_TREE }, + { (enum insn_code) ICODE, NAME, N_ARGS, NULL_TREE }, #include "builtins.def" #undef DEF_BUILTIN }; Index: gcc/config/avr/t-avr =================================================================== --- gcc/config/avr/t-avr (revision 190438) +++ gcc/config/avr/t-avr (working copy) @@ -19,20 +19,20 @@ driver-avr.o: $(srcdir)/config/avr/driver-avr.c \ $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) - $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< + $(COMPILER) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< avr-devices.o: $(srcdir)/config/avr/avr-devices.c \ $(srcdir)/config/avr/avr-mcus.def \ $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) - $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< + $(COMPILER) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< avr-c.o: $(srcdir)/config/avr/avr-c.c \ $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(C_COMMON_H) - $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< + $(COMPILER) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< avr-log.o: $(srcdir)/config/avr/avr-log.c \ $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(INPUT_H) dumpfile.h - $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< + $(COMPILER) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< avr.o avr-c.o: $(srcdir)/config/avr/builtins.def @@ -45,7 +45,7 @@ gen-avr-mmcu-texi$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-texi.c \ $(TM_H) $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.c - $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< -o $@ + $(COMPILER) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< -o $@ # Make sure that the -mmcu= documentation is in sync with the compiler. $(srcdir)/doc/avr-mmcu.texi: s-avr-mmcu-texi; @true