It turns out MSVC 2015 passes the CXX14 check for the deprecated
attribute, but then complains when it is used in a constructor:
E:\jenkins\workspace\workspace\dealii-windows-
compile\CC\msvc2015\label\win\include\deal.II/base/table_indices.h(129):
error C2416: attribute 'deprecated' cannot be applied in this context
Fix this.
int old_fn () { return 0; }
int (*fn_ptr)() = old_fn;
+ struct [[deprecated]] bob
+ {
+ [[deprecated]] bob(int i);
+ [[deprecated]] void test();
+ };
+
int main () {}
"
DEAL_II_COMPILER_HAS_CXX14_ATTRIBUTE_DEPRECATED
int old_fn () { return 0; }
int (*fn_ptr)() = old_fn;
+ struct __attribute__((deprecated)) bob
+ {
+ __attribute__((deprecated)) bob(int i);
+ __attribute__((deprecated)) void test();
+ };
+
int main () {}
"
DEAL_II_COMPILER_HAS_ATTRIBUTE_DEPRECATED
In the beginning the Universe was created. This has made a lot of
people very angry and has been widely regarded as a bad move.
Douglas Adams