Lit test C++11 Compatibility Patch #4

Li, Charles via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 16 17:17:24 PST 2015


Hi Everyone,

Here is the forth Lit tests C++11 compatibility patch.
This patch mainly added new diagnostics expected for C++11.
There are 34 tests in total. They fall into 3 categories.

  [2 tests]  New Warnings regarding storage class specifier "register"/"auto" being deprecated/not-allowed.
  [18 Tests] New Note "candidate constructor (the implicit move constructor) not viable" accompanying existing Error "no matching constructor"
  [14 Tests] New Note "candidate function (the implicit move assignment operator) not viable" accompanying existing Error "no viable overloaded '='"


There is a walkthrough of each test
CXX/basic/basic.lookup/basic.lookup.argdep/p4.cpp
  Added "move constructor" message

CXX/basic/basic.lookup/basic.lookup.qual/namespace.qual/p2.cpp
  Added "move constructor" message
  Note: Also restricted expected Warning "inline namespaces are a C++11 feature" to C++98/03 and earlier

CXX/basic/basic.scope/basic.scope.hiding/p2.cpp
  Added "move constructor" message

CXX/dcl.dcl/basic.namespace/namespace.udecl/p1.cpp
  Added "move constructor" message

CXX/dcl.dcl/dcl.spec/dcl.stc/p2.cpp
  Added "auto" and "register" message.
  The 2 messages are:
     'auto' storage class specifier is not permitted in C++11, and will not be supported in future releases
     'register' storage class specifier is deprecated
  Note: The original run line has option "-Wno-c++0x-compat" This is the default behavior in C++98/03,
        "-Wno-c++0x-compat" has no effect in C++11.
        To avoid confusion, I kept the original run line as is and added 3 more run lines
        which are default, C++98 and C++11

CXX/dcl.decl/dcl.init/dcl.init.ref/p5-var.cpp
  Added "move constructor" message

CXX/temp/temp.decls/temp.class/temp.static/p1-inst.cpp
  Added "move constructor" message

CXX/temp/temp.decls/temp.class/temp.static/p1.cpp
  Added "move constructor" message

CXX/temp/temp.param/p3.cpp
  Added "move constructor" message

CXX/temp/temp.spec/temp.explicit/p1.cpp
  Added "move constructor" message

OpenMP/for_reduction_messages.cpp
  Added "move assignment operator" message

OpenMP/for_simd_reduction_messages.cpp
  Added "move assignment operator" message

OpenMP/parallel_for_reduction_messages.cpp
  Added "move assignment operator" message

OpenMP/parallel_for_simd_reduction_messages.cpp
  Added "move assignment operator" message

OpenMP/parallel_reduction_messages.cpp
  Added "move assignment operator" message

OpenMP/parallel_sections_reduction_messages.cpp
  Added "move assignment operator" message

OpenMP/sections_reduction_messages.cpp
  Added "move assignment operator" message

OpenMP/simd_reduction_messages.cpp
  Added "move assignment operator" message

OpenMP/teams_reduction_messages.cpp
  Added "move assignment operator" message

SemaCXX/constructor-initializer.cpp
  Added "move constructor" message

SemaCXX/converting-constructor.cpp
  Added "move constructor" message

SemaCXX/crashes.cpp
  Added "move constructor" message

SemaCXX/default1.cpp
  Added "move constructor" message

SemaCXX/direct-initializer.cpp
  Added "move constructor" message

SemaCXX/expressions.cpp
 Added "'register' storage class specifier is deprecated" message

SemaCXX/namespace.cpp
  Added "move assignment operator" message

SemaCXX/overload-call-copycon.cpp
  Added "move constructor" message

SemaCXX/overloaded-builtin-operators.cpp
  Added "move assignment operator" message

SemaCXX/vector.cpp
  Added "move assignment operator" message

SemaTemplate/class-template-ctor-initializer.cpp
  Added "move assignment operator" message

SemaTemplate/constructor-template.cpp
  Added "move constructor" message

SemaTemplate/default-expr-arguments.cpp
  Added "move constructor" message

SemaTemplate/fun-template-def.cpp
  Added "move constructor" message

SemaTemplate/qualified-names-diag.cpp
  Added "move assignment operator" message


All feed backs are welcome.

Thank you.
Charles Li

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20151117/1eea1fbd/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 400.patch
Type: application/octet-stream
Size: 36489 bytes
Desc: 400.patch
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20151117/1eea1fbd/attachment-0001.obj>


More information about the cfe-commits mailing list