Commit Graph

1754 Commits

Author SHA1 Message Date
Martín Knoblauch Revuelta
4d0a2a2aef Fix union example taken from TC++PL4 (#1357)
The code fails to set the type when a number value is assigned to a (formerly) string value. As a result, later access to the value or destruction of the object cause undefined behaviour (access to arbitrary memory address and/or heap corruption). The string field of the union is accessed, but its the number what is there…

It's also wrong in the book!

The fact that this bug has survived so long pretty much proves the point that code with unions is hard to get right ;-)

Oh, by the way, in order to test this, I had to add a constructor. Though, I'm not including it in the change. I suppose this just stuff we take for granted in the "// …" comment.
2019-03-07 11:41:53 -08:00
Amir Livneh
f5689ada23 Remove unused parameter in ES.62 example (#1353) 2019-03-07 11:40:39 -08:00
hsutter
48cdedb31e Changed to sentence 2019-03-07 11:39:25 -08:00
Amir Livneh
7674f9c649 Fix capitalization in ES.56 note (#1349)
* Fix capitalization in ES.56 note

* Make proper sentence
2019-03-07 11:37:43 -08:00
Amir Livneh
9a703fa02b Don't reuse variable name in ES.50 example (#1348)
Reusing the name 'i' violates ES.12 and distracts from the point of the example.
2019-03-07 11:36:49 -08:00
Amir Livneh
8a1780e841 Fix punctuation in CP.1 (#1366) 2019-03-04 08:49:26 -05:00
Amir Livneh
a2f5f77b1c Fix spacing in CP.4 example (#1365) 2019-03-04 08:49:11 -05:00
Amir Livneh
002d8b8301 Fix typos (#1364) 2019-03-04 08:48:51 -05:00
Amir Livneh
b933b03329 Fix punctuation in ES.77 (#1363) 2019-03-02 15:21:27 -05:00
Amir Livneh
5750f1ee86 Fix typo in ES.86 example (#1362) 2019-03-02 15:21:03 -05:00
Amir Livneh
35db3bf123 Fix typo in ES.87 (#1361) 2019-03-02 15:20:22 -05:00
Martín Knoblauch Revuelta
4f97d37239 Fix args. of == and != operators in C.100 (#1359)
Obviously, the comparisons are intended to compare `Sorted_vector`s, not `T` values
2019-02-28 04:08:16 -05:00
Amir Livneh
5190ea51a3 Fix capitalization in ES.61 enforcement (#1350)
* Fix capitalization in ES.61 enforcement

* Fix grammar
2019-02-27 09:39:09 -05:00
Amir Livneh
2056a14da7 Fix grammar in ES.50 (#1352) 2019-02-26 17:35:52 -05:00
Amir Livneh
a10668dc1d Fix spacing in ES.63 example (#1351) 2019-02-26 17:35:34 -05:00
Amir Livneh
d6a6e7092a Remove superfluous word in ES.42 enforcement (#1347) 2019-02-26 17:31:09 -05:00
Amir Livneh
882e9539fa Fix grammar in ES.42 (#1346) 2019-02-26 17:30:30 -05:00
Amir Livneh
c83acbc347 Fix comment grammar in ES.40 example (#1345) 2019-02-26 17:29:57 -05:00
Amir Livneh
9f0e9fe0a3 Fix grammar (#1344) 2019-02-26 17:29:00 -05:00
Amir Livneh
edac03725a Remove unnecessary hyphenation (#1343) 2019-02-26 17:28:38 -05:00
Amir Livneh
a95daa781e Fix comment stating incorrect assigned variable (#1342) 2019-02-26 17:27:48 -05:00
Amir Livneh
8c141fcfa5 Fix typo (#1341) 2019-02-26 17:25:00 -05:00
Amir Livneh
feae4d6c15 Fix grammar (#1340) 2019-02-21 14:04:18 -05:00
Amir Livneh
abad343557 Fix indentation in example (#1339) 2019-02-20 18:11:53 -05:00
Sergey Zubkov
358bef703e closes #1337 2019-02-19 15:37:53 -05:00
Matthew Dews
65aa7232e8 Fix typo (#1338) 2019-02-19 14:33:32 -05:00
Amir Livneh
f2b517eac2 Fix grammar (#1336) 2019-02-19 14:33:11 -05:00
Amir Livneh
ff8934c39b Fix grammar (#1335) 2019-02-19 14:32:39 -05:00
Amir Livneh
e0830c7c3b Remove redundant word (#1334) 2019-02-19 14:32:19 -05:00
Amir Livneh
94eadbb7eb Fix grammar (#1333) 2019-02-19 14:31:15 -05:00
Amir Livneh
4797c26d4b Fix grammar (#1331) 2019-02-19 14:30:47 -05:00
Amir Livneh
1fd6ce78c2 Fix typo and grammar (#1329) 2019-02-16 08:08:58 -05:00
Amir Livneh
c9f1066756 Fix grammar (#1327) 2019-02-15 09:45:50 -05:00
hsutter
684635eecd Closes #1322
Add an Enforcement rule for prefix inc/dec functions. Try to phrase it
to reduce noisiness.
2019-02-14 11:13:42 -08:00
Franz Hollerer
f7ef39f0d6 issue #1236 - there is no reason to use the Hungarian notation in C (#1326) 2019-02-14 14:02:35 -05:00
hsutter
fb1d4c9189 Closes #1319 2019-01-31 11:23:16 -08:00
mpherg
cbbe6071ce Standardize example and note headers (minor) (#1318)
* Standardize example headings

Some example headings used "Example, [good,bad]" and others used
"Example; [good,bad]" (note the comma verses semicolon). The vast
majority of the headings used the comma version, so this commit
normalizes all example headings to use a comma instead of a semicolon.

* Standardize note heading level

Two of the "Note" headings were set to level four, but the rest are at
level 5. Fix the level fours to make them level fives.
2019-01-31 14:13:57 -05:00
hsutter
b38d065e45 Cleaned up a code example comment 2019-01-17 09:38:14 -08:00
hsutter
373765b827 Closes #1317
Fixed section heading to match item
2019-01-16 16:07:40 -08:00
hsutter
4ed280b080 Closes #1315 2019-01-16 16:05:41 -08:00
Dave Smith
1805589141 Pro.bounds: Correct impact wording (minor) (#1316) 2019-01-16 19:01:16 -05:00
hsutter
fd9c725549 Update for #1306 2019-01-10 11:34:56 -08:00
hsutter
88a9ba0640 Closes #1311 2019-01-10 11:11:12 -08:00
beinhaerter
4e8ab7ae86 F.21 wording changed to current status of the standard (#1313) 2019-01-10 14:01:22 -05:00
Mark Abraham
e58bce6f6a Fix typo in ES.102 (#1312)
The value -2 is signed, so the word "unsigned" is clearly wrong.  The
text notes that negative subscripts are a source of surprises and
bugs, so the correction to "negative" seems to reflect Bjarne's
original intent.
2019-01-10 14:00:55 -05:00
Honggyu Kim
526f14f56a Prefer bullet points to a long sentence in SL section (#1310)
It'd be better to have bullet points than writing the points in a long
sentence even with description in parenthesis.
2019-01-10 14:00:12 -05:00
Max Bozzi
dd8fc629d7 Remove claims that "constexpr functions are pure" (#1307)
F.4 and F.8 made this erroneous claim as parts of notes which are
entirely removed.
2019-01-03 14:05:55 -05:00
hsutter
714bec5010 Updated date 2019-01-03 11:01:46 -08:00
Marzo Sette Torres Junior
f971ad2f17 Fixing tagged union example (#1301)
It did not compile previously due to missing type specifier on placement new.
2018-12-19 15:52:05 +00:00
Jonathan Wakely
d822f80d5d Fix whitespace errors in code, to make Travis CI pass 2018-12-19 15:51:17 +00:00