PR other/51011
* tree.h (is_builtin_name): No longer external.
* builtins.c (is_builtin_name): Make static.
* varasm.c (incorporeal_function_p): __sync and __atomic external calls
are not incorporeal and may need asm label processing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181721
138bc75d-0d04-0410-961f-
82ee72b054a4
+2011-11-24 Andrew MacLeod <amacleod@redhat.com>
+
+ PR other/51011
+ * tree.h (is_builtin_name): No longer external.
+ * builtins.c (is_builtin_name): Make static.
+ * varasm.c (incorporeal_function_p): __sync and __atomic external calls
+ are not incorporeal and may need asm label processing.
+
2011-11-25 Georg-Johann Lay <avr@gjlay.de>
PR target/50566
/* Return true if NAME starts with __builtin_ or __sync_. */
-bool
+static bool
is_builtin_name (const char *name)
{
if (strncmp (name, "__builtin_", 10) == 0)
extern tree build_string_literal (int, const char *);
extern bool validate_arglist (const_tree, ...);
extern rtx builtin_memset_read_str (void *, HOST_WIDE_INT, enum machine_mode);
-extern bool is_builtin_name (const char *);
extern bool is_builtin_fn (tree);
extern unsigned int get_object_alignment_1 (tree, unsigned HOST_WIDE_INT *);
extern unsigned int get_object_alignment (tree);
return true;
name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl));
- if (is_builtin_name (name))
+ /* Atomic or sync builtins which have survived this far will be
+ resolved externally and therefore are not incorporeal. */
+ if (strncmp (name, "__builtin_", 10) == 0)
return true;
}
return false;