#include "c-pragma.h"
#include "rtl.h"
#include "ggc.h"
-#include "expr.h"
+#include "expr.h" /* For vector_mode_valid_p */
#include "c-common.h"
#include "tm_p.h"
#include "obstack.h"
#include "real.h"
#include "cgraph.h"
#include "target-def.h"
-#include "gimple.h"
#include "fixed-value.h"
#include "libfuncs.h"
{ "_Fract", RID_FRACT, D_CONLY | D_EXT },
{ "_Accum", RID_ACCUM, D_CONLY | D_EXT },
{ "_Sat", RID_SAT, D_CONLY | D_EXT },
+ { "_Static_assert", RID_STATIC_ASSERT, D_CONLY },
{ "__FUNCTION__", RID_FUNCTION_NAME, 0 },
{ "__PRETTY_FUNCTION__", RID_PRETTY_FUNCTION_NAME, 0 },
{ "__alignof", RID_ALIGNOF, 0 },
identifier as an argument, so the front end shouldn't look it up. */
bool
-attribute_takes_identifier_p (const_tree attr_id)
+attribute_takes_identifier_p (tree attr_id)
{
- if (is_attribute_p ("mode", attr_id)
- || is_attribute_p ("format", attr_id)
- || is_attribute_p ("cleanup", attr_id))
- return true;
- else
- return targetm.attribute_takes_identifier_p (attr_id);
+ return (is_attribute_p ("mode", attr_id)
+ || is_attribute_p ("format", attr_id)
+ || is_attribute_p ("cleanup", attr_id));
}
/* Attribute handlers common to C front ends. */