llvm-project/clang/lib/Parse
Reid Kleckner e43f0fea15 Forward #pragma comment(lib/linker) through as flags metadata
Summary:
Most of this change is wiring the pragma all the way through from the
lexer, parser, and sema to codegen.  I considered adding a Decl AST node
for this, but it seemed too heavyweight.

Mach-O already uses a metadata flag called "Linker Options" to do this
kind of auto-linking.  This change follows that pattern.

LLVM knows how to forward the "Linker Options" metadata into the COFF
.drectve section where these flags belong.  ELF support is not
implemented, but possible.

This is related to auto-linking, which is http://llvm.org/PR13016.

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D723

llvm-svn: 181426
2013-05-08 13:44:39 +00:00
..
CMakeLists.txt Use attribute argument information to determine when to parse attribute arguments as expressions. 2013-05-02 23:25:32 +00:00
Makefile BUILD_ARCHIVE is the default for libraries, no need to set it. 2010-07-18 00:14:47 +00:00
ParseAST.cpp Try harder to be signal-safe inside our signal handler. The most prominent behavioural 2013-03-25 21:24:30 +00:00
ParseCXXInlineMethods.cpp Keep the parser's template depth up to date when parsing local templates and 2013-04-29 11:55:38 +00:00
ParseDecl.cpp Properly parsing __declspec(safebuffers), though there is no semantic hookup. For more information about safebuffers, see MSDN: http://msdn.microsoft.com/en-us/library/dd778695(v=vs.110).aspx 2013-05-04 16:58:37 +00:00
ParseDeclCXX.cpp Implement C++1y decltype(auto). 2013-04-26 16:15:35 +00:00
ParseExpr.cpp Replace ArrayRef<T>() with None, now that we have an implicit ArrayRef constructor from None 2013-05-05 00:41:58 +00:00
ParseExprCXX.cpp Separate out and special-case the diagnostic for 'auto' in a 2013-05-04 01:26:46 +00:00
ParseInit.cpp Replace 'MultiExprArg()' with 'None' 2013-05-05 20:40:26 +00:00
ParseObjc.cpp Fix a typo in a parse assert. 2013-04-29 15:35:35 +00:00
ParseOpenMP.cpp OpenMP threadprivate directive parsing and semantic analysis 2013-03-22 06:34:35 +00:00
ParsePragma.cpp Forward #pragma comment(lib/linker) through as flags metadata 2013-05-08 13:44:39 +00:00
ParsePragma.h Forward #pragma comment(lib/linker) through as flags metadata 2013-05-08 13:44:39 +00:00
ParseStmt.cpp Move parsing of identifiers in MS-style inline assembly into 2013-05-03 00:10:13 +00:00
ParseTemplate.cpp <rdar://problem/13806270> A template argument list is a constant-evaluated context. 2013-05-03 23:44:54 +00:00
ParseTentative.cpp Implement C++1y decltype(auto). 2013-04-26 16:15:35 +00:00
Parser.cpp Forward #pragma comment(lib/linker) through as flags metadata 2013-05-08 13:44:39 +00:00
RAIIObjectsForParser.h Add -fbracket-depth=N, analogous to -ftemplate-depth= and -fconstexpr-depth=, 2013-02-22 01:59:51 +00:00