aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2011-11-02 01:53:16 +0000
committerEli Friedman <eli.friedman@gmail.com>2011-11-02 01:53:16 +0000
commit055c9708392b31ceb615c3fdfcbcb565f992f5b5 (patch)
tree6c5806eee9f3c44926b42d0150bdb2c868e11d2f /clang/lib/Frontend/CompilerInvocation.cpp
parentdbb583992a189fbacaaadc833ca89c4be28a1d8a (diff)
downloadllvm-055c9708392b31ceb615c3fdfcbcb565f992f5b5.zip
llvm-055c9708392b31ceb615c3fdfcbcb565f992f5b5.tar.gz
llvm-055c9708392b31ceb615c3fdfcbcb565f992f5b5.tar.bz2
Add an option to emulate the strange Apple gcc behavior of #pragma pack.
<rdar://problem/10374763> llvm-svn: 143527
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r--clang/lib/Frontend/CompilerInvocation.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
index 79e087e..34ad608 100644
--- a/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/clang/lib/Frontend/CompilerInvocation.cpp
@@ -777,6 +777,8 @@ static void LangOptsToArgs(const LangOptions &Opts,
Res.push_back("-fdelayed-template-parsing");
if (Opts.Deprecated)
Res.push_back("-fdeprecated-macro");
+ if (Opts.ApplePragmaPack)
+ Res.push_back("-fapple-pragma-pack");
}
static void PreprocessorOptsToArgs(const PreprocessorOptions &Opts,
@@ -1763,6 +1765,7 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK,
Opts.FakeAddressSpaceMap = Args.hasArg(OPT_ffake_address_space_map);
Opts.ParseUnknownAnytype = Args.hasArg(OPT_funknown_anytype);
Opts.DebuggerSupport = Args.hasArg(OPT_fdebugger_support);
+ Opts.ApplePragmaPack = Args.hasArg(OPT_fapple_pragma_pack);
// Record whether the __DEPRECATED define was requested.
Opts.Deprecated = Args.hasFlag(OPT_fdeprecated_macro,