Driver: Map /Gy to -ffunction-sections

/Gy is equivalent to -ffunction-sections.
/Gy- is equivalent to -fno-function-sections.

Currently, LLVM doesn't do anything interesting with -ffunction-sections
under WinCOFF.

llvm-svn: 204564
This commit is contained in:
David Majnemer 2014-03-23 17:47:22 +00:00
parent ca11641a41
commit da39ab299a
2 changed files with 10 additions and 4 deletions

View File

@ -62,6 +62,10 @@ def _SLASH_GR : CLFlag<"GR">, HelpText<"Enable RTTI">, Alias<frtti>;
def _SLASH_GR_ : CLFlag<"GR-">, HelpText<"Disable RTTI">, Alias<fno_rtti>; def _SLASH_GR_ : CLFlag<"GR-">, HelpText<"Disable RTTI">, Alias<fno_rtti>;
def _SLASH_GF_ : CLFlag<"GF-">, HelpText<"Disable string pooling">, def _SLASH_GF_ : CLFlag<"GF-">, HelpText<"Disable string pooling">,
Alias<fwritable_strings>; Alias<fwritable_strings>;
def _SLASH_Gy : CLFlag<"Gy">, HelpText<"Put each function in it's own section">,
Alias<ffunction_sections>;
def _SLASH_Gy_ : CLFlag<"Gy-">, HelpText<"Don't put each function in it's own section">,
Alias<fno_function_sections>;
def _SLASH_help : CLFlag<"help">, Alias<help>, def _SLASH_help : CLFlag<"help">, Alias<help>,
HelpText<"Display available options">; HelpText<"Display available options">;
def _SLASH_HELP : CLFlag<"HELP">, Alias<help>; def _SLASH_HELP : CLFlag<"HELP">, Alias<help>;
@ -225,8 +229,6 @@ def _SLASH_GS : CLFlag<"GS">;
def _SLASH_Gs : CLJoined<"Gs">; def _SLASH_Gs : CLJoined<"Gs">;
def _SLASH_GT : CLFlag<"GT">; def _SLASH_GT : CLFlag<"GT">;
def _SLASH_GX : CLFlag<"GX">; def _SLASH_GX : CLFlag<"GX">;
def _SLASH_Gy : CLFlag<"Gy">;
def _SLASH_Gy_ : CLFlag<"Gy-">;
def _SLASH_Gz : CLFlag<"Gz">; def _SLASH_Gz : CLFlag<"Gz">;
def _SLASH_GZ : CLFlag<"GZ">; def _SLASH_GZ : CLFlag<"GZ">;
def _SLASH_H : CLFlag<"H">; def _SLASH_H : CLFlag<"H">;

View File

@ -24,6 +24,12 @@
// RUN: %clang_cl /GR- -### -- %s 2>&1 | FileCheck -check-prefix=GR_ %s // RUN: %clang_cl /GR- -### -- %s 2>&1 | FileCheck -check-prefix=GR_ %s
// GR_: -fno-rtti // GR_: -fno-rtti
// RUN: %clang_cl /Gy -### -- %s 2>&1 | FileCheck -check-prefix=Gy %s
// Gy: -ffunction-sections
// RUN: %clang_cl /Gy /Gy- -### -- %s 2>&1 | FileCheck -check-prefix=Gy_ %s
// Gy_-NOT: -ffunction-sections
// RUN: %clang_cl /Imyincludedir -### -- %s 2>&1 | FileCheck -check-prefix=SLASH_I %s // RUN: %clang_cl /Imyincludedir -### -- %s 2>&1 | FileCheck -check-prefix=SLASH_I %s
// RUN: %clang_cl /I myincludedir -### -- %s 2>&1 | FileCheck -check-prefix=SLASH_I %s // RUN: %clang_cl /I myincludedir -### -- %s 2>&1 | FileCheck -check-prefix=SLASH_I %s
// SLASH_I: "-I" "myincludedir" // SLASH_I: "-I" "myincludedir"
@ -198,8 +204,6 @@
// RUN: /Gs1000 \ // RUN: /Gs1000 \
// RUN: /GT \ // RUN: /GT \
// RUN: /GX \ // RUN: /GX \
// RUN: /Gy \
// RUN: /Gy- \
// RUN: /Gz \ // RUN: /Gz \
// RUN: /GZ \ // RUN: /GZ \
// RUN: /H \ // RUN: /H \