工具/软件:TI C/C++编译器
我很高兴看到有人宣布 已向 用于 ARM 和 MSP430的 TI 编译器工具添加了 C++11/14支持。 虽然这是向前迈出的一大步、但仍有许多功能缺失:
•编译器不支持嵌入式 C++运行时支持库。 •该库支持宽字符(wchar_t)、因为为 char 定义的模板函数和类也适用于 wchar_t 例如 、实现了宽字符流类 wios、wiostream、wstreambuf 等(对应于 char 类 ios、iostream、streambuf)。 但是、对于宽字符、没有低级文件 I/O。 此外、C 库接口支持宽字符( 通过 C++头文件) 和 )受到上述 C 库中所述的限制。 •未 实现标准的[tesp.res]和[temp.dep]中所述的模板中的两阶段名称绑定。 •未实现模板的导出关键字。 •函数类型的 typedef 不能包含成员函数 CV-qualifiers。 •不能在类定义之外添加类成员模板的部分专业化。 •仅部分支持目标特定类型的常量表达式。 •不支持新的字符类型(在 C++11标准中引入)。 •不支持 Unicode 字符串文字(在 C++11标准中引入)。 •不支持字面量中的通用字符名称(在 C++11标准中引入)。 •不支持序列点(在 C++11标准中引入)。 •不支持原子操作(在 C++11标准中引入)。 •不支持强比较和交换(在 C++11标准中引入)。 •不支持双向围栏(在 C++11标准中引入)。 •不支持内存模型(在 C++11标准中引入)。 •不 支持原子体和存储器模型的数据依赖项排序(在 C++11标准中引入)。 •不支持传播异常(在 C++11标准中引入)。 •不支持在信号处理程序中允许原子化(在 C++11标准中引入)。 •不支持线程本地存储(在 C++11标准中引入)。 •不 支持动态初始化和并发销毁(在 C++11标准中引入)。
该列表来自编译器用户指南(spnu151r.pdf)、其中涵盖了比公告页面更多的详细信息。 我可以不使用这些存储器、但我确实希望 C++11存储器模型能够得到支持。
此外、还有其他器件目前没有任何 C++11支持。 最后是完全不支持的 C11。
是否有任何路线图信息可以说明将要解决哪些问题(如果有)、并按什么顺序处理?