Browse Source

Added explicit GNU versions to the language options of the parser.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/696/head
Dimitar Dobrev 9 years ago
parent
commit
0a5c73dc48
  1. 10
      src/CppParser/Bindings/CLI/CppParser.h
  2. 10
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs
  3. 10
      src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs
  4. 10
      src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs
  5. 10
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs
  6. 8
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs
  7. 10
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs
  8. 10
      src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs
  9. 2
      src/CppParser/CppParser.cpp
  10. 14
      src/CppParser/CppParser.h
  11. 13
      src/CppParser/Parser.cpp

10
src/CppParser/Bindings/CLI/CppParser.h

@ -34,10 +34,16 @@ namespace CppSharp @@ -34,10 +34,16 @@ namespace CppSharp
{
/// <summary> The C programming language. </summary>
C = 0,
/// <summary> The C programming language (GNU version). </summary>
GNUC = 1,
/// <summary> The C++ programming language year 1998; supports deprecated constructs. </summary>
CPlusPlus98 = 1,
CPlusPlus98 = 2,
/// <summary> The C++ programming language year 1998; supports deprecated constructs (GNU version). </summary>
GNUPlusPlus98 = 3,
/// <summary> The C++ programming language year 2011. </summary>
CPlusPlus11 = 2
CPlusPlus11 = 4,
/// <summary> The C++ programming language year 2011 (GNU version). </summary>
GNUPlusPlus11 = 5
};
public enum struct ParserDiagnosticLevel

10
src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs

@ -16814,10 +16814,16 @@ namespace CppSharp @@ -16814,10 +16814,16 @@ namespace CppSharp
{
/// <summary>The C programming language.</summary>
C = 0,
/// <summary>The C programming language (GNU version).</summary>
GNUC = 1,
/// <summary>The C++ programming language year 1998; supports deprecated constructs.</summary>
CPlusPlus98 = 1,
CPlusPlus98 = 2,
/// <summary>The C++ programming language year 1998; supports deprecated constructs (GNU version).</summary>
GNUPlusPlus98 = 3,
/// <summary>The C++ programming language year 2011.</summary>
CPlusPlus11 = 2
CPlusPlus11 = 4,
/// <summary>The C++ programming language year 2011 (GNU version).</summary>
GNUPlusPlus11 = 5
}
public enum ParserDiagnosticLevel

10
src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs

@ -16814,10 +16814,16 @@ namespace CppSharp @@ -16814,10 +16814,16 @@ namespace CppSharp
{
/// <summary>The C programming language.</summary>
C = 0,
/// <summary>The C programming language (GNU version).</summary>
GNUC = 1,
/// <summary>The C++ programming language year 1998; supports deprecated constructs.</summary>
CPlusPlus98 = 1,
CPlusPlus98 = 2,
/// <summary>The C++ programming language year 1998; supports deprecated constructs (GNU version).</summary>
GNUPlusPlus98 = 3,
/// <summary>The C++ programming language year 2011.</summary>
CPlusPlus11 = 2
CPlusPlus11 = 4,
/// <summary>The C++ programming language year 2011 (GNU version).</summary>
GNUPlusPlus11 = 5
}
public enum ParserDiagnosticLevel

10
src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs

@ -16813,10 +16813,16 @@ namespace CppSharp @@ -16813,10 +16813,16 @@ namespace CppSharp
{
/// <summary>The C programming language.</summary>
C = 0,
/// <summary>The C programming language (GNU version).</summary>
GNUC = 1,
/// <summary>The C++ programming language year 1998; supports deprecated constructs.</summary>
CPlusPlus98 = 1,
CPlusPlus98 = 2,
/// <summary>The C++ programming language year 1998; supports deprecated constructs (GNU version).</summary>
GNUPlusPlus98 = 3,
/// <summary>The C++ programming language year 2011.</summary>
CPlusPlus11 = 2
CPlusPlus11 = 4,
/// <summary>The C++ programming language year 2011 (GNU version).</summary>
GNUPlusPlus11 = 5
}
public enum ParserDiagnosticLevel

10
src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs

@ -16813,10 +16813,16 @@ namespace CppSharp @@ -16813,10 +16813,16 @@ namespace CppSharp
{
/// <summary>The C programming language.</summary>
C = 0,
/// <summary>The C programming language (GNU version).</summary>
GNUC = 1,
/// <summary>The C++ programming language year 1998; supports deprecated constructs.</summary>
CPlusPlus98 = 1,
CPlusPlus98 = 2,
/// <summary>The C++ programming language year 1998; supports deprecated constructs (GNU version).</summary>
GNUPlusPlus98 = 3,
/// <summary>The C++ programming language year 2011.</summary>
CPlusPlus11 = 2
CPlusPlus11 = 4,
/// <summary>The C++ programming language year 2011 (GNU version).</summary>
GNUPlusPlus11 = 5
}
public enum ParserDiagnosticLevel

