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
This commit is contained in:
Mark Mitchell 2007-02-27 15:49:23 +00:00 committed by Mark Mitchell
parent 9713091585
commit f6fc5c864b
4 changed files with 21 additions and 8 deletions

View File

@ -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.

View File

@ -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)))

View File

@ -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>

View File

@ -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() \{\}