Skip to content

Commit b647fd7

Browse files
committed
More compiler setting: warning
1 parent efdf77e commit b647fd7

File tree

3 files changed

+63
-13
lines changed

3 files changed

+63
-13
lines changed

app/src/main/java/com/duy/ccppcompiler/compiler/CompileSetting.java

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -67,28 +67,42 @@ public String getMakeFlags() {
6767
private String getGCCFlags() {
6868
CommandBuilder builder = new CommandBuilder();
6969

70-
7170
//-ansi
72-
builder.addFlags(mPref.getBoolean(mContext.getString(R.string.pref_c_options_ansi), false)
73-
? "-ansi" : "");
71+
boolean ansi = mPref.getBoolean(mContext.getString(R.string.pref_c_options_ansi), false);
72+
builder.addFlags(ansi ? "-ansi" : "");
73+
7474
//-fno-asm
75-
builder.addFlags(mPref.getBoolean(mContext.getString(R.string.pref_c_options_fno_asm), false)
76-
? "-fno-asm" : "");
75+
boolean noAsm = mPref.getBoolean(mContext.getString(R.string.pref_c_options_fno_asm), false);
76+
builder.addFlags(noAsm ? "-fno-asm" : "");
77+
7778
//-traditional-cpp
78-
builder.addFlags(mPref.getBoolean(mContext.getString(R.string.pref_c_options_ansi), false)
79-
? "-traditional-cpp" : "");
79+
boolean traditionalCpp = mPref.getBoolean(mContext.getString(R.string.pref_c_options_traditional_cpp), false);
80+
builder.addFlags(traditionalCpp ? "-traditional-cpp" : "");
8081

8182
//optimize
8283
String optimize = mPref.getString(mContext.getString(R.string.pref_option_optimization_level), "");
83-
if (!optimize.isEmpty()) {
84-
builder.addFlags("-O" + optimize);
85-
}
84+
if (!optimize.isEmpty()) builder.addFlags("-O" + optimize);
8685

8786
//language standard
8887
String std = mPref.getString(mContext.getString(R.string.pref_option_language_standard), "");
89-
if (!std.isEmpty()) {
90-
builder.addFlags("-std=" + std);
91-
}
88+
if (!std.isEmpty()) builder.addFlags("-std=" + std);
89+
90+
//-w
91+
boolean w = mPref.getBoolean(mContext.getString(R.string.pref_option_w_warning), false);
92+
if (!w) builder.addFlags("-w");
93+
94+
//-wall
95+
boolean wall = mPref.getBoolean(mContext.getString(R.string.pref_option_wall_warning), false);
96+
if (!wall) builder.addFlags("-wall");
97+
98+
//Wextra
99+
boolean wExtra = mPref.getBoolean(mContext.getString(R.string.pref_option_wextra_warning), false);
100+
if (!wExtra) builder.addFlags("-Wextra");
101+
102+
//Werror
103+
boolean Werror = mPref.getBoolean(mContext.getString(R.string.pref_option_werror), false);
104+
if (!Werror) builder.addFlags("-Werror");
105+
92106
return builder.buildCommand();
93107
}
94108

app/src/main/res/values/strings.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,9 @@
3939
<string name="terminal">Terminal</string>
4040
<string name="code">Code</string>
4141

42+
<string name="pref_option_wall_warning">pref_option_wall_warning</string>
43+
<string name="pref_option_w_warning">pref_option_w_warning</string>
44+
<string name="pref_option_wextra_warning">pref_option_wextra_warning</string>
45+
<string name="pref_option_werror">pref_option_werror</string>
46+
4247
</resources>

app/src/main/res/xml/preferences_compiler.xml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
3+
34
<PreferenceCategory
45
android:summary="Add the commands when calling the compiler"
56
android:title="General">
@@ -47,5 +48,35 @@
4748
android:title="Language standard (-std)" />
4849
</PreferenceCategory>
4950

51+
<PreferenceCategory android:title="Warnings">
52+
<CheckBoxPreference
53+
android:defaultValue="false"
54+
android:key="@string/pref_option_w_warning"
55+
android:summary="lnhibit all warning messages"
56+
android:title="-w">
57+
58+
</CheckBoxPreference>
59+
<CheckBoxPreference
60+
android:defaultValue="false"
61+
android:key="@string/pref_option_wall_warning"
62+
android:summary="Show most warnings"
63+
android:title="-Wall">
64+
65+
</CheckBoxPreference>
66+
<CheckBoxPreference
67+
android:defaultValue="false"
68+
android:key="@string/pref_option_wextra_warning"
69+
android:summary="Show some more warnings"
70+
android:title="-Wextra">
5071

72+
</CheckBoxPreference>
73+
<CheckBoxPreference
74+
android:defaultValue="false"
75+
android:key="@string/pref_option_werror"
76+
android:summary="Make all warnings into errors"
77+
android:title="-Werror">
78+
79+
</CheckBoxPreference>
80+
81+
</PreferenceCategory>
5182
</PreferenceScreen>

0 commit comments

Comments
 (0)