From 4c7ce36a761b65a659aa6c4728a318e5d06f5f95 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Sat, 26 Nov 2011 06:21:20 +0000 Subject: [PATCH] Set __OPTIMIZE_SIZE__ on -Os and -Oz. This matches gcc's behaviour on both OS X and linux. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145142 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Frontend/CompilerInvocation.cpp | 2 +- test/Preprocessor/optimize.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp index d4c83272b7..a6879379a2 100644 --- a/lib/Frontend/CompilerInvocation.cpp +++ b/lib/Frontend/CompilerInvocation.cpp @@ -1806,7 +1806,6 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK, Opts.NoBitFieldTypeAlign = Args.hasArg(OPT_fno_bitfield_type_align); Opts.SinglePrecisionConstants = Args.hasArg(OPT_cl_single_precision_constant); Opts.FastRelaxedMath = Args.hasArg(OPT_cl_fast_relaxed_math); - Opts.OptimizeSize = 0; Opts.MRTD = Args.hasArg(OPT_mrtd); Opts.FakeAddressSpaceMap = Args.hasArg(OPT_ffake_address_space_map); Opts.ParseUnknownAnytype = Args.hasArg(OPT_funknown_anytype); @@ -1823,6 +1822,7 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK, // FIXME: Eliminate this dependency. unsigned Opt = getOptimizationLevel(Args, IK, Diags); Opts.Optimize = Opt != 0; + Opts.OptimizeSize = Args.hasArg(OPT_Os) || Args.hasArg(OPT_Oz); // This is the __NO_INLINE__ define, which just depends on things like the // optimization level and -fno-inline, not actually whether the backend has diff --git a/test/Preprocessor/optimize.c b/test/Preprocessor/optimize.c index c820ded909..97f841a6fb 100644 --- a/test/Preprocessor/optimize.c +++ b/test/Preprocessor/optimize.c @@ -23,7 +23,7 @@ #ifndef __OPTIMIZE__ #error "__OPTIMIZE__ not defined" #endif - #ifdef __OPTIMIZE_SIZE__ + #ifndef __OPTIMIZE_SIZE__ #error "__OPTIMIZE_SIZE__ not defined" #endif #endif -- 2.40.0