Implemented support for "pragma clang optimize on/off", based on attribute 'optnone'.
authorDario Domizioli <dario.domizioli@gmail.com>
Fri, 23 May 2014 12:13:25 +0000 (12:13 +0000)
committerDario Domizioli <dario.domizioli@gmail.com>
Fri, 23 May 2014 12:13:25 +0000 (12:13 +0000)
commit13a0a38fe087a0d10f8038ed647c673da6d14370
tree7ac71143fed5dd7d8d1f7b8e3d327bf2053c805a
parente1e9a4e2eca7d78f3bb1f100454e4c8e661cbfef
Implemented support for "pragma clang optimize on/off", based on attribute 'optnone'.

This patch implements support for selectively disabling optimizations on a
range of function definitions through a pragma. The implementation is that
all function definitions in the range are decorated with attribute
'optnone'.

    #pragma clang optimize off
    // All function definitions in here are decorated with 'optnone'.
    #pragma clang optimize on
    // Compilation resumes as normal.

llvm-svn: 209510
14 files changed:
clang/include/clang/Basic/DiagnosticParseKinds.td
clang/include/clang/Parse/Parser.h
clang/include/clang/Sema/Sema.h
clang/include/clang/Serialization/ASTBitCodes.h
clang/include/clang/Serialization/ASTReader.h
clang/include/clang/Serialization/ASTWriter.h
clang/lib/Parse/ParsePragma.cpp
clang/lib/Sema/SemaAttr.cpp
clang/lib/Sema/SemaDecl.cpp
clang/lib/Serialization/ASTReader.cpp
clang/lib/Serialization/ASTWriter.cpp
clang/test/PCH/pragma-optimize.c [new file with mode: 0644]
clang/test/Parser/pragma-optimize-diagnostics.cpp [new file with mode: 0644]
clang/test/SemaCXX/pragma-optimize.cpp [new file with mode: 0644]