diff options
author | Mark Mitchell <mark@codesourcery.com> | 2007-02-27 15:49:23 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2007-02-27 15:49:23 +0000 |
commit | f6fc5c864bf5b85e668042d2e7bdd3f9a496fde5 (patch) | |
tree | 6202d439e8eccfb35cb0bd6d9cf4e61e9222cb64 /gcc | |
parent | 97130915859e571fc8eb6e4ff0eab2ad5e737cc9 (diff) | |
download | gcc-f6fc5c864bf5b85e668042d2e7bdd3f9a496fde5.zip gcc-f6fc5c864bf5b85e668042d2e7bdd3f9a496fde5.tar.gz gcc-f6fc5c864bf5b85e668042d2e7bdd3f9a496fde5.tar.bz2 |
c-common.c (get_priority): Add check for SUPPORTS_INIT_PRIORITY.
* c-common.c (get_priority): Add check for
SUPPORTS_INIT_PRIORITY.
* lib/target-supports.exp (check_effective_target_init_priority):
Remove Solaris special case.
From-SVN: r122378
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-common.c | 9 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 7 |
4 files changed, 21 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a9070cc..bac6d56 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-02-27 Mark Mitchell <mark@codesourcery.com> + + * c-common.c (get_priority): Add check for + SUPPORTS_INIT_PRIORITY. + 2007-02-27 Bernd Schmidt <bernd.schmidt@analog.com> * config/bfin/bfin.md (doloop_end): FAIL if counter reg isn't SImode. diff --git a/gcc/c-common.c b/gcc/c-common.c index 0cd4d1a..8d321a2 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -4697,6 +4697,15 @@ get_priority (tree args, bool is_destructor) if (!args) return DEFAULT_INIT_PRIORITY; + if (!SUPPORTS_INIT_PRIORITY) + { + if (is_destructor) + error ("destructor priorities are not supported"); + else + error ("constructor priorities are not supported"); + return DEFAULT_INIT_PRIORITY; + } + arg = TREE_VALUE (args); if (!host_integerp (arg, /*pos=*/0) || !INTEGRAL_TYPE_P (TREE_TYPE (arg))) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a6f8fb0..cf07c57 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-02-27 Mark Mitchell <mark@codesourcery.com> + + * lib/target-supports.exp (check_effective_target_init_priority): + Remove Solaris special case. + 2007-02-26 Geoffrey Keating <geoffk@apple.com> * gcc.target/powerpc/stabs-attrib-vect-darwin.c: Allow @@ -35,7 +40,8 @@ * g++.dg/special/initp1.C: Likewise. * g++.dg/special/ecos.exp: Remove code to detect availability of constructor priorities. - * lib/target-support.exp (target_init_priority): New function. + * lib/target-supports.exp (check_effective_target_init_priority): + New function. 2007-02-24 Jan Hubicka <jh@suse.cz> diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 2682f8f..e205f47 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -2093,13 +2093,6 @@ proc check_effective_target_dummy_wcsftime {} { # supposed on this target. proc check_effective_target_init_priority {} { - # On Solaris2, initialization priorities are only supported with - # GNU ld, but the compiler accepts them even when using Sun ld. - # For more information, see PR 6482. - if { [istarget *-solaris2*] } { - return 1 - } - return [check_no_compiler_messages init_priority assembly " void f() __attribute__((constructor (1000))); void f() \{\} |