rdb
33cef0aca3
pgraph: Disable non-working __traverse__()
on NodePath
2024-03-29 17:15:43 +01:00
rdb
61665dc8ba
cppparser: Remove unused <list>
include
2024-03-29 16:12:01 +01:00
rdb
4430f16cda
cppparser: Minor performance improvements
2024-03-29 16:04:04 +01:00
rdb
12a188b116
cppparser: Allow move semantics for CPPToken
...
This should make it a bit more efficient to move tokens around
2024-03-29 15:00:39 +01:00
rdb
e1870047c6
cppparser: In preprocess mode, add newline when switching files
2024-03-29 14:59:50 +01:00
rdb
329fa728a7
cppparser: Change check_keyword()
to an unordered_set lookup
2024-03-29 13:04:24 +01:00
rdb
a3745af451
parser-inc: additions to sys/stat.h
and signal.h
2024-03-29 13:01:40 +01:00
rdb
04a9264e68
cppparser: Fix slow parser performance
2024-03-29 12:22:54 +01:00
rdb
acf118c96a
cppparser: Update prebuilt bison files
2024-03-29 12:19:48 +01:00
rdb
c1e494c083
cppparser: Fix volatile
keyword not being parsed in all places
2024-03-29 11:39:51 +01:00
rdb
6e81fb5cdf
cppparser: Support __restrict
and __restrict__
keywords
...
To compile C code, you can do `-Drestrict=__restrict`
2024-03-29 11:36:14 +01:00
rdb
e16cb8af98
cppparser: Add special __builtin_va_list type
2024-03-29 11:34:56 +01:00
rdb
d1c277ef6a
cppparser: prevent enum values having long chain of additions
...
See #1638
[skip ci]
2024-03-28 22:49:15 +01:00
rdb
bddb7cb262
cppparser: fix escaping of string literals in preprocessor mode
...
[skip ci]
2024-03-28 22:17:49 +01:00
rdb
ba51b2cdca
cppparser: Fix wide character literals in #if
2024-03-28 21:55:36 +01:00
rdb
e29b326dd8
cppparser: Parse macro directly following string literal
...
This allows the following C code to parse:
#define SUFFIX "bar"
const char *str = "foo"SUFFIX;
This is technically not valid C++ since C++ uses this syntax for custom string literals, but we might as well check if there is a macro defined with this name if we can't find a matching string literal and are about to throw an error
2024-03-28 21:09:40 +01:00
rdb
ae8d643907
cppparser: Prefer function over type when searching symbol
...
This is meant to fix the "stat problem", which means you can define a function with the same name as a struct, which is allowed, since you can still refer to the struct with an explicit `struct stat`.
It can be reproduced with the following code:
struct stat;
void stat();
void *ptr = (void *)stat;
2024-03-28 21:02:32 +01:00
rdb
50538203ce
cppparser: Fix regression parsing defined MACRO
without parens
2024-03-28 20:00:47 +01:00
rdb
87d3a1d553
cppparser: Add missing include to fix non-unity build
2024-03-28 17:19:04 +01:00
rdb
fb68f82c5b
cppparser: Add preprocessor option (-E) to parse_file
...
This makes it easier to test the behaviour of the preprocessor
2024-03-28 17:15:24 +01:00
rdb
a769808af0
cppparser: Add missing keywords to CPPToken::output()
2024-03-28 17:01:47 +01:00
rdb
360216656e
cppparser: assorted preprocessor improvements:
...
* Fix function-like macro arguments being expanded even when they were participating in token expansion or stringification
* Fix __has_include with comma or closing parenthesis in angle-quoted filename
* Don't issue warning if macro is redefined with identical definition
* Fixes for extraneous spaces being added to expansions
* Assorted refactoring
This should resolve #1638 .
2024-03-28 17:01:24 +01:00
rdb
78f1a5b15a
cppparser: Fix crash redefining struct as typedef
...
This would crash on the following code:
struct aaa;
typedef struct {} aaa;
2024-03-28 11:18:41 +01:00
rdb
014fd97fef
cppparser: Fix string handling in expansion of macro arguments
...
See #1638
2024-03-28 10:07:12 +01:00
rdb
e63ba11af2
cppparser: Fix expansion of function macro used without parentheses
2024-03-28 01:18:19 +01:00
rdb
1213d95560
Merge branch 'release/1.10.x'
2024-03-28 01:17:52 +01:00
rdb
0e2a706ec8
audio: Fix changing sound time not working on macOS
...
Fixes #1607
2024-03-27 12:02:12 +01:00
rdb
d44f9ae3dc
makepanda: Use new dist hooks location introduced by 1f41edd
...
Fixes #1624
2024-03-27 12:01:53 +01:00
rdb
1f41edd0a0
dist: Remove panda3d dependency for global dist hook
...
Fixes #1624
2024-03-27 11:23:17 +01:00
kamgha
aa58b4ccf2
palettizer: Fix magfilter on KW_mipmap
...
Closes #1631
2024-03-27 11:12:58 +01:00
rdb
a50b9d83aa
interval: Fix creating LerpFunctionInterval from partial
...
Fixes #1623
2024-03-27 11:10:08 +01:00
rdb
237d27dfd9
text: Error instead of crash when glyph does not fit into page
...
Fixes #1626
2024-03-27 10:59:52 +01:00
rdb
38a3048479
cppparser: Fix recursion in expanding function macro arguments
...
See #1635
2024-03-27 10:43:58 +01:00
rdb
8ea2301d16
pgui: Fix PGEntry::get_cursor_Y()
...
It returned the Y position, which is always 0.0, instead of the Z position.
Fixes #1633
2024-03-27 10:22:54 +01:00
rdb
06e72b5d7d
text: Add docstring for set_text_color()
...
Fixes #1621
2024-03-27 10:06:39 +01:00
rdb
c923cf6ee5
cppparser: Perform macro expansion on macro arguments
...
Fixes #1638
2024-03-27 02:26:14 +01:00
rdb
674c037c50
cppparser: Trim whitespace around macro arguments
2024-03-27 02:25:56 +01:00
rdb
c5ab6573b0
cppparser: Improve error messages involving macro expansion
...
Now shows the expansion of the macro if a parse error occurs in one.
2024-03-27 02:23:58 +01:00
rdb
6f6cbf318e
Merge branch 'release/1.10.x'
2024-03-26 17:08:52 +01:00
rdb
80147990cc
cppparser: Fix problems with recursive expansion in preprocessor
...
Other half of #1635
2024-03-26 15:55:50 +01:00
mingodad
685b98021c
cppparser: Skip comments after preprocessor directive
...
See #1635
2024-03-26 15:54:33 +01:00
rdb
655aa49d81
putil: Remove outdated TypedWritable template files
...
See #1630
2024-03-18 02:39:51 +01:00
rdb
40b824bdcc
general: Consistently name all bam factory functions make_from_bam
...
See discussion in #1630
2024-03-18 02:38:41 +01:00
rdb
d4a3b9bfcd
glgsg: Fix docstring typo
2024-03-15 12:47:21 +01:00
rdb
91c22a0fd6
pstats: Perf improvement for smooth mode in strip chart with dropped frames
...
This significantly improves PStats strip chart performance with high frame rates and high number of dropped frames
2024-03-15 12:45:19 +01:00
rdb
07902429b8
pstats: optimize method that searches for frame at given time
...
This method is called a lot in the strip chart code and the current implementation can be very slow with a large frame rate
2024-03-15 12:44:14 +01:00
rdb
9fd9e2868e
pstats: Don't compute frame data for dropped frames
...
When a frame is dropped, the previous non-dropped frame is considered to be repeated, but the strip chart would compute new cached frame data for it, causing performance to be unusably slow at high frame rate data gathering even when most frames are skipped
This makes performance remotely usable in that situation
2024-03-14 10:22:18 +01:00
rdb
f59be2d6f7
pstats: Performance optimizations for strip chart
2024-03-13 23:22:15 +01:00
rdb
f7cca55e14
pnmimagetypes: Fix double return statement in bmp.h
...
Fixes #1628
[skip ci]
2024-03-12 17:28:05 +01:00
rdb
b50ad2efe9
eggprogs: Fix compiler warnings
2024-03-12 15:48:27 +01:00