#include "langhooks.h"
#include "c/c-tree.h"
-#include "rs6000-builtins.h"
+#include "rs6000-internal.h"
static tree altivec_resolve_new_overloaded_builtin (location_t, tree, void *);
const char *name = rs6000_overload_info[adj_fcode].ovld_name;
if (!supported)
{
+ /* Indicate that the instantiation of the overloaded builtin
+ name is not available with the target flags in effect. */
+ rs6000_gen_builtins fcode = (rs6000_gen_builtins) instance->bifid;
+ rs6000_invalid_new_builtin (fcode);
+ /* Provide clarity of the relationship between the overload
+ and the instantiation. */
const char *internal_name
= rs6000_builtin_info_x[instance->bifid].bifname;
- /* An error message making reference to the name of the
- non-overloaded function has already been issued. Add
- clarification of the previous message. */
rich_location richloc (line_table, input_location);
inform (&richloc,
"overloaded builtin %qs is implemented by builtin %qs",
#include "opts.h"
#include "rs6000-internal.h"
-#include "rs6000-builtins.h"
#if TARGET_MACHO
#include "gstab.h" /* for N_SLINE */
/* Raise an error message for a builtin function that is called without the
appropriate target options being set. */
-static void
+void
rs6000_invalid_new_builtin (enum rs6000_gen_builtins fncode)
{
size_t j = (size_t) fncode;
if (fcode >= RS6000_OVLD_MAX)
return error_mark_node;
- if (!rs6000_new_builtin_is_supported (fcode))
- {
- rs6000_invalid_new_builtin (fcode);
- return error_mark_node;
- }
-
return rs6000_builtin_decls_x[code];
}
#ifndef GCC_RS6000_INTERNAL_H
#define GCC_RS6000_INTERNAL_H
+#include "rs6000-builtins.h"
+
/* Structure used to define the rs6000 stack */
typedef struct rs6000_stack {
int reload_completed; /* stack info won't change from here on */
extern bool rs6000_output_addr_const_extra (FILE *file, rtx x);
extern bool rs6000_gimple_fold_builtin (gimple_stmt_iterator *gsi);
extern tree rs6000_build_builtin_va_list (void);
+extern void rs6000_invalid_new_builtin (rs6000_gen_builtins fncode);
extern void rs6000_va_start (tree valist, rtx nextarg);
extern tree rs6000_gimplify_va_arg (tree valist, tree type, gimple_seq *pre_p,
gimple_seq *post_p);
#include "case-cfn-macros.h"
#include "ppc-auxv.h"
#include "rs6000-internal.h"
-#include "rs6000-builtins.h"
#include "opts.h"
/* This file should be included last. */