diff options
author | Andrew Hsieh <andrewhsieh@google.com> | 2013-04-02 18:31:17 +0800 |
---|---|---|
committer | Andrew Hsieh <andrewhsieh@google.com> | 2013-04-02 18:44:51 +0800 |
commit | 8d5620f27dec9aa104a0f8b09038adacf4540a72 (patch) | |
tree | 8da83fa608b9ca5a6bd8d8cc0ebcbe8438d3672d /gcc-4.8 | |
parent | af0c51ac87ab2a87caa03fa108f0d164987a2764 (diff) | |
download | toolchain_gcc-8d5620f27dec9aa104a0f8b09038adacf4540a72.tar.gz toolchain_gcc-8d5620f27dec9aa104a0f8b09038adacf4540a72.tar.bz2 toolchain_gcc-8d5620f27dec9aa104a0f8b09038adacf4540a72.zip |
[4.8] Disable warning: the mangling of <va_list> has changed in GCC 4.4
Please see commit message of the same fix in previous GCC
GCC 4.7 3800bda255b20023e993ed786674f70c909d60b5
GCC 4.6 a9fcd9b1ecb8954f67738a94b8553ab234d6def5
GCC 4.4.3 329ca6fa5d9972ad6dad8387036b4dbe9cfa1f27
Change-Id: I288f349d2140918babf3a872728da02c5706a971
Diffstat (limited to 'gcc-4.8')
-rw-r--r-- | gcc-4.8/gcc/config/arm/arm.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/gcc-4.8/gcc/config/arm/arm.c b/gcc-4.8/gcc/config/arm/arm.c index ca367608c..2077b97c9 100644 --- a/gcc-4.8/gcc/config/arm/arm.c +++ b/gcc-4.8/gcc/config/arm/arm.c @@ -25902,7 +25902,29 @@ arm_mangle_type (const_tree type) has to be managled as if it is in the "std" namespace. */ if (TARGET_AAPCS_BASED && lang_hooks.types_compatible_p (CONST_CAST_TREE (type), va_list_type)) - return "St9__va_list"; + { + /* Disable this obsolete warning for Android, because none of the exposed APIs + by NDK is impacted by this change of ARM ABI. This warning can be triggered + very easily by compiling the following code using arm-linux-androideabi-g++: + + typedef __builtin_va_list __gnuc_va_list; + typedef __gnuc_va_list va_list; + void foo(va_list v) { } + + We could advise developer to add "-Wno-psabi", but doing so also categorically + deny other cases guarded by "warn_psabi". Hence the decision to disable it + case by case here. + + static bool warned; + if (!warned && warn_psabi && !in_system_header) + { + warned = true; + inform (input_location, + "the mangling of %<va_list%> has changed in GCC 4.4"); + } + */ + return "St9__va_list"; + } /* Half-precision float. */ if (TREE_CODE (type) == REAL_TYPE && TYPE_PRECISION (type) == 16) |