8
src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs

@ -1096,6 +1096,10 @@ namespace std @@ -1096,6 +1096,10 @@ namespace std
namespace __cxx11
{
}
namespace __cxx11
{
}
}
public unsafe partial class __mbstate_t
@ -3478,6 +3482,10 @@ namespace std @@ -3478,6 +3482,10 @@ namespace std
namespace __cxx11
{
}
namespace __cxx11
{
}
}
namespace std

10
src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs

@ -16813,10 +16813,16 @@ namespace CppSharp @@ -16813,10 +16813,16 @@ namespace CppSharp
{
/// <summary>The C programming language.</summary>
C = 0,
/// <summary>The C programming language (GNU version).</summary>
GNUC = 1,
/// <summary>The C++ programming language year 1998; supports deprecated constructs.</summary>
CPlusPlus98 = 1,
CPlusPlus98 = 2,
/// <summary>The C++ programming language year 1998; supports deprecated constructs (GNU version).</summary>
GNUPlusPlus98 = 3,
/// <summary>The C++ programming language year 2011.</summary>
CPlusPlus11 = 2
CPlusPlus11 = 4,
/// <summary>The C++ programming language year 2011 (GNU version).</summary>
GNUPlusPlus11 = 5
}
public enum ParserDiagnosticLevel

10
src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs

@ -16814,10 +16814,16 @@ namespace CppSharp @@ -16814,10 +16814,16 @@ namespace CppSharp
{
/// <summary>The C programming language.</summary>
C = 0,
/// <summary>The C programming language (GNU version).</summary>
GNUC = 1,
/// <summary>The C++ programming language year 1998; supports deprecated constructs.</summary>
CPlusPlus98 = 1,
CPlusPlus98 = 2,
/// <summary>The C++ programming language year 1998; supports deprecated constructs (GNU version).</summary>
GNUPlusPlus98 = 3,
/// <summary>The C++ programming language year 2011.</summary>
CPlusPlus11 = 2
CPlusPlus11 = 4,
/// <summary>The C++ programming language year 2011 (GNU version).</summary>
GNUPlusPlus11 = 5
}
public enum ParserDiagnosticLevel

2
src/CppParser/CppParser.cpp

@ -18,7 +18,7 @@ CppParserOptions::CppParserOptions() @@ -18,7 +18,7 @@ CppParserOptions::CppParserOptions()
, NoBuiltinIncludes(false)
, MicrosoftMode(false)
, Verbose(false)
, LanguageVersion(CppParser::LanguageVersion::CPlusPlus11)
, LanguageVersion(CppParser::LanguageVersion::GNUPlusPlus11)
, TargetInfo(0)
{
}

14
src/CppParser/CppParser.h

@ -22,13 +22,25 @@ enum class LanguageVersion @@ -22,13 +22,25 @@ enum class LanguageVersion
*/
C,
/**
* The C programming language (GNU version).
*/
GNUC,
/**
* The C++ programming language year 1998; supports deprecated constructs.
*/
CPlusPlus98,
/**
* The C++ programming language year 1998; supports deprecated constructs (GNU version).
*/
GNUPlusPlus98,
/**
* The C++ programming language year 2011.
*/
CPlusPlus11
CPlusPlus11,
/**
* The C++ programming language year 2011 (GNU version).
*/
GNUPlusPlus11
};
struct CS_API CppParserOptions

13
src/CppParser/Parser.cpp

@ -250,10 +250,10 @@ void Parser::SetupHeader() @@ -250,10 +250,10 @@ void Parser::SetupHeader()
switch (Opts->LanguageVersion)
{
case CppParser::LanguageVersion::C:
case CppParser::LanguageVersion::GNUC:
args.push_back("-xc");
break;
case CppParser::LanguageVersion::CPlusPlus98:
case CppParser::LanguageVersion::CPlusPlus11:
default:
args.push_back("-xc++");
break;
}
@ -261,11 +261,20 @@ void Parser::SetupHeader() @@ -261,11 +261,20 @@ void Parser::SetupHeader()
switch (Opts->LanguageVersion)
{
case CppParser::LanguageVersion::C:
args.push_back("-std=c99");
break;
case CppParser::LanguageVersion::GNUC:
args.push_back("-std=gnu99");
break;
case CppParser::LanguageVersion::CPlusPlus98:
args.push_back("-std=c++98");
break;
case CppParser::LanguageVersion::GNUPlusPlus98:
args.push_back("-std=gnu++98");
break;
case CppParser::LanguageVersion::CPlusPlus11:
args.push_back(Opts->MicrosoftMode ? "-std=c++14" : "-std=c++11");
break;
default:
args.push_back(Opts->MicrosoftMode ? "-std=gnu++14" : "-std=gnu++11");
break;

Loading…
Cancel
Save