mirror of
https://github.com/intel/llvm.git
synced 2026-01-24 17:01:00 +08:00
Added -print-ivar-layout option. No change in functionality
yet. llvm-svn: 69346
This commit is contained in:
@@ -76,6 +76,9 @@ public:
|
||||
// used (instead of C99 semantics).
|
||||
unsigned NoInline : 1; // Should __NO_INLINE__ be defined.
|
||||
|
||||
unsigned ObjCGCBitmapPrint : 1; // Enable printing of gc's bitmap layout
|
||||
// for __weak/__strong ivars.
|
||||
|
||||
private:
|
||||
unsigned GC : 2; // Objective-C Garbage Collection modes. We declare
|
||||
// this enum as unsigned because MSVC insists on making enums
|
||||
@@ -117,6 +120,7 @@ public:
|
||||
MathErrno = 1;
|
||||
|
||||
OverflowChecking = 0;
|
||||
ObjCGCBitmapPrint = 0;
|
||||
|
||||
InstantiationDepth = 99;
|
||||
|
||||
|
||||
@@ -537,6 +537,7 @@ OPTION("-prebind", prebind, Flag, INVALID, INVALID, "", 0, 0, 0)
|
||||
OPTION("-preload", preload, Flag, INVALID, INVALID, "", 0, 0, 0)
|
||||
OPTION("-print-file-name=", print_file_name_EQ, Joined, INVALID, INVALID, "", 0,
|
||||
"Print the full library path of <file>", "<file>")
|
||||
OPTION("-print-ivar-layout", print_ivar_layout, Flag, INVALID, INVALID, "", 0, 0, 0)
|
||||
OPTION("-print-libgcc-file-name", print_libgcc_file_name, Flag, INVALID, INVALID, "", 0,
|
||||
"Print the library path for \"libgcc.a\"", 0)
|
||||
OPTION("-print-multi-directory", print_multi_directory, Flag, INVALID, INVALID, "u", 0, 0, 0)
|
||||
|
||||
@@ -363,6 +363,7 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
Args.AddLastArg(CmdArgs, options::OPT_P);
|
||||
Args.AddLastArg(CmdArgs, options::OPT_mmacosx_version_min_EQ);
|
||||
Args.AddLastArg(CmdArgs, options::OPT_miphoneos_version_min_EQ);
|
||||
Args.AddLastArg(CmdArgs, options::OPT_print_ivar_layout);
|
||||
|
||||
// Special case debug options to only pass -g to clang. This is
|
||||
// wrong.
|
||||
|
||||
@@ -399,6 +399,10 @@ static llvm::cl::opt<bool>
|
||||
ObjCEnableGC("fobjc-gc",
|
||||
llvm::cl::desc("Enable Objective-C garbage collection"));
|
||||
|
||||
static llvm::cl::opt<bool>
|
||||
ObjCEnableGCBitmapPrint("print-ivar-layout",
|
||||
llvm::cl::desc("Enable Objective-C Ivar layout bitmap print trace"));
|
||||
|
||||
static llvm::cl::opt<LangOptions::VisibilityMode>
|
||||
SymbolVisibility("fvisibility",
|
||||
llvm::cl::desc("Set the default symbol visibility:"),
|
||||
@@ -517,6 +521,9 @@ static void InitializeLangOptions(LangOptions &Options, LangKind LK){
|
||||
else if (ObjCEnableGC)
|
||||
Options.setGCMode(LangOptions::HybridGC);
|
||||
|
||||
if (ObjCEnableGCBitmapPrint)
|
||||
Options.ObjCGCBitmapPrint = 1;
|
||||
|
||||
Options.setVisibilityMode(SymbolVisibility);
|
||||
Options.OverflowChecking = OverflowChecking;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user