llvm-project/clang
Akira Hatanaka 7828b1e604 Add support for function attribute 'disable_tail_calls'.
The ``disable_tail_calls`` attribute instructs the backend to not
perform tail call optimization inside the marked function.

For example, 

int callee(int);

int foo(int a) __attribute__((disable_tail_calls)) {
  return callee(a); // This call is not tail-call optimized.
}

Note that this attribute is different from 'not_tail_called', which
prevents tail-call optimization to the marked function.

rdar://problem/8973573

Differential Revision: http://reviews.llvm.org/D12547

llvm-svn: 252986
2015-11-13 00:42:21 +00:00
..
INPUTS
bindings Index: expose is_mutable_field 2015-10-27 15:50:22 +00:00
cmake [CMake] Set CLANG_LINKS_TO_CREATE in Apple-stage2.cmake so that we create cc and c++ links. 2015-09-18 18:11:18 +00:00
docs [ASan] Allow -fsanitize-recover=address. 2015-11-11 10:45:48 +00:00
examples analyzer-plugin/MainCallChecker.cpp: s/generateSink/generateErrorNode/, corresponding to r247859. 2015-09-16 22:57:23 +00:00
include Add support for function attribute 'disable_tail_calls'. 2015-11-13 00:42:21 +00:00
lib Add support for function attribute 'disable_tail_calls'. 2015-11-13 00:42:21 +00:00
runtime [CMake] Fixing passthrough for variables starting with COMPILER_RT 2015-11-11 21:53:08 +00:00
test Add support for function attribute 'disable_tail_calls'. 2015-11-13 00:42:21 +00:00
tools [scan-build] Create share directory similar to scan-view's 2015-11-13 00:32:54 +00:00
unittests Adjust printQualifiedName to handle unscoped enums in a way similar to anonymous namespaces. 2015-11-09 16:45:17 +00:00
utils [analyzer] Update SATestBuild.py to enable a 'download and patch' model for projects. 2015-11-07 18:27:35 +00:00
www DR407: Rationalize how we handle tags being hidden by typedefs. Even with 2015-11-12 22:04:34 +00:00
.arcconfig Revert r242365. 2015-07-16 00:32:26 +00:00
.clang-format
.clang-tidy
.gitignore Revert r242365. 2015-07-16 00:32:26 +00:00
CMakeLists.txt [CMake] Setup an install component for libclang and c-index-test. 2015-11-12 00:46:57 +00:00
CODE_OWNERS.TXT Change code owner for Clang Static Analyzer to Anna Zaks. 2015-11-12 01:31:27 +00:00
INSTALL.txt [docs] NFC: Fix line formatting in INSTALL.txt 2015-09-13 20:17:18 +00:00
LICENSE.TXT Update copyright year to 2015. 2015-03-12 01:36:10 +00:00
Makefile [autoconf] Fixing reversed logic introduced r245304. 2015-08-18 21:23:44 +00:00
ModuleInfo.txt
NOTES.txt
README.txt Update mailing list references to lists.llvm.org 2015-08-05 03:55:23 +00:00

README.txt

//===----------------------------------------------------------------------===//
// C Language Family Front-end
//===----------------------------------------------------------------------===//

Welcome to Clang.  This is a compiler front-end for the C family of languages
(C, C++, Objective-C, and Objective-C++) which is built as part of the LLVM
compiler infrastructure project.

Unlike many other compiler frontends, Clang is useful for a number of things
beyond just compiling code: we intend for Clang to be host to a number of
different source-level tools.  One example of this is the Clang Static Analyzer.

If you're interested in more (including how to build Clang) it is best to read
the relevant web sites.  Here are some pointers:

Information on Clang:              http://clang.llvm.org/
Building and using Clang:          http://clang.llvm.org/get_started.html
Clang Static Analyzer:             http://clang-analyzer.llvm.org/
Information on the LLVM project:   http://llvm.org/

If you have questions or comments about Clang, a great place to discuss them is
on the Clang development mailing list:
  http://lists.llvm.org/mailman/listinfo/cfe-dev

If you find a bug in Clang, please file it in the LLVM bug tracker:
  http://llvm.org/bugs/