]> granicus.if.org Git - clang/commit
Add Builtins.def attribute for "can be a constant expression".
authorDaniel Dunbar <daniel@zuster.org>
Thu, 2 Oct 2008 23:30:31 +0000 (23:30 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Thu, 2 Oct 2008 23:30:31 +0000 (23:30 +0000)
commitae3f4919e4805f59c554d39cb9cd3a601809b2cb
tree8a4d321aee06a9fa6259449fbe0f764ce181b457
parentde45428f923b38d80407dbb9ede0df504256f9f6
Add Builtins.def attribute for "can be a constant expression".
 - Enabled for builtins which are always constant expressions
   (__builtin_huge_val*, __builtin_inf*, __builtin_constant_p,
   __builtin_classify_type, __builtin___CFStringMakeConstantString).

Added Builtin::Context::isConstantExpr.
 - Currently overly simply interface which only works for builtins
   whose constantexprness does not depend on their arguments.

CallExpr::isBuiltinConstantExpr now takes an ASTContext argument.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56983 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/Builtins.def
include/clang/AST/Builtins.h
include/clang/AST/Expr.h
lib/AST/Expr.cpp
lib/Sema/SemaDecl.cpp
test/Sema/constant-builtins.c [new file with mode: 0644]