Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Tobias Hunger
qt-creator
Commits
8209b358
Commit
8209b358
authored
Feb 18, 2009
by
Roberto Raggi
Browse files
Fun with the binding pass.
parent
4168a5da
Changes
4
Hide whitespace changes
Inline
Side-by-side
tests/manual/binding/binding.pro
0 → 100644
View file @
8209b358
QT
=
#
macx
:
CONFIG
-=
app_bundle
TARGET
=
cplusplus0
*-
g
++*:
QMAKE_CXXFLAGS
+=
-
fno
-
rtti
-
fno
-
exceptions
-
O2
include
(..
/../../
src
/
shared
/
cplusplus
/
cplusplus
.
pri
)
#
Input
SOURCES
+=
main
.
cpp
unix
{
debug
:
OBJECTS_DIR
=
$$
{
OUT_PWD
}
/.
obj
/
debug
-
shared
release
:
OBJECTS_DIR
=
$$
{
OUT_PWD
}
/.
obj
/
release
-
shared
debug
:
MOC_DIR
=
$$
{
OUT_PWD
}
/.
moc
/
debug
-
shared
release
:
MOC_DIR
=
$$
{
OUT_PWD
}
/.
moc
/
release
-
shared
RCC_DIR
=
$$
{
OUT_PWD
}
/.
rcc
/
UI_DIR
=
$$
{
OUT_PWD
}
/.
uic
/
}
tests/manual/binding/c++
0 → 100755
View file @
8209b358
#!/bin/sh
me
=
$(
dirname
$0
)
t
=
$(
mktemp
-t
c++
)
echo
"Generating
$t
"
${
CPP
-gcc
}
-xc
++
-E
-include
$me
/conf.c++
$*
>
$t
echo
"Parsing
$t
"
$me
/cplusplus0
$t
tests/manual/binding/conf.c++
0 → 100644
View file @
8209b358
#define __extension__
#define __context__
#define __range__
#define __asm(a...)
#define __asm__(a...)
#define restrict
#define __restrict
#define __weak
tests/manual/binding/main.cpp
0 → 100644
View file @
8209b358
/***************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Qt Software Information (qt-info@nokia.com)
**
**
** Non-Open Source Usage
**
** Licensees may use this file in accordance with the Qt Beta Version
** License Agreement, Agreement version 2.2 provided with the Software or,
** alternatively, in accordance with the terms contained in a written
** agreement between you and Nokia.
**
** GNU General Public License Usage
**
** Alternatively, this file may be used under the terms of the GNU General
** Public License versions 2.0 or 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the packaging
** of this file. Please review the following information to ensure GNU
** General Public Licensing requirements will be met:
**
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
** http://www.gnu.org/copyleft/gpl.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt GPL Exception
** version 1.3, included in the file GPL_EXCEPTION.txt in this package.
**
***************************************************************************/
#include <AST.h>
#include <ASTVisitor.h>
#include <Control.h>
#include <Scope.h>
#include <Semantic.h>
#include <TranslationUnit.h>
#include <PrettyPrinter.h>
#include <cstdio>
#include <cstdlib>
#include <cassert>
#include <iostream>
#include <fstream>
#include <sstream>
static
int
usage
()
{
std
::
cerr
<<
"cplusplus0: no input files"
<<
std
::
endl
;
return
EXIT_FAILURE
;
}
int
main
(
int
argc
,
char
*
argv
[])
{
if
(
argc
==
1
)
return
usage
();
std
::
fstream
in
(
argv
[
1
]);
if
(
!
in
)
return
usage
();
in
.
seekg
(
0
,
std
::
ios
::
end
);
const
size_t
size
=
in
.
tellg
();
in
.
seekp
(
0
,
std
::
ios
::
beg
);
std
::
vector
<
char
>
source
(
size
+
1
);
in
.
read
(
&
source
[
0
],
size
);
source
[
size
]
=
'\0'
;
Control
control
;
StringLiteral
*
fileId
=
control
.
findOrInsertFileName
(
argv
[
1
]);
TranslationUnit
unit
(
&
control
,
fileId
);
unit
.
setObjCEnabled
(
true
);
unit
.
setSource
(
&
source
[
0
],
source
.
size
());
unit
.
parse
();
if
(
!
unit
.
ast
())
return
EXIT_FAILURE
;
TranslationUnitAST
*
ast
=
unit
.
ast
()
->
asTranslationUnit
();
assert
(
ast
!=
0
);
Scope
globalScope
;
Semantic
sem
(
&
control
);
for
(
DeclarationAST
*
decl
=
ast
->
declarations
;
decl
;
decl
=
decl
->
next
)
{
sem
.
check
(
decl
,
&
globalScope
);
}
return
EXIT_SUCCESS
;
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment