llvm-project/clang/lib
John McCall 882987f30c Use the actual ABI-determined C calling convention for runtime
calls and declarations.

LLVM has a default CC determined by the target triple.  This is
not always the actual default CC for the ABI we've been asked to
target, and so we sometimes find ourselves annotating all user
functions with an explicit calling convention.  Since these
calling conventions usually agree for the simple set of argument
types passed to most runtime functions, using the LLVM-default CC
in principle has no effect.  However, the LLVM optimizer goes
into histrionics if it sees this kind of formal CC mismatch,
since it has no concept of CC compatibility.  Therefore, if this
module happens to define the "runtime" function, or got LTO'ed
with such a definition, we can miscompile;  so it's quite
important to get this right.

Defining runtime functions locally is quite common in embedded
applications.

llvm-svn: 176286
2013-02-28 19:01:20 +00:00
..
ARCMigrate [preprocessor] Use MacroDirective in the preprocessor callbacks to make available the 2013-02-24 00:05:14 +00:00
AST Better support for constructors with -cxx-abi microsoft, partly fixes PR12784 2013-02-27 13:46:31 +00:00
ASTMatchers First step towards adding a parent map to the ASTContext. 2013-02-28 13:21:39 +00:00
Analysis Remove the CFGElement "Invalid" state. 2013-02-23 00:29:34 +00:00
Basic [Mips] Add two new aliases for MIPS ABI names 32 (means o32 abi) and 64 2013-02-27 14:55:49 +00:00
CodeGen Use the actual ABI-determined C calling convention for runtime 2013-02-28 19:01:20 +00:00
Driver Fix global overflow in types::lookupTypeForTypeSpecifier. 2013-02-28 07:53:32 +00:00
Edit Include llvm::Optional in clang/Basic/LLVM.h 2013-02-20 22:23:23 +00:00
Format Reduce penalty for splitting after "{" in static initializers. 2013-02-28 15:04:12 +00:00
Frontend [preprocessor] Use MacroDirective in the preprocessor callbacks to make available the 2013-02-24 00:05:14 +00:00
FrontendTool use early returns to simplify and de-nest 2013-01-06 07:49:41 +00:00
Headers libstdc++'s <cstdalign> #includes <stdalign.h> and expects it to guard against 2013-02-21 02:17:58 +00:00
Lex [preprocessor] Use MacroDirective in the preprocessor callbacks to make available the 2013-02-24 00:05:14 +00:00
Parse [Sema] Semantic analysis for empty-declaration and attribute-declaration. 2013-02-22 17:15:32 +00:00
Rewrite Use trailing documentation comments properly 2013-02-16 22:21:38 +00:00
Sema objective-C code completion. Property accessors may not 2013-02-28 17:47:14 +00:00
Serialization [PCH] When deserializing an IdentifierInfo, call IdentifierInfo::RevertTokenIDToIdentifier() only when it's not already an identifier. 2013-02-27 01:13:51 +00:00
StaticAnalyzer [analyzer] RegionStore: collectSubRegionKeys -> collectSubRegionBindings 2013-02-28 01:53:08 +00:00
Tooling Nuke SetUpBuildDumpLog. 2013-01-20 01:58:28 +00:00
CMakeLists.txt Initial version of formatting library. 2012-12-03 18:12:45 +00:00
Makefile Dont use/link ARCMT, StaticAnalyzer and Rewriter to clang when the user 2012-12-13 16:09:42 +00:00