From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18049 invoked by alias); 20 Nov 2010 10:56:39 -0000 Received: (qmail 18021 invoked by uid 22791); 20 Nov 2010 10:56:34 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE X-Spam-Check-By: sourceware.org Received: from mail-iw0-f175.google.com (HELO mail-iw0-f175.google.com) (209.85.214.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 20 Nov 2010 10:56:25 +0000 Received: by iwn38 with SMTP id 38so900949iwn.20 for ; Sat, 20 Nov 2010 02:56:23 -0800 (PST) MIME-Version: 1.0 Received: by 10.231.19.12 with SMTP id y12mr3505430iba.87.1290250583200; Sat, 20 Nov 2010 02:56:23 -0800 (PST) Received: by 10.231.10.66 with HTTP; Sat, 20 Nov 2010 02:56:23 -0800 (PST) In-Reply-To: References: Date: Sat, 20 Nov 2010 12:40:00 -0000 Message-ID: Subject: Re: Enable #pragma pack with push and pop unconditionally From: Richard Guenther To: "Joseph S. Myers" Cc: gcc-patches@gcc.gnu.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2010-11/txt/msg02122.txt.bz2 On Sat, Nov 20, 2010 at 2:47 AM, Joseph S. Myers wrote: > As proposed in > , this patch > eliminates the target macros HANDLE_SYSV_PRAGMA and > HANDLE_PRAGMA_PACK_PUSH_POP, enabling the relevant features > unconditionally. > > The user documentation of #pragma pack makes no mention of it being > conditional on the target, so needs no changes. =A0The documentation of > the target macros was inaccurate when it claimed #pragma weak support > was conditional on HANDLE_SYSV_PRAGMA; the code was always enabled > (#ifdef on HANDLE_PRAGMA_WEAK, a macro unconditionally #defined in > c-pragma.h), with checks of SUPPORTS_WEAK being done when weak symbols > are actually created. =A0Some targets thought HANDLE_PRAGMA_WEAK was a > target macro; undefining that, or HANDLE_PRAGMA_PACK, was ineffective > given the order of inclusion of headers. =A0Similarly, > HANDLE_PRAGMA_VISIBILITY was unconditionally defined and so served no > useful purpose. > > Bootstrapped with no regressions on x86_64-unknown-linux-gnu. =A0Also > tested building cc1 for crosses to: alpha-linux-gnu alpha-dec-osf5.1 > alpha-dec-vms arm-netbsdelf cris-elf frv-elf i686-darwin > i686-freebsd8.1 i686-interix3 i686-mingw32 i686-netbsdelf i686-netware > i686-openbsd i686-wrs-vxworks ia64-hpux11.23 m32r-linux-gnu mep-elf > mips-sde-elf mmix-knuth-mmixware hppa64-hpux11.23 powerpc-ibm-aix5.3.0 > powerpc-linux-gnu rx-elf score-elf spu-elf xstormy16-elf xtensa-elf > (builds for alpha-dec-osf5.1 and i686-interix3 failed for unrelated > reasons). =A0OK to commit (the non-front-end parts; I think the removal > of always-true conditionals in the C++ front end counts as obvious)? Ok. Thanks, Richard. > 2010-11-19 =A0Joseph Myers =A0 > > =A0 =A0 =A0 =A0* doc/tm.texi.in (HANDLE_SYSV_PRAGMA, > =A0 =A0 =A0 =A0HANDLE_PRAGMA_PACK_PUSH_POP): Remove. > =A0 =A0 =A0 =A0(HANDLE_PRAGMA_PACK_WITH_EXPANSION): Don't refer to > =A0 =A0 =A0 =A0HANDLE_SYSV_PRAGMA. > =A0 =A0 =A0 =A0* doc/tm.texi: Regenerate. > =A0 =A0 =A0 =A0* system.h (HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_SYSV_PRAGM= A, > =A0 =A0 =A0 =A0HANDLE_PRAGMA_WEAK): Poison. > =A0 =A0 =A0 =A0* config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Don't define. > =A0 =A0 =A0 =A0* config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't > =A0 =A0 =A0 =A0define. > =A0 =A0 =A0 =A0* config/alpha/osf5.h (HANDLE_SYSV_PRAGMA): Don't define. > =A0 =A0 =A0 =A0* config/alpha/vms.h (HANDLE_SYSV_PRAGMA): Don't define. > =A0 =A0 =A0 =A0* config/arm/arm.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't de= fine. > =A0 =A0 =A0 =A0* config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define. > =A0 =A0 =A0 =A0* config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't = define. > =A0 =A0 =A0 =A0* config/darwin.h (HANDLE_SYSV_PRAGMA): Don't define. > =A0 =A0 =A0 =A0(HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. > =A0 =A0 =A0 =A0* config/elfos.h (HANDLE_SYSV_PRAGMA): Don't define. > =A0 =A0 =A0 =A0* config/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't de= fine. > =A0 =A0 =A0 =A0* config/frv/frv.h (HANDLE_SYSV_PRAGMA): Don't define. > =A0 =A0 =A0 =A0* config/i386/cygming.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don= 't > =A0 =A0 =A0 =A0define. > =A0 =A0 =A0 =A0* config/i386/djgpp.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't= define. > =A0 =A0 =A0 =A0* config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Don't d= efine. > =A0 =A0 =A0 =A0(HANDLE_PRAGMA_WEAK): Don't undefine. > =A0 =A0 =A0 =A0* config/i386/netware.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don= 't > =A0 =A0 =A0 =A0define. > =A0 =A0 =A0 =A0* config/i386/vxworks.h (HANDLE_SYSV_PRAGMA): Don't define. > =A0 =A0 =A0 =A0* config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't = define. > =A0 =A0 =A0 =A0* config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Don't define. > =A0 =A0 =A0 =A0* config/interix.h (HANDLE_SYSV_PRAGMA): Don't define. > =A0 =A0 =A0 =A0(HANDLE_PRAGMA_WEAK): Don't undefine. > =A0 =A0 =A0 =A0* config/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't defi= ne. > =A0 =A0 =A0 =A0* config/m32r/linux.h (HANDLE_SYSV_PRAGMA): Don't define. > =A0 =A0 =A0 =A0(HANDLE_PRAGMA_PACK): Don't undefine. > =A0 =A0 =A0 =A0* config/m32r/m32r.h (HANDLE_SYSV_PRAGMA): Don't undefine. > =A0 =A0 =A0 =A0* config/mep/mep.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't de= fine. > =A0 =A0 =A0 =A0* config/mips/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't d= efine. > =A0 =A0 =A0 =A0* config/mips/sde.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't d= efine. > =A0 =A0 =A0 =A0* config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Don't define. > =A0 =A0 =A0 =A0* config/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define. > =A0 =A0 =A0 =A0(HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. > =A0 =A0 =A0 =A0* config/openbsd.h (HANDLE_SYSV_PRAGMA): Don't define. > =A0 =A0 =A0 =A0* config/pa/pa-hpux.h (HANDLE_SYSV_PRAGMA): Don't define. > =A0 =A0 =A0 =A0(HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. > =A0 =A0 =A0 =A0* config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Don't define. > =A0 =A0 =A0 =A0* config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don= 't > =A0 =A0 =A0 =A0define. > =A0 =A0 =A0 =A0* config/rx/rx.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't defi= ne. > =A0 =A0 =A0 =A0* config/score/elf.h (HANDLE_SYSV_PRAGMA): Don't define. > =A0 =A0 =A0 =A0* config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't de= fine. > =A0 =A0 =A0 =A0* config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Don't d= efine. > =A0 =A0 =A0 =A0* config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't= define. > > c-family: > 2010-11-19 =A0Joseph Myers =A0 > > =A0 =A0 =A0 =A0* c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK, > =A0 =A0 =A0 =A0HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and > =A0 =A0 =A0 =A0HANDLE_PRAGMA_VISIBILITY. > =A0 =A0 =A0 =A0* c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK, > =A0 =A0 =A0 =A0HANDLE_PRAGMA_VISIBILITY): Don't define. > =A0 =A0 =A0 =A0(HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't t= est. > > cp: > 2010-11-19 =A0Joseph Myers =A0 > > =A0 =A0 =A0 =A0* name-lookup.c (handle_namespace_attrs): Don't check > =A0 =A0 =A0 =A0HANDLE_PRAGMA_VISIBILITY. > =A0 =A0 =A0 =A0* parser.c (cp_parser_namespace_definition): Don't check > =A0 =A0 =A0 =A0HANDLE_PRAGMA_VISIBILITY. > > testsuite: > 2010-11-19 =A0Joseph Myers =A0 > > =A0 =A0 =A0 =A0* g++.dg/cpp/_Pragma1.C: Test for all non-Solaris targets. > =A0 =A0 =A0 =A0* gcc.dg/cpp/_Pragma6.c: Test for all non-Solaris targets. > =A0 =A0 =A0 =A0* gcc.dg/pack-test-1.c: Test for all non-default_packed ta= rgets. > =A0 =A0 =A0 =A0* gcc.dg/pack-test-2.c: Test for all targets. > =A0 =A0 =A0 =A0* gcc.dg/pragma-align.c: Test for all targets. > =A0 =A0 =A0 =A0* gcc.dg/pragma-pack-4.c: Do not skip for AVR. > =A0 =A0 =A0 =A0* gcc.dg/ucnid-10.c: Test for all targets. > > Index: gcc/doc/tm.texi > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/doc/tm.texi =A0 =A0 (revision 166951) > +++ gcc/doc/tm.texi =A0 =A0 (working copy) > @@ -10666,55 +10666,8 @@ rule to the makefile fragment pointed to > =A0how to build this object file. > =A0@end deftypefun > > -@findex #pragma > -@findex pragma > -@defmac HANDLE_SYSV_PRAGMA > -Define this macro (to a value of 1) if you want the System V style > -pragmas @samp{#pragma pack()} and @samp{#pragma weak > -[=3D]} to be supported by gcc. > - > -The pack pragma specifies the maximum alignment (in bytes) of fields > -within a structure, in much the same way as the @samp{__aligned__} and > -@samp{__packed__} @code{__attribute__}s do. =A0A pack value of zero rese= ts > -the behavior to the default. > - > -A subtlety for Microsoft Visual C/C++ style bit-field packing > -(e.g.@: -mms-bitfields) for targets that support it: > -When a bit-field is inserted into a packed record, the whole size > -of the underlying type is used by one or more same-size adjacent > -bit-fields (that is, if its long:3, 32 bits is used in the record, > -and any additional adjacent long bit-fields are packed into the same > -chunk of 32 bits. =A0However, if the size changes, a new field of that > -size is allocated). > - > -If both MS bit-fields and @samp{__attribute__((packed))} are used, > -the latter will take precedence. =A0If @samp{__attribute__((packed))} is > -used on a single field when MS bit-fields are in use, it will take > -precedence for that field, but the alignment of the rest of the structure > -may affect its placement. > - > -The weak pragma only works if @code{SUPPORTS_WEAK} and > -@code{ASM_WEAKEN_LABEL} are defined. =A0If enabled it allows the creation > -of specifically named weak labels, optionally with a value. > -@end defmac > - > -@findex #pragma > -@findex pragma > -@defmac HANDLE_PRAGMA_PACK_PUSH_POP > -Define this macro (to a value of 1) if you want to support the Win32 > -style pragmas @samp{#pragma pack(push[,@var{n}])} and @samp{#pragma > -pack(pop)}. =A0The @samp{pack(push,[@var{n}])} pragma specifies the maxi= mum > -alignment (in bytes) of fields within a structure, in much the same way = as > -the @samp{__aligned__} and @samp{__packed__} @code{__attribute__}s do. = =A0A > -pack value of zero resets the behavior to the default. =A0Successive > -invocations of this pragma cause the previous values to be stacked, so > -that invocations of @samp{#pragma pack(pop)} will return to the previous > -value. > -@end defmac > - > =A0@defmac HANDLE_PRAGMA_PACK_WITH_EXPANSION > -Define this macro, as well as > -@code{HANDLE_SYSV_PRAGMA}, if macros should be expanded in the > +Define this macro if macros should be expanded in the > =A0arguments of @samp{#pragma pack}. > =A0@end defmac > > Index: gcc/doc/tm.texi.in > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/doc/tm.texi.in =A0(revision 166951) > +++ gcc/doc/tm.texi.in =A0(working copy) > @@ -10628,55 +10628,8 @@ rule to the makefile fragment pointed to > =A0how to build this object file. > =A0@end deftypefun > > -@findex #pragma > -@findex pragma > -@defmac HANDLE_SYSV_PRAGMA > -Define this macro (to a value of 1) if you want the System V style > -pragmas @samp{#pragma pack()} and @samp{#pragma weak > -[=3D]} to be supported by gcc. > - > -The pack pragma specifies the maximum alignment (in bytes) of fields > -within a structure, in much the same way as the @samp{__aligned__} and > -@samp{__packed__} @code{__attribute__}s do. =A0A pack value of zero rese= ts > -the behavior to the default. > - > -A subtlety for Microsoft Visual C/C++ style bit-field packing > -(e.g.@: -mms-bitfields) for targets that support it: > -When a bit-field is inserted into a packed record, the whole size > -of the underlying type is used by one or more same-size adjacent > -bit-fields (that is, if its long:3, 32 bits is used in the record, > -and any additional adjacent long bit-fields are packed into the same > -chunk of 32 bits. =A0However, if the size changes, a new field of that > -size is allocated). > - > -If both MS bit-fields and @samp{__attribute__((packed))} are used, > -the latter will take precedence. =A0If @samp{__attribute__((packed))} is > -used on a single field when MS bit-fields are in use, it will take > -precedence for that field, but the alignment of the rest of the structure > -may affect its placement. > - > -The weak pragma only works if @code{SUPPORTS_WEAK} and > -@code{ASM_WEAKEN_LABEL} are defined. =A0If enabled it allows the creation > -of specifically named weak labels, optionally with a value. > -@end defmac > - > -@findex #pragma > -@findex pragma > -@defmac HANDLE_PRAGMA_PACK_PUSH_POP > -Define this macro (to a value of 1) if you want to support the Win32 > -style pragmas @samp{#pragma pack(push[,@var{n}])} and @samp{#pragma > -pack(pop)}. =A0The @samp{pack(push,[@var{n}])} pragma specifies the maxi= mum > -alignment (in bytes) of fields within a structure, in much the same way = as > -the @samp{__aligned__} and @samp{__packed__} @code{__attribute__}s do. = =A0A > -pack value of zero resets the behavior to the default. =A0Successive > -invocations of this pragma cause the previous values to be stacked, so > -that invocations of @samp{#pragma pack(pop)} will return to the previous > -value. > -@end defmac > - > =A0@defmac HANDLE_PRAGMA_PACK_WITH_EXPANSION > -Define this macro, as well as > -@code{HANDLE_SYSV_PRAGMA}, if macros should be expanded in the > +Define this macro if macros should be expanded in the > =A0arguments of @samp{#pragma pack}. > =A0@end defmac > > Index: gcc/c-family/c-pragma.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/c-family/c-pragma.c =A0 =A0 (revision 166951) > +++ gcc/c-family/c-pragma.c =A0 =A0 (working copy) > @@ -54,10 +54,8 @@ typedef struct GTY(()) align_stack { > > =A0static GTY(()) struct align_stack * alignment_stack; > > -#ifdef HANDLE_PRAGMA_PACK > =A0static void handle_pragma_pack (cpp_reader *); > > -#ifdef HANDLE_PRAGMA_PACK_PUSH_POP > =A0/* If we have a "global" #pragma pack() in effect when the first > =A0 =A0#pragma pack(push,) is encountered, this stores the value of > =A0 =A0maximum_field_alignment in effect. =A0When the final pop_alignment= () > @@ -125,13 +123,6 @@ pop_alignment (tree id) > > =A0 alignment_stack =3D entry; > =A0} > -#else =A0/* not HANDLE_PRAGMA_PACK_PUSH_POP */ > -#define SET_GLOBAL_ALIGNMENT(ALIGN) (maximum_field_alignment =3D (ALIGN)) > -#define push_alignment(ID, N) \ > - =A0 =A0GCC_BAD ("#pragma pack(push[, id], ) is not supported on this= target") > -#define pop_alignment(ID) \ > - =A0 =A0GCC_BAD ("#pragma pack(pop[, id], ) is not supported on this = target") > -#endif /* HANDLE_PRAGMA_PACK_PUSH_POP */ > > =A0/* #pragma pack () > =A0 =A0#pragma pack (N) > @@ -244,7 +235,6 @@ handle_pragma_pack (cpp_reader * ARG_UNU > =A0 =A0 case pop: =A0 pop_alignment (id); =A0 =A0 =A0 =A0 =A0 break; > =A0 =A0 } > =A0} > -#endif =A0/* HANDLE_PRAGMA_PACK */ > > =A0typedef struct GTY(()) pending_weak_d > =A0{ > @@ -257,7 +247,6 @@ DEF_VEC_ALLOC_O(pending_weak,gc); > > =A0static GTY(()) VEC(pending_weak,gc) *pending_weaks; > > -#ifdef HANDLE_PRAGMA_WEAK > =A0static void apply_pragma_weak (tree, tree); > =A0static void handle_pragma_weak (cpp_reader *); > > @@ -380,17 +369,6 @@ handle_pragma_weak (cpp_reader * ARG_UNU > =A0 =A0 =A0 pe->value =3D value; > =A0 =A0 } > =A0} > -#else > -void > -maybe_apply_pragma_weak (tree ARG_UNUSED (decl)) > -{ > -} > - > -void > -maybe_apply_pending_pragma_weaks (void) > -{ > -} > -#endif /* HANDLE_PRAGMA_WEAK */ > > =A0/* GCC supports two #pragma directives for renaming the external > =A0 =A0symbol associated with a declaration (DECL_ASSEMBLER_NAME), for > @@ -617,7 +595,6 @@ maybe_apply_renaming_pragma (tree decl, > =A0} > > > -#ifdef HANDLE_PRAGMA_VISIBILITY > =A0static void handle_pragma_visibility (cpp_reader *); > > =A0static VEC (int, heap) *visstack; > @@ -710,8 +687,6 @@ handle_pragma_visibility (cpp_reader *du > =A0 =A0 warning (OPT_Wpragmas, "junk at end of %<#pragma GCC visibility%>= "); > =A0} > > -#endif > - > =A0static void > =A0handle_pragma_diagnostic(cpp_reader *ARG_UNUSED(dummy)) > =A0{ > @@ -1316,19 +1291,13 @@ init_pragma (void) > =A0 =A0 cpp_register_deferred_pragma (parse_in, "GCC", "pch_preprocess", > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0PRAGMA= _GCC_PCH_PREPROCESS, false, false); > > -#ifdef HANDLE_PRAGMA_PACK > =A0#ifdef HANDLE_PRAGMA_PACK_WITH_EXPANSION > =A0 c_register_pragma_with_expansion (0, "pack", handle_pragma_pack); > =A0#else > =A0 c_register_pragma (0, "pack", handle_pragma_pack); > =A0#endif > -#endif > -#ifdef HANDLE_PRAGMA_WEAK > =A0 c_register_pragma (0, "weak", handle_pragma_weak); > -#endif > -#ifdef HANDLE_PRAGMA_VISIBILITY > =A0 c_register_pragma ("GCC", "visibility", handle_pragma_visibility); > -#endif > > =A0 c_register_pragma ("GCC", "diagnostic", handle_pragma_diagnostic); > =A0 c_register_pragma ("GCC", "target", handle_pragma_target); > Index: gcc/c-family/c-pragma.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/c-family/c-pragma.h =A0 =A0 (revision 166951) > +++ gcc/c-family/c-pragma.h =A0 =A0 (working copy) > @@ -1,6 +1,6 @@ > =A0/* Pragma related interfaces. > =A0 =A0Copyright (C) 1995, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, > - =A0 2007, 2008 =A0Free Software Foundation, Inc. > + =A0 2007, 2008, 2009, 2010 =A0Free Software Foundation, Inc. > > =A0This file is part of GCC. > > @@ -75,26 +75,9 @@ typedef enum pragma_omp_clause { > > =A0extern struct cpp_reader* parse_in; > > -#define HANDLE_PRAGMA_WEAK SUPPORTS_WEAK > - > -#ifdef HANDLE_SYSV_PRAGMA > -/* We always support #pragma pack for SYSV pragmas. =A0*/ > -#ifndef HANDLE_PRAGMA_PACK > -#define HANDLE_PRAGMA_PACK 1 > -#endif > -#endif /* HANDLE_SYSV_PRAGMA */ > - > - > -#ifdef HANDLE_PRAGMA_PACK_PUSH_POP > -/* If we are supporting #pragma pack(push... then we automatically > - =A0 support #pragma pack() =A0*/ > -#define HANDLE_PRAGMA_PACK 1 > -#endif /* HANDLE_PRAGMA_PACK_PUSH_POP */ > - > =A0/* It's safe to always leave visibility pragma enabled as if > =A0 =A0visibility is not supported on the host OS platform the > =A0 =A0statements are ignored. =A0*/ > -#define HANDLE_PRAGMA_VISIBILITY 1 > =A0extern void push_visibility (const char *, int); > =A0extern bool pop_visibility (int); > > Index: gcc/testsuite/gcc.dg/pragma-align.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/testsuite/gcc.dg/pragma-align.c (revision 166951) > +++ gcc/testsuite/gcc.dg/pragma-align.c (working copy) > @@ -1,6 +1,6 @@ > -/* Prove that HANDLE_SYSTEMV_PRAGMA alignment handling works somewhat. */ > +/* Prove that pragma alignment handling works somewhat. */ > > -/* { dg-do run { target i?86-*-linux* x86_64-*-linux* i?86-*-*bsd* *-*-s= olaris2.* } } */ > +/* { dg-do run } */ > > =A0extern void abort (void); > > Index: gcc/testsuite/gcc.dg/cpp/_Pragma6.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/testsuite/gcc.dg/cpp/_Pragma6.c (revision 166951) > +++ gcc/testsuite/gcc.dg/cpp/_Pragma6.c (working copy) > @@ -1,8 +1,7 @@ > =A0/* PR c/27747 */ > =A0/* This is supposed to succeed only if > - =A0 the target defines HANDLE_PRAGMA_PACK_PUSH_POP > - =A0 and doesn't define HANDLE_PRAGMA_PACK_WITH_EXPANSION. =A0*/ > -/* { dg-do compile { target { ! { powerpc-ibm-aix* *-*-solaris2* fido-*-= * m68k-*-* sh*-[us]*-elf m32c-*-* *-*-vxworks moxie-*-* mips-sgi-irix* alph= a*-dec-osf* } } } } */ > + =A0 the target doesn't define HANDLE_PRAGMA_PACK_WITH_EXPANSION. =A0*/ > +/* { dg-do compile { target { ! { *-*-solaris2* } } } } */ > > =A0#define push bar > =A0#define foo _Pragma ("pack(push)") > Index: gcc/testsuite/gcc.dg/pack-test-1.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/testsuite/gcc.dg/pack-test-1.c =A0(revision 166951) > +++ gcc/testsuite/gcc.dg/pack-test-1.c =A0(working copy) > @@ -1,7 +1,7 @@ > =A0/* Test semantics of #pragma pack. > =A0 =A0Contributed by Mike Coleman */ > > -/* { dg-do compile { target { { *-*-linux* *-*-cygwin* powerpc*-*-eabi* = } && { ! default_packed } } } } */ > +/* { dg-do compile { target { ! default_packed } } } */ > > =A0/* Mainly we're just testing whether pushing and popping seem to be > =A0 =A0working correctly, and verifying the (alignment =3D=3D 1) case, wh= ich > Index: gcc/testsuite/gcc.dg/pack-test-2.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/testsuite/gcc.dg/pack-test-2.c =A0(revision 166951) > +++ gcc/testsuite/gcc.dg/pack-test-2.c =A0(working copy) > @@ -1,7 +1,7 @@ > =A0/* Tests for syntax checking of #pragma pack. > =A0 =A0Contributed by Mike Coleman */ > > -/* { dg-do compile { target *-*-linux* *-*-cygwin* powerpc*-*-eabi* } } = */ > +/* { dg-do compile } */ > > =A0#pragma pack(pop) =A0 =A0 =A0 =A0 =A0 =A0 =A0 /* { dg-warning "without= matching" } */ > > Index: gcc/testsuite/gcc.dg/ucnid-10.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/testsuite/gcc.dg/ucnid-10.c =A0 =A0 (revision 166951) > +++ gcc/testsuite/gcc.dg/ucnid-10.c =A0 =A0 (working copy) > @@ -1,6 +1,6 @@ > =A0/* Verify diagnostics for extended identifiers refer to UCNs (in the C > =A0 =A0locale). =A0Test #pragma pack diagnostics. =A0*/ > -/* { dg-do compile { target *-*-linux* *-*-cygwin* powerpc*-*-eabi* } } = */ > +/* { dg-do compile } */ > =A0/* { dg-options "-std=3Dgnu99 -fextended-identifiers" } */ > > =A0#pragma pack(push) > Index: gcc/testsuite/gcc.dg/pragma-pack-4.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/testsuite/gcc.dg/pragma-pack-4.c =A0 =A0 =A0 =A0(revision 166951) > +++ gcc/testsuite/gcc.dg/pragma-pack-4.c =A0 =A0 =A0 =A0(working copy) > @@ -1,6 +1,5 @@ > =A0/* PR c/28286 */ > =A0/* { dg-do compile } */ > -/* { dg-skip-if "no Pragma pack" { "avr-*-*" } { "*" } { "" } } */ > > > =A0#pragma pack(0.5) =A0 =A0 =A0 =A0 /* { dg-warning "invalid constant" }= */ > Index: gcc/testsuite/g++.dg/cpp/_Pragma1.C > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/testsuite/g++.dg/cpp/_Pragma1.C (revision 166951) > +++ gcc/testsuite/g++.dg/cpp/_Pragma1.C (working copy) > @@ -1,8 +1,7 @@ > =A0// PR c++/27748 > =A0// This is supposed to succeed only if > -// the target defines HANDLE_PRAGMA_PACK_PUSH_POP > -// and doesn't define HANDLE_PRAGMA_PACK_WITH_EXPANSION. > -// { dg-do compile { target { ! { powerpc-ibm-aix* *-*-solaris2* fido-*-= * m68k-*-* mips-sgi-irix* sh*-[us]*-elf m32c-*-* *-*-vxworks alpha*-dec-osf= * } } } } > +// the target doesn't define HANDLE_PRAGMA_PACK_WITH_EXPANSION. > +// { dg-do compile { target { ! { *-*-solaris2* } } } } > > =A0#define push bar > =A0#define foo _Pragma ("pack(push)") > Index: gcc/cp/parser.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/cp/parser.c =A0 =A0 (revision 166951) > +++ gcc/cp/parser.c =A0 =A0 (working copy) > @@ -13828,10 +13828,8 @@ cp_parser_namespace_definition (cp_parse > =A0 /* Parse the body of the namespace. =A0*/ > =A0 cp_parser_namespace_body (parser); > > -#ifdef HANDLE_PRAGMA_VISIBILITY > =A0 if (has_visibility) > =A0 =A0 pop_visibility (1); > -#endif > > =A0 /* Finish the namespace. =A0*/ > =A0 pop_namespace (); > Index: gcc/cp/name-lookup.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/cp/name-lookup.c =A0 =A0 =A0 =A0(revision 166951) > +++ gcc/cp/name-lookup.c =A0 =A0 =A0 =A0(working copy) > @@ -3239,7 +3239,6 @@ handle_namespace_attrs (tree ns, tree at > =A0 =A0 =A0 tree name =3D TREE_PURPOSE (d); > =A0 =A0 =A0 tree args =3D TREE_VALUE (d); > > -#ifdef HANDLE_PRAGMA_VISIBILITY > =A0 =A0 =A0 if (is_attribute_p ("visibility", name)) > =A0 =A0 =A0 =A0{ > =A0 =A0 =A0 =A0 =A0tree x =3D args ? TREE_VALUE (args) : NULL_TREE; > @@ -3260,7 +3259,6 @@ handle_namespace_attrs (tree ns, tree at > =A0 =A0 =A0 =A0 =A0saw_vis =3D true; > =A0 =A0 =A0 =A0} > =A0 =A0 =A0 else > -#endif > =A0 =A0 =A0 =A0{ > =A0 =A0 =A0 =A0 =A0warning (OPT_Wattributes, "%qD attribute directive ign= ored", > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 name); > Index: gcc/system.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/system.h =A0 =A0 =A0 =A0(revision 166951) > +++ gcc/system.h =A0 =A0 =A0 =A0(working copy) > @@ -777,7 +777,8 @@ extern void fancy_abort (const char *, i > =A0 =A0 =A0 =A0ORDER_REGS_FOR_LOCAL_ALLOC FUNCTION_OUTGOING_VALUE =A0 =A0= =A0 =A0 =A0 =A0 =A0 =A0 \ > =A0 =A0 =A0 =A0ASM_DECLARE_CONSTANT_NAME MODIFY_TARGET_NAME SWITCHES_NEED= _SPACES =A0\ > =A0 =A0 =A0 =A0SWITCH_CURTAILS_COMPILATION SWITCH_TAKES_ARG WORD_SWITCH_T= AKES_ARG \ > - =A0 =A0 =A0 TARGET_OPTION_TRANSLATE_TABLE > + =A0 =A0 =A0 TARGET_OPTION_TRANSLATE_TABLE HANDLE_PRAGMA_PACK_PUSH_POP = =A0 =A0 =A0 =A0 =A0\ > + =A0 =A0 =A0 HANDLE_SYSV_PRAGMA HANDLE_PRAGMA_WEAK > > =A0/* Hooks that are no longer used. =A0*/ > =A0#pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE = =A0\ > Index: gcc/config/alpha/linux.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/alpha/linux.h =A0 =A0(revision 166951) > +++ gcc/config/alpha/linux.h =A0 =A0(working copy) > @@ -1,7 +1,7 @@ > =A0/* Definitions of target machine for GNU compiler, > =A0 =A0for Alpha Linux-based GNU systems. > - =A0 Copyright (C) 1996, 1997, 1998, 2002, 2003, 2004, 2005, 2006, 2007 > - =A0 Free Software Foundation, Inc. > + =A0 Copyright (C) 1996, 1997, 1998, 2002, 2003, 2004, 2005, 2006, 2007,= 2009, > + =A0 2010 Free Software Foundation, Inc. > =A0 =A0Contributed by Richard Henderson. > > =A0This file is part of GCC. > @@ -61,9 +61,6 @@ along with GCC; see the file COPYING3. > =A0#undef WCHAR_TYPE > =A0#define WCHAR_TYPE "int" > > -/* Define this so that all GNU/Linux targets handle the same pragmas. = =A0*/ > -#define HANDLE_PRAGMA_PACK_PUSH_POP > - > =A0#define OPTION_GLIBC =A0(linux_libc =3D=3D LIBC_GLIBC) > > =A0/* Determine whether the entire c99 runtime is present in the > Index: gcc/config/alpha/vms.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/alpha/vms.h =A0 =A0 =A0(revision 166951) > +++ gcc/config/alpha/vms.h =A0 =A0 =A0(working copy) > @@ -69,8 +69,6 @@ along with GCC; see the file COPYING3. > =A0#define POINTER_SIZE 32 > =A0#define POINTERS_EXTEND_UNSIGNED 0 > > -#define HANDLE_SYSV_PRAGMA 1 > - > =A0#define MAX_OFILE_ALIGNMENT 524288 =A0/* 8 x 2^16 by DEC Ada Test CD40= VRA */ > > =A0/* The maximum alignment 'malloc' honors. =A0*/ > Index: gcc/config/alpha/elf.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/alpha/elf.h =A0 =A0 =A0(revision 166951) > +++ gcc/config/alpha/elf.h =A0 =A0 =A0(working copy) > @@ -400,9 +400,6 @@ do { =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0 =A0 =A0 =A0\ > =A0 "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \ > =A0 =A0%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s" > > -/* We support #pragma. =A0*/ > -#define HANDLE_SYSV_PRAGMA 1 > - > =A0/* Select a format to encode pointers in exception handling data. =A0C= ODE > =A0 =A0is 0 for data, 1 for code labels, 2 for function pointers. =A0GLOB= AL is > =A0 =A0true if the symbol may be affected by dynamic relocations. > Index: gcc/config/alpha/osf5.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/alpha/osf5.h =A0 =A0 (revision 166951) > +++ gcc/config/alpha/osf5.h =A0 =A0 (working copy) > @@ -268,9 +268,6 @@ __enable_execute_stack (void *addr) > =A0#define TARGET_ASM_OPEN_PAREN "" > =A0#define TARGET_ASM_CLOSE_PAREN "" > > -/* Handle #pragma weak and #pragma pack. =A0*/ > -#define HANDLE_SYSV_PRAGMA 1 > - > =A0/* Handle #pragma extern_prefix. =A0*/ > =A0#define TARGET_HANDLE_PRAGMA_EXTERN_PREFIX 1 > > Index: gcc/config/linux.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/linux.h =A0(revision 166951) > +++ gcc/config/linux.h =A0(working copy) > @@ -102,9 +102,6 @@ see the files COPYING3 and COPYING.RUNTI > =A0#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " > =A0#endif > > -/* Define this so we can compile MS code for use with WINE. =A0*/ > -#define HANDLE_PRAGMA_PACK_PUSH_POP > - > =A0#undef LINK_GCC_C_SEQUENCE_SPEC > =A0#define LINK_GCC_C_SEQUENCE_SPEC \ > =A0 "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" > Index: gcc/config/frv/frv.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/frv/frv.h =A0 =A0 =A0 =A0(revision 166951) > +++ gcc/config/frv/frv.h =A0 =A0 =A0 =A0(working copy) > @@ -2306,13 +2306,6 @@ fprintf (STREAM, "\t.word .L%d\n", VALUE > =A0 =A0`QImode'. =A0*/ > =A0#define FUNCTION_MODE QImode > > -/* Define this macro to handle System V style pragmas: #pragma pack and > - =A0 #pragma weak. =A0Note, #pragma weak will only be supported if SUPPO= RT_WEAK is > - =A0 defined. > - > - =A0 Defined in svr4.h. =A0*/ > -#define HANDLE_SYSV_PRAGMA 1 > - > =A0/* A C expression for the maximum number of instructions to execute via > =A0 =A0conditional execution instructions instead of a branch. =A0A value= of > =A0 =A0BRANCH_COST+1 is the default if the machine does not use > Index: gcc/config/elfos.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/elfos.h =A0(revision 166951) > +++ gcc/config/elfos.h =A0(working copy) > @@ -65,10 +65,6 @@ see the files COPYING3 and COPYING.RUNTI > =A0#define PCC_BITFIELD_TYPE_MATTERS 1 > =A0#endif > > -/* Handle #pragma weak and #pragma pack. =A0*/ > - > -#define HANDLE_SYSV_PRAGMA 1 > - > =A0/* All ELF targets can support DWARF-2. =A0*/ > > =A0#define DWARF2_DEBUGGING_INFO 1 > Index: gcc/config/spu/spu.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/spu/spu.h =A0 =A0 =A0 =A0(revision 166951) > +++ gcc/config/spu/spu.h =A0 =A0 =A0 =A0(working copy) > @@ -512,8 +512,6 @@ targetm.resolve_overloaded_builtin =3D spu > > =A0#define NO_IMPLICIT_EXTERN_C 1 > > -#define HANDLE_PRAGMA_PACK_PUSH_POP 1 > - > =A0/* Canonicalize a comparison from one we don't have to one we do have.= =A0*/ > =A0#define CANONICALIZE_COMPARISON(CODE,OP0,OP1) \ > =A0 do { =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0\ > Index: gcc/config/interix.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/interix.h =A0 =A0 =A0 =A0(revision 166951) > +++ gcc/config/interix.h =A0 =A0 =A0 =A0(working copy) > @@ -61,9 +61,6 @@ for windows/multi thread */ > > =A0#define STDC_0_IN_SYSTEM_HEADERS 1 > > -#define HANDLE_SYSV_PRAGMA 1 > -#undef HANDLE_PRAGMA_WEAK =A0/* until the link format can handle it */ > - > =A0/* Names to predefine in the preprocessor for this target machine. =A0= */ > > =A0#define DBX_DEBUGGING_INFO 1 > Index: gcc/config/mep/mep.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/mep/mep.h =A0 =A0 =A0 =A0(revision 166951) > +++ gcc/config/mep/mep.h =A0 =A0 =A0 =A0(working copy) > @@ -804,8 +804,6 @@ typedef struct > > =A0#define REGISTER_TARGET_PRAGMAS() =A0 =A0 =A0 mep_register_pragmas () > > -#define HANDLE_PRAGMA_PACK_PUSH_POP 1 > - > =A0/* If defined, a C expression to determine the base term of address X. > =A0 =A0This macro is used in only one place: `find_base_term' in alias.c. > > Index: gcc/config/m32r/linux.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/m32r/linux.h =A0 =A0 (revision 166951) > +++ gcc/config/m32r/linux.h =A0 =A0 (working copy) > @@ -1,5 +1,5 @@ > =A0/* Definitions for Renesas M32R running Linux-based GNU systems using = ELF. > - =A0 Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc. > + =A0 Copyright (C) 2003, 2004, 2006, 2007, 2010 Free Software Foundation= , Inc. > > =A0 =A0This file is part of GCC. > > @@ -23,10 +23,6 @@ > =A0 =A0supposed to be outputting something that will assemble under SVr4. > =A0 =A0This gets us pretty close. =A0*/ > > -#define HANDLE_SYSV_PRAGMA > - > -#undef =A0HANDLE_PRAGMA_PACK > - > =A0#undef =A0TARGET_VERSION > =A0#define TARGET_VERSION fprintf (stderr, " (M32R GNU/Linux with ELF)"); > > Index: gcc/config/m32r/m32r.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/m32r/m32r.h =A0 =A0 =A0(revision 166951) > +++ gcc/config/m32r/m32r.h =A0 =A0 =A0(working copy) > @@ -22,7 +22,6 @@ > =A0- longlong.h? > =A0*/ > > -#undef HANDLE_SYSV_PRAGMA > =A0#undef SIZE_TYPE > =A0#undef PTRDIFF_TYPE > =A0#undef WCHAR_TYPE > Index: gcc/config/i386/cygming.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/i386/cygming.h =A0 (revision 166951) > +++ gcc/config/i386/cygming.h =A0 (working copy) > @@ -178,9 +178,6 @@ along with GCC; see the file COPYING3. > =A0#undef LONG_TYPE_SIZE > =A0#define LONG_TYPE_SIZE 32 > > -/* Enable parsing of #pragma pack(push,) and #pragma pack(pop). =A0*/ > -#define HANDLE_PRAGMA_PACK_PUSH_POP 1 > - > =A0union tree_node; > =A0#define TREE union tree_node * > > Index: gcc/config/i386/djgpp.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/i386/djgpp.h =A0 =A0 (revision 166951) > +++ gcc/config/i386/djgpp.h =A0 =A0 (working copy) > @@ -24,11 +24,6 @@ along with GCC; see the file COPYING3. > =A0/* Don't assume anything about the header files. =A0*/ > =A0#define NO_IMPLICIT_EXTERN_C > > -#define HANDLE_SYSV_PRAGMA 1 > - > -/* Enable parsing of #pragma pack(push,) and #pragma pack(pop). =A0*/ > -#define HANDLE_PRAGMA_PACK_PUSH_POP 1 > - > =A0/* If defined, a C expression whose value is a string containing the > =A0 =A0assembler operation to identify the following data as > =A0 =A0uninitialized global data. =A0If not defined, and neither > Index: gcc/config/i386/netware.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/i386/netware.h =A0 (revision 166951) > +++ gcc/config/i386/netware.h =A0 (working copy) > @@ -1,6 +1,7 @@ > =A0/* Core target definitions for GCC for Intel 80x86 running Netware. > =A0 =A0and using dwarf for the debugging format. > - =A0 Copyright (C) 1993, 1994, 2004, 2007, 2008 Free Software Foundation= , Inc. > + =A0 Copyright (C) 1993, 1994, 2004, 2007, 2008, 2009, 2010 > + =A0 Free Software Foundation, Inc. > > =A0 =A0Written by David V. Henkel-Wallace (gumby@cygnus.com) > > @@ -104,9 +105,6 @@ do { =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0 =A0 =A0 =A0\ > =A0#undef DBX_REGISTER_NUMBER > =A0#define DBX_REGISTER_NUMBER(n) (svr4_dbx_register_map[n]) > > -/* Enable parsing of #pragma pack(push,) and #pragma pack(pop). =A0*/ > -#define HANDLE_PRAGMA_PACK_PUSH_POP > - > =A0/* Default structure packing is 1-byte. */ > =A0#define TARGET_DEFAULT_PACK_STRUCT 1 > > Index: gcc/config/i386/i386-interix.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/i386/i386-interix.h =A0 =A0 =A0(revision 166951) > +++ gcc/config/i386/i386-interix.h =A0 =A0 =A0(working copy) > @@ -1,6 +1,6 @@ > =A0/* Target definitions for GCC for Intel 80386 running Interix > - =A0 Parts Copyright (C) 1991, 1999, 2000, 2002, 2003, 2004, 2007, 2008 > - =A0 Free Software Foundation, Inc. > + =A0 Parts Copyright (C) 1991, 1999, 2000, 2002, 2003, 2004, 2007, 2008,= 2009, > + =A0 2010 Free Software Foundation, Inc. > > =A0 =A0Parts: > =A0 =A0 =A0by Douglas B. Rupp (drupp@cs.washington.edu). > @@ -30,9 +30,6 @@ along with GCC; see the file COPYING3. > =A0#define SDB_DEBUGGING_INFO 1 > =A0#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG > > -#define HANDLE_SYSV_PRAGMA 1 > -#undef HANDLE_PRAGMA_WEAK =A0/* until the link format can handle it */ > - > =A0/* By default, target has a 80387, uses IEEE compatible arithmetic, > =A0 =A0and returns float values in the 387 and needs stack probes > =A0 =A0We also align doubles to 64-bits for MSVC default compatibility > Index: gcc/config/i386/vxworks.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/i386/vxworks.h =A0 (revision 166951) > +++ gcc/config/i386/vxworks.h =A0 (working copy) > @@ -1,5 +1,5 @@ > =A0/* IA32 VxWorks target definitions for GNU compiler. > - =A0 Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation, Inc. > + =A0 Copyright (C) 2003, 2004, 2005, 2007, 2010 Free Software Foundation= , Inc. > =A0 =A0Updated by CodeSourcery, LLC. > > =A0This file is part of GCC. > @@ -18,8 +18,6 @@ You should have received a copy of the G > =A0along with GCC; see the file COPYING3. =A0If not see > =A0. =A0*/ > > -#define HANDLE_SYSV_PRAGMA 1 > - > =A0#undef =A0TARGET_VERSION > =A0#define TARGET_VERSION fprintf (stderr, " (80586, VxWorks syntax)"); > > Index: gcc/config/rx/rx.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/rx/rx.h =A0(revision 166951) > +++ gcc/config/rx/rx.h =A0(working copy) > @@ -151,8 +151,6 @@ extern enum rx_cpu_types =A0rx_cpu_type; > > =A0#define LEGITIMATE_CONSTANT_P(X) =A0 =A0 =A0 rx_is_legitimate_constant= (X) > > -#define HANDLE_PRAGMA_PACK_PUSH_POP =A0 =A01 > - > =A0#define HAVE_PRE_DECCREMENT =A0 =A0 =A0 =A0 =A0 =A01 > =A0#define HAVE_POST_INCREMENT =A0 =A0 =A0 =A0 =A0 =A01 > > Index: gcc/config/xtensa/elf.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/xtensa/elf.h =A0 =A0 (revision 166951) > +++ gcc/config/xtensa/elf.h =A0 =A0 (working copy) > @@ -1,6 +1,6 @@ > =A0/* Xtensa/Elf configuration. > =A0 =A0Derived from the configuration for GCC for Intel i386 running Linu= x. > - =A0 Copyright (C) 2001, 2003, 2006, 2007 Free Software Foundation, Inc. > + =A0 Copyright (C) 2001, 2003, 2006, 2007, 2010 Free Software Foundation= , Inc. > > =A0This file is part of GCC. > > @@ -98,5 +98,3 @@ do \ > =A0 =A0 =A0 =A0 =A0 =A0 =A0"GCC", PREFIX_PRIORITY_LAST, 0, 0); \ > =A0 } \ > =A0while (0) > - > -#define HANDLE_PRAGMA_PACK_PUSH_POP 1 > Index: gcc/config/stormy16/stormy16.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/stormy16/stormy16.h =A0 =A0 =A0(revision 166951) > +++ gcc/config/stormy16/stormy16.h =A0 =A0 =A0(working copy) > @@ -587,5 +587,3 @@ enum reg_class > =A0#define FUNCTION_MODE HImode > > =A0#define NO_IMPLICIT_EXTERN_C > - > -#define HANDLE_SYSV_PRAGMA 1 > Index: gcc/config/cris/cris.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/cris/cris.h =A0 =A0 =A0(revision 166951) > +++ gcc/config/cris/cris.h =A0 =A0 =A0(working copy) > @@ -1334,9 +1334,6 @@ enum cris_pic_symbol_type > > =A0#define NO_IMPLICIT_EXTERN_C > > -/* No specific purpose other than warningless compatibility. =A0*/ > -#define HANDLE_PRAGMA_PACK_PUSH_POP 1 > - > =A0/* > =A0* Local variables: > =A0* eval: (c-set-style "gnu") > Index: gcc/config/netbsd.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/netbsd.h (revision 166951) > +++ gcc/config/netbsd.h (working copy) > @@ -1,6 +1,6 @@ > =A0/* Base configuration file for all NetBSD targets. > =A0 =A0Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, > - =A0 2007 Free Software Foundation, Inc. > + =A0 2007, 2009, 2010 Free Software Foundation, Inc. > > =A0This file is part of GCC. > > @@ -158,10 +158,6 @@ along with GCC; see the file COPYING3. > =A0#undef TARGET_POSIX_IO > =A0#define TARGET_POSIX_IO > > -/* Handle #pragma weak and #pragma pack. =A0*/ > - > -#define HANDLE_SYSV_PRAGMA 1 > - > =A0/* Don't assume anything about the header files. =A0*/ > =A0#undef =A0NO_IMPLICIT_EXTERN_C > =A0#define NO_IMPLICIT_EXTERN_C =A0 =A01 > @@ -224,6 +220,3 @@ __enable_execute_stack (void *addr) > =A0 /* 7 =3D=3D PROT_READ | PROT_WRITE | PROT_EXEC */ =A0 =A0 =A0 =A0 =A0= =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0\ > =A0 (void) mprotect (page, end - page, 7); =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 \ > =A0} > - > -/* Define this so we can compile MS code for use with WINE. =A0*/ > -#define HANDLE_PRAGMA_PACK_PUSH_POP 1 > Index: gcc/config/ia64/ia64.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/ia64/ia64.h =A0 =A0 =A0(revision 166951) > +++ gcc/config/ia64/ia64.h =A0 =A0 =A0(working copy) > @@ -1778,12 +1778,6 @@ do { =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0 =A0 =A0 \ > > =A0#define FUNCTION_MODE Pmode > > -/* Define this macro to handle System V style pragmas: #pragma pack and > - =A0 #pragma weak. =A0Note, #pragma weak will only be supported if SUPPO= RT_WEAK is > - =A0 defined. =A0*/ > - > -#define HANDLE_SYSV_PRAGMA 1 > - > =A0/* A C expression for the maximum number of instructions to execute via > =A0 =A0conditional execution instructions instead of a branch. =A0A value= of > =A0 =A0BRANCH_COST+1 is the default if the machine does not use > Index: gcc/config/ia64/hpux.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/ia64/hpux.h =A0 =A0 =A0(revision 166951) > +++ gcc/config/ia64/hpux.h =A0 =A0 =A0(working copy) > @@ -1,5 +1,5 @@ > =A0/* Definitions of target machine GNU compiler. =A0IA-64 version. > - =A0 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007 > + =A0 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009,= 2010 > =A0 =A0Free Software Foundation, Inc. > =A0 =A0Contributed by Steve Ellcey and > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Reva Cuthbertson > @@ -213,9 +213,6 @@ do { =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0\ > =A0#undef NO_PROFILE_COUNTERS > =A0#define NO_PROFILE_COUNTERS 0 > > -#undef HANDLE_PRAGMA_PACK_PUSH_POP > -#define HANDLE_PRAGMA_PACK_PUSH_POP > - > =A0/* The HP-UX linker has a bug that causes calls from functions in > =A0 =A0.text.unlikely to functions in .text to cause a segfault. =A0Until > =A0 =A0it is fixed, prevent code from being put into .text.unlikely or > Index: gcc/config/rs6000/aix.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/rs6000/aix.h =A0 =A0 (revision 166951) > +++ gcc/config/rs6000/aix.h =A0 =A0 (working copy) > @@ -56,9 +56,6 @@ > =A0#define ASM_OUTPUT_DWARF_TABLE_REF rs6000_aix_asm_output_dwarf_table_r= ef > =A0#endif > > -/* Handle #pragma weak and #pragma pack. =A0*/ > -#define HANDLE_SYSV_PRAGMA 1 > - > =A0/* This is the only version of nm that collect2 can work with. =A0*/ > =A0#define REAL_NM_FILE_NAME "/usr/ucb/nm" > > Index: gcc/config/rs6000/sysv4.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/rs6000/sysv4.h =A0 (revision 166951) > +++ gcc/config/rs6000/sysv4.h =A0 (working copy) > @@ -1062,18 +1062,6 @@ ncrtn.o%s" > =A0/* Function name to call to do profiling. =A0*/ > =A0#define RS6000_MCOUNT "_mcount" > > -/* Define this macro (to a value of 1) if you want to support the > - =A0 Win32 style pragmas #pragma pack(push,)' and #pragma > - =A0 pack(pop)'. =A0The pack(push,) pragma specifies the maximum > - =A0 alignment (in bytes) of fields within a structure, in much the > - =A0 same way as the __aligned__' and __packed__' __attribute__'s > - =A0 do. =A0A pack value of zero resets the behavior to the default. > - =A0 Successive invocations of this pragma cause the previous values to > - =A0 be stacked, so that invocations of #pragma pack(pop)' will return > - =A0 to the previous value. =A0*/ > - > -#define HANDLE_PRAGMA_PACK_PUSH_POP 1 > - > =A0/* Select a format to encode pointers in exception handling data. =A0C= ODE > =A0 =A0is 0 for data, 1 for code labels, 2 for function pointers. =A0GLOB= AL is > =A0 =A0true if the symbol may be affected by dynamic relocations. =A0*/ > Index: gcc/config/darwin.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/darwin.h (revision 166951) > +++ gcc/config/darwin.h (working copy) > @@ -869,11 +869,6 @@ enum machopic_addr_class { > =A0#undef TARGET_ASM_NAMED_SECTION > =A0#define TARGET_ASM_NAMED_SECTION darwin_asm_named_section > > -/* Handle pragma weak and pragma pack. =A0*/ > -#define HANDLE_SYSV_PRAGMA 1 > - > -#define HANDLE_PRAGMA_PACK_PUSH_POP 1 > - > =A0#define DARWIN_REGISTER_TARGET_PRAGMAS() =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 \ > =A0 do { =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 \ > =A0 =A0 if (!flag_preprocess_only) =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 \ > Index: gcc/config/score/elf.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/score/elf.h =A0 =A0 =A0(revision 166951) > +++ gcc/config/score/elf.h =A0 =A0 =A0(working copy) > @@ -1,5 +1,5 @@ > =A0/* elf.h for Sunplus S+CORE processor > - =A0 Copyright (C) 2005, 2007 Free Software Foundation, Inc. > + =A0 Copyright (C) 2005, 2007, 2010 Free Software Foundation, Inc. > > =A0 =A0This file is part of GCC. > > @@ -95,6 +95,3 @@ > > =A0#undef =A0ENDFILE_SPEC > =A0#define ENDFILE_SPEC =A0 =A0 =A0 =A0 =A0 =A0"crtend%O%s crtn%O%s" > - > -/* We support #pragma. =A0*/ > -#define HANDLE_SYSV_PRAGMA =A0 =A0 =A01 > Index: gcc/config/arm/arm.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/arm/arm.h =A0 =A0 =A0 =A0(revision 166951) > +++ gcc/config/arm/arm.h =A0 =A0 =A0 =A0(working copy) > @@ -2097,9 +2097,6 @@ typedef struct > =A0#define ARM_INDEX_REGISTER_RTX_P(X) =A0\ > =A0 (GET_CODE (X) =3D=3D REG && ARM_REG_OK_FOR_INDEX_P (X)) > > -/* Define this for compatibility reasons. */ > -#define HANDLE_PRAGMA_PACK_PUSH_POP > - > =A0/* Specify the machine mode that this machine uses > =A0 =A0for the index in the tablejump instruction. =A0*/ > =A0#define CASE_VECTOR_MODE Pmode > Index: gcc/config/arm/netbsd.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/arm/netbsd.h =A0 =A0 (revision 166951) > +++ gcc/config/arm/netbsd.h =A0 =A0 (working copy) > @@ -1,5 +1,5 @@ > =A0/* NetBSD/arm a.out version. > - =A0 Copyright (C) 1993, 1994, 1997, 1998, 2003, 2004, 2005, 2007, 2008 > + =A0 Copyright (C) 1993, 1994, 1997, 1998, 2003, 2004, 2005, 2007, 2008,= 2010 > =A0 =A0Free Software Foundation, Inc. > =A0 =A0Contributed by Mark Brinicombe (amb@physig.ph.kcl.ac.uk) > > @@ -71,8 +71,6 @@ > =A0#undef PTRDIFF_TYPE > =A0#define PTRDIFF_TYPE "int" > > -#define HANDLE_SYSV_PRAGMA 1 > - > =A0/* We don't have any limit on the length as out debugger is GDB. =A0*/ > =A0#undef DBX_CONTIN_LENGTH > > Index: gcc/config/pa/pa-hpux.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/pa/pa-hpux.h =A0 =A0 (revision 166951) > +++ gcc/config/pa/pa-hpux.h =A0 =A0 (working copy) > @@ -1,5 +1,5 @@ > =A0/* Definitions of target machine for GNU compiler, for HP-UX. > - =A0 Copyright (C) 1991, 1995, 1996, 2002, 2003, 2004, 2007, 2008 > + =A0 Copyright (C) 1991, 1995, 1996, 2002, 2003, 2004, 2007, 2008, 2009,= 2010 > =A0 =A0Free Software Foundation, Inc. > > =A0This file is part of GCC. > @@ -114,12 +114,4 @@ along with GCC; see the file COPYING3. > =A0#undef TARGET_HPUX_UNWIND_LIBRARY > =A0#define TARGET_HPUX_UNWIND_LIBRARY 1 > > -/* Handle #pragma weak and #pragma pack. =A0*/ > -#undef HANDLE_SYSV_PRAGMA > -#define HANDLE_SYSV_PRAGMA > - > -/* Define this so we can compile MS code for use with WINE. =A0*/ > -#undef HANDLE_PRAGMA_PACK_PUSH_POP > -#define HANDLE_PRAGMA_PACK_PUSH_POP > - > =A0#define MD_UNWIND_SUPPORT "config/pa/hpux-unwind.h" > Index: gcc/config/mips/elf.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/mips/elf.h =A0 =A0 =A0 (revision 166951) > +++ gcc/config/mips/elf.h =A0 =A0 =A0 (working copy) > @@ -1,5 +1,5 @@ > =A0/* Target macros for mips*-elf targets. > - =A0 Copyright (C) 1994, 1997, 1999, 2000, 2002, 2003, 2004, 2007 > + =A0 Copyright (C) 1994, 1997, 1999, 2000, 2002, 2003, 2004, 2007, 2010 > =A0 =A0Free Software Foundation, Inc. > > =A0This file is part of GCC. > @@ -49,5 +49,3 @@ along with GCC; see the file COPYING3. > =A0#define ENDFILE_SPEC "crtend%O%s crtn%O%s" > > =A0#define NO_IMPLICIT_EXTERN_C 1 > - > -#define HANDLE_PRAGMA_PACK_PUSH_POP 1 > Index: gcc/config/mips/sde.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/mips/sde.h =A0 =A0 =A0 (revision 166951) > +++ gcc/config/mips/sde.h =A0 =A0 =A0 (working copy) > @@ -94,9 +94,6 @@ along with GCC; see the file COPYING3. > =A0#undef PTRDIFF_TYPE > =A0#define PTRDIFF_TYPE "long int" > > -/* Enable parsing of #pragma pack(push,) and #pragma pack(pop). =A0*/ > -#define HANDLE_PRAGMA_PACK_PUSH_POP 1 > - > =A0/* Use standard ELF-style local labels (not '$' as on early Irix). =A0= */ > =A0#undef LOCAL_LABEL_PREFIX > =A0#define LOCAL_LABEL_PREFIX "." > Index: gcc/config/openbsd.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/openbsd.h =A0 =A0 =A0 =A0(revision 166951) > +++ gcc/config/openbsd.h =A0 =A0 =A0 =A0(working copy) > @@ -282,12 +282,6 @@ do { =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0\ > =A0/* Storage layout. =A0*/ > > > -/* bug work around: we don't want to support #pragma weak, but the curre= nt > - =A0 code layout needs HANDLE_PRAGMA_WEAK asserted for __attribute((weak= )) to > - =A0 work. =A0On the other hand, we don't define HANDLE_PRAGMA_WEAK dire= ctly, > - =A0 as this depends on a few other details as well... =A0*/ > -#define HANDLE_SYSV_PRAGMA 1 > - > =A0/* Stack is explicitly denied execution rights on OpenBSD platforms. = =A0*/ > =A0#define ENABLE_EXECUTE_STACK =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 \ > =A0extern void __enable_execute_stack (void *); =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 \ > Index: gcc/config/freebsd.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/freebsd.h =A0 =A0 =A0 =A0(revision 166951) > +++ gcc/config/freebsd.h =A0 =A0 =A0 =A0(working copy) > @@ -45,9 +45,6 @@ along with GCC; see the file COPYING3. > =A0#undef =A0LIB_SPEC > =A0#define LIB_SPEC FBSD_LIB_SPEC > > -/* Define this so we can compile MS code for use with WINE. =A0*/ > -#define HANDLE_PRAGMA_PACK_PUSH_POP 1 > - > =A0/************************[ =A0Target stuff =A0]***********************= ************/ > > =A0/* All FreeBSD Architectures support the ELF object file format. =A0*/ > Index: gcc/config/mmix/mmix.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/config/mmix/mmix.h =A0 =A0 =A0(revision 166951) > +++ gcc/config/mmix/mmix.h =A0 =A0 =A0(working copy) > @@ -887,8 +887,6 @@ typedef struct { int regs; int lib; } CU > > =A0#define NO_IMPLICIT_EXTERN_C > > -#define HANDLE_SYSV_PRAGMA 1 > - > =A0/* These are checked. =A0*/ > =A0#define DOLLARS_IN_IDENTIFIERS 0 > =A0#define NO_DOLLAR_IN_LABEL > > -- > Joseph S. Myers > joseph@codesourcery.com >