In gcc4mbed, I have been running with "-Wall -Wextra" and then
disabling a couple of noisy warnings that result. In particular, I
disable the unused-parameter and missing-field-initializers warnings.
The first commonly goes off for implementation of virtual methods or
other overridable functions where not all parameters are required for
every override. I don't find the second warning to be all that useful
anyway since missing structure field initializers will be set to 0
according to the C language specification. The RTOS code uses this
language feature and I see no reason that it shouldn't :)
From Adam Green, regarding using -fno-delete-null-pointer-checks:
"I would argue that on Cortex-M processors, it is more dangerous to not
have it. The compiler can actually generate incorrect code because it is
making an incorrect assumption (that reads from a NULL pointer will throw
an exception.) The GCC for ARM developers should actually never enable
the delete-null-pointer-checks optimization for Cortex-M processors.
There is a comment in the GCC manual that indicates, "Some targets,
especially embedded ones, disable this option [delete-null-pointer-checks]
at all levels." Not having this flag is pretty risky on the current
versions of GCC_ARM. Just to clarify, this flag doesn't enable an
optimization...it disables an unsafe optimization."
- Change pin assignments for KL25Z
- Two new peripherals: 24LC256 (eeprom), i2c_loop (LPC1768 only, tests communication
between the two on-chip I2C peripherals)
- add 24LC256 to the list of automated tests (since it's currently the only
automated I2C test)
- Tests/is_supported: if the test has an "mcu" attribute and the current target
is not in the list of MCUs, don't include this test.
If a "test_alias" dictionary is found in private_settings.py, it is searched for
aliases of tests for the "-n" option. For example, if the dictionary has this
association:
test_alias = { "basic" : "MBED_A1" }
you'll be able to use "-n basic" instead of "-n MBED_A1".